From 435cbed09a75895cfbaadc02ce95329598394185 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Sat, 25 Sep 2021 14:45:20 +0800
Subject: [PATCH] add payment

---
 src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java    |    8 ++++
 src/main/java/cc/mrbird/febs/mall/entity/MallMemberPayment.java              |   43 +++++++++++++++++++++
 src/main/resources/mapper/modules/MallMemberPaymentMapper.xml                |    8 ++++
 sql/xc_mall.sql                                                              |   21 ++++++++++
 src/main/java/cc/mrbird/febs/mall/mapper/MallMemberPaymentMapper.java        |   10 +++++
 src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java         |    3 +
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java |   20 ++++++++--
 7 files changed, 108 insertions(+), 5 deletions(-)

diff --git a/sql/xc_mall.sql b/sql/xc_mall.sql
index 762529f..e0215ce 100644
--- a/sql/xc_mall.sql
+++ b/sql/xc_mall.sql
@@ -318,4 +318,23 @@
    PRIMARY KEY (ID)
 )  COMMENT = '字典表';
 
-
+DROP TABLE IF EXISTS mall_member_payment;
+CREATE TABLE mall_member_payment(
+    REVISION INT    COMMENT '乐观锁' ,
+    CREATED_BY VARCHAR(32)    COMMENT '创建人' ,
+    CREATED_TIME DATETIME    COMMENT '创建时间' ,
+    UPDATED_BY VARCHAR(32)    COMMENT '更新人' ,
+    UPDATED_TIME DATETIME    COMMENT '更新时间' ,
+    ID BIGINT NOT NULL AUTO_INCREMENT  COMMENT '主键' ,
+    member_id VARCHAR(255)    COMMENT '用户ID' ,
+    wx_qrcode TEXT    COMMENT '微信收款码' ,
+    wx_name VARCHAR(255)    COMMENT '微信姓名' ,
+    wx_account VARCHAR(255)    COMMENT '微信账号' ,
+    ali_qrcode TEXT    COMMENT '支付宝收款码' ,
+    ali_name VARCHAR(255)    COMMENT '支付宝姓名' ,
+    ali_account VARCHAR(255)    COMMENT '支付宝账号' ,
+    bank_name VARCHAR(255)    COMMENT '持卡人姓名' ,
+    bank_no VARCHAR(255)    COMMENT '银行卡号' ,
+    bank VARCHAR(255)    COMMENT '开户行' ,
+    PRIMARY KEY (ID)
+)  COMMENT = '用户收款方式';
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 9a6ff62..1e560b3 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
@@ -2,6 +2,7 @@
 
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.mall.dto.*;
+import cc.mrbird.febs.mall.entity.MallMemberPayment;
 import cc.mrbird.febs.mall.service.IApiMallMemberService;
 import cc.mrbird.febs.mall.vo.MallMemberVo;
 import cc.mrbird.febs.mall.vo.MoneyFlowVo;
@@ -94,4 +95,11 @@
         memberService.withdrawal(withdrawalDto);
         return new FebsResponse().success().message("提交成功");
     }
