Browse Source

销售订单-该客户的意向车型分页列表

master
dimengzhe 3 years ago
parent
commit
ec4557030b
  1. 10
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemandFeign.java
  2. 7
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemandFeignFallback.java
  3. 25
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/pc/PcCrmVehicleDemandQuery.java
  4. 27
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/pc/PcCrmVehicleDemandVo.java
  5. 10
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandMapper.java
  6. 46
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandMapper.xml
  7. 13
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandRest.java
  8. 38
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandService.java

10
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemandFeign.java

@ -1,5 +1,7 @@
package com.yxt.anrui.crm.api.crmvehicledemand;
import com.yxt.anrui.crm.api.crmvehicledemand.pc.PcCrmVehicleDemandQuery;
import com.yxt.anrui.crm.api.crmvehicledemand.pc.PcCrmVehicleDemandVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -134,4 +136,12 @@ public interface CrmVehicledemandFeign {
public ResultBean<AppIntendedModelDetailedVo> getAppIntendedModelDetailed(@PathVariable("sid") String sid);
/*******************************************PC端接口************************************************/
@ApiOperation("销售订单选择意向车型")
@ResponseBody
@PostMapping("/selectPagePc")
ResultBean<PagerVo<PcCrmVehicleDemandVo>> selectPagePc(@RequestBody PagerQuery<PcCrmVehicleDemandQuery> pcCrmVehicleDemandQuery);
}

7
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemandFeignFallback.java

@ -1,5 +1,7 @@
package com.yxt.anrui.crm.api.crmvehicledemand;
import com.yxt.anrui.crm.api.crmvehicledemand.pc.PcCrmVehicleDemandQuery;
import com.yxt.anrui.crm.api.crmvehicledemand.pc.PcCrmVehicleDemandVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -82,6 +84,11 @@ public class CrmVehicledemandFeignFallback implements CrmVehicledemandFeign {
return null;
}
@Override
public ResultBean<PagerVo<PcCrmVehicleDemandVo>> selectPagePc(PagerQuery<PcCrmVehicleDemandQuery> pcCrmVehicleDemandQuery) {
return null;
}
//app

25
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/pc/PcCrmVehicleDemandQuery.java

@ -0,0 +1,25 @@
package com.yxt.anrui.crm.api.crmvehicledemand.pc;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/4/28 11:12
* @Description
*/
@Data
public class PcCrmVehicleDemandQuery implements Query {
private static final long serialVersionUID = -8616059903982611656L;
@ApiModelProperty(value = "客户sid")
@NotBlank(message = "请选择客户")
private String customerSid;
@ApiModelProperty(value = "车型别名")
private String modelName;
@ApiModelProperty(value = "配置")
private String modelConfigName;
}

27
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/pc/PcCrmVehicleDemandVo.java

@ -0,0 +1,27 @@
package com.yxt.anrui.crm.api.crmvehicledemand.pc;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/4/28 11:12
* @Description
*/
@Data
public class PcCrmVehicleDemandVo implements Vo {
private static final long serialVersionUID = 247858460207879634L;
@ApiModelProperty(value = "车型sid")
private String modelSid;
@ApiModelProperty(value = "配置sid")
private String modelConfigSid;
@ApiModelProperty(value = "品牌")
private String brandName;
@ApiModelProperty(value = "车型别名")
private String modelAlias;
@ApiModelProperty(value = "常用配置")
private String config;
}

10
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandMapper.java

@ -6,6 +6,7 @@ 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.crmvehicledemand.*;
import com.yxt.anrui.crm.api.crmvehicledemand.pc.PcCrmVehicleDemandVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@ -87,4 +88,13 @@ public interface CrmVehicledemandMapper extends BaseMapper<CrmVehicledemand> {
* @return
*/
AppCrmVehicleDemandParticularsVo intendedModel(@Param("sid") String sid);
/**
* 销售订单选择意向车型分页列表
*
* @param page 分页
* @param qw 查询条件
* @return
*/
IPage<PcCrmVehicleDemandVo> selectPagePc(IPage<CrmVehicledemand> page, @Param(Constants.WRAPPER) QueryWrapper<CrmVehicledemand> qw);
}

46
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandMapper.xml

