From 3dc60b28cf3650d306e153aa2ccb392614b7b04c Mon Sep 17 00:00:00 2001 From: fanzongzhe <285169773@qq.com> Date: Wed, 24 Jul 2024 17:53:59 +0800 Subject: [PATCH] =?UTF-8?q?=E9=94=80=E5=94=AE=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/yxt/customer/CustomerApplication.java | 2 +- .../apiadmin/CrmCustomerFileRest.java | 87 +++++++ .../apiadmin/CrmCustomerTempRest.java | 66 +++++ .../yxt/customer/apiadmin/CrmFileRest.java | 114 +++++++++ .../yxt/customer/apiadmin/CrmVisitRest.java | 42 +++ .../biz/crmcustomer/CrmCustomerTemp.java | 163 ++++++++++++ .../crmcustomer/CrmCustomerTempMapper.java | 32 +++ .../biz/crmcustomer/CrmCustomerTempMapper.xml | 14 + .../crmcustomer/CrmCustomerTempService.java | 68 +++++ .../biz/crmcustomer/SalesCustomerQuery.java | 28 ++ .../biz/crmcustomer/SalesCustomerVo.java | 59 +++++ .../AppCrmCustomerTempArchivesDto.java | 21 ++ .../AppCrmCustomerTempArchivesVo.java | 19 ++ .../AppCustomerArchivesDataDto.java | 26 ++ .../AppCustomerArchivesDataVo.java | 24 ++ .../biz/crmcustomerfile/CrmCustomerFile.java | 67 +++++ .../crmcustomerfile/CrmCustomerFileDto.java | 66 +++++ .../CrmCustomerFileListVo.java | 46 ++++ .../CrmCustomerFileMapper.java | 84 ++++++ .../crmcustomerfile/CrmCustomerFileMapper.xml | 70 +++++ .../crmcustomerfile/CrmCustomerFileQuery.java | 58 +++++ .../CrmCustomerFileService.java | 64 +++++ .../crmcustomerfile/CrmCustomerFileVo.java | 64 +++++ .../com/yxt/customer/biz/crmfile/CrmFile.java | 158 ++++++++++++ .../biz/crmfile/CrmFileAttachTypeEnum.java | 37 +++ .../biz/crmfile/CrmFileDetailsVo.java | 63 +++++ .../yxt/customer/biz/crmfile/CrmFileDto.java | 65 +++++ .../customer/biz/crmfile/CrmFileListDto.java | 39 +++ .../customer/biz/crmfile/CrmFileMapper.java | 78 ++++++ .../customer/biz/crmfile/CrmFileMapper.xml | 57 +++++ .../customer/biz/crmfile/CrmFileQuery.java | 57 +++++ .../customer/biz/crmfile/CrmFileService.java | 240 ++++++++++++++++++ .../yxt/customer/biz/crmfile/CrmFileVo.java | 60 +++++ .../customer/biz/crmvisit/AppCrmVisitDto.java | 69 +++++ .../biz/crmvisit/AppCrmVisitListVo.java | 48 ++++ .../biz/crmvisit/AppCrmVisitQuery.java | 80 ++++++ .../biz/crmvisit/AppCrmVisitSelListVo.java | 68 +++++ .../crmvisit/AppCrmVisitThumbDetailsVo.java | 36 +++ .../biz/crmvisit/AppCrmVisitThumbVo.java | 40 +++ .../customer/biz/crmvisit/AppCrmVisitVo.java | 93 +++++++ .../biz/crmvisit/CrmCommonAppendixVo.java | 54 ++++ .../yxt/customer/biz/crmvisit/CrmVisit.java | 98 +++++++ .../customer/biz/crmvisit/CrmVisitDto.java | 86 +++++++ .../customer/biz/crmvisit/CrmVisitMapper.java | 71 ++++++ .../customer/biz/crmvisit/CrmVisitMapper.xml | 119 +++++++++ .../customer/biz/crmvisit/CrmVisitQuery.java | 43 ++++ .../biz/crmvisit/CrmVisitService.java | 22 ++ .../yxt/customer/biz/crmvisit/CrmVisitVo.java | 104 ++++++++ .../biz/crmvisit/PcCrmVisitAppendixDto.java | 22 ++ src/main/resources/application-pro.yml | 2 +- src/main/resources/application.yml | 2 +- 51 files changed, 3192 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/yxt/customer/apiadmin/CrmCustomerFileRest.java create mode 100644 src/main/java/com/yxt/customer/apiadmin/CrmCustomerTempRest.java create mode 100644 src/main/java/com/yxt/customer/apiadmin/CrmFileRest.java create mode 100644 src/main/java/com/yxt/customer/apiadmin/CrmVisitRest.java create mode 100644 src/main/java/com/yxt/customer/biz/crmcustomer/CrmCustomerTemp.java create mode 100644 src/main/java/com/yxt/customer/biz/crmcustomer/CrmCustomerTempMapper.java create mode 100644 src/main/java/com/yxt/customer/biz/crmcustomer/CrmCustomerTempMapper.xml create mode 100644 src/main/java/com/yxt/customer/biz/crmcustomer/CrmCustomerTempService.java create mode 100644 src/main/java/com/yxt/customer/biz/crmcustomer/SalesCustomerQuery.java create mode 100644 src/main/java/com/yxt/customer/biz/crmcustomer/SalesCustomerVo.java create mode 100644 src/main/java/com/yxt/customer/biz/crmcustomerfile/AppCrmCustomerTempArchivesDto.java create mode 100644 src/main/java/com/yxt/customer/biz/crmcustomerfile/AppCrmCustomerTempArchivesVo.java create mode 100644 src/main/java/com/yxt/customer/biz/crmcustomerfile/AppCustomerArchivesDataDto.java create mode 100644 src/main/java/com/yxt/customer/biz/crmcustomerfile/AppCustomerArchivesDataVo.java create mode 100644 src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFile.java create mode 100644 src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFileDto.java create mode 100644 src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFileListVo.java create mode 100644 src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFileMapper.java create mode 100644 src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFileMapper.xml create mode 100644 src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFileQuery.java create mode 100644 src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFileService.java create mode 100644 src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFileVo.java create mode 100644 src/main/java/com/yxt/customer/biz/crmfile/CrmFile.java create mode 100644 src/main/java/com/yxt/customer/biz/crmfile/CrmFileAttachTypeEnum.java create mode 100644 src/main/java/com/yxt/customer/biz/crmfile/CrmFileDetailsVo.java create mode 100644 src/main/java/com/yxt/customer/biz/crmfile/CrmFileDto.java create mode 100644 src/main/java/com/yxt/customer/biz/crmfile/CrmFileListDto.java create mode 100644 src/main/java/com/yxt/customer/biz/crmfile/CrmFileMapper.java create mode 100644 src/main/java/com/yxt/customer/biz/crmfile/CrmFileMapper.xml create mode 100644 src/main/java/com/yxt/customer/biz/crmfile/CrmFileQuery.java create mode 100644 src/main/java/com/yxt/customer/biz/crmfile/CrmFileService.java create mode 100644 src/main/java/com/yxt/customer/biz/crmfile/CrmFileVo.java create mode 100644 src/main/java/com/yxt/customer/biz/crmvisit/AppCrmVisitDto.java create mode 100644 src/main/java/com/yxt/customer/biz/crmvisit/AppCrmVisitListVo.java create mode 100644 src/main/java/com/yxt/customer/biz/crmvisit/AppCrmVisitQuery.java create mode 100644 src/main/java/com/yxt/customer/biz/crmvisit/AppCrmVisitSelListVo.java create mode 100644 src/main/java/com/yxt/customer/biz/crmvisit/AppCrmVisitThumbDetailsVo.java create mode 100644 src/main/java/com/yxt/customer/biz/crmvisit/AppCrmVisitThumbVo.java create mode 100644 src/main/java/com/yxt/customer/biz/crmvisit/AppCrmVisitVo.java create mode 100644 src/main/java/com/yxt/customer/biz/crmvisit/CrmCommonAppendixVo.java create mode 100644 src/main/java/com/yxt/customer/biz/crmvisit/CrmVisit.java create mode 100644 src/main/java/com/yxt/customer/biz/crmvisit/CrmVisitDto.java create mode 100644 src/main/java/com/yxt/customer/biz/crmvisit/CrmVisitMapper.java create mode 100644 src/main/java/com/yxt/customer/biz/crmvisit/CrmVisitMapper.xml create mode 100644 src/main/java/com/yxt/customer/biz/crmvisit/CrmVisitQuery.java create mode 100644 src/main/java/com/yxt/customer/biz/crmvisit/CrmVisitService.java create mode 100644 src/main/java/com/yxt/customer/biz/crmvisit/CrmVisitVo.java create mode 100644 src/main/java/com/yxt/customer/biz/crmvisit/PcCrmVisitAppendixDto.java diff --git a/src/main/java/com/yxt/customer/CustomerApplication.java b/src/main/java/com/yxt/customer/CustomerApplication.java index e02fca5..44b332f 100644 --- a/src/main/java/com/yxt/customer/CustomerApplication.java +++ b/src/main/java/com/yxt/customer/CustomerApplication.java @@ -12,7 +12,7 @@ import org.springframework.scheduling.annotation.EnableScheduling; @SpringBootApplication(scanBasePackages = { "com.yxt.customer.config", "com.yxt.common.base.config", - "com.yxt.goods" + "com.yxt.customer" }) // 启用自带定时任务 @EnableScheduling diff --git a/src/main/java/com/yxt/customer/apiadmin/CrmCustomerFileRest.java b/src/main/java/com/yxt/customer/apiadmin/CrmCustomerFileRest.java new file mode 100644 index 0000000..99ba42b --- /dev/null +++ b/src/main/java/com/yxt/customer/apiadmin/CrmCustomerFileRest.java @@ -0,0 +1,87 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.customer.apiadmin; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.customer.biz.crmcustomerfile.*; +import com.yxt.customer.biz.crmfile.CrmFileDto; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +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; + +/** + * Project: anrui-crm(客户)
+ * File: CrmCustomerFileFeignFallback.java
+ * Class: com.yxt.anrui.crm.biz.crmcustomerfile.CrmCustomerFileRest
+ * Description: 客户资料初始化表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-02-26 14:10:17
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "客户资料初始化表") +@RestController("com.yxt.anrui.crm.biz.crmcustomerfile.CrmCustomerFileRest") +@RequestMapping("v1/crmcustomerfile") +public class CrmCustomerFileRest { + + @Autowired + private CrmCustomerFileService crmCustomerFileService; + + +// public ResultBean> listPage(@RequestBody PagerQuery pq) { +// ResultBean rb = ResultBean.fireFail(); +// PagerVo pv = crmCustomerFileService.listPageVo(pq); +// return rb.success().setData(pv); +// } +// +// +// public ResultBean saveCustomerFile(String staffName, String staffSid, String sid, List crmFileDtos) { +// return crmCustomerFileService.saveCustomerFile(staffName, staffSid, sid, crmFileDtos); +// } +// +// +// public ResultBean fetchFileListBySid(String sid) { +// return crmCustomerFileService.fetchFileListBySid(sid); +// } +// +// +// public ResultBean> selectIdImageByCustomerSid(String customerSid) { +// ResultBean rb = ResultBean.fireFail(); +// List crmCustomerFiles = crmCustomerFileService.selectIdImageByCustomerSid(customerSid); +// return rb.success().setData(crmCustomerFiles); +// } + + +} diff --git a/src/main/java/com/yxt/customer/apiadmin/CrmCustomerTempRest.java b/src/main/java/com/yxt/customer/apiadmin/CrmCustomerTempRest.java new file mode 100644 index 0000000..bedafd6 --- /dev/null +++ b/src/main/java/com/yxt/customer/apiadmin/CrmCustomerTempRest.java @@ -0,0 +1,66 @@ +package com.yxt.customer.apiadmin; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.utils.ExportExcelUtils; +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 com.yxt.customer.biz.crmcustomer.*; +import com.yxt.customer.biz.crmcustomerfile.AppCrmCustomerTempArchivesDto; +import com.yxt.customer.biz.crmcustomerfile.AppCrmCustomerTempArchivesVo; +import com.yxt.customer.biz.crmcustomerfile.CrmCustomerFileService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cloud.openfeign.SpringQueryMap; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.util.List; + +/** + * Project: anrui-crm(客户管理)
+ * File: CrmCustomerTempFeignFallback.java
+ * Class: com.yxt.anrui.crm.biz.crmcustomertemp.CrmCustomerTempRest
+ * Description: 潜在客户信息.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-01-12 11:21:17
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "潜在客户信息") +@RestController +@RequestMapping("v1/crmcustomertemp") +public class CrmCustomerTempRest { + + @Autowired + private CrmCustomerTempService crmCustomerTempService; + + @Autowired + private CrmCustomerFileService crmCustomerFileService; + + @Autowired + private HttpServletResponse response; + + + + @ApiOperation("销售订单选择客户") + @PostMapping("/chooseCustomerList") + public ResultBean> chooseCustomerList(@RequestBody PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = crmCustomerTempService.chooseCustomerList(pq); + return rb.success().setData(pv); + } + + + + +} diff --git a/src/main/java/com/yxt/customer/apiadmin/CrmFileRest.java b/src/main/java/com/yxt/customer/apiadmin/CrmFileRest.java new file mode 100644 index 0000000..c803909 --- /dev/null +++ b/src/main/java/com/yxt/customer/apiadmin/CrmFileRest.java @@ -0,0 +1,114 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.customer.apiadmin; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +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 com.yxt.customer.biz.crmfile.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * Project: anrui-crm(客户信息)
+ * File: CrmFileFeignFallback.java
+ * Class: com.yxt.anrui.crm.biz.crmfile.CrmFileRest
+ * Description: 客户资料表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-01-24 09:15:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "客户资料表") +@RestController("com.yxt.anrui.crm.biz.crmfile.CrmFileRest") +@RequestMapping("v1/crmfile") +public class CrmFileRest { + + @Autowired + private CrmFileService crmFileService; + + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + IPage page = crmFileService.listPageVo(pq); + PagerVo pv = new PagerVo<>(); + PagerVo pv1 = PagerUtil.pageToVo(page, pv); + return rb.success().setData(pv1); + } + + + @ApiOperation("新增保存") + @PostMapping("/save") + public ResultBean save(@RequestBody CrmFileDto dto) { + ResultBean rb = ResultBean.fireFail(); + crmFileService.saveCrmFile(dto); + return rb.success(); + } + + + @ApiOperation("修改保存") + @PostMapping("/update/{sid}") + public ResultBean update(@RequestBody CrmFileDto dto, @PathVariable("sid") String sid) { + ResultBean rb = ResultBean.fireFail(); + crmFileService.updateCrmFile(dto,sid); + return rb.success(); + } + + + @ApiOperation("根据sid批量删除") + @PostMapping("/delBySids") + public ResultBean delBySids(@RequestBody String[] sids) { + ResultBean rb = ResultBean.fireFail(); + crmFileService.delBySids(sids); + return rb.success(); + } + + + @ApiOperation("根据SID获取一条记录") + @GetMapping("/fetchBySid/{sid}") + public ResultBean fetchBySid(@PathVariable("sid") String sid) { + ResultBean rb = ResultBean.fireFail(); + CrmFile vo = crmFileService.fetchBySid(sid); + return rb.success().setData(vo); + } + + + @ApiOperation("根据SID获取一条记录") + @PostMapping("/deleteFilesOss") + public ResultBean deleteFilesOss(@RequestParam("fullPath") String fullPath) { + return crmFileService.deleteFilesOss(fullPath); + } +} diff --git a/src/main/java/com/yxt/customer/apiadmin/CrmVisitRest.java b/src/main/java/com/yxt/customer/apiadmin/CrmVisitRest.java new file mode 100644 index 0000000..7115d73 --- /dev/null +++ b/src/main/java/com/yxt/customer/apiadmin/CrmVisitRest.java @@ -0,0 +1,42 @@ +package com.yxt.customer.apiadmin; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.utils.DateUtils; +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 com.yxt.customer.biz.crmvisit.*; +import io.swagger.annotations.Api; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Project: anrui-crm(客户管理)
+ * File: CrmVisitFeignFallback.java
+ * Class: com.yxt.anrui.crm.biz.crmvisit.CrmVisitRest
+ * Description: 客户跟进记录.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-09-28 09:57:14
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "客户跟进记录") +@RestController +@RequestMapping("v1/crmvisit") +public class CrmVisitRest { + +} diff --git a/src/main/java/com/yxt/customer/biz/crmcustomer/CrmCustomerTemp.java b/src/main/java/com/yxt/customer/biz/crmcustomer/CrmCustomerTemp.java new file mode 100644 index 0000000..0d269c8 --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmcustomer/CrmCustomerTemp.java @@ -0,0 +1,163 @@ +package com.yxt.customer.biz.crmcustomer; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-crm(客户管理)
+ * File: CrmCustomerTemp.java
+ * Class: com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTemp
+ * Description: 潜在客户信息.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-01-12 11:21:16
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "潜在客户信息", description = "潜在客户信息") +@TableName("crm_customer_temp") +@Data +public class CrmCustomerTemp extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty("客户编号(部门编码+客户类型(1位,0个人,1企业)+部门内部流水号(6位))") + private String customerNo; + + @ApiModelProperty("客户类型(自然人/法人)") + private String customerType; + + @ApiModelProperty("客户类型key") + private String customerTypeKey; + + @ApiModelProperty("客户分类(个人:司机/个体老板/其他。企业:企业型客户/一级经销商/二级经销商/终端物流客户)") + private String customerClass; + + @ApiModelProperty("客户分类key") + private String customerClassKey; + + @ApiModelProperty("客户来源(公司资源/自主开发/交接客户/转介绍客户/集团内销)") + private String source; + + @ApiModelProperty("客户来源key") + private String sourceKey; + + @ApiModelProperty("客户级别(意向客户/准客户/成交客户/集团内销/黑名单客户)") + private String level; + + @ApiModelProperty("客户级别key") + private String levelKey; + + @ApiModelProperty("客户名称") + private String name; + + @ApiModelProperty("证件类型key") + private String certificateTypeKey; + + @ApiModelProperty("证件类型(个人为身份证/企业为营业执照)") + private String certificateType; + + @ApiModelProperty("证件号码(个人为身份证号/企业为统一社会信用代码)") + private String IDNumber; + + @ApiModelProperty("证件有效期") + private String endDate; + + @ApiModelProperty("行政区划代码(省)") + private String address_province; + + @ApiModelProperty("行政区划代码(市)") + private String address_city; + + @ApiModelProperty("行政区划代码(县)") + private String address_county; + + @ApiModelProperty("省") + private String province; + + @ApiModelProperty("市") + private String city; + + @ApiModelProperty("县") + private String county; + + @ApiModelProperty("详细地址") + private String address; + + @ApiModelProperty("邮编") + private String zipCode; + + @ApiModelProperty("电子邮箱") + private String e_mail; + + @ApiModelProperty("联系人") + private String contacts; + + @ApiModelProperty("联系电话") + private String mobile; + + @ApiModelProperty("紧急联系电话") + private String emergencyContact; + + @ApiModelProperty("紧急联系电话") + private String emergencyMobile; + + @ApiModelProperty("微信号码") + private String weixin; + + @ApiModelProperty("业务人员sid") + private String staffSid; + + @ApiModelProperty("创建组织sid") + private String createOrgSid; + + @ApiModelProperty("创建部门sid") + private String useOrgSid; + + @ApiModelProperty("性别") + private String sex; + + @ApiModelProperty("性别key") + private String sexKey; + + @ApiModelProperty("生日") + private String birthday; + + @ApiModelProperty("所在公司名称") + private String companyName; + + @ApiModelProperty("跟进状态key") + private String follow_state_key; + + @ApiModelProperty("跟进状态") + private String follow_state; + + @ApiModelProperty("是否开启提醒key(1开启,0不开启)") + private String isOnRemindkey; + + @ApiModelProperty("是否开启提醒(1开启,0不开启)") + private String isOnRemind; + + @ApiModelProperty("提醒日期") + private String remind_day; + + @ApiModelProperty("提醒备注") + private String remind_remark; + + @ApiModelProperty("客户头像") + private String customerPhoto; + + @ApiModelProperty("见面方式key") + private String visitWayKey; + + @ApiModelProperty("见面方式(到店/电话/拜访)") + private String visitWay; + + @ApiModelProperty("证件地址") + private String certificateAddress; +} diff --git a/src/main/java/com/yxt/customer/biz/crmcustomer/CrmCustomerTempMapper.java b/src/main/java/com/yxt/customer/biz/crmcustomer/CrmCustomerTempMapper.java new file mode 100644 index 0000000..57ae72f --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmcustomer/CrmCustomerTempMapper.java @@ -0,0 +1,32 @@ +package com.yxt.customer.biz.crmcustomer; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; +import java.util.Map; + +/** + * Project: anrui-crm(客户管理)
+ * File: CrmCustomerTempMapper.java
+ * Class: com.yxt.anrui.crm.biz.crmcustomertemp.CrmCustomerTempMapper
+ * Description: 潜在客户信息.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-01-12 11:21:17
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface CrmCustomerTempMapper extends BaseMapper { + + IPage chooseCustomerList(IPage page, @Param(Constants.WRAPPER)QueryWrapper qw); +} diff --git a/src/main/java/com/yxt/customer/biz/crmcustomer/CrmCustomerTempMapper.xml b/src/main/java/com/yxt/customer/biz/crmcustomer/CrmCustomerTempMapper.xml new file mode 100644 index 0000000..74fdd4b --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmcustomer/CrmCustomerTempMapper.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/src/main/java/com/yxt/customer/biz/crmcustomer/CrmCustomerTempService.java b/src/main/java/com/yxt/customer/biz/crmcustomer/CrmCustomerTempService.java new file mode 100644 index 0000000..2586be1 --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmcustomer/CrmCustomerTempService.java @@ -0,0 +1,68 @@ +package com.yxt.customer.biz.crmcustomer; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.HanZiConverterPinYin; +import com.yxt.common.base.utils.HttpStatusEnum; +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 org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; + +/** + * Project: anrui-crm(客户管理)
+ * File: CrmCustomerTempService.java
+ * Class: com.yxt.anrui.crm.biz.crmcustomertemp.CrmCustomerTempService
+ * Description: 潜在客户信息 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-01-12 11:21:17
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class CrmCustomerTempService extends MybatisBaseService { + public static final Logger logger = LoggerFactory.getLogger(CrmCustomerTempService.class); + + @Autowired + private FileUploadComponent fileUploadComponent; + + + public PagerVo chooseCustomerList(PagerQuery pq) { + SalesCustomerQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getName())) { + qw.like("a.name", query.getName()); + } + if (StringUtils.isNotBlank(query.getCustomerNo())) { + qw.like("a.customerNo", query.getCustomerNo()); + } + if (StringUtils.isNotBlank(query.getMobile())) { + qw.like("a.mobile", query.getMobile()); + } + if (StringUtils.isNotBlank(query.getCreateOrgSid())) { + qw.eq("a.createOrgSid", query.getCreateOrgSid()); + } + qw.eq("a.isDelete", 0); + qw.orderByDesc("a.createTime"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.chooseCustomerList(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + + } +} diff --git a/src/main/java/com/yxt/customer/biz/crmcustomer/SalesCustomerQuery.java b/src/main/java/com/yxt/customer/biz/crmcustomer/SalesCustomerQuery.java new file mode 100644 index 0000000..59a3cf6 --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmcustomer/SalesCustomerQuery.java @@ -0,0 +1,28 @@ +package com.yxt.customer.biz.crmcustomer; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/7/24 15:17 + */ +@Data +public class SalesCustomerQuery implements Query { + + private String createOrgSid; + /** + * 客户编码 + */ + private String customerNo; + /** + * 手机号 + */ + private String mobile; + /** + * 客户名称 + */ + private String name; + +} diff --git a/src/main/java/com/yxt/customer/biz/crmcustomer/SalesCustomerVo.java b/src/main/java/com/yxt/customer/biz/crmcustomer/SalesCustomerVo.java new file mode 100644 index 0000000..81a9fb2 --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmcustomer/SalesCustomerVo.java @@ -0,0 +1,59 @@ +package com.yxt.customer.biz.crmcustomer; + +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/7/24 15:18 + */ +@Data +public class SalesCustomerVo { + + /** + * 地址 + */ + private String address; + /** + * 昵称 + */ + private String buyserNickname; + /** + * 市 + */ + private String city; + /** + * 县 + */ + private String county; + /** + * 客户编码 + */ + private String customerNo; + /** + * 手机 + */ + private String mobile; + /** + * 客户名称 + */ + private String name; + /** + * 平台 + */ + private String originalPlat; + /** + * 固话 + */ + private String phone; + /** + * 省 + */ + private String province; + private String sid; + /** + * 街道 + */ + private String street; + +} diff --git a/src/main/java/com/yxt/customer/biz/crmcustomerfile/AppCrmCustomerTempArchivesDto.java b/src/main/java/com/yxt/customer/biz/crmcustomerfile/AppCrmCustomerTempArchivesDto.java new file mode 100644 index 0000000..388104a --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmcustomerfile/AppCrmCustomerTempArchivesDto.java @@ -0,0 +1,21 @@ +package com.yxt.customer.biz.crmcustomerfile; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class AppCrmCustomerTempArchivesDto implements Dto { + + @ApiModelProperty("客户sid") + private String customerSid; + + @ApiModelProperty("客户档案数据") + private List data; + + @ApiModelProperty("用户sid") + private String userSid; + +} diff --git a/src/main/java/com/yxt/customer/biz/crmcustomerfile/AppCrmCustomerTempArchivesVo.java b/src/main/java/com/yxt/customer/biz/crmcustomerfile/AppCrmCustomerTempArchivesVo.java new file mode 100644 index 0000000..507c4ec --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmcustomerfile/AppCrmCustomerTempArchivesVo.java @@ -0,0 +1,19 @@ +package com.yxt.customer.biz.crmcustomerfile; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.List; + + +@Data +public class AppCrmCustomerTempArchivesVo implements Vo { + + private String customerSid; + + private List data; + + private String userSid; + + +} diff --git a/src/main/java/com/yxt/customer/biz/crmcustomerfile/AppCustomerArchivesDataDto.java b/src/main/java/com/yxt/customer/biz/crmcustomerfile/AppCustomerArchivesDataDto.java new file mode 100644 index 0000000..110c6ac --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmcustomerfile/AppCustomerArchivesDataDto.java @@ -0,0 +1,26 @@ +package com.yxt.customer.biz.crmcustomerfile; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class AppCustomerArchivesDataDto implements Dto { + + @ApiModelProperty("是否修改了图片,是 需要验证是否可以提交") + private boolean change; + + @ApiModelProperty("文件的key") + private String key; + + @ApiModelProperty("文件的类型") + private String title; + + @ApiModelProperty("图片的集合") + private List files; + + @ApiModelProperty("图片上传的时间") + private String lastUploadTime; +} diff --git a/src/main/java/com/yxt/customer/biz/crmcustomerfile/AppCustomerArchivesDataVo.java b/src/main/java/com/yxt/customer/biz/crmcustomerfile/AppCustomerArchivesDataVo.java new file mode 100644 index 0000000..33a0791 --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmcustomerfile/AppCustomerArchivesDataVo.java @@ -0,0 +1,24 @@ +package com.yxt.customer.biz.crmcustomerfile; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class AppCustomerArchivesDataVo implements Vo { + + @ApiModelProperty("附件关联sid") + private String sid; + @ApiModelProperty("文件名称") + private String title; + @ApiModelProperty("类型") + private String key; + @ApiModelProperty("附件list") + private List files; + @ApiModelProperty("最后上传时间") + private String createTime; + @ApiModelProperty("最后上传时间戳") + private String lastUploadTime; +} diff --git a/src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFile.java b/src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFile.java new file mode 100644 index 0000000..51ca666 --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFile.java @@ -0,0 +1,67 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.customer.biz.crmcustomerfile; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-crm(客户)
+ * File: CrmCustomerFile.java
+ * Class: com.yxt.anrui.crm.api.crmcustomerfile.CrmCustomerFile
+ * Description: 客户资料初始化表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-02-26 14:10:17
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "客户资料初始化表", description = "客户资料初始化表") +@TableName("crm_customer_file") +@Data +public class CrmCustomerFile extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("资料类别") + private String dataType; + @ApiModelProperty("文件名称") + private String fileName; + @ApiModelProperty("文件格式") + private String fileType; + @ApiModelProperty("关联业务对象sid") + private String linkSid; + @ApiModelProperty("文件类别") + private String attachType; + @ApiModelProperty("排序号") + private Integer sortNo; +// @ApiModelProperty("示例") +// private String sample; +} diff --git a/src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFileDto.java b/src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFileDto.java new file mode 100644 index 0000000..9219a48 --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFileDto.java @@ -0,0 +1,66 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.customer.biz.crmcustomerfile; + + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-crm(客户)
+ * File: CrmCustomerFileDto.java
+ * Class: com.yxt.anrui.crm.api.crmcustomerfile.CrmCustomerFileDto
+ * Description: 客户资料初始化表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-02-26 14:10:17
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "客户资料初始化表 数据传输对象", description = "客户资料初始化表 数据传输对象") +@Data +public class CrmCustomerFileDto implements Dto { + + private static final long serialVersionUID = 4689998978239910797L; + @ApiModelProperty("资料类别") + private String dataType; + @ApiModelProperty("文件名称") + private String fileName; + @ApiModelProperty("文件格式") + private String fileType; + @ApiModelProperty("关联业务对象sid") + private String linkSid; + @ApiModelProperty("文件类别") + private String attachType; + @ApiModelProperty("排序号") + private Integer sortNo; + @ApiModelProperty("示例") + private String sample; +} diff --git a/src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFileListVo.java b/src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFileListVo.java new file mode 100644 index 0000000..b4857ac --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFileListVo.java @@ -0,0 +1,46 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.customer.biz.crmcustomerfile; + + +import com.yxt.common.core.vo.Vo; +import com.yxt.customer.biz.crmfile.CrmFileDetailsVo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class CrmCustomerFileListVo implements Vo { + + private static final long serialVersionUID = -7975044183441168149L; + @ApiModelProperty("文件类别") + private String attachType; + @ApiModelProperty("文件名称") + private String fileName; + @ApiModelProperty("客户资料信息") + private List crmFileDetailsVoList; +} diff --git a/src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFileMapper.java b/src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFileMapper.java new file mode 100644 index 0000000..05ebb59 --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFileMapper.java @@ -0,0 +1,84 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.customer.biz.crmcustomerfile; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.customer.biz.crmfile.CrmFile; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * Project: anrui-crm(客户)
+ * File: CrmCustomerFileMapper.java
+ * Class: com.yxt.anrui.crm.biz.crmcustomerfile.CrmCustomerFileMapper
+ * Description: 客户资料初始化表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-02-26 14:10:17
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@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(); + + List selectByCustomerSid(@Param("customerSid") String customerSid); + + /** + * 手机端维护客户信息是否完善的状态 + * 查询客户档案状态 + * + * @param customerSid + * @return + */ + List selectByCustomerSidState(@Param("customerSid") String customerSid); + + List selArchivesFileImageBySid(@Param("sid") String sid); + + // 查询数据库是否存在该类型 + Integer selectBySid(@Param("sid") String sid); + + List selectIdImageByCustomerSid(@Param("customerSid") String customerSid, @Param("dataType") String dataType); + + CrmCustomerFile selectCustomerFileOne(@Param("customerSid") String customerSid, @Param("s") String s); +} diff --git a/src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFileMapper.xml b/src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFileMapper.xml new file mode 100644 index 0000000..d6b5db3 --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFileMapper.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFileQuery.java b/src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFileQuery.java new file mode 100644 index 0000000..5cc557a --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFileQuery.java @@ -0,0 +1,58 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.customer.biz.crmcustomerfile; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-crm(客户)
+ * File: CrmCustomerFileQuery.java
+ * Class: com.yxt.anrui.crm.api.crmcustomerfile.CrmCustomerFileQuery
+ * Description: 客户资料初始化表 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-02-26 14:10:17
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "客户资料初始化表 查询条件", description = "客户资料初始化表 查询条件") +@Data +public class CrmCustomerFileQuery implements Query { + + private static final long serialVersionUID = -7649979452082150903L; + @ApiModelProperty("文件类别") + private String attachType; + @ApiModelProperty("文件名称") + private String fileName; + @ApiModelProperty("客户sid") + private String customerSid; +} diff --git a/src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFileService.java b/src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFileService.java new file mode 100644 index 0000000..8630fa2 --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFileService.java @@ -0,0 +1,64 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.customer.biz.crmcustomerfile; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.DateUtils; +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 org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.List; + +/** + * Project: anrui-crm(客户)
+ * File: CrmCustomerFileService.java
+ * Class: com.yxt.anrui.crm.biz.crmcustomerfile.CrmCustomerFileService
+ * Description: 客户资料初始化表 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-02-26 14:10:17
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class CrmCustomerFileService extends MybatisBaseService { + + +} diff --git a/src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFileVo.java b/src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFileVo.java new file mode 100644 index 0000000..9c7b7c8 --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmcustomerfile/CrmCustomerFileVo.java @@ -0,0 +1,64 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.customer.biz.crmcustomerfile; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-crm(客户)
+ * File: CrmCustomerFileVo.java
+ * Class: com.yxt.anrui.crm.api.crmcustomerfile.CrmCustomerFileVo
+ * Description: 客户资料初始化表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-02-26 14:10:17
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "客户资料初始化表 视图数据对象", description = "客户资料初始化表 视图数据对象") +@Data +public class CrmCustomerFileVo implements Vo { + + private static final long serialVersionUID = -2901642630941149061L; + @ApiModelProperty("客户资料初始化sid") + private String sid; + @ApiModelProperty("文件类别") + private String attachType; + @ApiModelProperty("文件名称") + private String fileName; + @ApiModelProperty("最新上传人") + private String name; + @ApiModelProperty("最新上传时间") + private String createTime; + @ApiModelProperty("示例") + private String sample; +} diff --git a/src/main/java/com/yxt/customer/biz/crmfile/CrmFile.java b/src/main/java/com/yxt/customer/biz/crmfile/CrmFile.java new file mode 100644 index 0000000..1cccf70 --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmfile/CrmFile.java @@ -0,0 +1,158 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.customer.biz.crmfile; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * Project: anrui-crm(客户信息)
+ * File: CrmFile.java
+ * Class: com.yxt.anrui.crm.api.crmfile.CrmFile
+ * Description: 客户资料表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-01-24 09:15:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "客户资料表", description = "客户资料表") +@TableName("crm_file") +public class CrmFile extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty("文件名") + private String fileName; // 文件名 + @ApiModelProperty("文件类型") + private String fileType; // 文件类型 + @ApiModelProperty("上传人姓名") + private String name; // 上传人姓名 + @ApiModelProperty("关联业务对象sid") + private String linkSid; // 关联业务对象sid + @ApiModelProperty("附件类型") + private String attachType; // 附件类型 + @ApiModelProperty("文件大小") + private String fileSize; // 文件大小 + @ApiModelProperty("文件的相对路径") + private String filePath; // 文件的相对路径 + + /** + * @return 文件名 + */ + public String getFileName(){ + return fileName; + } + + /** + * @param fileName 文件名 to set + */ + public void setFileName(String fileName){ + this.fileName = fileName; + } + /** + * @return 文件类型 + */ + public String getFileType(){ + return fileType; + } + + /** + * @param fileType 文件类型 to set + */ + public void setFileType(String fileType){ + this.fileType = fileType; + } + /** + * @return 上传人姓名 + */ + public String getName(){ + return name; + } + + /** + * @param name 上传人姓名 to set + */ + public void setName(String name){ + this.name = name; + } + /** + * @return 关联业务对象sid + */ + public String getLinkSid(){ + return linkSid; + } + + /** + * @param linkSid 关联业务对象sid to set + */ + public void setLinkSid(String linkSid){ + this.linkSid = linkSid; + } + /** + * @return 附件类型 + */ + public String getAttachType(){ + return attachType; + } + + /** + * @param attachType 附件类型 to set + */ + public void setAttachType(String attachType){ + this.attachType = attachType; + } + /** + * @return 文件大小 + */ + public String getFileSize(){ + return fileSize; + } + + /** + * @param fileSize 文件大小 to set + */ + public void setFileSize(String fileSize){ + this.fileSize = fileSize; + } + /** + * @return 文件的相对路径 + */ + public String getFilePath(){ + return filePath; + } + + /** + * @param filePath 文件的相对路径 to set + */ + public void setFilePath(String filePath){ + this.filePath = filePath; + } +} diff --git a/src/main/java/com/yxt/customer/biz/crmfile/CrmFileAttachTypeEnum.java b/src/main/java/com/yxt/customer/biz/crmfile/CrmFileAttachTypeEnum.java new file mode 100644 index 0000000..ee8a5c2 --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmfile/CrmFileAttachTypeEnum.java @@ -0,0 +1,37 @@ +package com.yxt.customer.biz.crmfile; + +/** + * 客户资料类型的枚举类 + */ +public enum CrmFileAttachTypeEnum { + + IDCARD("0001", "身份证"), + IDOFFRONT("0001_1", "身份证正面"), + IDOFBACK("0001_2", "身份证反面"), + + ; + + /** + * 附件类型 + */ + private final String attachType; + + /** + * 代号 + */ + private final String mark; + + + CrmFileAttachTypeEnum(String attachType, String mark) { + this.attachType = attachType; + this.mark = mark; + } + + public String getAttachType() { + return attachType; + } + + public String getMark() { + return mark; + } +} diff --git a/src/main/java/com/yxt/customer/biz/crmfile/CrmFileDetailsVo.java b/src/main/java/com/yxt/customer/biz/crmfile/CrmFileDetailsVo.java new file mode 100644 index 0000000..af0a899 --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmfile/CrmFileDetailsVo.java @@ -0,0 +1,63 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.customer.biz.crmfile; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-crm(客户信息)
+ * File: CrmFileVo.java
+ * Class: com.yxt.anrui.crm.api.crmfile.CrmFileVo
+ * Description: 客户资料表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-01-24 09:15:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "客户资料表 视图数据对象", description = "客户资料表 视图数据对象") +@Data +public class CrmFileDetailsVo implements Vo { + + @ApiModelProperty("图片sid") + private String sid; + @ApiModelProperty("上传时间") + private String createTime; + @ApiModelProperty("文件名") + private String fileName; + @ApiModelProperty("文件大小") + private String fileSize; + @ApiModelProperty("文件路径") + private String filePath; + @ApiModelProperty("是否可以删除(0不可删除,1可以删除)") + private Integer isDel; +} diff --git a/src/main/java/com/yxt/customer/biz/crmfile/CrmFileDto.java b/src/main/java/com/yxt/customer/biz/crmfile/CrmFileDto.java new file mode 100644 index 0000000..55d2d2c --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmfile/CrmFileDto.java @@ -0,0 +1,65 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.customer.biz.crmfile; + + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-crm(客户信息)
+ * File: CrmFileDto.java
+ * Class: com.yxt.anrui.crm.api.crmfile.CrmFileDto
+ * Description: 客户资料表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-01-24 09:15:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "客户资料表 数据传输对象", description = "客户资料表 数据传输对象") +@Data +public class CrmFileDto implements Dto { + + @ApiModelProperty("文件名") + private String fileName; // 文件名 + @ApiModelProperty("文件类型") + private String fileType; // 文件类型 + @ApiModelProperty("上传人姓名") + private String name; // 上传人姓名 + @ApiModelProperty("关联业务对象sid") + private String linkSid; // 关联业务对象sid + @ApiModelProperty("附件类型") + private String attachType; // 附件类型 + @ApiModelProperty("文件大小") + private String fileSize; // 文件大小 + @ApiModelProperty("文件的相对路径") + private String filePath; // 文件的相对路径 +} diff --git a/src/main/java/com/yxt/customer/biz/crmfile/CrmFileListDto.java b/src/main/java/com/yxt/customer/biz/crmfile/CrmFileListDto.java new file mode 100644 index 0000000..80656c1 --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmfile/CrmFileListDto.java @@ -0,0 +1,39 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.customer.biz.crmfile; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class CrmFileListDto implements Dto { + + @ApiModelProperty("客户资料") + private List crmFileDtoList; +} diff --git a/src/main/java/com/yxt/customer/biz/crmfile/CrmFileMapper.java b/src/main/java/com/yxt/customer/biz/crmfile/CrmFileMapper.java new file mode 100644 index 0000000..e368129 --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmfile/CrmFileMapper.java @@ -0,0 +1,78 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.customer.biz.crmfile; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Delete; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * Project: anrui-crm(客户信息)
+ * File: CrmFileMapper.java
+ * Class: com.yxt.anrui.crm.biz.crmfile.CrmFileMapper
+ * Description: 客户资料表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-01-24 09:15:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface CrmFileMapper extends BaseMapper { + + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + + @Select("select * from crm_file") + List selectListVo(); + + List selectByLinkSid(@Param("linkSid") String linkSid, @Param("attachType") String attachType); + + @Delete("delete from crm_file where linkSid=#{linkSid} and filePath=#{filePath}") + int delByLinkSidAndFilePath(@Param("linkSid") String linkSid, @Param("filePath") String filePath); + + @Select("select * from crm_file where linkSid = #{sid}") + List fetchByLinkSid(String sid); + + int selectPath(String path); + + void deletePath(String path); + + int fetchByFilePath(String str); + + void deleteByLinkSidAndAttachType(@Param("sid") String sid, @Param("key") String key); +} diff --git a/src/main/java/com/yxt/customer/biz/crmfile/CrmFileMapper.xml b/src/main/java/com/yxt/customer/biz/crmfile/CrmFileMapper.xml new file mode 100644 index 0000000..a31ae91 --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmfile/CrmFileMapper.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + delete + from crm_file + where filePath = #{path} + + + delete + from crm_file + where linkSid = #{sid} + and attachType = #{key} + + + + diff --git a/src/main/java/com/yxt/customer/biz/crmfile/CrmFileQuery.java b/src/main/java/com/yxt/customer/biz/crmfile/CrmFileQuery.java new file mode 100644 index 0000000..51a1c24 --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmfile/CrmFileQuery.java @@ -0,0 +1,57 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.customer.biz.crmfile; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-crm(客户信息)
+ * File: CrmFileQuery.java
+ * Class: com.yxt.anrui.crm.api.crmfile.CrmFileQuery
+ * Description: 客户资料表 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-01-24 09:15:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "客户资料表 查询条件", description = "客户资料表 查询条件") +@Data +public class CrmFileQuery implements Query { + + @ApiModelProperty("客户sid") + private String linkSid; + @ApiModelProperty("文件名") + private String fileName; + @ApiModelProperty("文件类型") + private String fileType; +} diff --git a/src/main/java/com/yxt/customer/biz/crmfile/CrmFileService.java b/src/main/java/com/yxt/customer/biz/crmfile/CrmFileService.java new file mode 100644 index 0000000..19d802b --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmfile/CrmFileService.java @@ -0,0 +1,240 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.customer.biz.crmfile; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.io.File; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +/** + * Project: anrui-crm(客户信息)
+ * File: CrmFileService.java
+ * Class: com.yxt.anrui.crm.biz.crmfile.CrmFileService
+ * Description: 客户资料表 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-01-24 09:15:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class CrmFileService extends MybatisBaseService { + + @Autowired + private FileUploadComponent fileUploadComponent; + + public PagerVo listPage(PagerQuery pq) { + CrmFileQuery 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; + } + + private QueryWrapper createQueryWrapper(CrmFileQuery query) { + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + + qw.eq("linkSid", query.getLinkSid()); + if (StringUtils.isNotNull(query.getFileType())) { + qw.eq("fileType", query.getFileType()); + } + if (StringUtils.isNotNull(query.getFileName())) { + qw.eq("fileName", query.getFileName()); + } + qw.groupBy("attachType", "fileName"); + return qw; + } + + public IPage listPageVo(PagerQuery pq) { + // mybits所用的分页对对象 + IPage page = PagerUtil.queryToPage(pq); + // mybits所用的查询条件封装类 + QueryWrapper qw = createQueryWrapper(pq.getParams()); + return baseMapper.selectPageVo(page, qw); + } + + public void saveOrUpdateDto(CrmFileDto dto) { + CrmFile entity = new CrmFile(); + dto.fillEntity(entity); + this.saveOrUpdate(entity); + } + + public CrmFileVo fetchByIdVo(String id) { + CrmFile entity = this.fetchById(id); + CrmFileVo vo = new CrmFileVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } + + /** + * 根据linkSid和附件类型查询文件路径 + * + * @param linkSid + * @param attachType + * @return + */ + public List selectByLinkSid(String linkSid, String attachType) { + return baseMapper.selectByLinkSid(linkSid, attachType); + } + + /** + * 插入客户资料数据 + * + * @param linkSid + * @param list 相对路径 + */ + public void insertCrmFile(String linkSid, List list) { + list.stream().forEach(str -> { + CrmFile crmFile = new CrmFile(); + File file = new File(fileUploadComponent.getUploadPath() + str.replace("/", File.separator)); + if (file != null) { + crmFile.setFileSize(fileUploadComponent.getPrintSize(file.length())); + } + crmFile.setLinkSid(linkSid); + crmFile.setFileName(str.substring(str.lastIndexOf("/") + 1, str.lastIndexOf("."))); + crmFile.setFileType(str.substring(str.lastIndexOf(".") + 1)); + crmFile.setAttachType(CrmFileAttachTypeEnum.IDCARD.getAttachType()); + crmFile.setFilePath(str.replace(fileUploadComponent.getUrlPrefix(), "")); + save(crmFile); + }); + } + + /** + * 根据linkSid和附件类型删除文件 + * + * @param linkSid + * @param delList + * @return + */ + public void delByLinkSidAndAttachType(String linkSid, List delList) { + for (String str : delList) { + // 删除数据库 + baseMapper.delByLinkSidAndFilePath(linkSid, str); + // 删除文件 + String pathLoc = fileUploadComponent.getUploadPath() + str; + pathLoc = pathLoc.substring(0, pathLoc.lastIndexOf("/") + 1).replace("/", File.separator); + fileUploadComponent.deleteFiles(fileUploadComponent.getUrlPrefix() + str, pathLoc); + } + } + + public void saveCrmFile(CrmFileDto dto) { + /* List filePath = dto.getFilePath(); + for (String str : filePath) { + String xdfilePath = str.replace(fileUploadComponent.getUrlPrefix(), ""); + int i = baseMapper.fetchByFilePath(xdfilePath); + if (i > 0) { + continue; + } + CrmFile crmFile = new CrmFile(); + File file = new File(fileUploadComponent.getUploadPath() + str.replace("/", File.separator)); + if (file != null) { + crmFile.setFileSize(fileUploadComponent.getPrintSize(file.length())); + } + crmFile.setName(dto.getName()); + crmFile.setLinkSid(dto.getLinkSid()); + crmFile.setFileName(str.substring(str.lastIndexOf("/") + 1, str.lastIndexOf("."))); + crmFile.setFileType(str.substring(str.lastIndexOf(".") + 1)); + crmFile.setAttachType(dto.getAttachType()); + crmFile.setFilePath(xdfilePath); + save(crmFile); + }*/ + } + + public void updateCrmFile(CrmFileDto dto, String sid) { + CrmFile crmFile = new CrmFile(); + dto.fillEntity(crmFile); + } + + public List fetchByLinkSid(String sid) { + List crmFileDetailsVos = baseMapper.fetchByLinkSid(sid); + if (crmFileDetailsVos.size() > 0) { + ChenkCrmFileDetails(crmFileDetailsVos); + } + return crmFileDetailsVos; + } + + private void ChenkCrmFileDetails(List crmFileDetailsVos) { + String path = ""; + for (CrmFileDetailsVo crmFileDetailsVo : crmFileDetailsVos) { + String filePath = crmFileDetailsVo.getFilePath(); + String urlPrefix = fileUploadComponent.getUrlPrefix(); + path = urlPrefix + filePath; + crmFileDetailsVo.setFilePath(path); + String createTime = crmFileDetailsVo.getCreateTime(); + String date = createTime.substring(0, 10); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + String format = simpleDateFormat.format(new Date()); + if (date.equals(format)) { + crmFileDetailsVo.setIsDel(1); + } else { + crmFileDetailsVo.setIsDel(0); + } + } + } + + public ResultBean deleteFilesOss(String fullPath) { + ResultBean rb = ResultBean.fireFail(); + //删除服务器上的该文件 + String pathT = fileUploadComponent.getUrlPrefix(); + String path = ""; + if (fullPath.indexOf(pathT) > -1) { + path = fullPath.replace(pathT, ""); + } else { + path = fullPath; + } + String a = path.substring(0, path.lastIndexOf("/")).replace("/", File.separator); + String pathOne = fileUploadComponent.getUploadPath() + path.substring(0, path.lastIndexOf("/") + 1).replace("/", File.separator); + FileUploadComponent.deleteFiles(fullPath, pathOne); + //查询数据库,然后根据相对路径删除数据 + int count = baseMapper.selectPath(path); + if (count > 0) { + baseMapper.deletePath(path); + } + return rb.success().setMsg("移除成功"); + } + + public void deleteByLinkSidAndAttachType(String sid, String key) { + baseMapper.deleteByLinkSidAndAttachType(sid,key); + } +} diff --git a/src/main/java/com/yxt/customer/biz/crmfile/CrmFileVo.java b/src/main/java/com/yxt/customer/biz/crmfile/CrmFileVo.java new file mode 100644 index 0000000..6c79c51 --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmfile/CrmFileVo.java @@ -0,0 +1,60 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.customer.biz.crmfile; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-crm(客户信息)
+ * File: CrmFileVo.java
+ * Class: com.yxt.anrui.crm.api.crmfile.CrmFileVo
+ * Description: 客户资料表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-01-24 09:15:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "客户资料表 视图数据对象", description = "客户资料表 视图数据对象") +@Data +public class CrmFileVo implements Vo { + + private static final long serialVersionUID = -7094724945005598636L; + @ApiModelProperty("文件名") + private String fileName; + @ApiModelProperty("上传人姓名") + private String name; + @ApiModelProperty("文件类别") + private String attachType; + @ApiModelProperty(value = "上传时间") + private String createTime; +} diff --git a/src/main/java/com/yxt/customer/biz/crmvisit/AppCrmVisitDto.java b/src/main/java/com/yxt/customer/biz/crmvisit/AppCrmVisitDto.java new file mode 100644 index 0000000..42e66bd --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmvisit/AppCrmVisitDto.java @@ -0,0 +1,69 @@ +package com.yxt.customer.biz.crmvisit; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class AppCrmVisitDto implements Dto { + + @ApiModelProperty("潜在客户sid") + private String customerSid; + + @ApiModelProperty("用户sid") + private String userSid; + + @ApiModelProperty("员工Sid") + private String staffSid; + + @ApiModelProperty("组织sid") + private String orgSid; + + @ApiModelProperty("跟进状态key") + private String follow_state_key; + + @ApiModelProperty("跟进状态(新获取/待跟进/初步意向/准客户/成交/失效)") + private String follow_state; + + @ApiModelProperty("跟进形式key") + private String follow_form_key; + + @ApiModelProperty("跟进形式(电话/上门/微信/到店)") + private String follow_form; + + @ApiModelProperty("拜访见证材料") + private List materialsList; + + @ApiModelProperty("拜访见证材料") + private String visit_witness_materials; + + @ApiModelProperty("跟进效果") + private String follow_result; + + @ApiModelProperty("是否开启提醒(1开启,0不开启)") + private String isOnRemind; + + @ApiModelProperty("是否开启提醒(1开启,0不开启)") + private String isOnRemindkey; + + @ApiModelProperty("提醒日期") + private String remind_day; + + @ApiModelProperty("提醒备注") + private String remind_remark; + + @ApiModelProperty("位置信息") + private String positionInformation; + + @ApiModelProperty("区域代码") + private String adCode; + + @ApiModelProperty("区域经纬度") + private String location; + + @ApiModelProperty("区域代码描述") + private String locationStr; + +} diff --git a/src/main/java/com/yxt/customer/biz/crmvisit/AppCrmVisitListVo.java b/src/main/java/com/yxt/customer/biz/crmvisit/AppCrmVisitListVo.java new file mode 100644 index 0000000..2d2133b --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmvisit/AppCrmVisitListVo.java @@ -0,0 +1,48 @@ +package com.yxt.customer.biz.crmvisit; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Description + * @Author liuguohui + * @Date 2021/12/7 + */ +@ApiModel("手机端跟进记录") +@Data +public class AppCrmVisitListVo implements Vo { + + @ApiModelProperty("客户名称") + private String name; + + @ApiModelProperty("联系电话") + private String mobile; + + @ApiModelProperty("微信") + private String weixin; + + @ApiModelProperty("客户类型(自然人/法人)") + private String customerTypeKey; + + @ApiModelProperty("已经记录") + private String recordedNum; + + @ApiModelProperty("本周记录") + private String curWeekNum; + + @ApiModelProperty("总记录") + private String totalNum; + + @ApiModelProperty("跟进状态(新获取/待跟进/初步意向/准客户/成交/失效)") + private String follow_state; + + @ApiModelProperty("跟进效果") + private String follow_result; + + @ApiModelProperty("跟进记录list") + private List visitList; +} diff --git a/src/main/java/com/yxt/customer/biz/crmvisit/AppCrmVisitQuery.java b/src/main/java/com/yxt/customer/biz/crmvisit/AppCrmVisitQuery.java new file mode 100644 index 0000000..f3d2287 --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmvisit/AppCrmVisitQuery.java @@ -0,0 +1,80 @@ +package com.yxt.customer.biz.crmvisit; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-crm(客户管理)
+ * File: CrmVisitQuery.java
+ * Class: com.yxt.anrui.crm.api.crmvisit.CrmVisitQuery
+ * Description: 客户跟进记录 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-09-28 09:57:14
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "客户跟进记录 查询条件", description = "客户跟进记录 查询条件") +@Data +public class AppCrmVisitQuery implements Query { + + + @ApiModelProperty("客户sid") + private String customerSid; + + @ApiModelProperty("用户sid") + private String userSid; + + @ApiModelProperty("员工Sid") + private String staffSid; + + @ApiModelProperty("跟进形式key") + private String follow_form_key; + + @ApiModelProperty("跟进形式(电话/上门/微信/到店)") + private String follow_form; + + @ApiModelProperty("跟进类别key") + private String follow_type_key; + + @ApiModelProperty("跟进类别(例行安排/临时)") + private String follow_type; + + @ApiModelProperty("起始跟进时间") + private String start_follow_time; + + @ApiModelProperty("结束跟进时间") + private String end_follow_time; + + @ApiModelProperty("跟进效果") + private String follow_result; + + @ApiModelProperty("拜访见证材料") + private String visit_witness_materials; + + @ApiModelProperty("组织sid") + private String orgSid; + + @ApiModelProperty("跟进状态key") + private String follow_state_key; + + @ApiModelProperty("跟进状态(新获取/待跟进/初步意向/准客户/成交/失效)") + private String follow_state; + + @ApiModelProperty("是否开启提醒(1开启,0不开启)") + private String isOnRemind; + + @ApiModelProperty("设置提醒日期的时间") + private String setTime; + + @ApiModelProperty("提醒日期(天)") + private String remind_day; + + @ApiModelProperty("提醒日期(天)key") + private String remind_day_key; +} diff --git a/src/main/java/com/yxt/customer/biz/crmvisit/AppCrmVisitSelListVo.java b/src/main/java/com/yxt/customer/biz/crmvisit/AppCrmVisitSelListVo.java new file mode 100644 index 0000000..7237551 --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmvisit/AppCrmVisitSelListVo.java @@ -0,0 +1,68 @@ +package com.yxt.customer.biz.crmvisit; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-crm(客户管理)
+ * File: CrmVisitVo.java
+ * Class: com.yxt.anrui.crm.api.crmvisit.CrmVisitVo
+ * Description: 客户跟进记录 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-09-28 09:57:14
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "客户跟进记录 视图数据对象", description = "客户跟进记录 视图数据对象") +@Data +public class AppCrmVisitSelListVo implements Vo { + + @ApiModelProperty("sid") + private String sid; + + @ApiModelProperty("潜在客户sid") + private String customerSid; + + @ApiModelProperty("跟进结果") + private String follow_result; + + @ApiModelProperty("跟进时间") + private String follow_time; + + @ApiModelProperty("跟进材料") + private String visit_witness_materials; + + @ApiModelProperty("区域代码") + private String adCode; + + @ApiModelProperty("区域经纬度") + private String location; + + @ApiModelProperty("区域代码描述") + private String locationStr; + +// @ApiModelProperty("区域代码(省)") +// private String address_province; +// @ApiModelProperty("区域代码(市)") +// private String address_city; +// @ApiModelProperty("区域代码(县)") +// private String address_county; + + @ApiModelProperty("经度") + private String longitude; + @ApiModelProperty("纬度") + private String latitude; + + @ApiModelProperty("区域代码描述") + private String positionInformation; + + @ApiModelProperty("意向车型") + private boolean IntendedModel; + +} diff --git a/src/main/java/com/yxt/customer/biz/crmvisit/AppCrmVisitThumbDetailsVo.java b/src/main/java/com/yxt/customer/biz/crmvisit/AppCrmVisitThumbDetailsVo.java new file mode 100644 index 0000000..8c463ab --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmvisit/AppCrmVisitThumbDetailsVo.java @@ -0,0 +1,36 @@ +package com.yxt.customer.biz.crmvisit; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@ApiModel("手机端跟进记录list对象") +@Data +public class AppCrmVisitThumbDetailsVo { + @ApiModelProperty("跟进记录sid") + private String sid; + + @ApiModelProperty("跟进时间") + private String follow_time; + + @ApiModelProperty("跟进效果") + private String follow_result; + + @ApiModelProperty("跟进状态") + private String follow_state; + + @ApiModelProperty("意向车型") + private boolean IntendedModel; + + @ApiModelProperty("拜访见证材料") + private String visit_witness_materials; + + @ApiModelProperty("拜访见证材料") + private List materialsList = new ArrayList<>(); + + @ApiModelProperty("地址") + private String address; +} diff --git a/src/main/java/com/yxt/customer/biz/crmvisit/AppCrmVisitThumbVo.java b/src/main/java/com/yxt/customer/biz/crmvisit/AppCrmVisitThumbVo.java new file mode 100644 index 0000000..3890831 --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmvisit/AppCrmVisitThumbVo.java @@ -0,0 +1,40 @@ +package com.yxt.customer.biz.crmvisit; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Description + * @Author liuguohui + * @Date 2021/12/7 + */ +@ApiModel("手机端跟进记录list对象") +@Data +public class AppCrmVisitThumbVo implements Vo { + + @ApiModelProperty("跟进记录sid") + private String sid; + + @ApiModelProperty("跟进时间") + private String follow_time; + + @ApiModelProperty("跟进效果") + private String follow_result; + + @ApiModelProperty("意向车型") + private boolean IntendedModel; + + @ApiModelProperty("经纬度") + private String location; + + @ApiModelProperty("区域代码描述") + private String locationStr; + + @ApiModelProperty("拜访见证材料") + private List visit_witness_materials; + +} diff --git a/src/main/java/com/yxt/customer/biz/crmvisit/AppCrmVisitVo.java b/src/main/java/com/yxt/customer/biz/crmvisit/AppCrmVisitVo.java new file mode 100644 index 0000000..2e8319e --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmvisit/AppCrmVisitVo.java @@ -0,0 +1,93 @@ +package com.yxt.customer.biz.crmvisit; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * Project: anrui-crm(客户管理)
+ * File: CrmVisitVo.java
+ * Class: com.yxt.anrui.crm.api.crmvisit.CrmVisitVo
+ * Description: 客户跟进记录 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-09-28 09:57:14
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "客户跟进记录 视图数据对象", description = "客户跟进记录 视图数据对象") +@Data +public class AppCrmVisitVo implements Vo { + + @ApiModelProperty("sid") + private String sid; + + @ApiModelProperty("客户sid") + private String customerSid; + + @ApiModelProperty("客户名称") + private String customerName; + + @ApiModelProperty("员工Sid") + private String staffSid; + + @ApiModelProperty("员工Name") + private String staffName; + + @ApiModelProperty("跟进形式key") + private String follow_form_key; + + @ApiModelProperty("跟进形式(电话/上门/微信/到店)") + private String follow_form; + + @ApiModelProperty("跟进类别key") + private String follow_type_key; + + @ApiModelProperty("跟进类别(例行安排/临时)") + private String follow_type; + + @ApiModelProperty("跟进时间") + private String follow_time; + + @ApiModelProperty("跟进效果") + private String follow_result; + + @ApiModelProperty("拜访见证材料") + private String visit_witness_materials; + + @ApiModelProperty("组织sid") + private String orgSid; + + @ApiModelProperty("跟进状态key") + private String follow_state_key; + + @ApiModelProperty("跟进状态(新获取/待跟进/初步意向/准客户/成交/失效)") + private String follow_state; + + @ApiModelProperty("是否开启提醒(1开启,0不开启)") + private String isOnRemind; + + @ApiModelProperty("是否开启提醒(1开启,0不开启)") + private String isOnRemindkey; + + @ApiModelProperty("设置提醒日期的时间") + private String setTime; + + @ApiModelProperty("提醒日期(天)") + private String remind_day; + + @ApiModelProperty("提醒日期(天)key") + private String remind_day_key; + + @ApiModelProperty("位置信息") + private String positionInformation; + + @ApiModelProperty("跟进记录附件list") + private List list; +} diff --git a/src/main/java/com/yxt/customer/biz/crmvisit/CrmCommonAppendixVo.java b/src/main/java/com/yxt/customer/biz/crmvisit/CrmCommonAppendixVo.java new file mode 100644 index 0000000..129a5f1 --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmvisit/CrmCommonAppendixVo.java @@ -0,0 +1,54 @@ +package com.yxt.customer.biz.crmvisit; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-base(安瑞基础信息模块)
+ * File: CommonAppendixVo.java
+ * Class: com.yxt.anrui.base.api.commonappendix.CommonAppendixVo
+ * Description: 公共附件表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 08:59:25
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +public class CrmCommonAppendixVo implements Vo { + + private static final long serialVersionUID = 5198144675991307280L; + @ApiModelProperty("sid") + private String sid; + + @ApiModelProperty("文件名") + private String fileName; + + @ApiModelProperty("文件类型") + private String fileType; + + @ApiModelProperty("关联业务对象sid") + private String linkSid; + + @ApiModelProperty("附件类型") + private String attachType; + + @ApiModelProperty("文件大小") + private String fileSize; + + @ApiModelProperty("文件的路径") + private String filePath; + + @ApiModelProperty("文件的路径") + private String fileUrl; + + @ApiModelProperty("备注") + private String remarks; + + @ApiModelProperty("上传人sid") + private String createBySid; +} diff --git a/src/main/java/com/yxt/customer/biz/crmvisit/CrmVisit.java b/src/main/java/com/yxt/customer/biz/crmvisit/CrmVisit.java new file mode 100644 index 0000000..b7a6bef --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmvisit/CrmVisit.java @@ -0,0 +1,98 @@ +package com.yxt.customer.biz.crmvisit; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-crm(客户管理)
+ * File: CrmVisit.java
+ * Class: com.yxt.anrui.crm.api.crmvisit.CrmVisit
+ * Description: 客户跟进记录.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-09-28 09:57:14
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "客户跟进记录", description = "客户跟进记录") +@TableName("crm_visit") +@Data +public class CrmVisit extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty("客户sid") + private String customerSid; + + @ApiModelProperty("员工Sid") + private String staffSid; + + @ApiModelProperty("跟进形式key") + private String follow_form_key; + + @ApiModelProperty("跟进形式(电话/上门/微信/到店)") + private String follow_form; + + @ApiModelProperty("跟进类别key") + private String follow_type_key; + + @ApiModelProperty("跟进类别(例行安排/临时)") + private String follow_type; + + @ApiModelProperty("跟进时间") + private String follow_time; + + @ApiModelProperty("跟进效果") + private String follow_result; + + @ApiModelProperty("拜访见证材料") + private String visit_witness_materials; + + @ApiModelProperty("组织sid") + private String orgSid; + + @ApiModelProperty("跟进状态key") + private String follow_state_key; + + @ApiModelProperty("跟进状态(新获取/待跟进/初步意向/准客户/成交/失效)") + private String follow_state; + + @ApiModelProperty("是否开启提醒(1开启,0不开启)") + private String isOnRemind; + + @ApiModelProperty("是否开启提醒(1开启,0不开启)") + private String isOnRemindkey; + + @ApiModelProperty("设置提醒日期的时间") + private String setTime; + + @ApiModelProperty("提醒日期(天)") + private String remind_day; + + @ApiModelProperty("提醒日期(天)key") + private String remind_day_key; + + @ApiModelProperty("提醒备注") + private String remind_remark; + + @ApiModelProperty("位置信息") + private String positionInformation; + +/* @ApiModelProperty("区域代码(省)") + private String address_province; + @ApiModelProperty("区域代码(市)") + private String address_city; + @ApiModelProperty("区域代码(县)") + private String address_county;*/ + + @ApiModelProperty("经度") + private String longitude; + @ApiModelProperty("纬度") + private String latitude; + +} diff --git a/src/main/java/com/yxt/customer/biz/crmvisit/CrmVisitDto.java b/src/main/java/com/yxt/customer/biz/crmvisit/CrmVisitDto.java new file mode 100644 index 0000000..1ae73f1 --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmvisit/CrmVisitDto.java @@ -0,0 +1,86 @@ +package com.yxt.customer.biz.crmvisit; + + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * Project: anrui-crm(客户管理)
+ * File: CrmVisitDto.java
+ * Class: com.yxt.anrui.crm.api.crmvisit.CrmVisitDto
+ * Description: 客户跟进记录 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-09-28 09:57:14
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "客户跟进记录 数据传输对象", description = "客户跟进记录 数据传输对象") +@Data +public class CrmVisitDto implements Dto { + + + @ApiModelProperty("客户sid") + private String customerSid; + + @ApiModelProperty("员工Sid") + private String staffSid; + + @ApiModelProperty("跟进形式key") + private String follow_form_key; + + @ApiModelProperty("跟进形式(电话/上门/微信/到店)") + private String follow_form; + + @ApiModelProperty("跟进类别key") + private String follow_type_key; + + @ApiModelProperty("跟进类别(例行安排/临时)") + private String follow_type; + + @ApiModelProperty("跟进时间") + private String follow_time; + + @ApiModelProperty("跟进效果") + private String follow_result; + + @ApiModelProperty("拜访见证材料") + private String visit_witness_materials; + + @ApiModelProperty("组织sid") + private String orgSid; + + @ApiModelProperty("跟进状态key") + private String follow_state_key; + + @ApiModelProperty("跟进状态(新获取/待跟进/初步意向/准客户/成交/失效)") + private String follow_state; + + @ApiModelProperty("是否开启提醒(1开启,0不开启)") + private String isOnRemindkey; + + @ApiModelProperty("是否开启提醒(1开启,0不开启)") + private String isOnRemind; + + @ApiModelProperty("设置提醒日期的时间") + private String setTime; + + @ApiModelProperty("提醒日期(天)") + private String remind_day; + + @ApiModelProperty("提醒日期(天)key") + private String remind_day_key; + + @ApiModelProperty("提醒备注") + private String remind_remark; + + @ApiModelProperty("附件信息") + private List list; + +} diff --git a/src/main/java/com/yxt/customer/biz/crmvisit/CrmVisitMapper.java b/src/main/java/com/yxt/customer/biz/crmvisit/CrmVisitMapper.java new file mode 100644 index 0000000..5c41982 --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmvisit/CrmVisitMapper.java @@ -0,0 +1,71 @@ +package com.yxt.customer.biz.crmvisit; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.Update; + +import java.util.List; + +/** + * Project: anrui-crm(客户管理)
+ * File: CrmVisitMapper.java
+ * Class: com.yxt.anrui.crm.biz.crmvisit.CrmVisitMapper
+ * Description: 客户跟进记录.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-09-28 09:57:14
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface CrmVisitMapper extends BaseMapper { + + //@Update("update crm_visit 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_visit") + List selectListVo(); + + @Update("update crm_visit set isOnRemind=#{isOnRemind} where sid=#{sid}") + int updateAppIsOnRemind(@Param("sid") String sid, @Param("isOnRemind") int isOnRemind); + + @Update("update crm_visit set setTime=#{setTime},remind_day=#{remindDay},remind_day_key=#{remindDayKey} where sid=#{sid}") + int updateAppRemindDay(@Param("sid") String sid, @Param("setTime") String setTime, + @Param("remindDay") String remindDay, @Param("remindDayKey") String remindDayKey); + + @Update("update crm_visit set follow_state=#{followState}, follow_state_key=#{followStateKey} where sid=#{sid} limit 1") + int updateAppFollowState(@Param("sid") String sid, @Param("followState") String followState, @Param("followStateKey") String followStateKey); + + @Select("select * from crm_visit where customerSid=#{customerSid} order by id desc ") + List selectListByCustomerSid(@Param("customerSid") String customerSid, @Param("staffSid") String staffSid); + + IPage pagerList(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + CrmVisitVo selVisitVo(String sid); + + int selectCurWeekCount(@Param("customerSid") String customerSid, @Param("staffSid") String staffSid); + + IPage getCrmVisitListByUsersid(IPage page, @Param("staffSid") String staffSid); + + CrmVisitVo selectNewFollow_state(@Param("staffSid") String staffSid, @Param("customerSid") String customerSid); + + AppCrmVisitThumbDetailsVo getAppVisitByCustomerSid(@Param("sid") String sid, @Param("staffSid") String staffSid); + + List selVisitMaterials(@Param("sid") String sid, @Param("staffSid") String staffSid); + + int fetchByVisitSid(@Param("sid") String sid); + + @Update("UPDATE crm_visit SET visit_witness_materials = #{s} WHERE sid = #{sid}") + void updateAppendixUrl(@Param("s") String s, @Param("sid") String sid); +} diff --git a/src/main/java/com/yxt/customer/biz/crmvisit/CrmVisitMapper.xml b/src/main/java/com/yxt/customer/biz/crmvisit/CrmVisitMapper.xml new file mode 100644 index 0000000..866dd84 --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmvisit/CrmVisitMapper.xml @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/com/yxt/customer/biz/crmvisit/CrmVisitQuery.java b/src/main/java/com/yxt/customer/biz/crmvisit/CrmVisitQuery.java new file mode 100644 index 0000000..969383c --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmvisit/CrmVisitQuery.java @@ -0,0 +1,43 @@ +package com.yxt.customer.biz.crmvisit; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-crm(客户管理)
+ * File: CrmVisitQuery.java
+ * Class: com.yxt.anrui.crm.api.crmvisit.CrmVisitQuery
+ * Description: 客户跟进记录 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-09-28 09:57:14
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "客户跟进记录 查询条件", description = "客户跟进记录 查询条件") +@Data +public class CrmVisitQuery implements Query { + + @ApiModelProperty("客户sid") + private String customerSid; + + @ApiModelProperty("员工Sid") + private String staffSid; + + @ApiModelProperty("跟进形式key") + private String follow_form_key; + + @ApiModelProperty("起始跟进时间") + private String start_follow_time; + + @ApiModelProperty("结束跟进时间") + private String end_follow_time; + + @ApiModelProperty("跟进状态key") + private String follow_state_key; +} diff --git a/src/main/java/com/yxt/customer/biz/crmvisit/CrmVisitService.java b/src/main/java/com/yxt/customer/biz/crmvisit/CrmVisitService.java new file mode 100644 index 0000000..5786673 --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmvisit/CrmVisitService.java @@ -0,0 +1,22 @@ +package com.yxt.customer.biz.crmvisit; + +import com.yxt.common.base.service.MybatisBaseService; +import org.springframework.stereotype.Service; + +/** + * Project: anrui-crm(客户管理)
+ * File: CrmVisitService.java
+ * Class: com.yxt.anrui.crm.biz.crmvisit.CrmVisitService
+ * Description: 客户跟进记录 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-09-28 09:57:14
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class CrmVisitService extends MybatisBaseService { + +} diff --git a/src/main/java/com/yxt/customer/biz/crmvisit/CrmVisitVo.java b/src/main/java/com/yxt/customer/biz/crmvisit/CrmVisitVo.java new file mode 100644 index 0000000..918f039 --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmvisit/CrmVisitVo.java @@ -0,0 +1,104 @@ +package com.yxt.customer.biz.crmvisit; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-crm(客户管理)
+ * File: CrmVisitVo.java
+ * Class: com.yxt.anrui.crm.api.crmvisit.CrmVisitVo
+ * Description: 客户跟进记录 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-09-28 09:57:14
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "客户跟进记录 视图数据对象", description = "客户跟进记录 视图数据对象") +@Data +public class CrmVisitVo implements Vo { + + private static final long serialVersionUID = 3237477051430279347L; + @ApiModelProperty("sid") + private String sid; + + @ApiModelProperty("员工Sid") + private String staffSid; + + @ApiModelProperty("员工Name") + private String staffName; + + @ApiModelProperty("客户名称") + private String customerName; + + @ApiModelProperty("跟进形式key") + private String follow_form_key; + + @ApiModelProperty("跟进形式(电话/上门/微信/到店)") + private String follow_form; + + @ApiModelProperty("跟进类别key") + private String follow_type_key; + + @ApiModelProperty("跟进类别(例行安排/临时)") + private String follow_type; + + @ApiModelProperty("跟进时间") + private String follow_time; + + @ApiModelProperty("跟进效果") + private String follow_result; + + @ApiModelProperty("拜访见证材料") + private String visit_witness_materials; + + @ApiModelProperty("组织sid") + private String orgSid; + + @ApiModelProperty("跟进状态key") + private String follow_state_key; + + @ApiModelProperty("跟进状态(新获取/待跟进/初步意向/准客户/成交/失效)") + private String follow_state; + + @ApiModelProperty("是否开启提醒(1开启,0不开启)") + private String isOnRemind; + + @ApiModelProperty("是否开启提醒(1开启,0不开启)") + private String isOnRemindkey; + + @ApiModelProperty("设置提醒日期的时间") + private String setTime; + + @ApiModelProperty("提醒日期(天)") + private String remind_day; + + @ApiModelProperty("提醒日期(天)key") + private String remind_day_key; + + @ApiModelProperty("提醒备注") + private String remind_remark; + + @ApiModelProperty("位置信息") + private String positionInformation; + + @ApiModelProperty("经度") + private String longitude; + + @ApiModelProperty("纬度") + private String latitude; + + @ApiModelProperty("经纬度") + private String location; + + @ApiModelProperty("区域代码描述") + private String locationStr; + + @ApiModelProperty("车辆需求条数") + private String xqcounts; +} diff --git a/src/main/java/com/yxt/customer/biz/crmvisit/PcCrmVisitAppendixDto.java b/src/main/java/com/yxt/customer/biz/crmvisit/PcCrmVisitAppendixDto.java new file mode 100644 index 0000000..1a4e035 --- /dev/null +++ b/src/main/java/com/yxt/customer/biz/crmvisit/PcCrmVisitAppendixDto.java @@ -0,0 +1,22 @@ +package com.yxt.customer.biz.crmvisit; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PcCrmVisitAppendixDto implements Dto { + + private static final long serialVersionUID = -215934317034761854L; + //附件类型:1、0001:合同,2、0002:人行征信,3、0003:开票申请附件,4、0004:跟进记录的材料 + @ApiModelProperty("上传人sid") + private String createBySid; + @ApiModelProperty("文件名") + private String fileName; + @ApiModelProperty("文件类型") + private String fileType; + @ApiModelProperty("文件大小") + private String fileSize; + @ApiModelProperty("文件的路径") + private String filePath; +} diff --git a/src/main/resources/application-pro.yml b/src/main/resources/application-pro.yml index cb9c87d..0fc8644 100644 --- a/src/main/resources/application-pro.yml +++ b/src/main/resources/application-pro.yml @@ -1,7 +1,7 @@ spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://127.0.0.1:3306/yxt_base?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true + url: jdbc:mysql://127.0.0.1:3306/ss_customer?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true username: root password: 1LAiGz$t1*Iw cloud: diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 60a3295..c1865c7 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -19,7 +19,7 @@ spring: enabled: true server: - port: 6211 + port: 6217 max-http-header-size: 102400 undertow: max-http-post-size: -1