diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java index ea57235a15..9daf9b8fd3 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java @@ -5940,34 +5940,44 @@ public class BusSalesOrderService extends MybatisBaseService details = getSaleOrderDetails(bv.getBusinessSid()); - AppOrderDetailsVo vo = details.getData(); - - // 锁定车辆的状态 - if (BusSalesOrderConstantUtils.TypeEnum.EXISTING_CAR.getRemarks().equals(vo.getOrderType())) { - handleVehicleLock(bv, busSalesOrder); - } - // 合同处理 handleContract(bv, busSalesOrder); busSalesOrder = fetchBySid(bv.getBusinessSid()); // 处理车辆的状态更新 updateVehicleState(bv, busSalesOrder); - - // 贷款相关操作 - handleLoan(bv, busSalesOrder, vo); - // 采购渠道推送 handlePurchaseChannelPush(busSalesOrder); - // 更新办结日期 updateClosingDate(bv, busSalesOrder); - // 异步消息推送 asyncPushMessage(busSalesOrder); } catch (Exception e) { - log.error("销售订单处理失败,错误信息:", e); + log.error("销售订单处理失败1,错误信息:", e); + } + + try { + ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("demo-pool-%d").build(); + ExecutorService pool = new ThreadPoolExecutor(1, 10, + 1000, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + BusSalesOrder finalBusSalesOrder = busSalesOrder; + Future future1 = pool.submit(() -> { + //查询销售订单详情 + ResultBean details = getSaleOrderDetails(bv.getBusinessSid()); + AppOrderDetailsVo vo = details.getData(); + // 锁定车辆的状态 + if (BusSalesOrderConstantUtils.TypeEnum.EXISTING_CAR.getRemarks().equals(vo.getOrderType())) { + handleVehicleLock(bv, finalBusSalesOrder); + } + + // 贷款相关操作 + handleLoan(bv, finalBusSalesOrder, vo); + + }); + } catch (Exception e) { + e.printStackTrace(); + log.error("销售订单处理失败2,错误信息:", e); } } diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatewithapply/ScmVehRebateWithApplyService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatewithapply/ScmVehRebateWithApplyService.java index e7ef35b815..3fcf4ddcb0 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatewithapply/ScmVehRebateWithApplyService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatewithapply/ScmVehRebateWithApplyService.java @@ -30,13 +30,17 @@ import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.yxt.anrui.base.api.basevehicle.BaseVehicle; import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; import com.yxt.anrui.base.api.basevehicleout.BaseVehicleOutFeign; import com.yxt.anrui.base.common.utils.Rule; import com.yxt.anrui.buscenter.api.busdeliveredapply.BusDeliveredApplyFeign; +import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; +import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDetailsVo; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusOrderAndVehInfo; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; +import com.yxt.anrui.buscenter.api.common.BusSalesOrderConstantUtils; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign; import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordSourceLCVo; import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; @@ -86,6 +90,7 @@ import com.yxt.messagecenter.api.message.MessageFlowableQuery; import com.yxt.messagecenter.api.messagelist.MessageList; import com.yxt.messagecenter.api.messagelist.MessageListFeign; import org.apache.commons.lang3.StringUtils; +import org.apache.tomcat.util.threads.ThreadPoolExecutor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -93,6 +98,7 @@ import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; +import java.util.concurrent.*; import java.util.stream.Collectors; import static java.util.Comparator.comparing; @@ -675,12 +681,33 @@ public class ScmVehRebateWithApplyService extends MybatisBaseService(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + ScmVehRebateWithApply finalScmVehRebateWithApply = scmVehRebateWithApply; + Future future1 = pool.submit(() -> { + for (String vehRebateSid : vehRebateSids) { + scmVehRebateService.updateState(vehRebateSid, 2); + scmVehRebateService.updateWithholdingDateBySid(vehRebateSid, finalScmVehRebateWithApply.getWithApply()); + } + //推送单车返利预提凭证 + pushVehRebateWithVoucher(bv.getBusinessSid()); + + }); + } catch (Exception e) { + e.printStackTrace(); + } } else { //极光推送 scmVehRebateWithApply = fetchBySid(bv.getBusinessSid());