食谱计划优化、按天计算提成优化、图片logo修改

This commit is contained in:
xiezhijun
2021-01-19 17:35:30 +08:00
parent 53bc0d22fd
commit 160dc5abfd
12 changed files with 184 additions and 37 deletions

View File

@ -29,6 +29,7 @@ public class SysRecipesPlan extends BaseEntity
private String customer;
//非持久化字段,客户手机号
@Excel(name = "客户手机号")
private String phone;
/** 食谱开始日期 */

View File

@ -79,4 +79,11 @@ public interface SysRecipesPlanMapper
* @return
*/
List<SysRecipesPlan> selectPlanListByCondition(SysRecipesPlan sysRecipesPlan);
/**
* 根据订单ID查询食谱计划
* @param sysRecipesPlan
* @return
*/
List<SysRecipesPlan> selectPlanListByOrderId(SysRecipesPlan sysRecipesPlan);
}

View File

@ -80,4 +80,11 @@ public interface ISysRecipesPlanService
* @return
*/
List<SysRecipesPlan> selectPlanListByCondition(SysRecipesPlan sysRecipesPlan);
/**
* 根据订单ID查询食谱计划
* @param sysRecipesPlan
* @return
*/
List<SysRecipesPlan> selectPlanListByOrderId(SysRecipesPlan sysRecipesPlan);
}

View File

@ -123,6 +123,7 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService {
}
commissionMonthSet.addAll(sysOrderCommisionDayDetail.getEveryYearMonthServerMoney().keySet());
}
//System.out.println("总提成:"+sysCommissionDayDetail.getNickName()+"-"+orderAmount.get("20211"));
//获取提成比例以及计算提成
Map<String, Float> rateMap = getRateByAmount(sysCommissionDayDetail.getUserId(), sysCommissionDayDetail.getPostId(), orderAmount);
@ -225,10 +226,10 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService {
//整理出每个用户对应的订单List
Map<Long, List<SysOrderCommisionDayDetail>> userOrderResultMap = new HashMap<>();
for (SysOrder sysOrder : orderList) {
//建档时间为空、售后人员ID为空、营养师ID为空、订单金额为空或小于0,都视为异常订单
//开始时间为空、售后人员ID为空、营养师ID为空、订单金额为空,都视为异常订单
if(sysOrder.getOrderTime() == null || sysOrder.getStartTime() == null || sysOrder.getServeTimeId() == null
|| (sysOrder.getAfterSaleId() == null && sysOrder.getNutritionistId() == null)
|| sysOrder.getAmount() == null || sysOrder.getAmount().doubleValue() < 0){
|| sysOrder.getAmount() == null){
//System.out.println("客户:"+ sysOrder.getCustomer() +",营养师:"+sysOrder.getNutritionist() + ",售后" + sysOrder.getAfterSale());
continue;
}
@ -436,7 +437,7 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService {
* double转为BigDecimal保留一位小数向下舍去
* */
public BigDecimal getMoney(Double money, int n){
return new BigDecimal(money).setScale(n, BigDecimal.ROUND_HALF_UP);
return new BigDecimal(money.toString()).setScale(n, BigDecimal.ROUND_DOWN);
}
/**
@ -459,7 +460,7 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService {
nf.setRoundingMode(RoundingMode.DOWN);
System.out.println(Double.parseDouble(nf.format(s)));
System.out.println( new BigDecimal(nf.format(s)).doubleValue());*/
System.out.println(new BigDecimal(s).setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue());
/*System.out.println(new BigDecimal(s).setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue());
LocalDate localDate = LocalDate.of(2020, 1, 15);
System.out.println(ChronoUnit.MONTHS.between(localDate, LocalDate.now()));
@ -467,6 +468,14 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService {
System.out.println(localDate.getDayOfWeek());
System.out.println(localDate.getDayOfYear());
System.out.println(ChronoUnit.DAYS.between(LocalDate.of(2021, 1,14), LocalDate.now()));
System.out.println(ChronoUnit.DAYS.between(LocalDate.of(2021, 1,14), LocalDate.now()));*/
/*System.out.println(ts(109792.8 * 6 / 100D, 1));
System.out.println(ts(6587.8,2).doubleValue());*/
System.out.println(ts(1.919,1).doubleValue());
}
public static BigDecimal ts(Double money, int n){
return new BigDecimal(money.toString()).setScale(n, BigDecimal.ROUND_DOWN);
}
}

View File

@ -1,6 +1,7 @@
package com.stdiet.custom.service.impl;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
import java.util.Date;
import java.util.List;
@ -196,7 +197,8 @@ public class SysOrderServiceImpl implements ISysOrderService {
* @param sysOrder
*/
private void setOrderServerEndDate(SysOrder sysOrder){
sysOrder.setServerEndTime(DateUtils.localDateToDate(sysCommissionDayService.getServerEndDate(sysOrder)));
LocalDate serverEndDate = sysCommissionDayService.getServerEndDate(sysOrder);
sysOrder.setServerEndTime(serverEndDate != null ? DateUtils.localDateToDate(serverEndDate) : null);
}
/**

View File

@ -133,10 +133,11 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService
return;
}
SysOrder sysOrder = sysOrderService.selectSysOrderById(orderId);
//订单为空、金额小于0不进行食谱生成、更新
if(sysOrder == null){
//订单为空、金额小于0不进行食谱生成、更新只对2021年开始的订单进行食谱计划生成
if(sysOrder == null && DateUtils.dateToLocalDate(sysOrder.getOrderTime()).getYear() > 2020){
return;
}
System.out.println(DateUtils.dateToLocalDate(sysOrder.getOrderTime()).getYear());
try{
//获取redis中该订单对应的锁
if(synchrolockUtil.lock(String.format(generateRecipesPlanLockKey, orderId))){
@ -281,4 +282,14 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService
public List<SysRecipesPlan> selectPlanListByCondition(SysRecipesPlan sysRecipesPlan){
return sysRecipesPlanMapper.selectPlanListByCondition(sysRecipesPlan);
}
/**
* 根据订单ID查询食谱计划
* @param sysRecipesPlan
* @return
*/
@Override
public List<SysRecipesPlan> selectPlanListByOrderId(SysRecipesPlan sysRecipesPlan){
return sysRecipesPlanMapper.selectPlanListByOrderId(sysRecipesPlan);
}
}