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

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());
}
}
}