Browse Source

移动端销售订单保存接口

master
dimengzhe 3 years ago
parent
commit
6f16f2201b
  1. 33
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  2. 44
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicleDemandOrderVo.java
  3. 4
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemandFeign.java
  4. 5
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemandFeignFallback.java
  5. 2
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandMapper.java
  6. 49
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandMapper.xml
  7. 5
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandRest.java
  8. 11
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandService.java

33
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<BusSalesOrderMapper
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private BaseVehicleModelAppendixFeign baseVehicleModelAppendixFeign;
@Autowired
private CrmVehicledemandFeign crmVehicledemandFeign;
/**
* 构造查询条件
@ -1268,6 +1274,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
AppCrmCustomerTempInfoVo customerTempInfoVo = crmCustomerTempInfoVoResultBean.getData();
//挂靠公司填写类型:1选择,0手写
String affiliatedType = dto.getAffiliatedType();
//新增销售订单
if (StringUtils.isBlank(dto.getSid())) {
BusSalesOrder busSalesOrder = new BusSalesOrder();
BeanUtil.copyProperties(dto, busSalesOrder, "sid");
@ -1292,7 +1299,33 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
return rb.setMsg("保存失败");
}
sid = busSalesOrder.getSid();
//判断意向车型sid是否存在
String intentionSid = dto.getIntentionSid();
if (StringUtils.isNotBlank(intentionSid)) {
//查询意向车型sid查询车型信息并保存车型:品牌sid、品牌、车型sid、配置sid、车型名称、车型配置名称、常用配置、更多配置、特殊配置说明、单台指导价、单台成交价
//意向车型可以查询的:品牌sid、品牌、车型sid、配置sid、车型名称、车型配置、其他配置说明、数量、换选装内容为特殊配置说明、销售参考价
ResultBean<CrmVehicleDemandOrderVo> 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("该销售订单不存在");

44
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;
}

4
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<PagerVo<AppOrderCrmVehicleDemandVo>> getWantCarList(@RequestBody PagerQuery<AppCrmOrderVehicleDemandQuery> pagerQuery);
@ApiOperation("根据意向车型sid")
@GetMapping("/getInfo/{intentionSid}")
ResultBean<CrmVehicleDemandOrderVo> getInfo(@PathVariable("intentionSid") String intentionSid);
}

5
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<CrmVehicleDemandOrderVo> getInfo(String intentionSid) {
return null;
}
//app

2
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<CrmVehicledemand> {
void updateByPrice(@Param("sid") String sid);
CrmVehicledemand selectOneBySid(String vehicSid);
CrmVehicleDemandOrderVo getInfo(String intentionSid);
}

49
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 @@
<!--意向车型详情-->
<select id="intendedModel"
resultType="com.yxt.anrui.crm.api.crmvehicledemand.AppCrmVehicleDemandParticularsVo">
SELECT cv.purchaseMethodValue AS type,
SELECT cv.purchaseMethodValue AS type,
cv.modelSid,
cv.modelName,
cv.brandName AS brand,
convert(cv.saleReferencePrice/10000,decimal(10,2)) AS price,
cv.vehicleModelOffer AS quotation,
cv.comonConfigSid AS configSid,
cv.brandName AS brand,
convert(cv.saleReferencePrice / 10000, decimal(10, 2)) AS price,
cv.vehicleModelOffer AS quotation,
cv.comonConfigSid AS configSid,
cv.number,
cv.remarks,
cv.estimatedPickupDate AS `date`
cv.estimatedPickupDate AS `date`
FROM crm_vehicledemand cv
WHERE cv.sid = #{sid}
</select>
@ -168,4 +168,19 @@
where sid = #{vehicSid}
and length(financePlan) > 0
</select>
<select id="getInfo" resultType="com.yxt.anrui.crm.api.crmvehicledemand.CrmVehicleDemandOrderVo">
select brandSid,
brandName,
modelSid,
modelName,
comonConfigSid,
sketChconfiguration,
otherConfig,
number,
changeOptions,
saleReferencePrice
from crm_vehicledemand
where sid = #{intentionSid}
</select>
</mapper>

5
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<AppOrderCrmVehicleDemandVo> pv = crmVehicledemandService.getWantCarList(pagerQuery);
return rb.success().setData(pv);
}
@Override
public ResultBean<CrmVehicleDemandOrderVo> getInfo(String intentionSid) {
return crmVehicledemandService.getInfo(intentionSid);
}
}

11
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<CrmVehicledemand
ResultBean rb = ResultBean.fireFail();
String sid = appCrmVehicleDemandUpdateDto.getIntentionSid();
CrmVehicledemand entity = fetchBySid(sid);
BeanUtil.copyProperties(appCrmVehicleDemandUpdateDto,entity);
BeanUtil.copyProperties(appCrmVehicleDemandUpdateDto, entity);
/*entity.setPurchaseMethod(appCrmVehicleDemandUpdateDto.getPurchaseMethod());
entity.setPurchaseMethodValue(appCrmVehicleDemandUpdateDto.getPurchaseMethodValue());
entity.setRemarks(appCrmVehicleDemandUpdateDto.getRemarks());
@ -478,4 +478,13 @@ public class CrmVehicledemandService extends MybatisBaseService<CrmVehicledemand
public CrmVehicledemand selectOneBySid(String vehicSid) {
return baseMapper.selectOneBySid(vehicSid);
}
public ResultBean<CrmVehicleDemandOrderVo> getInfo(String intentionSid) {
ResultBean<CrmVehicleDemandOrderVo> rb = ResultBean.fireFail();
CrmVehicleDemandOrderVo crmVehicleDemandOrderVo = baseMapper.getInfo(intentionSid);
if (crmVehicleDemandOrderVo == null) {
return rb.setData(new CrmVehicleDemandOrderVo());
}
return rb.success().setData(crmVehicleDemandOrderVo);
}
}
Loading…
Cancel
Save