提成转移算法优化
This commit is contained in:
parent
6d77e6e07c
commit
ba10d518de
@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray;
|
|||||||
import com.stdiet.common.core.domain.AjaxResult;
|
import com.stdiet.common.core.domain.AjaxResult;
|
||||||
import com.stdiet.common.utils.DateUtils;
|
import com.stdiet.common.utils.DateUtils;
|
||||||
import com.stdiet.common.utils.StringUtils;
|
import com.stdiet.common.utils.StringUtils;
|
||||||
|
import com.stdiet.common.utils.bean.ObjectUtils;
|
||||||
import com.stdiet.custom.domain.*;
|
import com.stdiet.custom.domain.*;
|
||||||
import com.stdiet.custom.dto.request.SysOrderCommision;
|
import com.stdiet.custom.dto.request.SysOrderCommision;
|
||||||
import com.stdiet.custom.dto.response.EveryMonthTotalAmount;
|
import com.stdiet.custom.dto.response.EveryMonthTotalAmount;
|
||||||
@ -58,9 +59,6 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService {
|
|||||||
sysCommissionDayDetail.setNickName(commision.getUserName());
|
sysCommissionDayDetail.setNickName(commision.getUserName());
|
||||||
sysCommissionDayDetail.setPostId(commision.getPostId());
|
sysCommissionDayDetail.setPostId(commision.getPostId());
|
||||||
sysCommissionDayDetail.setPostName(commision.getPostName());
|
sysCommissionDayDetail.setPostName(commision.getPostName());
|
||||||
if(orderDetailMap.get(sysCommissionDayDetail.getUserId()) != null && orderDetailMap.get(sysCommissionDayDetail.getUserId()).size() > 0){
|
|
||||||
System.out.println(sysCommissionDayDetail.getUserId());
|
|
||||||
}
|
|
||||||
dealServerOrderCommissionDetail(sysCommision, orderDetailMap.get(sysCommissionDayDetail.getUserId()), sysCommissionDayDetail);
|
dealServerOrderCommissionDetail(sysCommision, orderDetailMap.get(sysCommissionDayDetail.getUserId()), sysCommissionDayDetail);
|
||||||
result.add(sysCommissionDayDetail);
|
result.add(sysCommissionDayDetail);
|
||||||
//统计所以用户总提成、已发放提成、未发放提成
|
//统计所以用户总提成、已发放提成、未发放提成
|
||||||
@ -474,9 +472,9 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService {
|
|||||||
sysOrder.setGiveServeDay(0);
|
sysOrder.setGiveServeDay(0);
|
||||||
sysOrderCommisionDayDetailList.add(statisticsOrderMessage(sysOrder, sysCommision.getServerScopeStartTime(), sysCommision.getServerScopeEndTime()));
|
sysOrderCommisionDayDetailList.add(statisticsOrderMessage(sysOrder, sysCommision.getServerScopeStartTime(), sysCommision.getServerScopeEndTime()));
|
||||||
}
|
}
|
||||||
int index = 0;
|
for (int index = 0; index < nutritAfterSaleRecord.size(); index++) {
|
||||||
for (SysOrderNutritionistReplaceRecord record : nutritAfterSaleRecord) {
|
SysOrderNutritionistReplaceRecord record = nutritAfterSaleRecord.get(index);
|
||||||
index++;
|
|
||||||
LocalDate recordStartTime = DateUtils.dateToLocalDate(record.getStartTime());
|
LocalDate recordStartTime = DateUtils.dateToLocalDate(record.getStartTime());
|
||||||
if(ChronoUnit.DAYS.between(recordStartTime, serverStartDate) > 0){
|
if(ChronoUnit.DAYS.between(recordStartTime, serverStartDate) > 0){
|
||||||
recordStartTime = serverStartDate;
|
recordStartTime = serverStartDate;
|
||||||
@ -486,7 +484,7 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
//获取下一个记录的开始时间,如果不存在则直接取服务结束时间
|
//获取下一个记录的开始时间,如果不存在则直接取服务结束时间
|
||||||
LocalDate nextRecordStartTime = replaceRecordList.size() > index ? DateUtils.dateToLocalDate(replaceRecordList.get(index).getStartTime()) : null;
|
LocalDate nextRecordStartTime = nutritAfterSaleRecord.size() > index+1 ? DateUtils.dateToLocalDate(nutritAfterSaleRecord.get(index+1).getStartTime()) : null;
|
||||||
if(nextRecordStartTime == null || ChronoUnit.DAYS.between(recordStartTime, serverEndDate) < 0){
|
if(nextRecordStartTime == null || ChronoUnit.DAYS.between(recordStartTime, serverEndDate) < 0){
|
||||||
nextRecordStartTime = serverEndDate;
|
nextRecordStartTime = serverEndDate;
|
||||||
}
|
}
|
||||||
@ -505,7 +503,14 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService {
|
|||||||
//判断是否已存在相同时间范围的记录
|
//判断是否已存在相同时间范围的记录
|
||||||
String key = DateUtils.dateTime(sysOrder.getCommissStartTime()) + DateUtils.dateTime(sysOrder.getServerEndTime());
|
String key = DateUtils.dateTime(sysOrder.getCommissStartTime()) + DateUtils.dateTime(sysOrder.getServerEndTime());
|
||||||
if(existMap.containsKey(key)){
|
if(existMap.containsKey(key)){
|
||||||
sysOrderCommisionDayDetailList.add(existMap.get(key));
|
try{
|
||||||
|
SysOrderCommisionDayDetail newSysOrderCommisionDayDetail = ObjectUtils.getObjectByObject(existMap.get(key), SysOrderCommisionDayDetail.class);
|
||||||
|
newSysOrderCommisionDayDetail.setNutritionistId(i == 0 ? record.getNutritionistId() : null);
|
||||||
|
newSysOrderCommisionDayDetail.setAfterSaleId(i == 1 ? record.getAfterSaleId() : null);
|
||||||
|
sysOrderCommisionDayDetailList.add(newSysOrderCommisionDayDetail);
|
||||||
|
}catch (Exception e){
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
}else{
|
}else{
|
||||||
existMap.put(key, statisticsOrderMessage(sysOrder, sysCommision.getServerScopeStartTime(), sysCommision.getServerScopeEndTime()));
|
existMap.put(key, statisticsOrderMessage(sysOrder, sysCommision.getServerScopeStartTime(), sysCommision.getServerScopeEndTime()));
|
||||||
sysOrderCommisionDayDetailList.add(existMap.get(key));
|
sysOrderCommisionDayDetailList.add(existMap.get(key));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user