From 5e019ce46e3d69f88f934aca70243d669c5ba4ec Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 09 May 2023 16:01:12 +0800
Subject: [PATCH] 微信支付

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java           |   44 ++++++++++++----------
 src/main/java/cc/mrbird/febs/mall/dto/MallOrderInfoDto.java                    |    2 +
 src/main/resources/mapper/modules/MallMemberMapper.xml                         |    3 +
 src/main/resources/mapper/modules/MallOrderInfoMapper.xml                      |    3 +
 src/main/java/cc/mrbird/febs/pay/controller/PayCallBackController.java         |   22 +++++++++++
 src/main/resources/application-test.yml                                        |    2 
 src/main/resources/templates/febs/views/modules/order/orderList.html           |    7 +++
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java |    8 ++--
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java   |    1 
 src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html |    1 
 10 files changed, 67 insertions(+), 26 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/dto/MallOrderInfoDto.java b/src/main/java/cc/mrbird/febs/mall/dto/MallOrderInfoDto.java
index 0dbafff..8856cb8 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/MallOrderInfoDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/MallOrderInfoDto.java
@@ -23,6 +23,8 @@
 
     private String name;
 
+    private String phone;
+
     private Integer orderType;
 
     private String startTime;
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
index 8ee5396..6b6f524 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -287,10 +287,10 @@
         adminAgentLevelOptionTreeVo.setId(MemberLevelEnum.NORMAL.getType());
         adminAgentLevelOptionTreeVo.setName("普通会员");
         agentLevelOption.add(adminAgentLevelOptionTreeVo);