@ -4,13 +4,19 @@
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.crm.api.crmvehicledemand.CrmVehicledemandVo">
SELECT * FROM crm_vehicledemand
<where>${ew.sqlSegment}</where>
SELECT *
FROM crm_vehicledemand
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectListAllVo" resultType="com.yxt.anrui.crm.api.crmvehicledemand.CrmVehicledemandVo">
SELECT * FROM crm_vehicledemand
<where>${ew.sqlSegment}</where>
SELECT *
FROM crm_vehicledemand
<where>
${ew.sqlSegment}
</where>
</select>
<select id="fetchByCustomerSid" resultType="com.yxt.anrui.crm.api.crmvehicledemand.CrmVehicledemandVo">
@ -64,18 +70,18 @@
<!--获取意向车型列表-->
<select id="getVisitListSid" resultType="com.yxt.anrui.crm.api.crmvehicledemand.AppCrmVehicledemandVo">
SELECT
DISTINCT cvcd.sid,
cvcd.modelName,
cvcd.brandName,
cvcd.createTime,
cvcd.saleReferencePrice 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
<where>${ew.sqlSegment}</where>
SELECT DISTINCT cvcd.sid,
cvcd.modelName,
cvcd.brandName,
cvcd.createTime,
cvcd.saleReferencePrice 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
<where>
${ew.sqlSegment}
</where>
</select>
<!--初始化意向车型-->
@ -112,4 +118,12 @@
WHERE cv.sid = #{sid}
</select>
<select id="selectPagePc" resultType="com.yxt.anrui.crm.api.crmvehicledemand.pc.PcCrmVehicleDemandVo">
select cv.modelSid,
cv.comonConfigSid,
cv.modelName modelAlias,
cv.sketChconfiguration config,
cv.brandName
from crm_vehicledemand cv ${ew.customSqlSegment}
</select>
</mapper>

13
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandRest.java

@ -2,13 +2,17 @@ package com.yxt.anrui.crm.biz.crmvehicledemand;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.crm.api.crmvehicledemand.*;
import com.yxt.anrui.crm.api.crmvehicledemand.pc.PcCrmVehicleDemandQuery;
import com.yxt.anrui.crm.api.crmvehicledemand.pc.PcCrmVehicleDemandVo;
import com.yxt.common.base.utils.PagerUtil;
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 org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@ -174,4 +178,11 @@ public class CrmVehicledemandRest implements CrmVehicledemandFeign {
AppCrmVehicleDemandParticularsVo vo = crmVehicledemandService.intendedModel(sid);
return new ResultBean<AppCrmVehicleDemandParticularsVo>().success().setData(vo);
}
@Override
public ResultBean<PagerVo<PcCrmVehicleDemandVo>> selectPagePc(PagerQuery<PcCrmVehicleDemandQuery> pcCrmVehicleDemandQuery) {
ResultBean<PagerVo<PcCrmVehicleDemandVo>> rb = ResultBean.fireFail();
PagerVo<PcCrmVehicleDemandVo> pv = crmVehicledemandService.selectPagePc(pcCrmVehicleDemandQuery);
return rb.success().setData(pv);
}
}

38
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandService.java

@ -10,6 +10,8 @@ import com.yxt.anrui.crm.api.crmfindemand.CrmFindemand;
import com.yxt.anrui.crm.api.crmfindemand.CrmFindemandDto;
import com.yxt.anrui.crm.api.crmfindemand.CrmFindemandVo;
import com.yxt.anrui.crm.api.crmvehicledemand.*;
import com.yxt.anrui.crm.api.crmvehicledemand.pc.PcCrmVehicleDemandQuery;
import com.yxt.anrui.crm.api.crmvehicledemand.pc.PcCrmVehicleDemandVo;
import com.yxt.anrui.crm.api.crmvehiclefinance.AppCrmVehicleFinanceVo;
import com.yxt.anrui.crm.biz.crmfindemand.CrmFindemandService;
import com.yxt.anrui.crm.biz.crmvehiclefinance.CrmVehicleFinanceService;
@ -362,4 +364,40 @@ public class CrmVehicledemandService extends MybatisBaseService<CrmVehicledemand
AppCrmVehicleDemandParticularsVo appCrmVehicleDemandParticularsVo = baseMapper.intendedModel(sid);
return appCrmVehicleDemandParticularsVo;
}
/**
* 销售订单-查询该客户的意向车型
*
* @param pcCrmVehicleDemandQuery
* @return
*/
public PagerVo<PcCrmVehicleDemandVo> selectPagePc(PagerQuery<PcCrmVehicleDemandQuery> pcCrmVehicleDemandQuery) {
PcCrmVehicleDemandQuery query = pcCrmVehicleDemandQuery.getParams();
QueryWrapper<CrmVehicledemand> qw = createPagePcWrapper(query);
IPage<CrmVehicledemand> page = PagerUtil.queryToPage(pcCrmVehicleDemandQuery);
IPage<PcCrmVehicleDemandVo> pagging = baseMapper.selectPagePc(page, qw);
PagerVo<PcCrmVehicleDemandVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
/**
* 构造查询条件
*
* @param query 查询条件
* @return
*/
private QueryWrapper<CrmVehicledemand> createPagePcWrapper(PcCrmVehicleDemandQuery query) {
QueryWrapper<CrmVehicledemand> qw = new QueryWrapper<>();
if (query != null) {
if (StringUtils.isNotBlank(query.getModelName())) {
qw.like("cv.modelName", query.getModelName());
}
if (StringUtils.isNotBlank(query.getModelConfigName())) {
qw.like("cv.sketChconfiguration", query.getModelConfigName());
}
qw.eq("cv.customerSid", query.getCustomerSid());
}
return qw;
}
}
Loading…
Cancel
Save