xiaoyong931011
2022-09-09 e1e7d29ea23fcee395e3f13dc2763162c588b6d0
20220902
8 files modified
85 ■■■■ changed files
src/main/java/cc/mrbird/febs/mall/mapper/MallTeamLeaderMapper.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/quartz/OrderSettlementJob.java 37 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java 7 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MallMemberMapper.xml 3 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MallTeamLeaderMapper.xml 9 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/leader/leaderList.html 3 ●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html 14 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/mapper/MallTeamLeaderMapper.java
@@ -30,4 +30,6 @@
    MallTeamLeader selectLeaderByLonAndLat(@Param("longitude")Double longitude, @Param("latitude")Double latitude);
    IPage<MallLeaderStock> selectleaderGoodsStockListInPage(Page<MallLeaderStock> page, @Param("record")MallLeaderStock mallLeaderStock);
    MallTeamLeader selectLeaderByUniqueCodeAndOrderBycreateTime(@Param("uniqueCode")String inviteId);
}
src/main/java/cc/mrbird/febs/mall/quartz/OrderSettlementJob.java
@@ -110,8 +110,10 @@
        List<MallOrderInfo> orderInfos = mallOrderInfoMapper.selectOrderByStatusAndPayTime(3,DateUtil.offsetDay(new Date(), -value));
        if(CollUtil.isNotEmpty(orderInfos)){
            for(MallOrderInfo orderInfo : orderInfos){
                DataDictionaryCustom dicBonusPercent = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.BONUS_PERCENT.getType(), DataDictionaryEnum.BONUS_PERCENT.getCode());
                BigDecimal bonusPercent = new BigDecimal(dicBonusPercent.getValue()).setScale(2,BigDecimal.ROUND_DOWN);
                MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(orderInfo.getTakeUniqueCode());
                BigDecimal bonusPercent =new BigDecimal(mallTeamLeader.getBonusPercent()==null?"0":mallTeamLeader.getBonusPercent());
//                DataDictionaryCustom dicBonusPercent = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.BONUS_PERCENT.getType(), DataDictionaryEnum.BONUS_PERCENT.getCode());
//                BigDecimal bonusPercent = new BigDecimal(dicBonusPercent.getValue()).setScale(2,BigDecimal.ROUND_DOWN);
                //生成一条团长提成记录
                Long id = orderInfo.getId();
                List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByOrderId(id);
@@ -147,23 +149,22 @@
    @Scheduled(cron = "1 * * * * ?")
    public void leaderAchieveAuto() {
        log.info("团长每日提成");
        DataDictionaryCustom dicBonusSwitch = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.BONUS_SWITCH.getType(), DataDictionaryEnum.BONUS_SWITCH.getCode());
        String bonusSwitch = dicBonusSwitch.getValue();
        if("1".equals(bonusSwitch)){
//            DataDictionaryCustom dicBonusPercent = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.BONUS_PERCENT.getType(), DataDictionaryEnum.BONUS_PERCENT.getCode());
//            BigDecimal bonusPercent = new BigDecimal(dicBonusPercent.getValue()).setScale(2,BigDecimal.ROUND_DOWN);
            //获取每日提成总数
            /**
             * a.unique_code uniqueCode 团长特征码
             * , IFNULL(sum(a.amount),0) amount 每日提成总金额
             */
        //获取每日提成总数
        /**
         * a.unique_code uniqueCode 团长特征码
         * , IFNULL(sum(a.amount),0) amount 每日提成总金额
         */
//            DateTime dateTime = DateUtil.offsetDay(new Date(), -1);
            DateTime dateTime = DateUtil.offsetDay(new Date(), 0);
            List<Map<String, String>> allLeaderAchieve = mallLeaderAchieveMapper.selectListByStateAndCreateTimeAndUniqueCode(MallLeaderAchieve.STATE_ONE,dateTime);
            if (CollUtil.isNotEmpty(allLeaderAchieve)) {
                for (Map<String, String> map : allLeaderAchieve) {
                    String uniqueCode = map.get("uniqueCode");
                    Object profitAmount = map.get("profitAmount");
        DateTime dateTime = DateUtil.offsetDay(new Date(), 0);
        List<Map<String, String>> allLeaderAchieve = mallLeaderAchieveMapper.selectListByStateAndCreateTimeAndUniqueCode(MallLeaderAchieve.STATE_ONE,dateTime);
        if (CollUtil.isNotEmpty(allLeaderAchieve)) {
            for (Map<String, String> map : allLeaderAchieve) {
                String uniqueCode = map.get("uniqueCode");
                Object profitAmount = map.get("profitAmount");
                MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(uniqueCode);
                Integer profitSwitch = mallTeamLeader.getProfitSwitch();
                if(1 == profitSwitch){
                    //直接舍弃小数点的第三位
                    BigDecimal achieveMoney = new BigDecimal(String.valueOf(profitAmount)).setScale(2,BigDecimal.ROUND_DOWN);
                    MallMember mallMember = mallMemberMapper.selectInfoByInviteId(uniqueCode);
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -66,11 +66,21 @@
    private final MallShopApplyMapper mallShopApplyMapper;
    private final IMallMoneyFlowService mallMoneyFlowService;
    private final MallTeamLeaderMapper mallTeamLeaderMapper;
    @Override
    public IPage<MallMember> getMallMemberList(MallMember mallMember, QueryRequest request) {
        Page<MallMember> page = new Page<>(request.getPageNum(), request.getPageSize());
        IPage<MallMember> mallMembers = this.baseMapper.selectMallMemberListInPage(page, mallMember);
        if(CollUtil.isNotEmpty(mallMembers.getRecords())){
            for(MallMember mallMemberTeam : mallMembers.getRecords()){
                String inviteId = mallMemberTeam.getInviteId();
                MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCodeAndOrderBycreateTime(inviteId);
                if(ObjectUtil.isNotEmpty(mallTeamLeader)){
                    mallMemberTeam.setLeaderState(mallTeamLeader.getState() == null ? 0 : mallTeamLeader.getState());
                }
            }
        }
        return mallMembers;
    }
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -520,8 +520,11 @@
        Long orderInfoId = orderInfo.getId();
        List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByOrderId(orderInfoId);
        if(CollUtil.isNotEmpty(mallOrderItemList)){
            DataDictionaryCustom dicBonusPercent = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.BONUS_PERCENT.getType(), DataDictionaryEnum.BONUS_PERCENT.getCode());
            BigDecimal bonusPercent = new BigDecimal(dicBonusPercent.getValue()).setScale(2,BigDecimal.ROUND_DOWN);
            MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(orderInfo.getTakeUniqueCode());
            BigDecimal bonusPercent =new BigDecimal(mallTeamLeader.getBonusPercent()==null?"0":mallTeamLeader.getBonusPercent());
//            DataDictionaryCustom dicBonusPercent = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.BONUS_PERCENT.getType(), DataDictionaryEnum.BONUS_PERCENT.getCode());
//            BigDecimal bonusPercent = new BigDecimal(dicBonusPercent.getValue()).setScale(2,BigDecimal.ROUND_DOWN);
            for(MallOrderItem mallOrderItem : mallOrderItemList){
                Integer state = mallOrderItem.getState() == null ? 1 : mallOrderItem.getState();
                if(1 == state){
src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -4,12 +4,11 @@
    <select id="selectMallMemberListInPage" resultType="cc.mrbird.febs.mall.entity.MallMember">
        SELECT m.*,a.name referrerName,IFNULL(c.balance,0) balance,IFNULL(c.score,0) score,IFNULL(c.prize_score,0) prizeScore,IFNULL(c.commission,0) commission
        ,d.description levelName,e.state leaderState
        ,d.description levelName
        FROM mall_member m
        left join mall_member a on m.referrer_id = a.invite_id
        LEFT JOIN mall_member_wallet c on c.member_id = m.id
        LEFT JOIN data_dictionary_custom d on d.code = m.level and type='AGENT_LEVEL'
        LEFT JOIN mall_team_leader e on e.member_id = m.id
        <where>
            <if test="record != null" >
                <if test="record.name!=null and record.name!=''">
src/main/resources/mapper/modules/MallTeamLeaderMapper.xml
@@ -177,4 +177,13 @@
        where a.team_leader_id = #{record.teamLeaderId}
    </select>
    <select id="selectLeaderByUniqueCodeAndOrderBycreateTime" resultType="cc.mrbird.febs.mall.entity.MallTeamLeader">
        select
            a.*
        from mall_team_leader a
        where a.unique_code = #{uniqueCode}
        order by a.CREATED_TIME desc
        limit 1
    </select>
</mapper>
src/main/resources/templates/febs/views/modules/leader/leaderList.html
@@ -187,7 +187,7 @@
                            }else if (d.state === 3) {
                                return '<span style="color:blue;">待审核</span>'
                            }else if (d.state === 4) {
                                return '<span style="color:blue;">已取消</span>'
                                return '<span style="color:blue;">已取消资格</span>'
                            }else{
                                return ''
                            }
@@ -216,6 +216,7 @@
            } else {
                closeProfit(data.value);
            }
            $query.click();
        })
        function startProfit(id) {
src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
@@ -264,6 +264,8 @@
                                return '<span style="color:green;">团长</span>'
                            }else if (d.leaderState === 3) {
                                return '<span">申请中</span>'
                            }else if (d.leaderState === 4) {
                                return '<span">普通用户(取消团长资格)</span>'
                            }else{
                                return '<span">普通用户</span>'
                            }
@@ -272,11 +274,19 @@
                    {field: 'createdTime', title: '注册时间', minWidth: 180,align:'center'},
                    {title: '操作',
                        templet: function (d) {
                        if(d.leaderState === 1 || d.leaderState === 3){
                        if(d.leaderState === 1 ){
                            return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="moneyFlow" shiro:hasPermission="user:update">资金流水</button>'
                        }else if(d.leaderState === 2){
                            return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="moneyFlow" shiro:hasPermission="user:update">资金流水</button>'
                                + '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="addLeader" shiro:hasPermission="user:update">设置为团长</button>'
                        }else if(d.leaderState === 3){
                            return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="moneyFlow" shiro:hasPermission="user:update">资金流水</button>'
                        }else if(d.leaderState === 4){
                            return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="moneyFlow" shiro:hasPermission="user:update">资金流水</button>'
                                // + '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="addLeader" shiro:hasPermission="user:update">设置为团长</button>'
                        }else{
                            return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="moneyFlow" shiro:hasPermission="user:update">资金流水</button>'
                            + '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="addLeader" shiro:hasPermission="user:update">设置为团长</button>'
                                + '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="addLeader" shiro:hasPermission="user:update">设置为团长</button>'
                        }
                        },minWidth: 200,align:'center', fixed:"right"}