-        AdminAgentLevelOptionTreeVo adminAgentLevelOptionTreeVos = new AdminAgentLevelOptionTreeVo();
-        adminAgentLevelOptionTreeVos.setId(MemberLevelEnum.V_DIRECTOR.getType());
-        adminAgentLevelOptionTreeVos.setName("董事");
-        agentLevelOption.add(adminAgentLevelOptionTreeVos);
+//        AdminAgentLevelOptionTreeVo adminAgentLevelOptionTreeVos = new AdminAgentLevelOptionTreeVo();
+//        adminAgentLevelOptionTreeVos.setId(MemberLevelEnum.V_DIRECTOR.getType());
+//        adminAgentLevelOptionTreeVos.setName("董事");
+//        agentLevelOption.add(adminAgentLevelOptionTreeVos);
         return dataDictionaryCustomMapper.getAgentLevelOption();
     }
 
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
index 7d98510..22e6b14 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
@@ -51,26 +51,30 @@
         List<MallMember> parentMembers = memberMapper.selectByInviteIds(ids);
         for (MallMember parent : parentMembers) {
             //level为v6,升级董事,则看直属团队下有没有两个V6
-            List<MallMember> mallMemberChilds = memberMapper.selectByRefererId(parent.getInviteId());
-            if(CollUtil.isNotEmpty(mallMemberChilds)){
-                int directorSize = 0;
-                for(MallMember mallMemberChild : mallMemberChilds){
-                    List<MallMember> mallMemberTeamMembers = memberMapper.selectAllChildAgentListByInviteId(mallMemberChild.getInviteId());
-                    if(CollUtil.isNotEmpty(mallMemberTeamMembers)){
-                        List<MallMember> levelV6List = mallMemberTeamMembers.stream()
-                                .filter(teamMember -> teamMember.getLevel().equals(MemberLevelEnum.V6.getType()))
-                                .collect(Collectors.toList());
-                        if(CollUtil.isNotEmpty(levelV6List)){
-                            directorSize = directorSize +1;
-                        }
-                    }
-                }
-                if(directorSize >= 2){
-                    parent.setLevel(MemberLevelEnum.V_DIRECTOR.getType());
-                    parent.setDirector(AppContants.OPTION_YES);
-                    memberMapper.updateById(parent);
-                    continue;
-                }
+//            List<MallMember> mallMemberChilds = memberMapper.selectByRefererId(parent.getInviteId());
+//            if(CollUtil.isNotEmpty(mallMemberChilds)){
+//                int directorSize = 0;
+//                for(MallMember mallMemberChild : mallMemberChilds){
+//                    List<MallMember> mallMemberTeamMembers = memberMapper.selectAllChildAgentListByInviteId(mallMemberChild.getInviteId());
+//                    if(CollUtil.isNotEmpty(mallMemberTeamMembers)){
+//                        List<MallMember> levelV6List = mallMemberTeamMembers.stream()
+//                                .filter(teamMember -> teamMember.getLevel().equals(MemberLevelEnum.V6.getType()))
+//                                .collect(Collectors.toList());
+//                        if(CollUtil.isNotEmpty(levelV6List)){
+//                            directorSize = directorSize +1;
+//                        }
+//                    }
+//                }
+//                if(directorSize >= 2){
+//                    parent.setLevel(MemberLevelEnum.V_DIRECTOR.getType());
+//                    parent.setDirector(AppContants.OPTION_YES);
+//                    memberMapper.updateById(parent);
+//                    continue;
+//                }
+//            }
+            //V6不能再升级了
+            if(parent.getLevel().equals(MemberLevelEnum.V6.getType())){
+                continue;
             }
 
             /**
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 57bda50..5bcab9e 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
@@ -254,6 +254,7 @@
         }
         mallMemberVo.setLevelName(MemberLevelEnum.NORMAL.getLevelDescription(mallMember.getLevel()));
         mallMemberVo.setPartner(mallMember.getPartner());
+        mallMemberVo.setDirector(mallMember.getDirector());
         MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(mallMemberVo.getId());
         mallMemberVo.setBalance(wallet.getBalance());
         mallMemberVo.setScore(wallet.getScore());
diff --git a/src/main/java/cc/mrbird/febs/pay/controller/PayCallBackController.java b/src/main/java/cc/mrbird/febs/pay/controller/PayCallBackController.java
index 4b09e49..488d1ad 100644
--- a/src/main/java/cc/mrbird/febs/pay/controller/PayCallBackController.java
+++ b/src/main/java/cc/mrbird/febs/pay/controller/PayCallBackController.java
@@ -2,11 +2,18 @@
 
 import cc.mrbird.febs.pay.properties.AliPayProperties;
 import cc.mrbird.febs.pay.service.AliIPayService;
+import cc.mrbird.febs.pay.service.IPayService;
 import com.alipay.api.AlipayApiException;
 import com.alipay.api.internal.util.AlipaySignature;
+import com.github.binarywang.wxpay.bean.notify.WxPayNotifyResponse;
+import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult;
+import com.github.binarywang.wxpay.exception.WxPayException;
+import com.github.binarywang.wxpay.service.WxPayService;
 import com.ijpay.alipay.AliPayApi;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -28,6 +35,12 @@
 
     @Resource
     private AliPayProperties aliPayProperties;
+
+    @Autowired
+    private WxPayService wxPayService;
+
+    @Autowired
+    private IPayService wechatPayService;
 
     @RequestMapping("/aliCallBack")
     public String aliPayCallBack(HttpServletRequest request){
@@ -55,4 +68,13 @@
             return "failure";
         }
     }
+
+    @PostMapping(value = "/wxPayCallBack")
+    public String wxPayCallBack(@RequestBody String xmlData) throws WxPayException {
+        log.info("=======微信回调:{}========", xmlData);
+        WxPayOrderNotifyResult notifyResult = this.wxPayService.parseOrderNotifyResult(xmlData);
+
+        wechatPayService.payCallback(notifyResult.toMap());
+        return WxPayNotifyResponse.success("成功");
+    }
 }
diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml
index 04dad08..a666b60 100644
--- a/src/main/resources/application-test.yml
+++ b/src/main/resources/application-test.yml
@@ -64,4 +64,4 @@
     mchId: 1616647297
     mchKey: wqri51aCfiG31o4IcdX3dW12qnX3u4hp
     keyPath: classpath:cert/apiclient_cert.p12
-    noticeUrl: http://120.27.238.55:8185/api/pay/wxPayCallBack
\ No newline at end of file
+    noticeUrl: http://120.27.238.55:8186/api/pay/wxPayCallBack
\ No newline at end of file
diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml
index 6ef3969..4537f78 100644
--- a/src/main/resources/mapper/modules/MallMemberMapper.xml
+++ b/src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -388,7 +388,8 @@
         <where>
             1=1
             <if test="type == 1">
-                and level= 'V_DIRECTOR'
+--                 and level= 'V_DIRECTOR'
+                and director= 1
             </if>
             <if test="type == 2">
                 and store_master = 1
diff --git a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
index a16b8d7..9fbc5f9 100644
--- a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
+++ b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
@@ -72,6 +72,9 @@
                 <if test="record.name != null and record.name != ''">
                     and b.name like CONCAT('%', CONCAT(#{record.name}, '%'))
                 </if>
+                <if test="record.phone != null and record.phone != ''">
+                    and b.phone like CONCAT('%', CONCAT(#{record.phone}, '%'))
+                </if>
                 <if test="record.startTime != null and record.startTime != ''">
                     and a.order_time &gt;= #{record.startTime}
                 </if>
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
index 920fa9a..6e7f1dd 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
@@ -272,6 +272,7 @@
                             }
                         }, minWidth: 100,align:'center'},
                     // {field: 'storeMaster', title: '店长', templet:'#switchStoreMaster', minWidth: 100},
+                    {field: 'director', title: '董事', templet:'#switchDirector', minWidth: 100},
                     {field: 'partner', title: '合伙人', templet:'#switchPartner', minWidth: 100},
                     {field: 'accountType', title: '账号类型',
                         templet: function (d) {
diff --git a/src/main/resources/templates/febs/views/modules/order/orderList.html b/src/main/resources/templates/febs/views/modules/order/orderList.html
index b0f0799..fd82fd5 100644
--- a/src/main/resources/templates/febs/views/modules/order/orderList.html
+++ b/src/main/resources/templates/febs/views/modules/order/orderList.html
@@ -19,6 +19,12 @@
                                     </div>
                                 </div>
                                 <div class="layui-inline">
+                                    <label class="layui-form-label">账号:</label>
+                                    <div class="layui-input-inline">
+                                        <input type="text" placeholder="账号" name="phone" autocomplete="off" class="layui-input">
+                                    </div>
+                                </div>
+                                <div class="layui-inline">
                                     <label class="layui-form-label">商品信息:</label>
                                     <div class="layui-input-inline">
                                         <input type="text" placeholder="商品信息" name="goodsName" autocomplete="off" class="layui-input">
@@ -340,6 +346,7 @@
                 startTime: $searchForm.find('input[name="startTime"]').val().trim(),
                 endTime: $searchForm.find('input[name="endTime"]').val().trim(),
                 name: $searchForm.find('input[name="name"]').val().trim(),
+                phone: $searchForm.find('input[name="phone"]').val().trim(),
                 orderNo: $searchForm.find('input[name="orderNo"]').val().trim(),
                 goodsName: $searchForm.find('input[name="goodsName"]').val().trim(),
                 status: $searchForm.find("select[name='status']").val(),

--
Gitblit v1.9.1