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"}