16 changed files with 285 additions and 15 deletions
@ -0,0 +1,38 @@ |
|||||
|
package com.qs.serve.modules.tzc.entity.dto; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.math.BigDecimal; |
||||
|
import java.util.Date; |
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @author YenHex |
||||
|
* @since 2023/3/10 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class PolicyItemDto { |
||||
|
|
||||
|
/** 主题 */ |
||||
|
private String title; |
||||
|
|
||||
|
String policyItemCode; |
||||
|
|
||||
|
String cusCode; |
||||
|
|
||||
|
Date startDate; |
||||
|
|
||||
|
Date endDate; |
||||
|
|
||||
|
/** 满减金额 */ |
||||
|
private BigDecimal discountAmount; |
||||
|
|
||||
|
/** 返点百分比 */ |
||||
|
private BigDecimal discountRate; |
||||
|
|
||||
|
/** 优惠上限 */ |
||||
|
private BigDecimal discountMax; |
||||
|
|
||||
|
List<String> invCodeList; |
||||
|
|
||||
|
} |
@ -0,0 +1,63 @@ |
|||||
|
package com.qs.serve.modules.tzc.service; |
||||
|
|
||||
|
import com.qs.serve.modules.tbs.entity.dto.TbsBudgetCostResult; |
||||
|
import com.qs.serve.modules.tbs.entity.vo.TbsBudgetTableVo; |
||||
|
import com.qs.serve.modules.tzc.entity.TzcPolicyItem; |
||||
|
import org.springframework.transaction.annotation.Transactional; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @author YenHex |
||||
|
* @since 2023/3/10 |
||||
|
*/ |
||||
|
public interface TzcPolicyApplicationService { |
||||
|
|
||||
|
/** |
||||
|
* 政策项ID |
||||
|
* @param policyItemId |
||||
|
*/ |
||||
|
void syncPolicyItem(Long policyItemId); |
||||
|
|
||||
|
/** |
||||
|
* 创建费用占用结果 |
||||
|
* @param policyId |
||||
|
* @param throwEx |
||||
|
* @param buildTableFlag |
||||
|
* @return |
||||
|
*/ |
||||
|
TbsBudgetCostResult buildBudgetCostResult(Long policyId, |
||||
|
Boolean throwEx, |
||||
|
Boolean buildTableFlag); |
||||
|
|
||||
|
/** |
||||
|
* 创建费用占用结果 |
||||
|
* @param policyId 用于加载历史预算时,排除当前费用占比 |
||||
|
* @param policyItemList 政策项列表 |
||||
|
* @param overspend 是否支持超出预算 |
||||
|
* @param throwEx 是否需要抛出异常 |
||||
|
* @param buildTableFlag 创建表VO |
||||
|
* @return |
||||
|
*/ |
||||
|
TbsBudgetCostResult buildBudgetCostResult(Long policyId, |
||||
|
List<TzcPolicyItem> policyItemList, |
||||
|
Boolean overspend, |
||||
|
Boolean throwEx, |
||||
|
Boolean buildTableFlag); |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* 提交申请 |
||||
|
* @param policyId |
||||
|
*/ |
||||
|
void commitPolicy(Long policyId); |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* 构建预览2接口 |
||||
|
* @param policyId |
||||
|
* @return |
||||
|
*/ |
||||
|
TbsBudgetTableVo buildResultTable(Long policyId); |
||||
|
|
||||
|
} |
@ -0,0 +1,38 @@ |
|||||
|
package com.qs.serve.task; |
||||
|
|
||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
|
import com.qs.serve.modules.tzc.common.TzPolicyItemStatus; |
||||
|
import com.qs.serve.modules.tzc.entity.TzcPolicyItem; |
||||
|
import com.qs.serve.modules.tzc.service.TzcPolicyApplicationService; |
||||
|
import com.qs.serve.modules.tzc.service.TzcPolicyItemService; |
||||
|
import com.qs.serve.modules.tzc.service.TzcPolicyService; |
||||
|
import lombok.AllArgsConstructor; |
||||
|
import org.springframework.stereotype.Component; |
||||
|
import java.util.List; |
||||
|
/** |
||||
|
* 政策同步方法 |
||||
|
* @author YenHex |
||||
|
* @since 2023/3/11 |
||||
|
*/ |
||||
|
@Component |
||||
|
@AllArgsConstructor |
||||
|
public class TzcPolicyTask { |
||||
|
|
||||
|
private TzcPolicyService policyService; |
||||
|
private TzcPolicyItemService policyItemService; |
||||
|
private TzcPolicyApplicationService policyApplicationService; |
||||
|
|
||||
|
/** |
||||
|
* 同步数据到销路通 |
||||
|
*/ |
||||
|
public void syncPolicyToXlt(){ |
||||
|
LambdaQueryWrapper<TzcPolicyItem> itemLqw = new LambdaQueryWrapper<>(); |
||||
|
itemLqw.select(TzcPolicyItem::getId); |
||||
|
itemLqw.eq(TzcPolicyItem::getPolicyItemStatus,TzPolicyItemStatus.Status_1_PassSuccess); |
||||
|
List<TzcPolicyItem> policyItemList = policyItemService.list(itemLqw); |
||||
|
for (TzcPolicyItem policyItem : policyItemList) { |
||||
|
policyApplicationService.syncPolicyItem(policyItem.getId()); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} |
Loading…
Reference in new issue