From 62c44478502c3eac28d317a51449d9227b2ae319 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 26 Aug 2022 14:34:11 +0800
Subject: [PATCH] 20220822

---
 src/main/java/cc/mrbird/febs/mall/entity/MallMemberBank.java                    |   21 ++++
 src/main/java/cc/mrbird/febs/mall/mapper/MallMemberBankMapper.java              |   14 ++
 src/main/resources/mapper/modules/MallMemberBankMapper.xml                      |   11 ++
 src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java       |   36 +++++++
 src/main/java/cc/mrbird/febs/mall/conversion/MallMemberBankConversion.java      |   16 +++
 src/main/java/cc/mrbird/febs/mall/dto/MemberBankListDto.java                    |   16 +++
 src/main/java/cc/mrbird/febs/mall/dto/UpdateMemberBankDto.java                  |   28 +++++
 src/main/java/cc/mrbird/febs/mall/vo/MemberBankListVo.java                      |   26 +++++
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java |    2 
 src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java            |   10 ++
 src/main/java/cc/mrbird/febs/mall/dto/AddMemberBankDto.java                     |   27 +++++
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java    |   48 +++++++++
 12 files changed, 254 insertions(+), 1 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
index ef31935..04ba2bd 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
@@ -177,4 +177,40 @@
         return null;
     }
 
