提成优化,视频管理优化
This commit is contained in:
@ -2,14 +2,20 @@ package com.stdiet.web.controller.custom;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.TreeMap;
|
||||
|
||||
import com.stdiet.common.utils.DateUtils;
|
||||
import com.stdiet.custom.domain.SysCommissionDayDetail;
|
||||
import com.stdiet.custom.domain.SysOrder;
|
||||
import com.stdiet.custom.domain.SysOrderCommisionDayDetail;
|
||||
import com.stdiet.custom.dto.request.SysOrderCommision;
|
||||
import com.stdiet.custom.service.ISysCommissionDayService;
|
||||
import com.stdiet.custom.service.ISysNutritionalVideoService;
|
||||
import com.stdiet.custom.service.ISysOrderService;
|
||||
import com.stdiet.custom.service.impl.SysCommissionDayServiceImpl;
|
||||
import com.stdiet.framework.web.domain.server.Sys;
|
||||
import com.stdiet.system.domain.CusSalesman;
|
||||
import com.stdiet.system.service.ISysUserService;
|
||||
@ -41,6 +47,7 @@ import com.stdiet.common.core.page.TableDataInfo;
|
||||
@RestController
|
||||
@RequestMapping("/custom/commision")
|
||||
public class SysCommisionController extends BaseController {
|
||||
|
||||
@Autowired
|
||||
private ISysCommisionService sysCommisionService;
|
||||
|
||||
@ -50,6 +57,9 @@ public class SysCommisionController extends BaseController {
|
||||
@Autowired
|
||||
private ISysCommissionDayService sysCommissionDayService;
|
||||
|
||||
@Autowired
|
||||
private ISysNutritionalVideoService sysNutritionalVideoService;
|
||||
|
||||
/**
|
||||
* 查询业务提成比例列表
|
||||
*/
|
||||
@ -158,6 +168,14 @@ public class SysCommisionController extends BaseController {
|
||||
@GetMapping("/detail")
|
||||
public TableDataInfo getDetail(SysCommision sysCommision) {
|
||||
startPage();
|
||||
if(sysCommision.getPostId() != null && sysCommision.getPostId().intValue() > 0){
|
||||
//查询售后所有ID
|
||||
SysCommision param = new SysCommision();
|
||||
param.setPostId(sysCommision.getPostId());
|
||||
List<Long> userIds = sysCommisionService.getAfterSaleId(param);
|
||||
sysCommision.setUserIds(userIds.size() == 0 ? null : userIds);
|
||||
sysCommision.setPostId(null);
|
||||
}
|
||||
List<SysCommision> list = sysCommisionService.selectSysCommisionDetail(sysCommision);
|
||||
for (SysCommision detail : list) {
|
||||
detail.setRate(0F);
|
||||
@ -165,22 +183,38 @@ public class SysCommisionController extends BaseController {
|
||||
tmpQueryCom.setUserId(detail.getUserId());
|
||||
tmpQueryCom.setPostId(detail.getPostId());
|
||||
List<SysCommision> tmpComList = sysCommisionService.selectSysCommisionList(tmpQueryCom);
|
||||
|
||||
//按比例开始时间分类
|
||||
Map<String, List<SysCommision>> rateYearMonthMap = sysCommissionDayService.getRateMapByStartTime(tmpComList);
|
||||
String yearMonth = DateUtils.stringToLocalDate(sysCommision.getBeginTime(),"yyyy-MM-dd").getYear() + "" + DateUtils.stringToLocalDate(sysCommision.getBeginTime(),"yyyy-MM-dd").getMonth().getValue();
|
||||
List<SysCommision> yearMonthRateList = new ArrayList<>();
|
||||
for (String rateMonth : rateYearMonthMap.keySet()) {
|
||||
if(Long.parseLong(yearMonth) >= Long.parseLong(rateMonth)){
|
||||
yearMonthRateList = rateYearMonthMap.get(rateMonth);
|
||||
}else{
|
||||
break;
|
||||
}
|
||||
}
|
||||
float dAmount = detail.getAmount().floatValue();
|
||||
for (int i = 0; i < tmpComList.size(); i++) {
|
||||
SysCommision com = tmpComList.get(i);
|
||||
for (int i = 0; i < yearMonthRateList.size(); i++) {
|
||||
SysCommision com = yearMonthRateList.get(i);
|
||||
float cAmount = com.getAmount().floatValue();
|
||||
if (dAmount <= cAmount && i == 0) {
|
||||
Long rateStartYearMonth = null;
|
||||
if(com.getStartTime() != null){
|
||||
rateStartYearMonth = Long.parseLong(DateUtils.dateToLocalDate(com.getStartTime()).getYear() + "" + DateUtils.dateToLocalDate(com.getStartTime()).getMonth().getValue());
|
||||
}else{
|
||||
rateStartYearMonth = 19001L;
|
||||
}
|
||||
if (dAmount <= cAmount && i == 0 && Long.parseLong(yearMonth) >= rateStartYearMonth) {
|
||||
// 第一条规则
|
||||
detail.setRate(com.getRate());
|
||||
break;
|
||||
} else if (i == tmpComList.size() - 1 && dAmount > cAmount) {
|
||||
} else if (i == yearMonthRateList.size() - 1 && dAmount > cAmount && Long.parseLong(yearMonth) >= rateStartYearMonth) {
|
||||
// 最后一条规则
|
||||
detail.setRate(com.getRate());
|
||||
break;
|
||||
} else if (cAmount < dAmount && dAmount <= tmpComList.get(i + 1).getAmount().floatValue()) {
|
||||
} else if (cAmount < dAmount && dAmount <= yearMonthRateList.get(i + 1).getAmount().floatValue() && Long.parseLong(yearMonth) >= rateStartYearMonth) {
|
||||
// 中间规则
|
||||
detail.setRate(tmpComList.get(i + 1).getRate());
|
||||
detail.setRate(yearMonthRateList.get(i + 1).getRate());
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -188,6 +222,7 @@ public class SysCommisionController extends BaseController {
|
||||
float amount = detail.getAmount().floatValue();
|
||||
amount = amount * detail.getRate() / 100F;
|
||||
detail.setCommision(new BigDecimal(amount));
|
||||
|
||||
}
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
@ -57,7 +57,11 @@ public class SysNutritionalVideoController extends BaseController
|
||||
@GetMapping(value = "/{id}")
|
||||
public AjaxResult getInfo(@PathVariable("id") Long id)
|
||||
{
|
||||
return AjaxResult.success(sysNutritionalVideoService.selectSysNutritionalVideoById(id));
|
||||
SysNutritionalVideo sysNutritionalVideos = sysNutritionalVideoService.selectSysNutritionalVideoById(id);
|
||||
if(sysNutritionalVideos != null && StringUtils.isNotEmpty(sysNutritionalVideos.getCoverUrl())){
|
||||
sysNutritionalVideos.setPreviewUrl(AliyunOSSUtils.generatePresignedUrl(sysNutritionalVideos.getCoverUrl()));
|
||||
}
|
||||
return AjaxResult.success(sysNutritionalVideos);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user