修改订单,添加假删字段

This commit is contained in:
huangdeliang
2021-02-24 08:55:33 +08:00
parent df52ea8f2d
commit 62e2d22d24
14 changed files with 783 additions and 544 deletions

View File

@ -1,6 +1,8 @@
package com.stdiet.custom.service;
import java.util.List;
import com.stdiet.custom.domain.SysOrder;
import com.stdiet.custom.domain.SysRecipesPlan;
import org.springframework.core.annotation.Order;
@ -87,4 +89,6 @@ public interface ISysRecipesPlanService
* @return
*/
List<SysRecipesPlan> selectPlanListByOrderId(SysRecipesPlan sysRecipesPlan);
public void myGenerateRecipesPlan(SysOrder sysOrder);
}

View File

@ -1,22 +1,22 @@
package com.stdiet.custom.service.impl;
import com.stdiet.common.utils.DateUtils;
import com.stdiet.custom.domain.SysOrder;
import com.stdiet.custom.mapper.SysOrderMapper;
import com.stdiet.custom.service.ISysCommissionDayService;
import com.stdiet.custom.service.ISysOrderPauseService;
import com.stdiet.custom.service.ISysOrderService;
import com.stdiet.custom.service.ISysRecipesPlanService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
import java.util.Date;
import java.util.List;
import com.stdiet.common.utils.DateUtils;
import com.stdiet.custom.service.ISysCommissionDayService;
import com.stdiet.custom.service.ISysOrderPauseService;
import com.stdiet.custom.service.ISysRecipesPlanService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.stdiet.custom.mapper.SysOrderMapper;
import com.stdiet.custom.domain.SysOrder;
import com.stdiet.custom.service.ISysOrderService;
import org.springframework.transaction.annotation.Transactional;
/**
* 销售订单Service业务层处理
*
@ -75,10 +75,10 @@ public class SysOrderServiceImpl implements ISysOrderService {
setOrderServerEndDate(sysOrder);
sysOrder.setOrderId(Long.parseLong(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, orderTime)));
int row = sysOrderMapper.insertSysOrder(sysOrder);
if(row > 0){
//异步生成食谱计划
sysRecipesPlanService.regenerateRecipesPlan(sysOrder.getOrderId());
}
// if (row > 0) {
// //异步生成食谱计划
// sysRecipesPlanService.regenerateRecipesPlan(sysOrder.getOrderId());
// }
return row;
}
@ -97,9 +97,10 @@ public class SysOrderServiceImpl implements ISysOrderService {
sysOrder.setUpdateTime(DateUtils.getNowDate());
//更新订单
int row = sysOrderMapper.updateSysOrder(sysOrder);
if(row > 0){
// 审核后的订单才生成食谱
if (row > 0 && oldSysOrder.getReviewStatus().equals("no") && sysOrder.getReviewStatus().equals("yes")) {
//异步更新食谱计划
if(isNeedRegenerateRecipesPlan(oldSysOrder, sysOrder)){
if (isNeedRegenerateRecipesPlan(oldSysOrder, sysOrder)) {
sysRecipesPlanService.regenerateRecipesPlan(sysOrder.getOrderId());
}
}
@ -108,19 +109,20 @@ public class SysOrderServiceImpl implements ISysOrderService {
/**
* 判断是否需要重新生成食谱计划
*
* @param oldSysOrder
* @param newSysOrder
* @return
*/
private boolean isNeedRegenerateRecipesPlan(SysOrder oldSysOrder, SysOrder newSysOrder){
if(oldSysOrder.getServeTimeId() != null && newSysOrder.getServeTimeId() != null && oldSysOrder.getServeTimeId().intValue() != newSysOrder.getServeTimeId().intValue()){
private boolean isNeedRegenerateRecipesPlan(SysOrder oldSysOrder, SysOrder newSysOrder) {
if (oldSysOrder.getServeTimeId() != null && newSysOrder.getServeTimeId() != null && oldSysOrder.getServeTimeId().intValue() != newSysOrder.getServeTimeId().intValue()) {
return true;
}
if(newSysOrder.getGiveServeDay() != null && oldSysOrder.getGiveServeDay() != null && oldSysOrder.getGiveServeDay().intValue() != newSysOrder.getGiveServeDay().intValue()){
if (newSysOrder.getGiveServeDay() != null && oldSysOrder.getGiveServeDay() != null && oldSysOrder.getGiveServeDay().intValue() != newSysOrder.getGiveServeDay().intValue()) {
return true;
}
if(oldSysOrder.getStartTime() != null && newSysOrder.getStartTime() != null
&& ChronoUnit.DAYS.between(DateUtils.dateToLocalDate(oldSysOrder.getStartTime()), DateUtils.dateToLocalDate(newSysOrder.getStartTime())) != 0){
if (oldSysOrder.getStartTime() != null && newSysOrder.getStartTime() != null
&& ChronoUnit.DAYS.between(DateUtils.dateToLocalDate(oldSysOrder.getStartTime()), DateUtils.dateToLocalDate(newSysOrder.getStartTime())) != 0) {
return true;
}
return false;
@ -135,7 +137,7 @@ public class SysOrderServiceImpl implements ISysOrderService {
@Override
public int deleteSysOrderByIds(Long[] orderIds) {
int row = sysOrderMapper.deleteSysOrderByIds(orderIds);
if(row > 0){
if (row > 0) {
deletePauseAndPlan(orderIds);
}
return row;
@ -150,7 +152,7 @@ public class SysOrderServiceImpl implements ISysOrderService {
@Override
public int deleteSysOrderById(Long orderId) {
int row = sysOrderMapper.deleteSysOrderById(orderId);
if(row > 0){
if (row > 0) {
Long[] orderIdArray = new Long[1];
orderIdArray[0] = orderId;
deletePauseAndPlan(orderIdArray);
@ -160,6 +162,7 @@ public class SysOrderServiceImpl implements ISysOrderService {
/**
* 计算所有订单总额
*
* @param sysOrder
* @return
*/
@ -170,21 +173,22 @@ public class SysOrderServiceImpl implements ISysOrderService {
/**
* 根据订单ID更新该订单的服务到期时间异步更新食谱计划
* @param orderId 订单ID
*
* @param orderId 订单ID
* @param updatePlan 是否更新食谱
* @return
*/
@Override
public int updateOrderServerEndDate(Long orderId, boolean updatePlan){
public int updateOrderServerEndDate(Long orderId, boolean updatePlan) {
int row = 0;
//更新订单服务到期时间
SysOrder sysOrder = selectSysOrderById(orderId);
if(sysOrder != null){
if (sysOrder != null) {
//设置服务到期时间
setOrderServerEndDate(sysOrder);
sysOrder.setUpdateTime(new Date());
row = updateSysOrder(sysOrder);
if(row > 0){
if (row > 0) {
//异步更新食谱计划
sysRecipesPlanService.regenerateRecipesPlan(sysOrder.getOrderId());
}
@ -194,18 +198,20 @@ public class SysOrderServiceImpl implements ISysOrderService {
/**
* 给对象SysOrder对象设置服务到期时间
*
* @param sysOrder
*/
private void setOrderServerEndDate(SysOrder sysOrder){
private void setOrderServerEndDate(SysOrder sysOrder) {
LocalDate serverEndDate = sysCommissionDayService.getServerEndDate(sysOrder);
sysOrder.setServerEndTime(serverEndDate != null ? DateUtils.localDateToDate(serverEndDate) : null);
}
/**
* 删除订单的同时删除暂停记录、食谱计划安排
*
* @param orderIds 订单ID集合
*/
private void deletePauseAndPlan(Long[] orderIds){
private void deletePauseAndPlan(Long[] orderIds) {
//删除暂停记录
sysOrderPauseService.deletePauseByOrderId(orderIds);
//删除食谱计划

View File

@ -109,6 +109,8 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService {
return sysRecipesPlanMapper.deleteSysRecipesPlanById(id);
}
/**
* 异步方法根据订单ID生成对应的食谱计划退款订单不生成食谱计划
*
@ -122,8 +124,9 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService {
return;
}
SysOrder sysOrder = sysOrderService.selectSysOrderById(orderId);
//订单为空、金额小于0不进行食谱生成、更新只对2021年开始的订单进行食谱计划生成
if (sysOrder == null && DateUtils.dateToLocalDate(sysOrder.getOrderTime()).getYear() < 2021) {
//订单为空、金额小于0不进行食谱生成、更新只对2021年开始的订单进行食谱计划生成,判断订单金额、开始时间、结束时间,为空则直接返回,不重新生成食谱计划
if (sysOrder == null && DateUtils.dateToLocalDate(sysOrder.getOrderTime()).getYear() < 2021
|| sysOrder.getAmount().floatValue() <= 0 || sysOrder.getStartTime() == null || sysOrder.getServerEndTime() == null) {
return;
}
// System.out.println(DateUtils.dateToLocalDate(sysOrder.getOrderTime()).getYear());
@ -140,10 +143,10 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService {
//删除该订单对于食谱
delRecipesPlanByOrderId(orderIdArray);
}
//判断订单金额、开始时间、结束时间,为空则直接返回,不重新生成食谱计划
if (sysOrder.getAmount().floatValue() <= 0 || sysOrder.getStartTime() == null || sysOrder.getServerEndTime() == null) {
return;
}
// //判断订单金额、开始时间、结束时间,为空则直接返回,不重新生成食谱计划
// if (sysOrder.getAmount().floatValue() <= 0 || sysOrder.getStartTime() == null || sysOrder.getServerEndTime() == null) {
// return;
// }
SysOrderPause pauseParam = new SysOrderPause();
pauseParam.setOrderId(sysOrder.getOrderId());
//暂停记录列表
@ -288,4 +291,9 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService {
public List<SysRecipesPlan> selectPlanListByOrderId(SysRecipesPlan sysRecipesPlan) {
return sysRecipesPlanMapper.selectPlanListByOrderId(sysRecipesPlan);
}
@Override
public void myGenerateRecipesPlan(SysOrder sysOrder) {
}
}