修改订单,添加假删字段
This commit is contained in:
		@@ -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);
 | 
			
		||||
}
 | 
			
		||||
@@ -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);
 | 
			
		||||
        //删除食谱计划
 | 
			
		||||
 
 | 
			
		||||
@@ -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) {
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user