提成明细需要加上替换的订单
This commit is contained in:
parent
01fd29f2ec
commit
e333cb007e
@ -255,6 +255,7 @@ public class SysCommisionController extends BaseController {
|
||||
@PreAuthorize("@ss.hasPermi('commisionDay:detail:list')")
|
||||
@GetMapping("/orderDetailDay")
|
||||
public AjaxResult getOrderCommissionDetailDay(SysCommision sysCommision) {
|
||||
sysCommision.setReplaceOrderFlag(true);
|
||||
startPage();
|
||||
return sysCommissionDayService.calculateOrderCommissionDetail(sysCommision);
|
||||
}
|
||||
|
@ -78,4 +78,7 @@ public class SysCommision extends BaseEntity {
|
||||
|
||||
//服务结束时间,用于计算该时间段的提成
|
||||
private String serverScopeEndTime;
|
||||
|
||||
//是否查询替换订单
|
||||
private Boolean replaceOrderFlag;
|
||||
}
|
||||
|
@ -66,4 +66,11 @@ public interface SysOrderNutritionistReplaceRecordMapper
|
||||
* @return
|
||||
*/
|
||||
List<SysOrderNutritionistReplaceRecord> getSysOrderReplaceRecordByOrderId(@Param("orderId")Long orderId);
|
||||
|
||||
/**
|
||||
* 根据用户ID查询营养师、售后更换记录
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
List<SysOrderNutritionistReplaceRecord> getSysOrderReplaceRecordByUserId(@Param("userId")Long userId);
|
||||
}
|
@ -65,4 +65,11 @@ public interface ISysOrderNutritionistReplaceRecordService
|
||||
* @return
|
||||
*/
|
||||
List<SysOrderNutritionistReplaceRecord> getSysOrderReplaceRecordByOrderId(Long orderId);
|
||||
|
||||
/**
|
||||
* 根据用户ID查询营养师、售后更换记录
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
List<SysOrderNutritionistReplaceRecord> getSysOrderReplaceRecordByUserId(Long userId);
|
||||
}
|
@ -435,14 +435,20 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService {
|
||||
* @param cutOrderFlag 是否根据售后、营养师更换记录进行订单切割计算提成
|
||||
* @return
|
||||
*/
|
||||
public Map<Long, List<SysOrderCommisionDayDetail>> getOrderByList(SysCommision sysCommision, boolean cutOrderFlag){
|
||||
public Map<Long, List<SysOrderCommisionDayDetail>> getOrderByList(SysCommision sysCommision, Boolean cutOrderFlag){
|
||||
//查询2021年1月份之后所有订单
|
||||
System.out.println(sysCommision.getReplaceOrderFlag() == null);
|
||||
List<SysOrder> orderList = sysOrderMapper.selectSimpleOrderMessage(sysCommision);
|
||||
Map<Long, List<SysOrderNutritionistReplaceRecord>> replaceRecordMap = null;
|
||||
if(cutOrderFlag){
|
||||
Map<Long, List<SysOrderNutritionistReplaceRecord>> replaceRecordMap = dealNutritionistReplaceRecord(sysOrderNutritionistReplaceRecordService.getSysOrderReplaceRecordByOrderId(null));
|
||||
/*if(cutOrderFlag){
|
||||
//查询所有订单营养师、售后转移记录
|
||||
replaceRecordMap = dealNutritionistReplaceRecord(sysOrderNutritionistReplaceRecordService.getSysOrderReplaceRecordByOrderId(null));
|
||||
}
|
||||
}*/
|
||||
//根据用户ID查询所有替换记录
|
||||
/*List<SysOrderNutritionistReplaceRecord> usertReplaceRecordList = null;
|
||||
if(replaceOrderFlag != null && replaceOrderFlag && sysCommision.getUserId() != null){
|
||||
usertReplaceRecordList = sysOrderNutritionistReplaceRecordService.getSysOrderReplaceRecordByUserId(sysCommision.getUserId());
|
||||
}*/
|
||||
//整理出每个用户对应的订单List
|
||||
Map<Long, List<SysOrderCommisionDayDetail>> userOrderResultMap = new HashMap<>();
|
||||
for (SysOrder sysOrder : orderList) {
|
||||
@ -463,9 +469,22 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService {
|
||||
orderCommisionDayDetailList = cutOrderByReplaceRecord(sysOrder, sysCommision, sysOrderCommisionDayDetail, replaceRecordMap.get(sysOrder.getOrderId()));
|
||||
}else{
|
||||
SysOrderCommisionDayDetail commisionDetail = statisticsOrderMessage(sysOrder, sysCommision.getServerScopeStartTime(), sysCommision.getServerScopeEndTime());
|
||||
orderCommisionDayDetailList = new ArrayList<>();
|
||||
if(sysCommision.getReplaceOrderFlag() != null && sysCommision.getReplaceOrderFlag() && sysCommision.getUserId() != null &&
|
||||
replaceRecordMap.containsKey(sysOrder.getOrderId())){
|
||||
//判断该订单是否属于营养师、售后替换订单
|
||||
List<SysOrderCommisionDayDetail> userorderCommisionList = cutOrderByReplaceRecord(sysOrder, sysCommision, commisionDetail, replaceRecordMap.get(sysOrder.getOrderId()));
|
||||
for (SysOrderCommisionDayDetail detail : userorderCommisionList) {
|
||||
if((detail.getAfterSaleId() != null && detail.getAfterSaleId().longValue() == sysCommision.getUserId()) || (detail.getNutritionistId() != null && detail.getNutritionistId().longValue() == sysCommision.getUserId())){
|
||||
commisionDetail = detail;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
orderCommisionDayDetailList = orderCommisionDayDetailList == null ? new ArrayList<>() : orderCommisionDayDetailList;
|
||||
if(commisionDetail != null){
|
||||
orderCommisionDayDetailList.add(commisionDetail);
|
||||
}
|
||||
}
|
||||
if(orderCommisionDayDetailList != null){
|
||||
for (SysOrderCommisionDayDetail detail : orderCommisionDayDetailList) {
|
||||
if(detail.getAfterSaleId() != null && detail.getAfterSaleId() > 0L){
|
||||
@ -477,6 +496,7 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService {
|
||||
}
|
||||
}
|
||||
}
|
||||
System.out.println(userOrderResultMap.get(131L).size() +" 订单数量");
|
||||
return userOrderResultMap;
|
||||
}
|
||||
|
||||
|
@ -105,4 +105,13 @@ public class SysOrderNutritionistReplaceRecordServiceImpl implements ISysOrderNu
|
||||
public List<SysOrderNutritionistReplaceRecord> getSysOrderReplaceRecordByOrderId(Long orderId){
|
||||
return sysOrderNutritionistReplaceRecordMapper.getSysOrderReplaceRecordByOrderId(orderId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据用户ID查询营养师、售后更换记录
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
public List<SysOrderNutritionistReplaceRecord> getSysOrderReplaceRecordByUserId(Long userId){
|
||||
return sysOrderNutritionistReplaceRecordMapper.getSysOrderReplaceRecordByUserId(userId);
|
||||
}
|
||||
}
|
@ -437,8 +437,14 @@
|
||||
<if test="reviewStatus != null and reviewStatus != ''">
|
||||
and review_status = #{reviewStatus}
|
||||
</if>
|
||||
<if test="userId != null"><!-- 限于营养师、售后不可能同一个的情况下 -->
|
||||
and (su_sale.user_id = #{userId} or su_nutritionist.user_id = #{userId})
|
||||
<if test="userId != null">
|
||||
and (
|
||||
su_sale.user_id = #{userId} or su_nutritionist.user_id = #{userId}
|
||||
<!-- 是否查询根据用户ID查询对应替换订单 -->
|
||||
<if test="replaceOrderFlag != null">
|
||||
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}) )
|
||||
</if>
|
||||
)
|
||||
</if>
|
||||
<if test="endTime != null and endTime != ''">
|
||||
AND DATE_FORMAT(o.order_time,'%Y-%m-%d') <= #{endTime}
|
||||
|
@ -114,4 +114,11 @@
|
||||
order by id asc
|
||||
</select>
|
||||
|
||||
<select id="getSysOrderReplaceRecordByUserId" parameterType="Long"
|
||||
resultMap="SysOrderNutritionistReplaceRecordResult">
|
||||
select id, order_id, nutritionist_id, after_sale_id, nutri_assis_id, start_time, create_time, create_by from
|
||||
sys_order_nutritionist_replace_record
|
||||
where del_flag = 0 and after_sale_id = #{userId} or nutritionist_id = #{userId} order by id asc
|
||||
</select>
|
||||
|
||||
</mapper>
|
Loading…
x
Reference in New Issue
Block a user