+    @ApiOperation(value = "新增银行卡")
+    @PostMapping(value = "/addMemberBank")
+    public FebsResponse addMemberBank(@RequestBody AddMemberBankDto addMemberBankDto) {
+        return memberService.addMemberBank(addMemberBankDto);
+    }
+
+    @ApiOperation(value = "银行卡列表", notes = "银行卡列表")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = MemberBankListVo.class)
+    })
+    @PostMapping(value = "/memberBankList")
+    public FebsResponse memberBankList(@RequestBody MemberBankListDto memberBankListDto) {
+        return memberService.findMemberBankList(memberBankListDto);
+    }
+
+    @ApiOperation(value = "银行卡详情", notes = "银行卡详情")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = MemberBankListVo.class)
+    })
+    @GetMapping(value = "/memberBankDetails/{id}")
+    public FebsResponse memberBankDetails(@PathVariable("id") Long id) {
+        return memberService.findBankDetailsById(id);
+    }
+
+    @ApiOperation(value = "更新银行卡")
+    @PostMapping(value = "/updateMemberBank")
+    public FebsResponse updateMemberBank(@RequestBody UpdateMemberBankDto updateMemberBankDto) {
+        return memberService.updateMemberBank(updateMemberBankDto);
+    }
+
+    @ApiOperation(value = "删除银行卡", notes = "删除银行卡")
+    @PostMapping(value = "/delMemberBank/{id}")
+    public FebsResponse delMemberBank(@PathVariable("id") Long id) {
+        return memberService.delMemberBank(id);
+    }
+
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/conversion/MallMemberBankConversion.java b/src/main/java/cc/mrbird/febs/mall/conversion/MallMemberBankConversion.java
new file mode 100644
index 0000000..c3c91ad
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/conversion/MallMemberBankConversion.java
@@ -0,0 +1,16 @@
+package cc.mrbird.febs.mall.conversion;
+
+import cc.mrbird.febs.mall.dto.AddMemberBankDto;
+import cc.mrbird.febs.mall.entity.MallMemberBank;
+import cc.mrbird.febs.mall.vo.MemberBankListVo;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+@Mapper
+public abstract class MallMemberBankConversion {
+    public static final MallMemberBankConversion INSTANCE = Mappers.getMapper(MallMemberBankConversion.class);
+
+    public abstract MallMemberBank dtoToentity(AddMemberBankDto addMemberBankDto);
+
+    public abstract MemberBankListVo entityToVo(MallMemberBank mallMemberBank);
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/AddMemberBankDto.java b/src/main/java/cc/mrbird/febs/mall/dto/AddMemberBankDto.java
new file mode 100644
index 0000000..d96d705
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/AddMemberBankDto.java
@@ -0,0 +1,27 @@
+package cc.mrbird.febs.mall.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "AddMemberBankDto", description = "参数接收类")
+public class AddMemberBankDto {
+
+    // 姓名
+    @ApiModelProperty(value = "姓名")
+    private String name;
+    //证件类型
+    @ApiModelProperty(value = "证件类型")
+    private String idType;
+    //证件号码
+    @ApiModelProperty(value = "证件号码")
+    private String idCardNum;
+    // 银行卡号
+    @ApiModelProperty(value = "银行卡号")
+    private String bankNo;
+    // 手机号
+    @ApiModelProperty(value = "手机号")
+    private String phone;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/MemberBankListDto.java b/src/main/java/cc/mrbird/febs/mall/dto/MemberBankListDto.java
new file mode 100644
index 0000000..089c8cc
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/MemberBankListDto.java
@@ -0,0 +1,16 @@
+package cc.mrbird.febs.mall.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "MemberBankListDto", description = "参数接收类")
+public class MemberBankListDto {
+
+    @ApiModelProperty(value = "一页数量", example = "10")
+    private Integer pageSize;
+
+    @ApiModelProperty(value = "第几页", example = "1")
+    private Integer pageNum;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/UpdateMemberBankDto.java b/src/main/java/cc/mrbird/febs/mall/dto/UpdateMemberBankDto.java
new file mode 100644
index 0000000..c9b1015
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/UpdateMemberBankDto.java
@@ -0,0 +1,28 @@
+package cc.mrbird.febs.mall.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "UpdateMemberBankDto", description = "参数接收类")
+public class UpdateMemberBankDto {
+
+    @ApiModelProperty(value = "ID")
+    private Long id;
+    // 姓名
+    @ApiModelProperty(value = "姓名")
+    private String name;
+    //证件类型
+    @ApiModelProperty(value = "证件类型")
+    private String idType;
+    //证件号码
+    @ApiModelProperty(value = "证件号码")
+    private String idCardNum;
+    // 银行卡号
+    @ApiModelProperty(value = "银行卡号")
+    private String bankNo;
+    // 手机号
+    @ApiModelProperty(value = "手机号")
+    private String phone;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallMemberBank.java b/src/main/java/cc/mrbird/febs/mall/entity/MallMemberBank.java
new file mode 100644
index 0000000..c434330
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallMemberBank.java
@@ -0,0 +1,21 @@
+package cc.mrbird.febs.mall.entity;
+
+import cc.mrbird.febs.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data
+@TableName("mall_member_bank")
+public class MallMemberBank extends BaseEntity {
+    private Long memberId;
+    // 姓名
+    private String name;
+    //证件类型
+    private String idType;
+    //证件号码
+    private String idCardNum;
+    // 银行卡号
+    private String bankNo;
+    // 手机号
+    private String phone;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberBankMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberBankMapper.java
new file mode 100644
index 0000000..af64f11
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberBankMapper.java
@@ -0,0 +1,14 @@
+package cc.mrbird.febs.mall.mapper;
+
+import cc.mrbird.febs.mall.dto.MemberBankListDto;
+import cc.mrbird.febs.mall.entity.MallMemberBank;
+import cc.mrbird.febs.mall.vo.MemberBankListVo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
+public interface MallMemberBankMapper  extends BaseMapper<MallMemberBank> {
+
+    IPage<MemberBankListVo> findMemberBankListInPage(MemberBankListDto memberBankListDto, Page<MemberBankListVo> page);
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
index ed7ff02..d9653e6 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
@@ -64,4 +64,14 @@
     CashOutSettingVo cashOutSetting();
 
     List<ShopListVo> findShopListVo(ShopListDto shopListDto);
+
+    FebsResponse addMemberBank(AddMemberBankDto addMemberBankDto);
+
+    FebsResponse findMemberBankList(MemberBankListDto memberBankListDto);
+
+    FebsResponse findBankDetailsById(Long id);
+
+    FebsResponse updateMemberBank(UpdateMemberBankDto updateMemberBankDto);
+
+    FebsResponse delMemberBank(Long id);
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index ee17af4..729b8a0 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -7,6 +7,8 @@
 import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
 import cc.mrbird.febs.common.exception.FebsException;
 import cc.mrbird.febs.common.utils.*;
+import cc.mrbird.febs.mall.conversion.MallGoodsConversion;
+import cc.mrbird.febs.mall.conversion.MallMemberBankConversion;
 import cc.mrbird.febs.mall.conversion.MallMemberConversion;
 import cc.mrbird.febs.mall.conversion.MallShopApplyConversion;
 import cc.mrbird.febs.mall.dto.*;
@@ -58,6 +60,7 @@
     private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
     private final MallShopApplyMapper mallShopApplyMapper;
     private final MallRegisterAppealMapper mallRegisterAppealMapper;
+    private final MallMemberBankMapper mallMemberBankMapper;
 
 
     @Value("${spring.profiles.active}")
@@ -542,4 +545,49 @@
         }
         return MallShopApplyConversion.INSTANCE.entitiesToVOs(list);
     }
+
+    @Override
+    @Transactional
+    public FebsResponse addMemberBank(AddMemberBankDto addMemberBankDto) {
+        MallMember member = LoginUserUtil.getLoginUser();
+        MallMemberBank mallMemberBank = MallMemberBankConversion.INSTANCE.dtoToentity(addMemberBankDto);
+        mallMemberBank.setMemberId(member.getId());
+        mallMemberBankMapper.insert(mallMemberBank);
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public FebsResponse findMemberBankList(MemberBankListDto memberBankListDto) {
+        Page<MemberBankListVo> page = new Page<>(memberBankListDto.getPageNum(), memberBankListDto.getPageSize());
+        IPage<MemberBankListVo> pageResult = mallMemberBankMapper.findMemberBankListInPage(memberBankListDto, page);
+        return new FebsResponse().success().data(pageResult);
+    }
+
+    @Override
+    public FebsResponse findBankDetailsById(Long id) {
+        MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(id);
+        MemberBankListVo memberBankListVo = MallMemberBankConversion.INSTANCE.entityToVo(mallMemberBank);
+        return new FebsResponse().success().data(memberBankListVo);
+    }
+
+    @Override
+    @Transactional
+    public FebsResponse updateMemberBank(UpdateMemberBankDto updateMemberBankDto) {
+        Long id = updateMemberBankDto.getId();
+        MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(id);
+        mallMemberBank.setName(updateMemberBankDto.getName());
+        mallMemberBank.setIdType(updateMemberBankDto.getIdType());
+        mallMemberBank.setIdCardNum(updateMemberBankDto.getIdCardNum());
+        mallMemberBank.setBankNo(updateMemberBankDto.getBankNo());
+        mallMemberBank.setPhone(updateMemberBankDto.getPhone());
+        mallMemberBankMapper.updateById(mallMemberBank);
+        return new FebsResponse().success();
+    }
+
+    @Override
+    @Transactional
+    public FebsResponse delMemberBank(Long id) {
+        mallMemberBankMapper.deleteById(id);
+        return new FebsResponse().success();
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
index fa7e82e..44f17a8 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -219,7 +219,7 @@
     @Transactional(rollbackFor = Exception.class)
     public Map<String, Object> payOrder(PayOrderDto payOrderDto) {
         MallMember member = LoginUserUtil.getLoginUser();
-        MallOrderInfo orderInfo = this.baseMapper.selectOrderByMemberIdAndId(member.getId(), payOrderDto.getId());
+        MallOrderInfo orderInfo = this.baseMapper.selectOrderDetailsById(payOrderDto.getId());
         if (orderInfo == null || AppContants.DEL_FLAG_Y == orderInfo.getDelFlag()) {
             throw new FebsException("订单不存在");
         }
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/MemberBankListVo.java b/src/main/java/cc/mrbird/febs/mall/vo/MemberBankListVo.java
new file mode 100644
index 0000000..5f708dc
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/MemberBankListVo.java
@@ -0,0 +1,26 @@
+package cc.mrbird.febs.mall.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "MemberBankListVo", description = "信息返回类")
+public class MemberBankListVo {
+    private Long id;
+    // 姓名
+    @ApiModelProperty(value = "姓名")
+    private String name;
+    //证件类型
+    @ApiModelProperty(value = "证件类型")
+    private String idType;
+    //证件号码
+    @ApiModelProperty(value = "证件号码")
+    private String idCardNum;
+    // 银行卡号
+    @ApiModelProperty(value = "银行卡号")
+    private String bankNo;
+    // 手机号
+    @ApiModelProperty(value = "手机号")
+    private String phone;
+}
diff --git a/src/main/resources/mapper/modules/MallMemberBankMapper.xml b/src/main/resources/mapper/modules/MallMemberBankMapper.xml
new file mode 100644
index 0000000..47f2029
--- /dev/null
+++ b/src/main/resources/mapper/modules/MallMemberBankMapper.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cc.mrbird.febs.mall.mapper.MallMemberBankMapper">
+
+    <select id="findMemberBankListInPage" resultType="cc.mrbird.febs.mall.vo.MemberBankListVo">
+        SELECT a.*
+        FROM mall_member_bank a
+        order by a.CREATED_TIME desc
+    </select>
+
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.1