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.bussalesorderinsurance.BusSalesOrderInsuranceDto;
import com.yxt.anrui.buscenter.api.bussalesordermakeup.BusSalesOrderMakeupDetailsVo; import com.yxt.anrui.buscenter.api.bussalesordermakeup.BusSalesOrderMakeupDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesordermakeup.BusSalesOrderMakeupDto; 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.BusSalesOrderModelDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModelDto; 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.BusSalesOrderPriceDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPriceDto; import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPriceDto;
import com.yxt.anrui.buscenter.api.bussalesordersubmit.BusSalesOrderSubmitDto; 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.buscenter.biz.bussalesvehicleorder.BusSalesVehicleOrderService;
import com.yxt.anrui.crm.api.crmcustomertemp.AppCrmCustomerTempInfoVo; import com.yxt.anrui.crm.api.crmcustomertemp.AppCrmCustomerTempInfoVo;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign; 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.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flowtask.FlowTask; import com.yxt.anrui.flowable.api.flowtask.FlowTask;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
@ -186,6 +190,8 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
private SysOrganizationFeign sysOrganizationFeign; private SysOrganizationFeign sysOrganizationFeign;
@Autowired @Autowired
private BaseVehicleModelAppendixFeign baseVehicleModelAppendixFeign; private BaseVehicleModelAppendixFeign baseVehicleModelAppendixFeign;
@Autowired
private CrmVehicledemandFeign crmVehicledemandFeign;
/** /**
* 构造查询条件 * 构造查询条件
@ -1268,6 +1274,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
AppCrmCustomerTempInfoVo customerTempInfoVo = crmCustomerTempInfoVoResultBean.getData(); AppCrmCustomerTempInfoVo customerTempInfoVo = crmCustomerTempInfoVoResultBean.getData();
//挂靠公司填写类型:1选择,0手写 //挂靠公司填写类型:1选择,0手写
String affiliatedType = dto.getAffiliatedType(); String affiliatedType = dto.getAffiliatedType();
//新增销售订单
if (StringUtils.isBlank(dto.getSid())) { if (StringUtils.isBlank(dto.getSid())) {
BusSalesOrder busSalesOrder = new BusSalesOrder(); BusSalesOrder busSalesOrder = new BusSalesOrder();
BeanUtil.copyProperties(dto, busSalesOrder, "sid"); BeanUtil.copyProperties(dto, busSalesOrder, "sid");
@ -1292,7 +1299,33 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
return rb.setMsg("保存失败"); return rb.setMsg("保存失败");
} }
sid = busSalesOrder.getSid(); 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 { } else {
//修改销售订单
BusSalesOrder busSalesOrder = fetchBySid(dto.getSid()); BusSalesOrder busSalesOrder = fetchBySid(dto.getSid());
if (busSalesOrder == null) { if (busSalesOrder == null) {
return rb.setMsg("该销售订单不存在"); 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") @PostMapping("/init/wantCarList")
ResultBean<PagerVo<AppOrderCrmVehicleDemandVo>> getWantCarList(@RequestBody PagerQuery<AppCrmOrderVehicleDemandQuery> pagerQuery); 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; return null;
} }
@Override
public ResultBean<CrmVehicleDemandOrderVo> getInfo(String intentionSid) {
return null;
}
//app //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); void updateByPrice(@Param("sid") String sid);
CrmVehicledemand selectOneBySid(String vehicSid); 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.modelName,
cvcd.modelSid, cvcd.modelSid,
cvcd.comonConfigSid, cvcd.comonConfigSid,
convert(cvcd.saleReferencePrice/10000,decimal(10,2)) AS guidancePrice, convert(cvcd.saleReferencePrice / 10000, decimal(10, 2)) AS guidancePrice,
DATE_FORMAT(cvcd.createTime, '%Y-%m-%d') as createTime, DATE_FORMAT(cvcd.createTime, '%Y-%m-%d') as createTime,
cvcd.purchaseMethodValue AS purchaseType, cvcd.purchaseMethodValue AS purchaseType,
cvcd.purchaseMethod as purchaseKey, cvcd.purchaseMethod as purchaseKey,
cvcd.financePlan as payTypeUpKey, cvcd.financePlan as payTypeUpKey,
cvcd.financePlanValue as payTypeUpValue, cvcd.financePlanValue as payTypeUpValue,
cct.sid as customerSid, cct.sid as customerSid,
cct.name as customerName, cct.name as customerName,
cct.mobile as customerMobile cct.mobile as customerMobile
FROM crm_vehicledemand cvcd FROM crm_vehicledemand cvcd
left join crm_customer_temp cct on cvcd.customerSid = cct.sid left join crm_customer_temp cct on cvcd.customerSid = cct.sid
WHERE cvcd.customerSid = #{customerSid} WHERE cvcd.customerSid = #{customerSid}
@ -80,8 +80,8 @@
cvcd.modelName, cvcd.modelName,
cvcd.brandName, cvcd.brandName,
cvcd.createTime, cvcd.createTime,
convert(cvcd.saleReferencePrice/10000,decimal(10,2)) AS guidancePrice, convert(cvcd.saleReferencePrice / 10000, decimal(10, 2)) AS guidancePrice,
cvcd.purchaseMethodValue AS purchaseType cvcd.purchaseMethodValue AS purchaseType
FROM crm_visit cv FROM crm_visit cv
LEFT JOIN crm_visit_demand cvd ON cv.sid = cvd.visitSid LEFT JOIN crm_visit_demand cvd ON cv.sid = cvd.visitSid
LEFT JOIN crm_vehicledemand cvcd ON cvcd.sid = cvd.demandSid LEFT JOIN crm_vehicledemand cvcd ON cvcd.sid = cvd.demandSid
@ -116,16 +116,16 @@
<!--意向车型详情--> <!--意向车型详情-->
<select id="intendedModel" <select id="intendedModel"
resultType="com.yxt.anrui.crm.api.crmvehicledemand.AppCrmVehicleDemandParticularsVo"> resultType="com.yxt.anrui.crm.api.crmvehicledemand.AppCrmVehicleDemandParticularsVo">
SELECT cv.purchaseMethodValue AS type, SELECT cv.purchaseMethodValue AS type,
cv.modelSid, cv.modelSid,
cv.modelName, cv.modelName,
cv.brandName AS brand, cv.brandName AS brand,
convert(cv.saleReferencePrice/10000,decimal(10,2)) AS price, convert(cv.saleReferencePrice / 10000, decimal(10, 2)) AS price,
cv.vehicleModelOffer AS quotation, cv.vehicleModelOffer AS quotation,
cv.comonConfigSid AS configSid, cv.comonConfigSid AS configSid,
cv.number, cv.number,
cv.remarks, cv.remarks,
cv.estimatedPickupDate AS `date` cv.estimatedPickupDate AS `date`
FROM crm_vehicledemand cv FROM crm_vehicledemand cv
WHERE cv.sid = #{sid} WHERE cv.sid = #{sid}
</select> </select>
@ -168,4 +168,19 @@
where sid = #{vehicSid} where sid = #{vehicSid}
and length(financePlan) > 0 and length(financePlan) > 0
</select> </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> </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); PagerVo<AppOrderCrmVehicleDemandVo> pv = crmVehicledemandService.getWantCarList(pagerQuery);
return rb.success().setData(pv); 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(); ResultBean rb = ResultBean.fireFail();
String sid = appCrmVehicleDemandUpdateDto.getIntentionSid(); String sid = appCrmVehicleDemandUpdateDto.getIntentionSid();
CrmVehicledemand entity = fetchBySid(sid); CrmVehicledemand entity = fetchBySid(sid);
BeanUtil.copyProperties(appCrmVehicleDemandUpdateDto,entity); BeanUtil.copyProperties(appCrmVehicleDemandUpdateDto, entity);
/*entity.setPurchaseMethod(appCrmVehicleDemandUpdateDto.getPurchaseMethod()); /*entity.setPurchaseMethod(appCrmVehicleDemandUpdateDto.getPurchaseMethod());
entity.setPurchaseMethodValue(appCrmVehicleDemandUpdateDto.getPurchaseMethodValue()); entity.setPurchaseMethodValue(appCrmVehicleDemandUpdateDto.getPurchaseMethodValue());
entity.setRemarks(appCrmVehicleDemandUpdateDto.getRemarks()); entity.setRemarks(appCrmVehicleDemandUpdateDto.getRemarks());
@ -478,4 +478,13 @@ public class CrmVehicledemandService extends MybatisBaseService<CrmVehicledemand
public CrmVehicledemand selectOneBySid(String vehicSid) { public CrmVehicledemand selectOneBySid(String vehicSid) {
return baseMapper.selectOneBySid(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