xiaoyong931011
2023-05-09 5e019ce46e3d69f88f934aca70243d669c5ba4ec
微信支付
10 files modified
93 ■■■■ changed files
src/main/java/cc/mrbird/febs/mall/dto/MallOrderInfoDto.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java 8 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java 44 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java 1 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/pay/controller/PayCallBackController.java 22 ●●●●● patch | view | raw | blame | history
src/main/resources/application-test.yml 2 ●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MallMemberMapper.xml 3 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MallOrderInfoMapper.xml 3 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html 1 ●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/order/orderList.html 7 ●●●●● patch | view | raw | blame | history
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;
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();
    }
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;
            }
            /**
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());
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("成功");
    }
}
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
    noticeUrl: http://120.27.238.55:8186/api/pay/wxPayCallBack
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
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>
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) {
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(),