diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/AppModelVeDetailVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/AppModelVeDetailVo.java index 7be79f440c..8c33f60ede 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/AppModelVeDetailVo.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/AppModelVeDetailVo.java @@ -1,10 +1,26 @@ package com.yxt.anrui.base.api.basevehmodelconfig; +import com.yxt.common.core.vo.Vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.math.BigDecimal; + @Data -public class AppModelVeDetailVo { +public class AppModelVeDetailVo implements Vo { + + @ApiModelProperty("车型名称") + private String modelName; + + @ApiModelProperty("品牌sid") + private String brandSid; + + @ApiModelProperty("品牌名称") + private String brandName; + + @ApiModelProperty("销售指导价") + private BigDecimal saleReferencePrice; + } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeign.java index bde8a09ec2..8988a4b965 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeign.java @@ -101,4 +101,11 @@ public interface BaseVehmodelConfigFeign { @ApiOperation("手机端车型询价") @PostMapping("/getAppVehicleInquiryVo/{modelSid}") public ResultBean getAppVehicleInquiryVo(@PathVariable("modelSid") String modelSid, @PathVariable("configSid") String configSid); + + @ApiOperation("意向车型查询车型数据") + @GetMapping("/getAppCommonlyUsedModelDetails/{userSid}/{modelSid}/{configSid}") + public ResultBean getAppIntentionVehicleVo(@RequestParam("userSid") String userSid, + @RequestParam("modelSid") String modelSid, @RequestParam("configSid") String configSid); + + } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeignFallback.java index b582fcf451..3aa0bb48e1 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeignFallback.java @@ -96,4 +96,9 @@ public class BaseVehmodelConfigFeignFallback implements BaseVehmodelConfigFeign return null; } + @Override + public ResultBean getAppIntentionVehicleVo(String userSid, String modelSid, String configSid) { + return null; + } + } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.java index 5bf857e138..969ebd9067 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.java @@ -110,4 +110,6 @@ public interface BaseVehmodelConfigMapper extends BaseMapper BaseVehmodelConfigVo checkSave(@Param("modelSid") String modelSid, @Param("configurationItemsSid") String configurationItemsSid); BaseVehmodelConfig getBySid(String sid); + + AppModelVeDetailVo getAppIntentionVehicleVo(@Param("useOrg") String useOrg, @Param("modelSid") String modelSid, @Param("configSid") String configSid); } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.xml index ff7e510ead..87aa51bc8d 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.xml @@ -65,8 +65,8 @@ bmc.brandName, bvc.guidedPrice FROM base_vehmodel_config bvc - LEFT JOIN base_vehicle_model bvm ON bvc.modelSid = bvm.sid - LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.sid + LEFT JOIN base_vehicle_model bvm ON bvc.modelSid = bvm.sid + LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.sid WHERE bvm.sid = #{modelSid} GROUP BY bvm.sid @@ -82,7 +82,7 @@ @@ -126,8 +126,8 @@ bmc.configuringBao, bmc.otherConfig FROM base_vehmodel_config bvc - LEFT JOIN base_vehicle_model bvm ON bvc.`modelSid` = bvm.`sid` - LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.`sid` + LEFT JOIN base_vehicle_model bvm ON bvc.`modelSid` = bvm.`sid` + LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.`sid` WHERE bvm.sid = #{modelSid} AND bmc.sid = #{configSid} @@ -145,7 +145,21 @@ bvc.`manufactorSettlementPrice`, bvc.`guidedPrice` FROM base_vehmodel_config bvc - LEFT JOIN base_vehicle_model bvm ON bvc.`modelSid` = bvm.`sid` - LEFT JOIN base_model_config bmc ON bvc.`configurationItemsSid` = bmc.`sid` + LEFT JOIN base_vehicle_model bvm ON bvc.`modelSid` = bvm.`sid` + LEFT JOIN base_model_config bmc ON bvc.`configurationItemsSid` = bmc.`sid` + + + \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigRest.java index 7e3e9fe687..4b10b7b089 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigRest.java @@ -146,4 +146,10 @@ public class BaseVehmodelConfigRest implements BaseVehmodelConfigFeign { return null; } + + @Override + public ResultBean getAppIntentionVehicleVo(String userSid, String modelSid, String configSid) { + AppModelVeDetailVo vo = baseVehmodelConfigService.getAppIntentionVehicleVo(userSid,modelSid,configSid); + return new ResultBean().success().setData(vo); + } } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigService.java index b422e34db4..198c1b9954 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigService.java @@ -35,6 +35,7 @@ import com.yxt.anrui.base.api.basevehicle.ConfigInfo; import com.yxt.anrui.base.api.basevehmodelconfig.*; import com.yxt.anrui.base.biz.basemodelconfig.BaseModelConfigService; import com.yxt.anrui.base.biz.basevehicleappendix.BaseVehicleAppendixService; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.DateUtils; @@ -68,7 +69,8 @@ public class BaseVehmodelConfigService extends MybatisBaseService fetchBySid(@PathVariable("sid") String sid); + + /* App接口 */ + + @ApiOperation("手机端—获取款项确认列表") + @PostMapping("/getCollectionConfirmList") + public ResultBean> getCollectionConfirmList(@RequestBody PagerQuery pq); } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeposit/BusDepositService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeposit/BusDepositService.java index 28ded49c35..29393fd680 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeposit/BusDepositService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeposit/BusDepositService.java @@ -7,9 +7,17 @@ import com.yxt.anrui.buscenter.api.busdeposit.BusDeposit; import com.yxt.anrui.buscenter.api.busdepositcustomer.AppBusDepositCustomerListVo; import com.yxt.anrui.buscenter.biz.busdepositcustomer.BusDepositCustomerService; import com.yxt.anrui.buscenter.biz.busdepositvehicle.BusDepositVehicleService; +import com.yxt.anrui.buscenter.biz.busmaindeposit.BusMainDepositService; +import com.yxt.anrui.buscenter.biz.flow.FlowableService; +import com.yxt.anrui.crm.api.crmcustomer.CrmCustomer; import com.yxt.anrui.crm.api.crmcustomer.CrmCustomerFeign; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign; +import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo; +import com.yxt.anrui.flowable.api.utils.ProcDefEnum; import com.yxt.anrui.portal.api.dictcommon.DictCommonFeign; +import com.yxt.anrui.portal.api.dictcommon.DictCommonVo; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.service.MybatisBaseService; diff --git a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomerfile/CrmCustomerFileFeign.java b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomerfile/CrmCustomerFileFeign.java index 2bfe06263d..ea46b069eb 100644 --- a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomerfile/CrmCustomerFileFeign.java +++ b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomerfile/CrmCustomerFileFeign.java @@ -59,6 +59,7 @@ public interface CrmCustomerFileFeign { /** * 客户资料初始化分页查询列表 + * * @param pq * @return */ @@ -71,10 +72,11 @@ public interface CrmCustomerFileFeign { */ @ApiOperation("保存上传的附件") @PostMapping("/saveCustomerFile") - public ResultBean saveCustomerFile(@RequestParam("staffName") String staffName,@RequestParam("staffSid") String staffSid,@RequestParam("sid") String sid,@RequestBody List crmFileDtos); + public ResultBean saveCustomerFile(@RequestParam("staffName") String staffName, @RequestParam("staffSid") String staffSid, @RequestParam("sid") String sid, @RequestBody List crmFileDtos); /** * 上传回显图片信息接口 + * * @param sid * @return */ @@ -83,4 +85,16 @@ public interface CrmCustomerFileFeign { public ResultBean fetchFileListBySid(@PathVariable("sid") String sid); + @ApiOperation("初始化客户档案") + @ResponseBody + @GetMapping("/initCustomerArchives/{customerSid}/{userSid}") + public ResultBean initCustomerArchives(@PathVariable("customerSid") String customerSid, @PathVariable("userSid") String userSid); + + + @ApiOperation("手机端保存客户档案") + @ResponseBody + @PutMapping("/saveCustomerArchives") + public ResultBean saveCustomerArchives(AppCrmCustomerTempArchivesDto dto); + + } \ No newline at end of file diff --git a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomerfile/CrmCustomerFileFeignFallback.java b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomerfile/CrmCustomerFileFeignFallback.java index d03cee87a9..6815fa479a 100644 --- a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomerfile/CrmCustomerFileFeignFallback.java +++ b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomerfile/CrmCustomerFileFeignFallback.java @@ -64,4 +64,14 @@ public class CrmCustomerFileFeignFallback implements CrmCustomerFileFeign { public ResultBean fetchFileListBySid(String sid) { return null; } + + @Override + public ResultBean initCustomerArchives(String customerSid, String userSid) { + return null; + } + + @Override + public ResultBean saveCustomerArchives(AppCrmCustomerTempArchivesDto dto) { + return null; + } } \ No newline at end of file diff --git a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeign.java b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeign.java index 6faf85893f..226bdc21f8 100644 --- a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeign.java +++ b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeign.java @@ -4,6 +4,7 @@ import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.cloud.openfeign.FeignClient; @@ -36,6 +37,7 @@ public interface CrmCustomerTempFeign { /** * 潜在客户管理的分页查询 + * * @param pq * @return */ @@ -74,6 +76,7 @@ public interface CrmCustomerTempFeign { /** * pc潜在客户的批量删除 + * * @param sid * @return */ @@ -83,6 +86,7 @@ public interface CrmCustomerTempFeign { /** * pc潜在客户的编辑回显 + * * @param sid * @return */ @@ -123,5 +127,9 @@ public interface CrmCustomerTempFeign { @GetMapping("/getAppCustomerTempDetailsBySid") public ResultBean getAppCustomerTempDetailsBySid(@RequestParam("sid") String sid); + @ApiOperation("手机端-获取客户基础信息(新)") + @ResponseBody + @GetMapping("/customerTempDetailsBySid/{sid}") + public ResultBean customerTempDetailsBySid(@RequestParam("sid") String sid); } \ No newline at end of file diff --git a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeignFallback.java b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeignFallback.java index de278d8ee4..0617e040ef 100644 --- a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeignFallback.java +++ b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeignFallback.java @@ -93,5 +93,10 @@ public class CrmCustomerTempFeignFallback implements CrmCustomerTempFeign { return null; } + @Override + public ResultBean customerTempDetailsBySid(String sid) { + return null; + } + } \ No newline at end of file diff --git a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/AppCrmVehicledemandDetailsVo.java b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/AppCrmVehicledemandDetailsVo.java index 569446e159..f4d552c534 100644 --- a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/AppCrmVehicledemandDetailsVo.java +++ b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/AppCrmVehicledemandDetailsVo.java @@ -11,34 +11,43 @@ import java.math.BigDecimal; @Data public class AppCrmVehicledemandDetailsVo implements Vo { - @ApiModelProperty("潜在客户信息sid") - private String customerSid; + @ApiModelProperty("意向车型sid") + private String intentionSid; @ApiModelProperty("购车方式") private String purchaseMethod; - @ApiModelProperty("车型sid") - private String modelSid; + @ApiModelProperty("购车方式value") + private String purchaseMethodValue; + + @ApiModelProperty("备注") + private String remarks; + + @ApiModelProperty("数量") + private String number; - @ApiModelProperty("车型名称") - private String modelName; + @ApiModelProperty("预计提车日期") + private String date; - @ApiModelProperty("品牌sid") - private String brandSid; + @ApiModelProperty("车型") + private String model; - @ApiModelProperty("品牌名称 ") - private String brandName; + @ApiModelProperty("指导价") + private String guidancePrice; + + @ApiModelProperty("品牌") + private String brand; @ApiModelProperty("车型报价") - private String vehicleModelOffer; + private String price; - @ApiModelProperty("其它配置说明") - private String otherConfig; + @ApiModelProperty("换选装") + private String optionsConfig; - @ApiModelProperty("简述配置") - private String sketChconfiguration; + @ApiModelProperty("配置sid") + private String configSid; - @ApiModelProperty("存放地点") - private String storageLocation = "河北省石家庄市车辆投放处"; + @ApiModelProperty("车型sid") + private String modelSid; } diff --git a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/AppCrmVehicledemandDto.java b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/AppCrmVehicledemandDto.java index 73e5f1baf5..0e708d143e 100644 --- a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/AppCrmVehicledemandDto.java +++ b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/AppCrmVehicledemandDto.java @@ -6,57 +6,12 @@ import lombok.Data; @Data public class AppCrmVehicledemandDto implements Dto { - - @ApiModelProperty("潜在客户信息sid") + @ApiModelProperty("客户sid") private String customerSid; - - @ApiModelProperty("购车方式(1 : 全款 2 : 贷款") - private String purchaseMethod; - - @ApiModelProperty("购车方式Value") - private String purchaseMethodValue; - + @ApiModelProperty("用户sid") + private String userSid; + @ApiModelProperty("配置sid") + private String configSid; @ApiModelProperty("车型sid") private String modelSid; - - @ApiModelProperty("配置sid") - private String comonConfigSid; - - @ApiModelProperty("车型名称") - private String modelName; - - @ApiModelProperty("品牌sid") - private String brandSid; - - @ApiModelProperty("品牌名称") - private String brandName; - - @ApiModelProperty("车型报价") - private String vehicleModelOffer; - - @ApiModelProperty("数量") - private String number; - - @ApiModelProperty("预计提车日期 ") - private String estimatedPickupDate; - - @ApiModelProperty("是否意向(0为非意向,1为意向)") - private String states; - - @ApiModelProperty("备注") - private String remarks; - - /*********金融需求字段******/ - - @ApiModelProperty("首付比例") - private String down_payment_proportion; - - @ApiModelProperty("资方sid") - private String capitalSid; - - @ApiModelProperty("资方名称") - private String capitalName; - - - } diff --git a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/AppCrmVehicledemandVo.java b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/AppCrmVehicledemandVo.java index 590e774aff..7b5aa38129 100644 --- a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/AppCrmVehicledemandVo.java +++ b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/AppCrmVehicledemandVo.java @@ -1,11 +1,11 @@ package com.yxt.anrui.crm.api.crmvehicledemand; -import com.fasterxml.jackson.annotation.JsonFormat; + import com.yxt.common.core.vo.Vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; + import java.util.Date; @@ -16,26 +16,20 @@ public class AppCrmVehicledemandVo implements Vo { @ApiModelProperty("车辆需求sid") private String sid; - @ApiModelProperty("车型名称") - private String modelName; - @ApiModelProperty("品牌名称") private String brandName; - @ApiModelProperty("添加时间") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTime; + @ApiModelProperty("车型名称") + private String modelName; - @ApiModelProperty("车型指导价") - private String vehicleModelOffer; + @ApiModelProperty("创建时间") + private String createTime; - @ApiModelProperty("车型sid") - private String modelSid; + @ApiModelProperty("销售指导价") + private String guidancePrice; - @ApiModelProperty("配置sid") - private String comonConfigSid; + @ApiModelProperty("购车方式value") + private String purchaseType; - @ApiModelProperty("购车方式") - private String purchaseMethodValue; } diff --git a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemand.java b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemand.java index da7a83cb11..13e6c350af 100644 --- a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemand.java +++ b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemand.java @@ -59,7 +59,7 @@ public class CrmVehicledemand extends BaseEntity { private String vehicleModelOffer; @ApiModelProperty("数量") - private Integer number; + private String number; @ApiModelProperty("预计提车日期 ") private String estimatedPickupDate; 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 b3773b10e5..d1c683360e 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 @@ -71,6 +71,7 @@ public interface CrmVehicledemandFeign { /** * 意向车型的批量删除 + * * @param sid * @return */ @@ -84,6 +85,7 @@ public interface CrmVehicledemandFeign { /** * 意向车型的编辑回显 + * * @param sid * @return */ @@ -94,24 +96,34 @@ public interface CrmVehicledemandFeign { /********************************** App接口 *********************************/ - - @ApiOperation("App根据跟进记录sid查询车辆需求列表") + @ApiOperation("手机端-获取意向车型列表(新)") @ResponseBody @PostMapping("/getVisitListSid") public ResultBean> getVisitListSid(@RequestBody PagerQuery pagerQuery); - @ApiOperation("App根据sid查询车辆需求") - @GetMapping("/selectBySid/{sid}") - public ResultBean selectBySid(@PathVariable("sid") String sid); + @ApiOperation("手机端-新增意向车型(新)") + @ResponseBody + @PostMapping("/addVisitDemands") + public ResultBean addVisitDemands(@RequestBody AppCrmVehicledemandDto appCrmVehicleDemandDto); - @ApiOperation("App根据车型sid删除车型信息") - @GetMapping("/delBySid/{sid}") - public ResultBean delBySid(@PathVariable("sid") String sid); + @ApiOperation("手机端-初始化意向车型(新)") + @GetMapping("/initVisitDemands/{intentionSid}") + public ResultBean initVisitDemands(@PathVariable("intentionSid") String intentionSid); - @ApiOperation("App新增车辆需求") + @ApiOperation("手机端-修改意向车型(新)") @ResponseBody @PostMapping("/saveVisitDemands") - public ResultBean saveVisitDemands(@RequestBody AppCrmVehicledemandDto appCrmVehicledemandDto); + public ResultBean saveVisitDemands(@RequestBody AppCrmVehicleDemandUpdateDto appCrmVehicleDemandUpdateDto); + + @ApiOperation("手机端-意向车型详情(新)") + @ResponseBody + @GetMapping("/intendedModel/{sid}") + public ResultBean intendedModel(@PathVariable("sid") String sid); + + + @ApiOperation("App根据车型sid删除车型信息") + @GetMapping("/delBySid/{sid}") + public ResultBean delBySid(@PathVariable("sid") String sid); @ApiOperation("App根据sid查询意向车型详情") @GetMapping("/getAppIntendedModel/{sid}") 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 9ef8dc6bad..d26aff6df7 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 @@ -23,78 +23,90 @@ import java.util.List; @Component public class CrmVehicledemandFeignFallback implements CrmVehicledemandFeign { - @Override - public ResultBean> listPage(PagerQuery pq){ - ResultBean rb = ResultBean.fireFail(); - return rb.setMsg("接口anrui-crm/crmvehicledemand/listPage无法访问"); - } - - @Override - public ResultBean> listAll(CrmVehicledemandQuery query){ - ResultBean rb = ResultBean.fireFail(); - return rb.setMsg("接口anrui-crm/crmvehicledemand/listAll无法访问"); - } - - @Override - public ResultBean> list(){ - ResultBean rb = ResultBean.fireFail(); - return rb.setMsg("接口anrui-crm/crmvehicledemand/list无法访问"); - } - - @Override - public ResultBean save(CrmVehicledemandDto dto){ - return ResultBean.fireFail().setMsg("接口anrui-crm/crmvehicledemand/save无法访问"); - } - - @Override - public ResultBean update(CrmVehicledemandDto dto,String sid){ - return ResultBean.fireFail().setMsg("接口anrui-crm/crmvehicledemand/update无法访问"); - } - - @Override - public ResultBean del(String ids){ - return ResultBean.fireFail().setMsg("接口anrui-crm/crmvehicledemand/del无法访问"); - } - - @Override - public ResultBean fetch(String id){ - ResultBean rb = ResultBean.fireFail(); - return rb.setMsg("接口anrui-crm/crmvehicledemand/fetch无法访问"); - } - - @Override - public ResultBean fetchSid(String sid) { - return null; - } - - @Override - public ResultBean> getVisitListSid(PagerQuery pagerQuery) { - return null; - } - - - @Override - public ResultBean selectBySid(String sid) { - return null; - } - - @Override - public ResultBean delBySid(String sid) { - return null; - } - - @Override - public ResultBean saveVisitDemands(AppCrmVehicledemandDto appCrmVehicledemandDto) { - return null; - } - - @Override - public ResultBean getAppIntendedModel(String sid) { - return null; - } - - @Override - public ResultBean getAppIntendedModelDetailed(String sid) { - return null; - } + @Override + public ResultBean> listPage(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口anrui-crm/crmvehicledemand/listPage无法访问"); + } + + @Override + public ResultBean> listAll(CrmVehicledemandQuery query) { + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口anrui-crm/crmvehicledemand/listAll无法访问"); + } + + @Override + public ResultBean> list() { + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口anrui-crm/crmvehicledemand/list无法访问"); + } + + @Override + public ResultBean save(CrmVehicledemandDto dto) { + return ResultBean.fireFail().setMsg("接口anrui-crm/crmvehicledemand/save无法访问"); + } + + @Override + public ResultBean update(CrmVehicledemandDto dto, String sid) { + return ResultBean.fireFail().setMsg("接口anrui-crm/crmvehicledemand/update无法访问"); + } + + @Override + public ResultBean del(String ids) { + return ResultBean.fireFail().setMsg("接口anrui-crm/crmvehicledemand/del无法访问"); + } + + @Override + public ResultBean fetch(String id) { + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口anrui-crm/crmvehicledemand/fetch无法访问"); + } + + @Override + public ResultBean fetchSid(String sid) { + return null; + } + + @Override + public ResultBean delBySid(String sid) { + return null; + } + + @Override + public ResultBean getAppIntendedModel(String sid) { + return null; + } + + @Override + public ResultBean getAppIntendedModelDetailed(String sid) { + return null; + } + + + //app + + @Override + public ResultBean> getVisitListSid(PagerQuery pagerQuery) { + return null; + } + + @Override + public ResultBean addVisitDemands(AppCrmVehicledemandDto appCrmVehicleDemandDto) { + return null; + } + + @Override + public ResultBean initVisitDemands(String intentionSid) { + return null; + } + + @Override + public ResultBean saveVisitDemands(AppCrmVehicleDemandUpdateDto appCrmVehicleDemandUpdateDto) { + return null; + } + + @Override + public ResultBean intendedModel(String sid) { + return null; + } } \ No newline at end of file diff --git a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomerfile/CrmCustomerFileMapper.java b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomerfile/CrmCustomerFileMapper.java index dbb6ff276f..0d22d45b12 100644 --- a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomerfile/CrmCustomerFileMapper.java +++ b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomerfile/CrmCustomerFileMapper.java @@ -29,6 +29,9 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.anrui.crm.api.crmcustomerfile.AppCrmCustomerTempArchivesVo; +import com.yxt.anrui.crm.api.crmcustomerfile.AppCustomerArchivesDataVo; +import com.yxt.anrui.crm.api.crmfile.CrmFile; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -53,13 +56,20 @@ import java.util.List; @Mapper public interface CrmCustomerFileMapper extends BaseMapper { - //@Update("update crm_customer_file set name=#{msg} where id=#{id}") - //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); - - IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); - - List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); - - @Select("select * from crm_customer_file") - List selectListVo(); + //@Update("update crm_customer_file set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + + @Select("select * from crm_customer_file") + List selectListVo(); + + List selectByCustomerSid(@Param("customerSid") String customerSid); + + List selArchivesFileImageBySid(@Param("sid") String sid); + + // 查询数据库是否存在该类型 + Integer selectBySid(@Param("sid") String sid); } \ No newline at end of file diff --git a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomerfile/CrmCustomerFileMapper.xml b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomerfile/CrmCustomerFileMapper.xml index 5a4b9586ad..ae4fade2e3 100644 --- a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomerfile/CrmCustomerFileMapper.xml +++ b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomerfile/CrmCustomerFileMapper.xml @@ -1,20 +1,46 @@ - - - - - + + + + + + + + + + + \ No newline at end of file diff --git a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomerfile/CrmCustomerFileRest.java b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomerfile/CrmCustomerFileRest.java index cc3b504e7f..7147c7fb4e 100644 --- a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomerfile/CrmCustomerFileRest.java +++ b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomerfile/CrmCustomerFileRest.java @@ -26,6 +26,7 @@ package com.yxt.anrui.crm.biz.crmcustomerfile; import com.yxt.anrui.crm.api.crmcustomerfile.*; +import com.yxt.anrui.crm.api.crmcustomerfile.AppCrmCustomerTempArchivesDto; import com.yxt.anrui.crm.api.crmfile.CrmFileDto; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; @@ -75,4 +76,14 @@ public class CrmCustomerFileRest implements CrmCustomerFileFeign { public ResultBean fetchFileListBySid(String sid) { return crmCustomerFileService.fetchFileListBySid(sid); } + + @Override + public ResultBean initCustomerArchives(String customerSid, String userSid) { + return crmCustomerFileService.initCustomerArchives(customerSid,userSid); + } + + @Override + public ResultBean saveCustomerArchives(AppCrmCustomerTempArchivesDto dto) { + return crmCustomerFileService.saveCustomerArchives(dto); + } } diff --git a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomerfile/CrmCustomerFileService.java b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomerfile/CrmCustomerFileService.java index ed3b89e0f2..267c889718 100644 --- a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomerfile/CrmCustomerFileService.java +++ b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomerfile/CrmCustomerFileService.java @@ -30,15 +30,18 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.anrui.base.api.basedatalist.BaseDataListFeign; import com.yxt.anrui.base.api.basedatalist.BaseDataListVo; -import com.yxt.anrui.base.api.commonappendix.CommonAppendix; -import com.yxt.anrui.base.api.commonappendix.CommonAppendixFeign; import com.yxt.anrui.base.api.commonappendix.CommonAttachTypeEnum; import com.yxt.anrui.crm.api.crmcustomerfile.*; +import com.yxt.anrui.crm.api.crmcustomerfile.AppCrmCustomerTempArchivesDto; +import com.yxt.anrui.crm.api.crmcustomerfile.AppCustomerArchivesDataDto; import com.yxt.anrui.crm.api.crmfile.CrmFile; import com.yxt.anrui.crm.api.crmfile.CrmFileDetailsVo; import com.yxt.anrui.crm.api.crmfile.CrmFileDto; import com.yxt.anrui.crm.biz.crmfile.CrmFileService; +import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.portal.api.sysuser.app.AppUserOrgInfoVo; import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.utils.DateUtils; import org.apache.commons.lang3.StringUtils; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; @@ -49,6 +52,9 @@ import com.yxt.common.core.vo.PagerVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -68,121 +74,213 @@ import java.util.List; @Service public class CrmCustomerFileService extends MybatisBaseService { - @Autowired - BaseDataListFeign baseDataListFeign; - @Autowired - private CrmFileService crmFileService; - @Autowired - private FileUploadComponent fileUploadComponent; - - public PagerVo listPage(PagerQuery pq) { - CrmCustomerFileQuery query = pq.getParams(); - QueryWrapper qw = createQueryWrapper(query); - IPage page = PagerUtil.queryToPage(pq); - IPage pagging = baseMapper.selectPage(page, qw); - PagerVo p = PagerUtil.pageToVo(pagging, null); - return p; - } - public List listAll(CrmCustomerFileQuery query) { - QueryWrapper qw = createQueryWrapper(query); - return baseMapper.selectList(qw); - } - private QueryWrapper createQueryWrapper(CrmCustomerFileQuery query) { - // todo: 这里根据具体业务调整查询条件 - // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); - QueryWrapper qw = new QueryWrapper<>(); - - qw.eq("linkSid", query.getCustomerSid()); - if (StringUtils.isNotBlank(query.getFileName())) { - qw.like("fileName", query.getFileName()); - } - if (StringUtils.isNotBlank(query.getAttachType())) { - qw.like("attachType", query.getAttachType()); - } - return qw; - } - - public PagerVo listPageVo(PagerQuery pq) { - QueryWrapper qw = createQueryWrapper(pq.getParams()); - IPage page = PagerUtil.queryToPage(pq); - IPage pagging = baseMapper.selectPageVo(page, qw); - PagerVo p = PagerUtil.pageToVo(pagging, null); - List records = p.getRecords(); - if (records.size() == 0){ - fetchByDataTypeKey(pq.getParams().getCustomerSid()); - IPage paging = baseMapper.selectPageVo(page, qw); - PagerVo g = PagerUtil.pageToVo(paging, null); - return g; - } - return p; - } - - /** - * 根据资料类别key查询资料清单列表并保存到客户资料初始化表中 - */ - private void fetchByDataTypeKey(String customerSid) { - ResultBean> bean = baseDataListFeign.selectDataList("客户"); - List data = bean.getData(); - for (BaseDataListVo datum : data) { - CrmCustomerFile crmCustomerFile = new CrmCustomerFile(); - datum.fromEntity(crmCustomerFile); - crmCustomerFile.setLinkSid(customerSid); - this.save(crmCustomerFile); - } - } - - public List listAllVo(CrmCustomerFileQuery query) { - QueryWrapper qw = createQueryWrapper(query); - return baseMapper.selectListAllVo(qw); - } - - public List listVo() { - return baseMapper.selectListVo(); - } - - public CrmCustomerFileVo fetchByIdVo(String id){ - CrmCustomerFile entity = this.fetchById(id); - CrmCustomerFileVo vo = new CrmCustomerFileVo(); - BeanUtil.copyProperties(entity, vo); - return vo; - } - - public ResultBean fetchFileListBySid(String sid) { - ResultBean rb = ResultBean.fireFail(); - CrmCustomerFileListVo crmCustomerFileListVo = new CrmCustomerFileListVo(); - CrmCustomerFile crmCustomerFile = this.fetchBySid(sid); - crmCustomerFileListVo.setAttachType(crmCustomerFile.getAttachType()); - crmCustomerFileListVo.setFileName(crmCustomerFile.getFileName()); - List crmFileVos = crmFileService.fetchByLinkSid(sid); - if (crmFileVos.size() == 0){ - return rb.success().setData(crmCustomerFileListVo); - } - for (CrmFileDetailsVo crmFileVo : crmFileVos) { - String fileName = crmFileVo.getFileName(); - fileName=fileName.substring(0,fileName.lastIndexOf('_')); - crmFileVo.setFileName(fileName); - } - crmCustomerFileListVo.setCrmFileDetailsVoList(crmFileVos); - return rb.success().setData(crmCustomerFileListVo); - } - - public ResultBean saveCustomerFile(String staffName,String staffSid,String sid, List crmFileDtos) { - ResultBean rb = ResultBean.fireFail(); - for (CrmFileDto crmFileDto : crmFileDtos) { - String filePath = crmFileDto.getFilePath(); - if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { - filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); - } - CrmFile crmFile = new CrmFile(); - crmFileDto.fillEntity(crmFile); - crmFile.setFilePath(filePath); - crmFile.setLinkSid(sid); - crmFile.setCreateBySid(staffSid); - crmFile.setCreateTime(new Date()); - crmFile.setAttachType(CommonAttachTypeEnum.CUSTOMER_FILE.getAttachType()); - crmFile.setName(staffName); - crmFileService.save(crmFile); - } - return rb.success(); - } + @Autowired + BaseDataListFeign baseDataListFeign; + @Autowired + private CrmFileService crmFileService; + @Autowired + private FileUploadComponent fileUploadComponent; + @Autowired + SysUserFeign sysUserFeign; + + public PagerVo listPage(PagerQuery pq) { + CrmCustomerFileQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public List listAll(CrmCustomerFileQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectList(qw); + } + + private QueryWrapper createQueryWrapper(CrmCustomerFileQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + + qw.eq("linkSid", query.getCustomerSid()); + if (StringUtils.isNotBlank(query.getFileName())) { + qw.like("fileName", query.getFileName()); + } + if (StringUtils.isNotBlank(query.getAttachType())) { + qw.like("attachType", query.getAttachType()); + } + return qw; + } + + public PagerVo listPageVo(PagerQuery pq) { + QueryWrapper qw = createQueryWrapper(pq.getParams()); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + List records = p.getRecords(); + if (records.size() == 0) { + fetchByDataTypeKey(pq.getParams().getCustomerSid()); + IPage paging = baseMapper.selectPageVo(page, qw); + PagerVo g = PagerUtil.pageToVo(paging, null); + return g; + } + return p; + } + + /** + * 根据资料类别key查询资料清单列表并保存到客户资料初始化表中 + */ + private void fetchByDataTypeKey(String customerSid) { + ResultBean> bean = baseDataListFeign.selectDataList("客户"); + List data = bean.getData(); + for (BaseDataListVo datum : data) { + CrmCustomerFile crmCustomerFile = new CrmCustomerFile(); + datum.fromEntity(crmCustomerFile); + crmCustomerFile.setLinkSid(customerSid); + this.save(crmCustomerFile); + } + } + + public List listAllVo(CrmCustomerFileQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectListAllVo(qw); + } + + public List listVo() { + return baseMapper.selectListVo(); + } + + public CrmCustomerFileVo fetchByIdVo(String id) { + CrmCustomerFile entity = this.fetchById(id); + CrmCustomerFileVo vo = new CrmCustomerFileVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } + + public ResultBean fetchFileListBySid(String sid) { + ResultBean rb = ResultBean.fireFail(); + CrmCustomerFileListVo crmCustomerFileListVo = new CrmCustomerFileListVo(); + CrmCustomerFile crmCustomerFile = this.fetchBySid(sid); + crmCustomerFileListVo.setAttachType(crmCustomerFile.getAttachType()); + crmCustomerFileListVo.setFileName(crmCustomerFile.getFileName()); + List crmFileVos = crmFileService.fetchByLinkSid(sid); + if (crmFileVos.size() == 0) { + return rb.success().setData(crmCustomerFileListVo); + } + for (CrmFileDetailsVo crmFileVo : crmFileVos) { + String fileName = crmFileVo.getFileName(); + fileName = fileName.substring(0, fileName.lastIndexOf('_')); + crmFileVo.setFileName(fileName); + } + crmCustomerFileListVo.setCrmFileDetailsVoList(crmFileVos); + return rb.success().setData(crmCustomerFileListVo); + } + + public ResultBean saveCustomerFile(String staffName, String staffSid, String sid, List crmFileDtos) { + ResultBean rb = ResultBean.fireFail(); + for (CrmFileDto crmFileDto : crmFileDtos) { + String filePath = crmFileDto.getFilePath(); + if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); + } + CrmFile crmFile = new CrmFile(); + crmFileDto.fillEntity(crmFile); + crmFile.setFilePath(filePath); + crmFile.setLinkSid(sid); + crmFile.setCreateBySid(staffSid); + crmFile.setCreateTime(new Date()); + crmFile.setAttachType(CommonAttachTypeEnum.CUSTOMER_FILE.getAttachType()); + crmFile.setName(staffName); + crmFileService.save(crmFile); + } + return rb.success(); + } + + public ResultBean initCustomerArchives(String customerSid, String userSid) { + ResultBean rb = ResultBean.fireFail(); + fetchByDataTypeKey(customerSid); + AppCrmCustomerTempArchivesVo vo = new AppCrmCustomerTempArchivesVo(); + List dataVos = baseMapper.selectByCustomerSid(customerSid); + for (AppCustomerArchivesDataVo appCustomerArchivesDataVo : dataVos) { + String createTime = appCustomerArchivesDataVo.getCreateTime(); + Date date = DateUtils.dateStrConvertDate(createTime, "yyyy-MM-dd HH:mm:ss"); + long time = date.getTime(); + String s = String.valueOf(time); + appCustomerArchivesDataVo.setLastUploadTime(s); + String sid = appCustomerArchivesDataVo.getSid(); + List listVo = baseMapper.selArchivesFileImageBySid(sid); + List list = new ArrayList<>(); + for (CrmFile crmFile : listVo) { + String url = fileUploadComponent.getUrlPrefix() + crmFile.getFilePath(); + list.add(url); + } + appCustomerArchivesDataVo.setFiles(list); + } + return rb.success().setData(vo); + } + + public ResultBean saveCustomerArchives(AppCrmCustomerTempArchivesDto dto) { + ResultBean rb = ResultBean.fireFail(); + AppUserOrgInfoVo data = sysUserFeign.getUserOrgInfoByUserSid(dto.getUserSid()).getData(); + List archivesDataDtos = dto.getData(); + for (AppCustomerArchivesDataDto datum : archivesDataDtos) { + if (datum.isChange() == true) { + // 先查询库里key集合是否为空 ? + List dataVos = baseMapper.selectByCustomerSid(dto.getCustomerSid()); + for (AppCustomerArchivesDataVo appCustomerArchivesDataVo : dataVos) { + String sid = appCustomerArchivesDataVo.getSid(); + Integer count = baseMapper.selectBySid(sid); + if (count <= 0) { + //不存在 直接新增保存 并更新时间为当前提交的时间 + List files = datum.getFiles(); + for (String file : files) { + if (file.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + file = file.replace(fileUploadComponent.getUrlPrefix(), ""); + } + CrmFile crmFile = new CrmFile(); + crmFile.setFilePath(file); + crmFile.setLinkSid(sid); + crmFile.setCreateBySid(data.getStaffSid()); + crmFile.setCreateTime(new Date()); + crmFile.setAttachType(CommonAttachTypeEnum.CUSTOMER_FILE.getAttachType()); + crmFile.setName(data.getStaffName()); + crmFileService.save(crmFile); + } + + } else { + // 存在 需要判断是否是当天的 如果不是当天的 false + String createTime = appCustomerArchivesDataVo.getCreateTime(); + Date date = DateUtils.dateStrConvertDate(createTime, "yyyy-MM-dd"); + boolean b = DateUtils.compTime(date, new Date()); + if (b) { + //如果是当天的 并新增 提交时间为当前提交时间 + List files = datum.getFiles(); + for (String file : files) { + //删除之前的附件并且删除服务器上的 + crmFileService.deleteFilesOss(file); + //新增 + if (file.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + file = file.replace(fileUploadComponent.getUrlPrefix(), ""); + } + CrmFile crmFile = new CrmFile(); + crmFile.setFilePath(file); + crmFile.setLinkSid(sid); + crmFile.setCreateBySid(data.getStaffSid()); + crmFile.setCreateTime(new Date()); + crmFile.setAttachType(CommonAttachTypeEnum.CUSTOMER_FILE.getAttachType()); + crmFile.setName(data.getStaffName()); + crmFileService.save(crmFile); + } + } else { + return rb.fail().setMsg("提示:身份证是在 " + appCustomerArchivesDataVo.getCreateTime() + "日上传的,仅支持当天进行修改删除"); + } + + } + } + } + } + return rb.success(); + } + + } \ No newline at end of file diff --git a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.java b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.java index 04207cb23a..280e99b381 100644 --- a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.java +++ b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.java @@ -103,4 +103,12 @@ public interface CrmCustomerTempMapper extends BaseMapper { * @return */ CrmCustomerTempVo selectByWx(@Param("orgSid") String orgSid, @Param("staffSid") String staffSid, @Param("weixin") String weixin); + + /** + * 获取客户基础信息 + * + * @param sid + * @return + */ + AppCrmCustomerTempBasicsDetailsVo customerTempDetailsBySid(String sid); } \ No newline at end of file diff --git a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.xml b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.xml index 2c4d332c68..be8f84654e 100644 --- a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.xml +++ b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.xml @@ -85,9 +85,18 @@ @@ -121,4 +130,30 @@ and staffSid = #{staffSid} and weixin = #{weixin} + + \ No newline at end of file diff --git a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempRest.java b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempRest.java index d735e27a9c..3c1bbc3835 100644 --- a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempRest.java +++ b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempRest.java @@ -201,4 +201,16 @@ public class CrmCustomerTempRest implements CrmCustomerTempFeign { return crmCustomerTempService.getAppCustomerTempDetailsBySid(sid); } + /** + * 获取客户基础信息 + * + * @param sid + * @return + */ + @Override + public ResultBean customerTempDetailsBySid(String sid) { + AppCrmCustomerTempBasicsDetailsVo vo = crmCustomerTempService.customerTempDetailsBySid(sid); + return new ResultBean().success().setData(vo); + } + } diff --git a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java index 00dd57f15b..0e6f9a257a 100644 --- a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java +++ b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java @@ -647,7 +647,7 @@ public class CrmCustomerTempService extends MybatisBaseService { List fetchByCustomerSid(String customerSid); - List selectVisitSid(String visitSid); - List selectCustomerSid(String customerSid); - AppCrmVehicledemandDetailsVo selectBySid(String sid); - - IPage getVisitListSid(IPage page, @Param("visitSid") String visitSid); @Update("update crm_vehicledemand set states = 0 where sid = #{sid}") int delBySid(String sid); @@ -60,8 +56,35 @@ public interface CrmVehicledemandMapper extends BaseMapper { List fetchAllByCustomerSid(String sid); @Select("select * from crm_vehicledemand where modelSid = #{modelSid} and customerSid = #{customerSid} and states = 1") - CrmVehicledemandVo fetchYXByModelSid(@Param("modelSid") String modelSid,@Param("customerSid") String customerSid); + CrmVehicledemandVo fetchYXByModelSid(@Param("modelSid") String modelSid, @Param("customerSid") String customerSid); @Select("select * from crm_vehicledemand where modelSid = #{modelSid} ORDER BY createTime DESC LIMIT 1") CrmVehicledemandVo fetchByModelSid(String modelSid); + + + /** + * 获取意向车型列表 + * + * @param page + * @param qw + * @return + */ + IPage getVisitListSid(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + + /** + * 初始化意向车型 + * + * @param intentionSid + * @return + */ + AppCrmVehicledemandDetailsVo selectBySid(@Param("intentionSid") String intentionSid); + + /** + * 意向车型详情 + * + * @param sid + * @return + */ + AppCrmVehicleDemandParticularsVo intendedModel(@Param("sid") String sid); } \ 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 c54809633d..765657d7ad 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 @@ -35,31 +35,6 @@ AND cvcd.states = 1 - - - + + + + + + + + + \ 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 4ed5654670..d900e3257a 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 @@ -1,10 +1,6 @@ package com.yxt.anrui.crm.biz.crmvehicledemand; -import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yxt.anrui.base.api.basevehiclemodel.AppVehicleModelBySidVo; -import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModelFeign; -import com.yxt.anrui.crm.api.crmcustomertemp.AppCrmCustomerTempVo; import com.yxt.anrui.crm.api.crmvehicledemand.*; import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.core.query.PagerQuery; @@ -91,21 +87,6 @@ public class CrmVehicledemandRest implements CrmVehicledemandFeign { return rb.success().setData(vo); } - @Override - public ResultBean> getVisitListSid(PagerQuery pagerQuery) { - PagerVo page = new PagerVo<>(); - IPage iPage = crmVehicledemandService.getVisitListSid(pagerQuery); - PagerVo pagerVo = PagerUtil.pageToVo(iPage, page); - return new ResultBean>().success().setData(pagerVo); - } - - - @Override - public ResultBean selectBySid(String sid) { - AppCrmVehicledemandDetailsVo vos = crmVehicledemandService.selectBySid(sid); - return new ResultBean().success().setData(vos); - } - @Override public ResultBean delBySid(String sid) { ResultBean rb = ResultBean.fireFail(); @@ -117,12 +98,6 @@ public class CrmVehicledemandRest implements CrmVehicledemandFeign { } - @Override - public ResultBean saveVisitDemands(AppCrmVehicledemandDto appCrmVehicledemandDto) { - ResultBean rb = ResultBean.fireFail(); - crmVehicledemandService.saveVisitDemands(appCrmVehicledemandDto); - return rb.success(); - } @Override public ResultBean getAppIntendedModel(String sid) { @@ -135,4 +110,68 @@ public class CrmVehicledemandRest implements CrmVehicledemandFeign { AppIntendedModelDetailedVo vo = crmVehicledemandService.getAppIntendedModelDetailed(sid); return new ResultBean().success().setData(vo); } + + /** + * 获取意向车型列表 + * + * @param pagerQuery + * @return + */ + @Override + public ResultBean> getVisitListSid(PagerQuery pagerQuery) { + PagerVo page = new PagerVo<>(); + IPage iPage = crmVehicledemandService.getVisitListSid(pagerQuery); + PagerVo pagerVo = PagerUtil.pageToVo(iPage, page); + return new ResultBean>().success().setData(pagerVo); + } + + /** + * 新增意向车型 + * + * @param appCrmVehicleDemandDto + * @return + */ + @Override + public ResultBean addVisitDemands(AppCrmVehicledemandDto appCrmVehicleDemandDto) { + ResultBean rb = ResultBean.fireFail(); + crmVehicledemandService.addVisitDemands(appCrmVehicleDemandDto); + return rb.success(); + } + + /** + * 初始化意向车型 + * + * @param intentionSid + * @return + */ + @Override + public ResultBean initVisitDemands(String intentionSid) { + AppCrmVehicledemandDetailsVo vo = crmVehicledemandService.initVisitDemands(intentionSid); + return new ResultBean().success().setData(vo); + } + + /** + * 修改意向车型 + * + * @param appCrmVehicleDemandUpdateDto + * @return + */ + @Override + public ResultBean saveVisitDemands(AppCrmVehicleDemandUpdateDto appCrmVehicleDemandUpdateDto) { + ResultBean rb = ResultBean.fireFail(); + crmVehicledemandService.saveVisitDemands(appCrmVehicleDemandUpdateDto); + return rb.success(); + } + + /** + * 意向车型详情 + * + * @param sid + * @return + */ + @Override + public ResultBean intendedModel(String sid) { + AppCrmVehicleDemandParticularsVo vo = crmVehicledemandService.intendedModel(sid); + return new ResultBean().success().setData(vo); + } } 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 3f991eb748..0545f1b3a1 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 @@ -4,6 +4,8 @@ import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModelFeign; +import com.yxt.anrui.base.api.basevehmodelconfig.AppModelVeDetailVo; +import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfigFeign; import com.yxt.anrui.crm.api.crmfindemand.CrmFindemand; import com.yxt.anrui.crm.api.crmfindemand.CrmFindemandDto; import com.yxt.anrui.crm.api.crmfindemand.CrmFindemandVo; @@ -19,10 +21,12 @@ import com.yxt.common.core.vo.PagerVo; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; +import java.util.UUID; /** * Project: anrui-crm(客户管理)
@@ -43,6 +47,9 @@ public class CrmVehicledemandService extends MybatisBaseService pagging = baseMapper.selectPageVo(page, qw); PagerVo p = PagerUtil.pageToVo(pagging, null); List records = pagging.getRecords(); - if (records.size() > 0){ + if (records.size() > 0) { for (CrmVehicledemandVo record : records) { String createTime = record.getCreateTime(); String date = createTime.substring(0, 10); @@ -149,37 +155,6 @@ public class CrmVehicledemandService extends MybatisBaseService getVisitListSid(PagerQuery pagerQuery) { - String visitSid = pagerQuery.getParams().getVisitSid(); - IPage page = PagerUtil.queryToPage(pagerQuery); - IPage iPage = baseMapper.getVisitListSid(page, visitSid); - return iPage; - } - - public int delBySid(String sid) { - return baseMapper.delBySid(sid); - } - - public ResultBean saveVisitDemands(AppCrmVehicledemandDto appCrmVehicledemandDto) { - ResultBean rb = ResultBean.fireFail(); - String states = "1"; - appCrmVehicledemandDto.setStates(states); - CrmVehicledemand entity = new CrmVehicledemand(); - appCrmVehicledemandDto.fillEntity(entity); - int count = baseMapper.insert(entity); - if (count > 0) { - return rb.success(); - } - return rb.fail(); - } - public AppIntendedModelVo getAppIntendedModel(String sid) { AppIntendedModelVo vo = baseMapper.getAppIntendedModel(sid); String customerSid = vo.getCustomerSid(); @@ -197,6 +172,10 @@ public class CrmVehicledemandService extends MybatisBaseService getVisitListSid(PagerQuery pagerQuery) { + IPage page = PagerUtil.queryToPage(pagerQuery); + QueryWrapper qw = createVisitListQueryWrapper(pagerQuery.getParams()); + IPage iPage = baseMapper.getVisitListSid(page, qw); + return iPage; + } + + private QueryWrapper createVisitListQueryWrapper(AppCrmVehicledemandQuery pagerQuery) { + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(pagerQuery.getVisitSid())) { + qw.eq("cv.sid", pagerQuery.getVisitSid()); + } + return qw; + } + + /** + * 手机端-新增意向车型(新) + * + * @param appCrmVehicleDemandDto + * @return + */ + @Transactional(rollbackFor = Exception.class) + public ResultBean addVisitDemands(AppCrmVehicledemandDto appCrmVehicleDemandDto) { + ResultBean rb = ResultBean.fireFail(); + String modelSid = appCrmVehicleDemandDto.getModelSid(); + String configSid = appCrmVehicleDemandDto.getConfigSid(); + String userSid = appCrmVehicleDemandDto.getUserSid(); + AppModelVeDetailVo data = baseVehmodelConfigFeign.getAppIntentionVehicleVo(modelSid, configSid, userSid).getData(); + CrmVehicledemand entity = new CrmVehicledemand(); + entity.setCustomerSid(UUID.randomUUID().toString()); + entity.setModelSid(modelSid); + entity.setModelName(data.getModelName()); + entity.setBrandSid(data.getBrandSid()); + entity.setBrandName(data.getBrandName()); + entity.setSaleReferencePrice(data.getSaleReferencePrice()); + appCrmVehicleDemandDto.fillEntity(entity); + baseMapper.insert(entity); + return rb.success(); + } + + /** + * 初始化意向车型 + * + * @param intentionSid + * @return + */ + public AppCrmVehicledemandDetailsVo initVisitDemands(String intentionSid) { + AppCrmVehicledemandDetailsVo appCrmVehicledemandDetailsVo = baseMapper.selectBySid(intentionSid); + return appCrmVehicledemandDetailsVo; + } + + /** + * 修改意向车型 + * + * @param appCrmVehicleDemandUpdateDto + */ + @Transactional(rollbackFor = Exception.class) + public ResultBean saveVisitDemands(AppCrmVehicleDemandUpdateDto appCrmVehicleDemandUpdateDto) { + ResultBean rb = ResultBean.fireFail(); + String sid = appCrmVehicleDemandUpdateDto.getIntentionSid(); + CrmVehicledemand entity = fetchBySid(sid); + entity.setPurchaseMethod(appCrmVehicleDemandUpdateDto.getPurchaseMethod()); + entity.setPurchaseMethodValue(appCrmVehicleDemandUpdateDto.getPurchaseMethodValue()); + entity.setRemarks(appCrmVehicleDemandUpdateDto.getRemarks()); + entity.setNumber(appCrmVehicleDemandUpdateDto.getNumber()); + entity.setEstimatedPickupDate(appCrmVehicleDemandUpdateDto.getDate()); + baseMapper.updateById(entity); + return rb.success(); + } + + /** + * 意向车型详情 + * + * @param sid + * @return + */ + public AppCrmVehicleDemandParticularsVo intendedModel(String sid) { + AppCrmVehicleDemandParticularsVo appCrmVehicleDemandParticularsVo = baseMapper.intendedModel(sid); + return appCrmVehicleDemandParticularsVo; + } } \ No newline at end of file diff --git a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvisit/CrmVisitRest.java b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvisit/CrmVisitRest.java index 92805d0776..dee12aa829 100644 --- a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvisit/CrmVisitRest.java +++ b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvisit/CrmVisitRest.java @@ -108,7 +108,7 @@ public class CrmVisitRest implements CrmVisitFeign { } //往跟进记录和车型需求关联表中添加 List crmVehicledemandVos = crmVehicledemandService.fetchByCustomerSid(customerSid); - if (crmVehicledemandVos.size() > 0){ + if (crmVehicledemandVos.size() > 0) { for (CrmVehicledemandVo crmVehicledemandVo : crmVehicledemandVos) { CrmVisitDemand crmVisitDemand = new CrmVisitDemand(); crmVisitDemand.setVisitSid(entity.getSid()); @@ -204,7 +204,8 @@ public class CrmVisitRest implements CrmVisitFeign { @Override public ResultBean getAppVisitListByCustomerSid(String userSid, String customerSid) { - return new ResultBean().success().setData(crmVisitService.getAppVisitListByCustomerSid(userSid, customerSid)); + AppCrmVisitListVo vo = crmVisitService.getAppVisitListByCustomerSid(userSid, customerSid); + return new ResultBean().success().setData(vo); } @Override @@ -223,8 +224,8 @@ public class CrmVisitRest implements CrmVisitFeign { } @Override - public ResultBean updateAppendixUrl(String s,String sid) { - crmVisitService.updateAppendixUrl(s,sid); + public ResultBean updateAppendixUrl(String s, String sid) { + crmVisitService.updateAppendixUrl(s, sid); return ResultBean.fireSuccess(); } }