|
@ -1,12 +1,13 @@ |
|
|
package com.qs.serve.modules.tzc.service.impl; |
|
|
package com.qs.serve.modules.tzc.service.impl; |
|
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil; |
|
|
import com.qs.serve.common.exception.Assert; |
|
|
import com.qs.serve.common.exception.Assert; |
|
|
import com.qs.serve.framework.base.model.ResultFlag; |
|
|
import com.qs.serve.framework.base.model.ResultFlag; |
|
|
import com.qs.serve.modules.tzc.entity.bo.TzcRebateCenterParam; |
|
|
import com.qs.serve.modules.tzc.entity.TzcRebate; |
|
|
import com.qs.serve.modules.tzc.entity.bo.TzcRebateParam; |
|
|
import com.qs.serve.modules.tzc.entity.bo.*; |
|
|
import com.qs.serve.modules.tzc.entity.bo.TzcRebatePeriodParam; |
|
|
import com.qs.serve.modules.tzc.enums.TzcRebateStatus; |
|
|
import com.qs.serve.modules.tzc.entity.bo.TzcRebateSubjectParam; |
|
|
|
|
|
import com.qs.serve.modules.tzc.service.TzcRebateApplicationService; |
|
|
import com.qs.serve.modules.tzc.service.TzcRebateApplicationService; |
|
|
|
|
|
import com.qs.serve.modules.tzc.service.TzcRebateService; |
|
|
import lombok.AllArgsConstructor; |
|
|
import lombok.AllArgsConstructor; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
@ -23,8 +24,24 @@ import java.util.List; |
|
|
@AllArgsConstructor |
|
|
@AllArgsConstructor |
|
|
public class TzcRebateApplicationServiceImpl implements TzcRebateApplicationService { |
|
|
public class TzcRebateApplicationServiceImpl implements TzcRebateApplicationService { |
|
|
|
|
|
|
|
|
|
|
|
private final TzcRebateService tzcRebateService; |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public Object modifyRebate(TzcRebateParam param) { |
|
|
public Object modifyRebate(TzcRebateParam param) { |
|
|
|
|
|
|
|
|
|
|
|
Long rebateId = param.getId(); |
|
|
|
|
|
String rebateCode = null; |
|
|
|
|
|
|
|
|
|
|
|
if(rebateId!=null){ |
|
|
|
|
|
TzcRebate rebate = tzcRebateService.getById(rebateId); |
|
|
|
|
|
if(TzcRebateStatus.DRAFT.isEqual(rebate.getRebateStatus())){ |
|
|
|
|
|
Assert.throwEx("返利状态为初始化,不能修改"); |
|
|
|
|
|
} |
|
|
|
|
|
rebateCode = rebate.getRebateCode(); |
|
|
|
|
|
}else { |
|
|
|
|
|
//rebateCode = CodeGenUtil.getDataCode(SourceDataKey.TZC_REBATE);
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
BigDecimal oneHundred = new BigDecimal(100); |
|
|
BigDecimal oneHundred = new BigDecimal(100); |
|
|
List<TzcRebateSubjectParam> subjectParamList = param.getSubjectList(); |
|
|
List<TzcRebateSubjectParam> subjectParamList = param.getSubjectList(); |
|
|
BigDecimal totalRate = BigDecimal.ZERO; |
|
|
BigDecimal totalRate = BigDecimal.ZERO; |
|
@ -78,9 +95,48 @@ public class TzcRebateApplicationServiceImpl implements TzcRebateApplicationServ |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
if(ResultFlag.isTrue(period.getCompensationFlag())){ |
|
|
if(ResultFlag.isTrue(period.getCompensationFlag())){ |
|
|
|
|
|
if(period.getArgumentParam()==null){ |
|
|
|
|
|
Assert.throwEx("["+period.getPeriodTitle()+"]返利补偿不能为空"); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 校验坎级叠加
|
|
|
|
|
|
if(ResultFlag.isTrue(param.getOverlayFlag())){ |
|
|
|
|
|
if(CollUtil.isEmpty(param.getConfigList())){ |
|
|
|
|
|
Assert.throwEx("坎级叠加标识为1时,坎级配置不能为空"); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TzcRebate rebate = new TzcRebate(); |
|
|
|
|
|
rebate.setId(rebateId); |
|
|
|
|
|
rebate.setRebateCode(rebateCode); |
|
|
|
|
|
|
|
|
|
|
|
// rebate.setTemplateId();
|
|
|
|
|
|
// rebate.setTemplateName();
|
|
|
|
|
|
|
|
|
|
|
|
rebate.setRebateName(param.getRebateName()); |
|
|
|
|
|
rebate.setRebateStatus(TzcRebateStatus.DRAFT.getStatus()); |
|
|
|
|
|
rebate.setActivityStartTime(param.getActivityStartTime()); |
|
|
|
|
|
rebate.setActivityEndTime(param.getActivityEndTime()); |
|
|
|
|
|
rebate.setAutoDispatchFlag(param.getAutoDispatchFlag()); |
|
|
|
|
|
rebate.setCheckModel(param.getCheckModel()); |
|
|
|
|
|
rebate.setCheckMaxAmount(param.getCheckMaxAmount()); |
|
|
|
|
|
rebate.setCheckAutoDateType(param.getCheckAutoDateType()); |
|
|
|
|
|
rebate.setCheckStartDate(param.getCheckStartDate()); |
|
|
|
|
|
rebate.setCheckEndDate(param.getCheckEndDate()); |
|
|
|
|
|
|
|
|
|
|
|
rebate.setSupplierId(param.getSupplierId()); |
|
|
|
|
|
|
|
|
|
|
|
rebate.setSupplierCode(); |
|
|
|
|
|
rebate.setSupplierName(); |
|
|
|
|
|
|
|
|
|
|
|
rebate.setRebateAmount(param.getRebateAmount()); |
|
|
|
|
|
rebate.setOverlayFlag(param.getOverlayFlag()); |
|
|
|
|
|
rebate.setRemark(param.getRemark()); |
|
|
|
|
|
|
|
|
return null; |
|
|
return null; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|