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 620f86b3e3..ce8d543fef 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 @@ -61,8 +61,10 @@ import com.yxt.anrui.buscenter.api.bussalesorderinsurance.BusSalesOrderInsurance import com.yxt.anrui.buscenter.api.bussalesorderinsurance.BusSalesOrderInsuranceDto; import com.yxt.anrui.buscenter.api.bussalesordermakeup.BusSalesOrderMakeupDetailsVo; import com.yxt.anrui.buscenter.api.bussalesordermakeup.BusSalesOrderMakeupDto; +import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModel; import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModelDetailsVo; import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModelDto; +import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice; import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPriceDetailsVo; import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPriceDto; import com.yxt.anrui.buscenter.api.bussalesordersubmit.BusSalesOrderSubmitDto; @@ -82,6 +84,8 @@ import com.yxt.anrui.buscenter.biz.bussalesordervehicle.BusSalesOrderVehicleServ import com.yxt.anrui.buscenter.biz.bussalesvehicleorder.BusSalesVehicleOrderService; import com.yxt.anrui.crm.api.crmcustomertemp.AppCrmCustomerTempInfoVo; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign; +import com.yxt.anrui.crm.api.crmvehicledemand.CrmVehicleDemandOrderVo; +import com.yxt.anrui.crm.api.crmvehicledemand.CrmVehicledemandFeign; import com.yxt.anrui.flowable.api.flow.FlowableFeign; import com.yxt.anrui.flowable.api.flowtask.FlowTask; import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; @@ -186,6 +190,8 @@ public class BusSalesOrderService extends MybatisBaseService orderVoResultBean = crmVehicledemandFeign.getInfo(intentionSid); + if (!orderVoResultBean.getSuccess()) { + CrmVehicleDemandOrderVo crmVehicleDemandOrderVo = orderVoResultBean.getData(); + BusSalesOrderModel busSalesOrderModel = new BusSalesOrderModel(); + busSalesOrderModel.setSalesOrderSid(sid); + busSalesOrderModel.setBrandSid(crmVehicleDemandOrderVo.getBrandSid()); + busSalesOrderModel.setBrandName(crmVehicleDemandOrderVo.getBrandName()); + busSalesOrderModel.setModelSid(crmVehicleDemandOrderVo.getModelSid()); + busSalesOrderModel.setModelConfigSid(crmVehicleDemandOrderVo.getComonConfigSid()); + busSalesOrderModel.setModelConfig(crmVehicleDemandOrderVo.getSketChconfiguration()); + busSalesOrderModel.setGuildPrice(new BigDecimal(crmVehicleDemandOrderVo.getSaleReferencePrice())); + busSalesOrderModel.setMoreConfig(crmVehicleDemandOrderVo.getOtherConfig()); + busSalesOrderModel.setSpecialConfig(crmVehicleDemandOrderVo.getChangeOptions()); + busSalesOrderModelService.insert(busSalesOrderModel); + BusSalesOrderPrice busSalesOrderPrice = new BusSalesOrderPrice(); + busSalesOrderPrice.setQuantity(crmVehicleDemandOrderVo.getNumber()); + busSalesOrderModel.setGuildPrice(new BigDecimal(crmVehicleDemandOrderVo.getSaleReferencePrice())); + busSalesOrderPriceService.insert(busSalesOrderPrice); + } + } } else { + //修改销售订单 BusSalesOrder busSalesOrder = fetchBySid(dto.getSid()); if (busSalesOrder == null) { return rb.setMsg("该销售订单不存在"); diff --git a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicleDemandOrderVo.java b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicleDemandOrderVo.java new file mode 100644 index 0000000000..499ada1b6e --- /dev/null +++ b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicleDemandOrderVo.java @@ -0,0 +1,44 @@ +package com.yxt.anrui.crm.api.crmvehicledemand; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/7/29 13:39 + * @Description + */ +@Data +public class CrmVehicleDemandOrderVo implements Vo { + private static final long serialVersionUID = -3596812906988379555L; + + //品牌sid、品牌、车型sid、配置sid、车型名称、车型配置、其他配置说明、数量、换选装内容为特殊配置说明、销售参考价 + @ApiModelProperty(value = "品牌sid") + private String brandSid; + @ApiModelProperty(value = "品牌") + private String brandName; + @ApiModelProperty(value = "车型sid") + private String modelSid; + @ApiModelProperty(value = "车型配置sid") + private String comonConfigSid; + @ApiModelProperty(value = "车型名称") + private String modelName; + @ApiModelProperty(value = "车型配置") + private String sketChconfiguration; + + @ApiModelProperty(value = "其他配置说明") + private String otherConfig; + + @ApiModelProperty(value = "数量") + private Integer number; + + @ApiModelProperty(value = "换选装内容") + private String changeOptions; + + @ApiModelProperty(value = "销售指导价") + @JsonSerialize(using = ToStringSerializer.class) + private String saleReferencePrice; +} diff --git a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemandFeign.java b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemandFeign.java index ef5c21d9c4..d4ff388a35 100644 --- a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemandFeign.java +++ b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemandFeign.java @@ -150,4 +150,8 @@ public interface CrmVehicledemandFeign { @PostMapping("/init/wantCarList") ResultBean> getWantCarList(@RequestBody PagerQuery pagerQuery); + @ApiOperation("根据意向车型sid") + @GetMapping("/getInfo/{intentionSid}") + ResultBean getInfo(@PathVariable("intentionSid") String intentionSid); + } \ No newline at end of file diff --git a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemandFeignFallback.java b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemandFeignFallback.java index a3f10d8866..bf56a6dfa8 100644 --- a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemandFeignFallback.java +++ b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemandFeignFallback.java @@ -94,6 +94,11 @@ public class CrmVehicledemandFeignFallback implements CrmVehicledemandFeign { return null; } + @Override + public ResultBean getInfo(String intentionSid) { + return null; + } + //app diff --git a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandMapper.java b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandMapper.java index 283fd8ad0d..0c4d4bf783 100644 --- a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandMapper.java +++ b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandMapper.java @@ -110,4 +110,6 @@ public interface CrmVehicledemandMapper extends BaseMapper { void updateByPrice(@Param("sid") String sid); CrmVehicledemand selectOneBySid(String vehicSid); + + CrmVehicleDemandOrderVo getInfo(String intentionSid); } \ No newline at end of file diff --git a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandMapper.xml b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandMapper.xml index 4934a90ecf..d96173af59 100644 --- a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandMapper.xml +++ b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandMapper.xml @@ -32,15 +32,15 @@ cvcd.modelName, cvcd.modelSid, cvcd.comonConfigSid, - convert(cvcd.saleReferencePrice/10000,decimal(10,2)) AS guidancePrice, - DATE_FORMAT(cvcd.createTime, '%Y-%m-%d') as createTime, - cvcd.purchaseMethodValue AS purchaseType, - cvcd.purchaseMethod as purchaseKey, - cvcd.financePlan as payTypeUpKey, - cvcd.financePlanValue as payTypeUpValue, - cct.sid as customerSid, - cct.name as customerName, - cct.mobile as customerMobile + convert(cvcd.saleReferencePrice / 10000, decimal(10, 2)) AS guidancePrice, + DATE_FORMAT(cvcd.createTime, '%Y-%m-%d') as createTime, + cvcd.purchaseMethodValue AS purchaseType, + cvcd.purchaseMethod as purchaseKey, + cvcd.financePlan as payTypeUpKey, + cvcd.financePlanValue as payTypeUpValue, + cct.sid as customerSid, + cct.name as customerName, + cct.mobile as customerMobile FROM crm_vehicledemand cvcd left join crm_customer_temp cct on cvcd.customerSid = cct.sid WHERE cvcd.customerSid = #{customerSid} @@ -80,8 +80,8 @@ cvcd.modelName, cvcd.brandName, cvcd.createTime, - convert(cvcd.saleReferencePrice/10000,decimal(10,2)) AS guidancePrice, - cvcd.purchaseMethodValue AS purchaseType + convert(cvcd.saleReferencePrice / 10000, decimal(10, 2)) AS guidancePrice, + cvcd.purchaseMethodValue AS purchaseType FROM crm_visit cv LEFT JOIN crm_visit_demand cvd ON cv.sid = cvd.visitSid LEFT JOIN crm_vehicledemand cvcd ON cvcd.sid = cvd.demandSid @@ -116,16 +116,16 @@ @@ -168,4 +168,19 @@ where sid = #{vehicSid} and length(financePlan) > 0 + + \ No newline at end of file diff --git a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandRest.java b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandRest.java index e348ba3457..2b927663be 100644 --- a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandRest.java +++ b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandRest.java @@ -192,4 +192,9 @@ public class CrmVehicledemandRest implements CrmVehicledemandFeign { PagerVo pv = crmVehicledemandService.getWantCarList(pagerQuery); return rb.success().setData(pv); } + + @Override + public ResultBean getInfo(String intentionSid) { + return crmVehicledemandService.getInfo(intentionSid); + } } diff --git a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandService.java b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandService.java index 955830bdbc..9c4e2eca99 100644 --- a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandService.java +++ b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandService.java @@ -354,7 +354,7 @@ public class CrmVehicledemandService extends MybatisBaseService getInfo(String intentionSid) { + ResultBean rb = ResultBean.fireFail(); + CrmVehicleDemandOrderVo crmVehicleDemandOrderVo = baseMapper.getInfo(intentionSid); + if (crmVehicleDemandOrderVo == null) { + return rb.setData(new CrmVehicleDemandOrderVo()); + } + return rb.success().setData(crmVehicleDemandOrderVo); + } } \ No newline at end of file