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.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; /** * 根据销路通支付数据,和本系统政策匹对,并生成本系统核销及支付信息 */ public void syncFromXltPolicyPayment(){ AuthContextUtils.setTenant("001"); xiaoLuTonService.listPolicyPayments(); Object obj = xiaoLuTonService.listPolicyPayments().getData(); String json = obj.toString(); List policyPaymentList = JsonUtil.jsonToList(json,AptPolicyPayment.class); if(CollectionUtil.isNotEmpty(policyPaymentList)){ for (AptPolicyPayment policyPayment : policyPaymentList) { portalOfCostApplication.syncXltPolicyItemPayment(policyPayment); } } } /** * 同步政策到销路通 */ public void syncPolicyToXlt(){ AuthContextUtils.setTenant("001"); LambdaQueryWrapper itemLqw = new LambdaQueryWrapper<>(); itemLqw.select(TzcPolicyItem::getId); itemLqw.eq(TzcPolicyItem::getPolicyItemStatus,TzPolicyItemStatus.Status_1_PassSuccess); List policyItemList = policyItemService.list(itemLqw); for (TzcPolicyItem policyItem : policyItemList) { policyApplicationService.syncPolicyItem(policyItem.getId()); } } }