+
+    @ApiOperation(value = "设置收款方式")
+    @PostMapping(value = "/setPayment")
+    public FebsResponse setPayment(@RequestBody MallMemberPayment mallMemberPayment) {
+        memberService.setPayment(mallMemberPayment);
+        return new FebsResponse().success().message("设置成功");
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallMemberPayment.java b/src/main/java/cc/mrbird/febs/mall/entity/MallMemberPayment.java
new file mode 100644
index 0000000..396c31f
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallMemberPayment.java
@@ -0,0 +1,43 @@
+package cc.mrbird.febs.mall.entity;
+
+import cc.mrbird.febs.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+/**
+ * @author wzy
+ * @date 2021-09-25
+ **/
+@Data
+@TableName("mall_member_payment")
+public class MallMemberPayment extends BaseEntity {
+
+    private Long memberId;
+
+    private String wxQrcode;
+
+    private String wxName;
+
+    private String wxAccount;
+
+    private String aliQrcode;
+
+    private String aliName;
+
+    private String aliAccount;
+
+    /**
+     * 持卡人姓名
+     */
+    private String bankName;
+
+    /**
+     * 银行卡号
+     */
+    private String bankNo;
+
+    /**
+     * 开户行
+     */
+    private String bank;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberPaymentMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberPaymentMapper.java
new file mode 100644
index 0000000..9d37b08
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberPaymentMapper.java
@@ -0,0 +1,10 @@
+package cc.mrbird.febs.mall.mapper;
+
+import cc.mrbird.febs.mall.entity.MallMemberPayment;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+public interface MallMemberPaymentMapper extends BaseMapper<MallMemberPayment> {
+
+    MallMemberPayment selectByMemberId(@Param("memberId") Long memberId);
+}
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 75e5838..c3aff23 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
@@ -3,6 +3,7 @@
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.mall.dto.*;
 import cc.mrbird.febs.mall.entity.MallMember;
+import cc.mrbird.febs.mall.entity.MallMemberPayment;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 import java.math.BigDecimal;
@@ -33,4 +34,6 @@
     void transfer(TransferDto transferDto);
 
     void withdrawal(WithdrawalDto withdrawalDto);
+
+    void setPayment(MallMemberPayment mallMemberPayment);
 }
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 0db78a7..8f690f8 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
@@ -6,10 +6,7 @@
 import cc.mrbird.febs.common.utils.*;
 import cc.mrbird.febs.mall.conversion.MallMemberConversion;
 import cc.mrbird.febs.mall.dto.*;
-import cc.mrbird.febs.mall.entity.MallMember;
-import cc.mrbird.febs.mall.entity.MallMemberWallet;
-import cc.mrbird.febs.mall.entity.MallMoneyFlow;
-import cc.mrbird.febs.mall.entity.MallShoppingCart;
+import cc.mrbird.febs.mall.entity.*;
 import cc.mrbird.febs.mall.mapper.*;
 import cc.mrbird.febs.mall.service.IApiMallMemberService;
 import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
@@ -55,6 +52,7 @@
     private final MallShoppingCartMapper mallShoppingCartMapper;
     private final MallMoneyFlowMapper mallMoneyFlowMapper;
     private final IApiMallMemberWalletService walletService;
+    private final MallMemberPaymentMapper mallMemberPaymentMapper;
 
     @Value("${spring.profiles.active}")
     private String active;
@@ -359,4 +357,18 @@
         String orderNo = MallUtils.getOrderNum("W");
         this.addMoneyFlow(memberId, withdrawalDto.getAmount().negate(), MoneyFlowTypeEnum.WITHDRAWAL.getValue(), orderNo, null, null, null, 1);
     }
+
+    @Override
+    public void setPayment(MallMemberPayment mallMemberPayment) {
+        MallMember member = LoginUserUtil.getLoginUser();
+
+        MallMemberPayment exist = mallMemberPaymentMapper.selectByMemberId(member.getId());
+        if (exist == null) {
+            mallMemberPayment.setMemberId(member.getId());
+            mallMemberPaymentMapper.insert(mallMemberPayment);
+        } else {
+            mallMemberPayment.setId(exist.getId());
+            mallMemberPaymentMapper.updateById(mallMemberPayment);
+        }
+    }
 }
diff --git a/src/main/resources/mapper/modules/MallMemberPaymentMapper.xml b/src/main/resources/mapper/modules/MallMemberPaymentMapper.xml
new file mode 100644
index 0000000..17aaeef
--- /dev/null
+++ b/src/main/resources/mapper/modules/MallMemberPaymentMapper.xml
@@ -0,0 +1,8 @@
+<?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.MallMemberPaymentMapper">
+
+    <select id="selectByMemberId" resultType="cc.mrbird.febs.mall.entity.MallMemberPayment">
+        select * from mall_member_payment where member_id=#{id}
+    </select>
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.1