You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
2.8 KiB
70 lines
2.8 KiB
package com.qs.serve.task;
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.qs.serve.common.util.AuthContextUtils;
|
|
import com.qs.serve.common.util.CollectionUtil;
|
|
import com.qs.serve.common.util.JsonUtil;
|
|
import com.qs.serve.modules.seeyon.service.XiaoLuTonService;
|
|
import com.qs.serve.modules.third.entity.AptPolicyPayment;
|
|
import com.qs.serve.modules.third.service.PortalOfCostApplication;
|
|
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.boot.autoconfigure.condition.ConditionalOnProperty;
|
|
import org.springframework.scheduling.annotation.Scheduled;
|
|
import org.springframework.stereotype.Component;
|
|
import java.util.List;
|
|
import java.util.stream.Collectors;
|
|
|
|
/**
|
|
* 政策同步方法
|
|
* @author YenHex
|
|
* @since 2023/3/11
|
|
*/
|
|
@Component
|
|
@AllArgsConstructor
|
|
@ConditionalOnProperty(value = "project.task", havingValue = "true")
|
|
public class TzcPolicyTask {
|
|
|
|
private TzcPolicyService policyService;
|
|
private TzcPolicyItemService policyItemService;
|
|
private TzcPolicyApplicationService policyApplicationService;
|
|
private PortalOfCostApplication portalOfCostApplication;
|
|
private XiaoLuTonService xiaoLuTonService;
|
|
|
|
/**
|
|
* 根据销路通支付数据,和本系统政策匹对,并生成本系统核销及支付信息
|
|
*/
|
|
@Scheduled(cron="0 0 3 * * ?")
|
|
public void syncFromXltPolicyPayment(){
|
|
AuthContextUtils.setTenant("001");
|
|
xiaoLuTonService.listPolicyPayments();
|
|
Object obj = xiaoLuTonService.listPolicyPayments().getData();
|
|
String json = obj.toString();
|
|
List<AptPolicyPayment> policyPaymentList = JsonUtil.jsonToList(json,AptPolicyPayment.class);
|
|
if(CollectionUtil.isNotEmpty(policyPaymentList)){
|
|
for (AptPolicyPayment policyPayment : policyPaymentList) {
|
|
portalOfCostApplication.syncXltPolicyItemPayment(policyPayment);
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 同步政策到销路通
|
|
*/
|
|
@Scheduled(cron="0 0 3 * * ?")
|
|
public void syncPolicyToXlt(){
|
|
AuthContextUtils.setTenant("001");
|
|
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());
|
|
}
|
|
}
|
|
|
|
}
|
|
|