diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysCommissionDayServiceImpl.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysCommissionDayServiceImpl.java index e78792498..3676d57df 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysCommissionDayServiceImpl.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysCommissionDayServiceImpl.java @@ -437,8 +437,8 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService { */ public Map> getOrderByList(SysCommision sysCommision, Boolean cutOrderFlag){ //查询2021年1月份之后所有订单 - System.out.println(sysCommision.getReplaceOrderFlag() == null); List orderList = sysOrderMapper.selectSimpleOrderMessage(sysCommision); + //查询所有订单营养师、售后转移记录 Map> replaceRecordMap = dealNutritionistReplaceRecord(sysOrderNutritionistReplaceRecordService.getSysOrderReplaceRecordByOrderId(null)); /*if(cutOrderFlag){ //查询所有订单营养师、售后转移记录 @@ -459,31 +459,27 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService { //System.out.println("客户:"+ sysOrder.getCustomer() +",营养师:"+sysOrder.getNutritionist() + ",售后" + sysOrder.getAfterSale()); continue; } - List orderCommisionDayDetailList = null; + List orderCommisionDayDetailList = new ArrayList<>(); //将服务结束时间设置为空,因为提成的结束时间需要重新计算 sysOrder.setServerEndTime(null); //判断是否存在营养师、售后更换记录 - if(cutOrderFlag && replaceRecordMap.containsKey(sysOrder.getOrderId()) && replaceRecordMap.get(sysOrder.getOrderId()).size() > 0){ + if(replaceRecordMap.containsKey(sysOrder.getOrderId()) && replaceRecordMap.get(sysOrder.getOrderId()).size() > 0){ //将订单根据更换记录切割成多个订单 SysOrderCommisionDayDetail sysOrderCommisionDayDetail = statisticsOrderMessage(sysOrder, sysCommision.getServerScopeStartTime(), sysCommision.getServerScopeEndTime()); - orderCommisionDayDetailList = cutOrderByReplaceRecord(sysOrder, sysCommision, sysOrderCommisionDayDetail, replaceRecordMap.get(sysOrder.getOrderId())); - }else{ - SysOrderCommisionDayDetail commisionDetail = statisticsOrderMessage(sysOrder, sysCommision.getServerScopeStartTime(), sysCommision.getServerScopeEndTime()); - if(sysCommision.getReplaceOrderFlag() != null && sysCommision.getReplaceOrderFlag() && sysCommision.getUserId() != null && - replaceRecordMap.containsKey(sysOrder.getOrderId())){ - //判断该订单是否属于营养师、售后替换订单 - List userorderCommisionList = cutOrderByReplaceRecord(sysOrder, sysCommision, commisionDetail, replaceRecordMap.get(sysOrder.getOrderId())); - for (SysOrderCommisionDayDetail detail : userorderCommisionList) { + List muchCommisionDayDetailList = cutOrderByReplaceRecord(sysOrder, sysCommision, sysOrderCommisionDayDetail, replaceRecordMap.get(sysOrder.getOrderId())); + if(sysCommision.getUserId() != null){ + for (SysOrderCommisionDayDetail detail : muchCommisionDayDetailList) { if((detail.getAfterSaleId() != null && detail.getAfterSaleId().longValue() == sysCommision.getUserId()) || (detail.getNutritionistId() != null && detail.getNutritionistId().longValue() == sysCommision.getUserId())){ - commisionDetail = detail; + orderCommisionDayDetailList.add(detail); break; } } + }else{ + orderCommisionDayDetailList.addAll(muchCommisionDayDetailList); } - orderCommisionDayDetailList = orderCommisionDayDetailList == null ? new ArrayList<>() : orderCommisionDayDetailList; - if(commisionDetail != null){ - orderCommisionDayDetailList.add(commisionDetail); - } + }else{ + SysOrderCommisionDayDetail commisionDetail = statisticsOrderMessage(sysOrder, sysCommision.getServerScopeStartTime(), sysCommision.getServerScopeEndTime()); + orderCommisionDayDetailList.add(commisionDetail); } if(orderCommisionDayDetailList != null){ for (SysOrderCommisionDayDetail detail : orderCommisionDayDetailList) { @@ -493,10 +489,12 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService { if(detail.getNutritionistId() != null && detail.getNutritionistId() > 0L){ addUserOrderResultMap(detail.getNutritionistId(), detail, userOrderResultMap); } + if(detail.getAfterSaleId() != null && detail.getAfterSaleId().longValue() == 257L){ + System.out.println(detail.getOrderId() + "-" + detail.getOrderAmount()); + } } } } - System.out.println(userOrderResultMap.get(131L).size() +" 订单数量"); return userOrderResultMap; } @@ -516,10 +514,12 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService { //售后和营养师分类 for (SysOrderNutritionistReplaceRecord sysOrderRecord : replaceRecordList) { - if (sysOrderRecord.getNutritionistId() != null && sysOrderRecord.getNutritionistId().longValue() > 0) { + if (sysOrderRecord.getNutritionistId() != null && sysOrderRecord.getNutritionistId().longValue() > 0 && + sysOrder.getNutritionistId() != null && sysOrder.getNutritionistId().longValue() != sysOrderRecord.getNutritionistId()) { nutritionistRecord.add(sysOrderRecord); } - if (sysOrderRecord.getAfterSaleId() != null && sysOrderRecord.getAfterSaleId().longValue() > 0) { + if (sysOrderRecord.getAfterSaleId() != null && sysOrderRecord.getAfterSaleId().longValue() > 0 + && sysOrder.getAfterSaleId().longValue() != sysOrderRecord.getAfterSaleId()) { afterSaleRecord.add(sysOrderRecord); } } diff --git a/stdiet-custom/src/main/resources/mapper/custom/SysOrderMapper.xml b/stdiet-custom/src/main/resources/mapper/custom/SysOrderMapper.xml index 8d6b90985..d35cca2fc 100644 --- a/stdiet-custom/src/main/resources/mapper/custom/SysOrderMapper.xml +++ b/stdiet-custom/src/main/resources/mapper/custom/SysOrderMapper.xml @@ -441,9 +441,9 @@ and ( su_sale.user_id = #{userId} or su_nutritionist.user_id = #{userId} - + or o.order_id in (select r.order_id from sys_order_nutritionist_replace_record r where r.del_flag = 0 and (r.after_sale_id = #{userId} or r.nutritionist_id = #{userId}) ) - + ) @@ -469,7 +469,13 @@ and review_status = #{reviewStatus} - and (su_sale.user_id = #{userId} or su_nutritionist.user_id = #{userId}) + and ( + su_sale.user_id = #{userId} or su_nutritionist.user_id = #{userId} + + + or o.order_id in (select r.order_id from sys_order_nutritionist_replace_record r where r.del_flag = 0 and (r.after_sale_id = #{userId} or r.nutritionist_id = #{userId}) ) + + ) AND DATE_FORMAT(o.order_time,'%Y-%m-%d') <= #{endTime} diff --git a/stdiet-ui/src/components/OrdercommissDetail/index.vue b/stdiet-ui/src/components/OrdercommissDetail/index.vue index c804f0b3d..d015cf6d6 100644 --- a/stdiet-ui/src/components/OrdercommissDetail/index.vue +++ b/stdiet-ui/src/components/OrdercommissDetail/index.vue @@ -24,7 +24,7 @@ end-placeholder="结束日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" - + > @@ -37,7 +37,7 @@
- + 当前页总服务金额:{{totalServerAmount}}元 @@ -49,7 +49,7 @@ > 未发放总提成:{{ totalNotSendCommission }}元 + >
@@ -187,7 +187,7 @@ >订单详情 - + - + @@ -360,8 +360,8 @@ export default { } .order_total_data { - float: right; - margin-right: 40px; + float: right; + margin-right: 40px; margin-bottom:15px }