From 575672673d6738fc0f2504b5d9bc273913d690a8 Mon Sep 17 00:00:00 2001
From: fanzongzhe <285169773@qq.com>
Date: Mon, 6 May 2024 14:39:10 +0800
Subject: [PATCH] yxt-crm
---
yxt-crm-biz/README.md | 3 +
yxt-crm-biz/pom.xml | 134 ++++++++
.../java/com/yxt/crm/YxtCrmApplication.java | 22 ++
.../com/yxt/crm/apiadmin/AdminHomeRest.java | 10 +
.../yxt/crm/apiadmin/CrmCustomerOrgRest.java | 95 ++++++
.../com/yxt/crm/apiadmin/CrmCustomerRest.java | 105 +++++++
.../yxt/crm/biz/crmcustomer/CrmCustomer.java | 72 +++++
.../biz/crmcustomer/CrmCustomerDetailsVo.java | 73 +++++
.../crm/biz/crmcustomer/CrmCustomerDto.java | 73 +++++
.../biz/crmcustomer/CrmCustomerMapper.java | 68 ++++
.../crm/biz/crmcustomer/CrmCustomerMapper.xml | 34 ++
.../crm/biz/crmcustomer/CrmCustomerQuery.java | 71 +++++
.../biz/crmcustomer/CrmCustomerService.java | 291 ++++++++++++++++++
.../crm/biz/crmcustomer/CrmCustomerVo.java | 73 +++++
.../crm/biz/crmcustomer/CustomerVehQuery.java | 26 ++
.../crm/biz/crmcustomer/CustomerVehVo.java | 31 ++
.../biz/crmcustomerorg/CrmCustomerOrg.java | 72 +++++
.../CrmCustomerOrgDetailsVo.java | 73 +++++
.../biz/crmcustomerorg/CrmCustomerOrgDto.java | 73 +++++
.../crmcustomerorg/CrmCustomerOrgMapper.java | 64 ++++
.../crmcustomerorg/CrmCustomerOrgMapper.xml | 13 +
.../crmcustomerorg/CrmCustomerOrgQuery.java | 71 +++++
.../crmcustomerorg/CrmCustomerOrgService.java | 104 +++++++
.../biz/crmcustomerorg/CrmCustomerOrgVo.java | 73 +++++
.../java/com/yxt/crm/biz/package-info.java | 4 +
.../com/yxt/crm/config/SaTokenConfigure.java | 114 +++++++
.../crm/config/SaTokenGloableException.java | 67 ++++
.../java/com/yxt/crm/config/package-info.java | 4 +
.../ascustomervehicle/AsCustomerCrmVehVo.java | 26 ++
.../AsCustomerVehicleFeign.java | 27 ++
.../AsCustomerVehicleFeignFallback.java | 54 ++++
.../java/com/yxt/crm/feign/package-info.java | 4 +
.../portal/privilege/PrivilegeQuery.java | 22 ++
.../sysorganization/SysOrganizationFeign.java | 35 +++
.../sysorganization/SysOrganizationVo.java | 88 ++++++
.../portal/sysstafforg/SysStaffOrgFeign.java | 25 ++
.../feign/portal/sysuser/SysUserFeign.java | 22 ++
.../src/main/resources/application-devv.yml | 30 ++
.../src/main/resources/application-pro.yml | 27 ++
.../src/main/resources/application-test.yml | 31 ++
.../src/main/resources/application.yml | 50 +++
.../src/main/resources/logback-spring.xml | 50 +++
.../com/yxt/crm/YxtCrm11ApplicationTests.java | 13 +
43 files changed, 2417 insertions(+)
create mode 100644 yxt-crm-biz/README.md
create mode 100644 yxt-crm-biz/pom.xml
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/YxtCrmApplication.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/AdminHomeRest.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmCustomerOrgRest.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmCustomerRest.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomer.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerDetailsVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerDto.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerMapper.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerMapper.xml
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerQuery.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerService.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CustomerVehQuery.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CustomerVehVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrg.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgDetailsVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgDto.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgMapper.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgMapper.xml
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgQuery.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgService.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/package-info.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/config/SaTokenConfigure.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/config/SaTokenGloableException.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/config/package-info.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerCrmVehVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerVehicleFeign.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerVehicleFeignFallback.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/package-info.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/privilege/PrivilegeQuery.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysorganization/SysOrganizationFeign.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysorganization/SysOrganizationVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysstafforg/SysStaffOrgFeign.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysuser/SysUserFeign.java
create mode 100644 yxt-crm-biz/src/main/resources/application-devv.yml
create mode 100644 yxt-crm-biz/src/main/resources/application-pro.yml
create mode 100644 yxt-crm-biz/src/main/resources/application-test.yml
create mode 100644 yxt-crm-biz/src/main/resources/application.yml
create mode 100644 yxt-crm-biz/src/main/resources/logback-spring.xml
create mode 100644 yxt-crm-biz/src/test/java/com/yxt/crm/YxtCrm11ApplicationTests.java
diff --git a/yxt-crm-biz/README.md b/yxt-crm-biz/README.md
new file mode 100644
index 0000000000..26ee59c281
--- /dev/null
+++ b/yxt-crm-biz/README.md
@@ -0,0 +1,3 @@
+yxt-crm-biz
+
+客户管理后台程序及接口
\ No newline at end of file
diff --git a/yxt-crm-biz/pom.xml b/yxt-crm-biz/pom.xml
new file mode 100644
index 0000000000..0e5badb0f9
--- /dev/null
+++ b/yxt-crm-biz/pom.xml
@@ -0,0 +1,134 @@
+
+
+
+
+ com.yxt
+ yxt-parent
+ 0.0.1
+
+
+ 4.0.0
+
+ yxt-crm-biz
+ com.yxt.crm
+ 2.0.1
+
+
+
+ com.yxt
+ yxt-common-base
+ 0.0.1
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-openfeign
+
+
+
+
+ mysql
+ mysql-connector-java
+ runtime
+
+
+
+ com.baomidou
+ mybatis-plus-boot-starter
+
+
+ com.baomidou
+ mybatis-plus-annotation
+
+
+ junit
+ junit
+ compile
+
+
+
+ org.projectlombok
+ lombok
+ 1.18.26
+ true
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+
+ cn.dev33
+ sa-token-spring-boot-starter
+ 1.37.0
+
+
+ cn.hutool
+ hutool-all
+ 5.8.23
+
+
+ cn.hutool
+ hutool-core
+ 5.8.23
+
+
+ com.google.zxing
+ core
+ 3.5.2
+
+
+ com.alibaba
+ easyexcel
+ 3.3.2
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+ 2.5.6
+
+
+
+ repackage
+
+
+
+
+
+
+
+ src/main/java
+
+ **/*Mapper.xml
+
+
+
+ src/main/resources
+
+ **/*.*
+
+ false
+
+
+
+
+
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/YxtCrmApplication.java b/yxt-crm-biz/src/main/java/com/yxt/crm/YxtCrmApplication.java
new file mode 100644
index 0000000000..a921a4fcd3
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/YxtCrmApplication.java
@@ -0,0 +1,22 @@
+package com.yxt.crm;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.scheduling.annotation.EnableScheduling;
+
+@SpringBootApplication(scanBasePackages = {
+ "com.yxt.crm.config",
+ "com.yxt.common.base.config",
+ "com.yxt.crm"
+})
+// 启用自带定时任务
+@EnableScheduling
+@EnableFeignClients(basePackages = {})
+public class YxtCrmApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(YxtCrmApplication.class, args);
+ }
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/AdminHomeRest.java b/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/AdminHomeRest.java
new file mode 100644
index 0000000000..aa2508eb8e
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/AdminHomeRest.java
@@ -0,0 +1,10 @@
+package com.yxt.crm.apiadmin;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController("com.yxt.crm.apiadmin.AdminHomeRest")
+@RequestMapping("/apiadmin/home")
+public class AdminHomeRest {
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmCustomerOrgRest.java b/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmCustomerOrgRest.java
new file mode 100644
index 0000000000..5b53621cd4
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmCustomerOrgRest.java
@@ -0,0 +1,95 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.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.crm.biz.crmcustomerorg.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * Project: crm(crm)
+ * File: CrmCustomerOrgFeignFallback.java
+ * Class: com.yxt.crm.biz.crmcustomerorg.CrmCustomerOrgRest
+ * Description: 客户单位.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "客户单位")
+@RestController
+@RequestMapping("/apiadmin/v1/crmcustomerorg")
+public class CrmCustomerOrgRest {
+
+ @Autowired
+ private CrmCustomerOrgService crmCustomerOrgService;
+
+
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = crmCustomerOrgService.listPageVo(pq);
+ return rb.success().setData(pv);
+ }
+
+
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ public ResultBean save(@RequestBody CrmCustomerOrgDto dto){
+ ResultBean rb = ResultBean.fireFail();
+ crmCustomerOrgService.saveOrUpdateDto(dto);
+ return rb.success();
+ }
+
+
+ @ApiOperation("根据sid批量删除")
+ @PostMapping("/delBySids")
+ public ResultBean delBySids(@RequestBody String[] sids){
+ ResultBean rb = ResultBean.fireFail();
+ crmCustomerOrgService.delBySids(sids);
+ return rb.success();
+ }
+
+
+ @ApiOperation("根据SID获取一条记录")
+ @GetMapping("/fetchDetailsBySid/{sid}")
+ public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){
+ ResultBean rb = ResultBean.fireFail();
+ CrmCustomerOrgDetailsVo vo = crmCustomerOrgService.fetchDetailsVoBySid(sid);
+ return rb.success().setData(vo);
+ }
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmCustomerRest.java b/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmCustomerRest.java
new file mode 100644
index 0000000000..f5aa1d3486
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmCustomerRest.java
@@ -0,0 +1,105 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.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.crm.biz.crmcustomer.*;
+import com.yxt.crm.biz.crmcustomerorg.CrmCustomerOrgQuery;
+import com.yxt.crm.biz.crmcustomerorg.CrmCustomerOrgVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * Project: crm(crm)
+ * File: CrmCustomerFeignFallback.java
+ * Class: com.yxt.crm.biz.crmcustomer.CrmCustomerRest
+ * Description: 客户.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "客户")
+@RestController
+@RequestMapping("/apiadmin/v1/crmcustomer")
+public class CrmCustomerRest {
+
+ @Autowired
+ private CrmCustomerService crmCustomerService;
+
+
+ @ApiOperation("根据条件分页查询客户信息的列表")
+ @PostMapping("/customerListPage")
+ public ResultBean> customerListPage(@RequestBody PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = crmCustomerService.customerListPage(pq);
+ return rb.success().setData(pv);
+ }
+
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq) {
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = crmCustomerService.listPageVo(pq);
+ return rb.success().setData(pv);
+ }
+
+
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ public ResultBean save(@RequestBody CrmCustomerDto dto) {
+ ResultBean rb = ResultBean.fireFail();
+ crmCustomerService.saveOrUpdateDto(dto);
+ return rb.success();
+ }
+
+
+ @ApiOperation("根据sid批量删除")
+ @PostMapping("/delBySids")
+ public ResultBean delBySids(@RequestBody String[] sids) {
+ ResultBean rb = ResultBean.fireFail();
+ crmCustomerService.delBySids(sids);
+ return rb.success();
+ }
+
+
+ @ApiOperation("根据SID获取一条记录")
+ @GetMapping("/fetchDetailsBySid/{sid}")
+ public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ CrmCustomerDetailsVo vo = crmCustomerService.fetchDetailsVoBySid(sid);
+ return rb.success().setData(vo);
+ }
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomer.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomer.java
new file mode 100644
index 0000000000..202dc5a668
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomer.java
@@ -0,0 +1,72 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.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: crm(crm)
+ * File: CrmCustomer.java
+ * Class: com.yxt.crm.api.crmcustomer.CrmCustomer
+ * Description: 客户.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "客户", description = "客户")
+@TableName("crm_customer")
+public class CrmCustomer extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("客户名称")
+ private String name; // 客户名称
+ @ApiModelProperty("客户编码")
+ private String customerNo; // 客户编码
+ @ApiModelProperty("联系电话")
+ private String mobile; // 联系电话
+ @ApiModelProperty("客户类型")
+ private String customerTypeKey; // 客户类型
+ @ApiModelProperty("客户类型(个人、企业)")
+ private String customerType; // 客户类型(个人、企业)
+ @ApiModelProperty("所在单位sid")
+ private String orgSid; // 所在单位sid
+ @ApiModelProperty("所在单位")
+ private String orgName; // 所在单位
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid; // 使用组织sid
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid; // 创建组织sid
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerDetailsVo.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerDetailsVo.java
new file mode 100644
index 0000000000..af0868f53e
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerDetailsVo.java
@@ -0,0 +1,73 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmcustomer;
+
+
+import com.yxt.common.core.vo.Vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: crm(crm)
+ * File: CrmCustomerVo.java
+ * Class: com.yxt.crm.api.crmcustomer.CrmCustomerVo
+ * Description: 客户 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "客户 视图数据详情", description = "客户 视图数据详情")
+public class CrmCustomerDetailsVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("客户名称")
+ private String name; // 客户名称
+ @ApiModelProperty("客户编码")
+ private String customerNo; // 客户编码
+ @ApiModelProperty("联系电话")
+ private String mobile; // 联系电话
+ @ApiModelProperty("客户类型")
+ private String customerTypeKey; // 客户类型
+ @ApiModelProperty("客户类型(个人、企业)")
+ private String customerType; // 客户类型(个人、企业)
+ @ApiModelProperty("所在单位sid")
+ private String orgSid; // 所在单位sid
+ @ApiModelProperty("所在单位")
+ private String orgName; // 所在单位
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid; // 使用组织sid
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid; // 创建组织sid
+
+}
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerDto.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerDto.java
new file mode 100644
index 0000000000..7cab759339
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerDto.java
@@ -0,0 +1,73 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmcustomer;
+
+
+import com.yxt.common.core.dto.Dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: crm(crm)
+ * File: CrmCustomerDto.java
+ * Class: com.yxt.crm.api.crmcustomer.CrmCustomerDto
+ * Description: 客户 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "客户 数据传输对象", description = "客户 数据传输对象")
+public class CrmCustomerDto implements Dto {
+
+ private String sid; // sid
+
+ @ApiModelProperty("客户名称")
+ private String name; // 客户名称
+ @ApiModelProperty("客户编码")
+ private String customerNo; // 客户编码
+ @ApiModelProperty("联系电话")
+ private String mobile; // 联系电话
+ @ApiModelProperty("客户类型")
+ private String customerTypeKey; // 客户类型
+ @ApiModelProperty("客户类型(个人、企业)")
+ private String customerType; // 客户类型(个人、企业)
+ @ApiModelProperty("所在单位sid")
+ private String orgSid; // 所在单位sid
+ @ApiModelProperty("所在单位")
+ private String orgName; // 所在单位
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid; // 使用组织sid
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid; // 创建组织sid
+
+}
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerMapper.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerMapper.java
new file mode 100644
index 0000000000..f40f42b8d4
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerMapper.java
@@ -0,0 +1,68 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmcustomer;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+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;
+
+/**
+ * Project: crm(crm)
+ * File: CrmCustomerMapper.java
+ * Class: com.yxt.crm.biz.crmcustomer.CrmCustomerMapper
+ * Description: 客户.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Mapper
+public interface CrmCustomerMapper extends BaseMapper {
+
+ //@Update("update crm_customer 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")
+ List selectListVo();
+
+ List customerListPage(@Param(Constants.WRAPPER) QueryWrapper qw);
+
+ List customerList();
+}
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerMapper.xml b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerMapper.xml
new file mode 100644
index 0000000000..f79bee4934
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerMapper.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerQuery.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerQuery.java
new file mode 100644
index 0000000000..16c7e7dac1
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerQuery.java
@@ -0,0 +1,71 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmcustomer;
+
+
+import com.yxt.common.core.query.Query;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: crm(crm)
+ * File: CrmCustomerQuery.java
+ * Class: com.yxt.crm.api.crmcustomer.CrmCustomerQuery
+ * Description: 客户 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "客户 查询条件", description = "客户 查询条件")
+public class CrmCustomerQuery implements Query {
+
+ @ApiModelProperty("客户名称")
+ private String name; // 客户名称
+ @ApiModelProperty("客户编码")
+ private String customerNo; // 客户编码
+ @ApiModelProperty("联系电话")
+ private String mobile; // 联系电话
+ @ApiModelProperty("客户类型")
+ private String customerTypeKey; // 客户类型
+ @ApiModelProperty("客户类型(个人、企业)")
+ private String customerType; // 客户类型(个人、企业)
+ @ApiModelProperty("所在单位sid")
+ private String orgSid; // 所在单位sid
+ @ApiModelProperty("所在单位")
+ private String orgName; // 所在单位
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid; // 使用组织sid
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid; // 创建组织sid
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerService.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerService.java
new file mode 100644
index 0000000000..6a4144df8f
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerService.java
@@ -0,0 +1,291 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.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.crm.feign.as.ascustomervehicle.AsCustomerCrmVehVo;
+import com.yxt.crm.feign.as.ascustomervehicle.AsCustomerVehicleFeign;
+import com.yxt.crm.feign.portal.sysstafforg.SysStaffOrgFeign;
+import org.apache.commons.lang3.StringUtils;
+import com.yxt.common.base.service.MybatisBaseService;
+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.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * Project: crm(crm)
+ * File: CrmCustomerService.java
+ * Class: com.yxt.crm.biz.crmcustomer.CrmCustomerService
+ * Description: 客户 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Service
+public class CrmCustomerService extends MybatisBaseService {
+
+ @Resource
+ private AsCustomerVehicleFeign asCustomerVehicleFeign;
+ @Autowired
+ private SysStaffOrgFeign sysStaffOrgFeign;
+
+ private QueryWrapper createQueryWrapper(CrmCustomerQuery query) {
+ // todo: 这里根据具体业务调整查询条件
+ // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
+ QueryWrapper qw = new QueryWrapper<>();
+ return qw;
+ }
+
+ public PagerVo listPageVo(PagerQuery pq) {
+ CrmCustomerQuery query = pq.getParams();
+ QueryWrapper qw = createQueryWrapper(query);
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.selectPageVo(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
+
+ public void saveOrUpdateDto(CrmCustomerDto dto) {
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ this.insertByDto(dto);
+ return;
+ }
+ this.updateByDto(dto);
+ }
+
+ public void insertByDto(CrmCustomerDto dto) {
+ CrmCustomer entity = new CrmCustomer();
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.insert(entity);
+ }
+
+ public void updateByDto(CrmCustomerDto dto) {
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ return;
+ }
+ CrmCustomer entity = fetchBySid(dtoSid);
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.updateById(entity);
+ }
+
+ public CrmCustomerDetailsVo fetchDetailsVoBySid(String sid) {
+ CrmCustomer entity = fetchBySid(sid);
+ CrmCustomerDetailsVo vo = new CrmCustomerDetailsVo();
+ BeanUtil.copyProperties(entity, vo);
+ return vo;
+ }
+
+ public PagerVo customerListPage(PagerQuery pq) {
+ PagerVo pagerVo = new PagerVo<>();
+ CustomerVehQuery pagerQuery = pq.getParams();
+ List nameList = new ArrayList<>();
+ List mobileList = new ArrayList<>();
+ List orgNameList = new ArrayList<>();
+ List vinList = new ArrayList<>();
+ List vehVos = asCustomerVehicleFeign.listCustomerVeh().getData();
+ if (!vehVos.isEmpty()) {
+ List customerVos = baseMapper.customerList();
+ customerVos.removeAll(Collections.singleton(null));
+ if (!customerVos.isEmpty()) {
+ List result = vehVos.stream()
+ .map(v -> {
+ Optional vehVo = customerVos.stream()
+ .filter(c -> c.getSid().equals(v.getCustomerSid()))
+ .findFirst();
+ if (vehVo.isPresent()) {
+ CustomerVehVo customerVehVo = new CustomerVehVo();
+ if (StringUtils.isNotBlank(vehVo.get().getMobile())) {
+ customerVehVo.setMobile(vehVo.get().getMobile());
+ } else {
+ customerVehVo.setMobile("");
+ }
+ if (StringUtils.isNotBlank(vehVo.get().getName())) {
+ customerVehVo.setName(vehVo.get().getName());
+ } else {
+ customerVehVo.setName("");
+ }
+ if (StringUtils.isNotBlank(v.getVehMark())) {
+ customerVehVo.setVehMark(v.getVehMark());
+ } else {
+ customerVehVo.setVehMark("");
+ }
+ if (StringUtils.isNotBlank(vehVo.get().getSid())) {
+ customerVehVo.setSid(vehVo.get().getSid());
+ } else {
+ customerVehVo.setSid("");
+ }
+ if (StringUtils.isNotBlank(vehVo.get().getOrgName())) {
+ customerVehVo.setOrgName(vehVo.get().getOrgName());
+ } else {
+ customerVehVo.setOrgName("");
+ }
+ if (StringUtils.isNotBlank(vehVo.get().getUseOrgSid())) {
+ customerVehVo.setUseOrgSid(vehVo.get().getUseOrgSid());
+ } else {
+ customerVehVo.setUseOrgSid("");
+ }
+ if (StringUtils.isNotBlank(v.getVinNo())) {
+ customerVehVo.setVinNo(v.getVinNo());
+ } else {
+ customerVehVo.setVinNo("");
+ }
+ if (StringUtils.isNotBlank(v.getVehModel())) {
+ customerVehVo.setVehModel(v.getVehModel());
+ } else {
+ customerVehVo.setVehModel("");
+ }
+ if (StringUtils.isNotBlank(v.getVehModelSid())) {
+ customerVehVo.setVehModelSid(v.getVehModelSid());
+ } else {
+ customerVehVo.setVehModelSid("");
+ }
+ return customerVehVo;
+ } else {
+ CustomerVehVo customerVehVo = new CustomerVehVo();
+ if (StringUtils.isNotBlank(v.getVehMark())) {
+ customerVehVo.setVehMark(v.getVehMark());
+ } else {
+ customerVehVo.setVehMark("");
+ }
+ if (StringUtils.isNotBlank(v.getVinNo())) {
+ customerVehVo.setVinNo(v.getVinNo());
+ } else {
+ customerVehVo.setVinNo("");
+ }
+ if (StringUtils.isNotBlank(v.getVehModel())) {
+ customerVehVo.setVehModel(v.getVehModel());
+ } else {
+ customerVehVo.setVehModel("");
+ }
+ if (StringUtils.isNotBlank(v.getVehModelSid())) {
+ customerVehVo.setVehModelSid(v.getVehModelSid());
+ } else {
+ customerVehVo.setVehModelSid("");
+ }
+ customerVehVo.setMobile("");
+ customerVehVo.setOrgName("");
+ customerVehVo.setSid("");
+ customerVehVo.setName("");
+ customerVehVo.setUseOrgSid("");
+ return customerVehVo;
+ }
+ })
+ .collect(Collectors.toList());
+
+ if (StringUtils.isNotBlank(pagerQuery.getOrgPath())) {
+ String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(pagerQuery.getOrgPath()).getData();
+ result = result.stream()
+ .filter(r -> r.getUseOrgSid().equals(useOrgSid))
+ .collect(Collectors.toList());
+ }
+ if (!result.isEmpty()) {
+ if (StringUtils.isNotBlank(pagerQuery.getVehMark())) {
+ result = result.stream().filter(r -> r.getVehMark().contains(pagerQuery.getVehMark()))
+ .collect(Collectors.toList());
+ }
+ if (StringUtils.isNotBlank(pagerQuery.getVinNo())) {
+ vinList = result.stream().filter(r -> r.getVinNo().contains(pagerQuery.getVinNo()))
+ .collect(Collectors.toList());
+ result = result.stream().filter(vinList::contains).collect(Collectors.toList());
+ }
+ if (StringUtils.isNotBlank(pagerQuery.getName())) {
+ nameList = result.stream().filter(r -> r.getName().contains(pagerQuery.getName()))
+ .collect(Collectors.toList());
+ result = result.stream().filter(nameList::contains).collect(Collectors.toList());
+ }
+ if (StringUtils.isNotBlank(pagerQuery.getOrgName())) {
+ orgNameList = result.stream().filter(r -> r.getOrgName().contains(pagerQuery.getOrgName()))
+ .collect(Collectors.toList());
+ result = result.stream().filter(orgNameList::contains).collect(Collectors.toList());
+ }
+ if (StringUtils.isNotBlank(pagerQuery.getMobile())) {
+ mobileList = result.stream().filter(r -> r.getMobile().contains(pagerQuery.getMobile()))
+ .collect(Collectors.toList());
+ result = result.stream().filter(mobileList::contains).collect(Collectors.toList());
+ }
+ }
+ if (!result.isEmpty()) {
+ List lastList = this.pageBySubList(result, (int) pq.getSize(), (int) pq.getCurrent());
+ pagerVo.setRecords(lastList);
+ pagerVo.setTotal(result.size());
+ pagerVo.setCurrent(pq.getCurrent());
+ pagerVo.setSize(pq.getSize());
+ if (result.size() % pq.getSize() != 0L) {
+ pagerVo.setPages((result.size() / pq.getSize()) + 1);
+ } else {
+ pagerVo.setPages(result.size() / pq.getSize());
+ }
+ pagerVo.setMsg("当前共查询到" + result.size() + "条记录");
+ }
+ }
+ }
+ return pagerVo;
+ }
+
+ /**
+ * 分页方法
+ */
+ public List pageBySubList(List list, int pagesize, int currentPage) {
+ int totalcount = list.size();
+ int pagecount = 0;
+ List subList;
+ int m = totalcount % pagesize;
+ if (m > 0) {
+ pagecount = totalcount / pagesize + 1;
+ } else {
+ pagecount = totalcount / pagesize;
+ }
+ if (m == 0) {
+ subList = list.subList((currentPage - 1) * pagesize, pagesize * (currentPage));
+ } else {
+ if (currentPage == pagecount) {
+ subList = list.subList((currentPage - 1) * pagesize, totalcount);
+ } else {
+ subList = list.subList((currentPage - 1) * pagesize, pagesize * (currentPage));
+ }
+ }
+ return subList;
+ }
+}
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerVo.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerVo.java
new file mode 100644
index 0000000000..863ddda64e
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerVo.java
@@ -0,0 +1,73 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmcustomer;
+
+
+import com.yxt.common.core.vo.Vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: crm(crm)
+ * File: CrmCustomerVo.java
+ * Class: com.yxt.crm.api.crmcustomer.CrmCustomerVo
+ * Description: 客户 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "客户 视图数据对象", description = "客户 视图数据对象")
+public class CrmCustomerVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("客户名称")
+ private String name; // 客户名称
+ @ApiModelProperty("客户编码")
+ private String customerNo; // 客户编码
+ @ApiModelProperty("联系电话")
+ private String mobile; // 联系电话
+ @ApiModelProperty("客户类型")
+ private String customerTypeKey; // 客户类型
+ @ApiModelProperty("客户类型(个人、企业)")
+ private String customerType; // 客户类型(个人、企业)
+ @ApiModelProperty("所在单位sid")
+ private String orgSid; // 所在单位sid
+ @ApiModelProperty("所在单位")
+ private String orgName; // 所在单位
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid; // 使用组织sid
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid; // 创建组织sid
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CustomerVehQuery.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CustomerVehQuery.java
new file mode 100644
index 0000000000..ffa98fef0e
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CustomerVehQuery.java
@@ -0,0 +1,26 @@
+package com.yxt.crm.biz.crmcustomer;
+
+import com.yxt.common.core.query.Query;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author Fan
+ * @description
+ * @date 2024/3/19 9:56
+ */
+@Data
+public class CustomerVehQuery implements Query {
+ @ApiModelProperty("客户名称")
+ private String name; // 客户名称
+ @ApiModelProperty("车辆牌照")
+ private String vehMark; // 车辆牌照
+ @ApiModelProperty("联系电话")
+ private String mobile; // 联系电话
+ @ApiModelProperty("所在单位")
+ private String orgName; // 所在单位
+ private String vinNo; //车架号
+ @ApiModelProperty("组织全路径")
+ private String orgPath; // 组织全路径
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CustomerVehVo.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CustomerVehVo.java
new file mode 100644
index 0000000000..be7cef4943
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CustomerVehVo.java
@@ -0,0 +1,31 @@
+package com.yxt.crm.biz.crmcustomer;
+
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author Fan
+ * @description
+ * @date 2024/3/19 9:57
+ */
+@Data
+public class CustomerVehVo implements Vo {
+
+ private String sid;
+ @ApiModelProperty("客户名称")
+ private String name; // 客户名称
+ @ApiModelProperty("车辆牌照")
+ private String vehMark; // 车辆牌照
+ @ApiModelProperty("联系电话")
+ private String mobile; // 联系电话
+ @ApiModelProperty("所在单位")
+ private String orgName; // 所在单位
+ @ApiModelProperty("车型sid")
+ private String vehModelSid;
+ @ApiModelProperty("车型")
+ private String vehModel;
+ @ApiModelProperty("车架号")
+ private String vinNo;
+ private String useOrgSid;
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrg.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrg.java
new file mode 100644
index 0000000000..14d5b2825c
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrg.java
@@ -0,0 +1,72 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmcustomerorg;
+
+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: crm(crm)
+ * File: CrmCustomerOrg.java
+ * Class: com.yxt.crm.api.crmcustomerorg.CrmCustomerOrg
+ * Description: 客户单位.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "客户单位", description = "客户单位")
+@TableName("crm_customer_org")
+public class CrmCustomerOrg extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("单位名称")
+ private String orgName; // 单位名称
+ @ApiModelProperty("单位编码(拼音缩写)")
+ private String orgCode; // 单位编码(拼音缩写)
+ @ApiModelProperty("联系人")
+ private String contacts; // 联系人
+ @ApiModelProperty("联系电话")
+ private String mobile; // 联系电话
+ @ApiModelProperty("地址")
+ private String address; // 地址
+ @ApiModelProperty("信用额度")
+ private Integer creditLimit; // 信用额度
+ @ApiModelProperty("排序号")
+ private Integer sortNo; // 排序号
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid; // 使用组织sid
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid; // 创建组织sid
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgDetailsVo.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgDetailsVo.java
new file mode 100644
index 0000000000..639910271f
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgDetailsVo.java
@@ -0,0 +1,73 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmcustomerorg;
+
+
+import com.yxt.common.core.vo.Vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: crm(crm)
+ * File: CrmCustomerOrgVo.java
+ * Class: com.yxt.crm.api.crmcustomerorg.CrmCustomerOrgVo
+ * Description: 客户单位 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "客户单位 视图数据详情", description = "客户单位 视图数据详情")
+public class CrmCustomerOrgDetailsVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("单位名称")
+ private String orgName; // 单位名称
+ @ApiModelProperty("单位编码(拼音缩写)")
+ private String orgCode; // 单位编码(拼音缩写)
+ @ApiModelProperty("联系人")
+ private String contacts; // 联系人
+ @ApiModelProperty("联系电话")
+ private String mobile; // 联系电话
+ @ApiModelProperty("地址")
+ private String address; // 地址
+ @ApiModelProperty("信用额度")
+ private Integer creditLimit; // 信用额度
+ @ApiModelProperty("排序号")
+ private Integer sortNo; // 排序号
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid; // 使用组织sid
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid; // 创建组织sid
+
+}
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgDto.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgDto.java
new file mode 100644
index 0000000000..d387adffdb
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgDto.java
@@ -0,0 +1,73 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmcustomerorg;
+
+
+import com.yxt.common.core.dto.Dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: crm(crm)
+ * File: CrmCustomerOrgDto.java
+ * Class: com.yxt.crm.api.crmcustomerorg.CrmCustomerOrgDto
+ * Description: 客户单位 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "客户单位 数据传输对象", description = "客户单位 数据传输对象")
+public class CrmCustomerOrgDto implements Dto {
+
+ private String sid; // sid
+
+ @ApiModelProperty("单位名称")
+ private String orgName; // 单位名称
+ @ApiModelProperty("单位编码(拼音缩写)")
+ private String orgCode; // 单位编码(拼音缩写)
+ @ApiModelProperty("联系人")
+ private String contacts; // 联系人
+ @ApiModelProperty("联系电话")
+ private String mobile; // 联系电话
+ @ApiModelProperty("地址")
+ private String address; // 地址
+ @ApiModelProperty("信用额度")
+ private Integer creditLimit; // 信用额度
+ @ApiModelProperty("排序号")
+ private Integer sortNo; // 排序号
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid; // 使用组织sid
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid; // 创建组织sid
+
+}
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgMapper.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgMapper.java
new file mode 100644
index 0000000000..944a8ee9a9
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgMapper.java
@@ -0,0 +1,64 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmcustomerorg;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+
+import java.util.List;
+
+/**
+ * Project: crm(crm)
+ * File: CrmCustomerOrgMapper.java
+ * Class: com.yxt.crm.biz.crmcustomerorg.CrmCustomerOrgMapper
+ * Description: 客户单位.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Mapper
+public interface CrmCustomerOrgMapper extends BaseMapper {
+
+ //@Update("update crm_customer_org 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_org")
+ List selectListVo();
+}
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgMapper.xml b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgMapper.xml
new file mode 100644
index 0000000000..5a3b598079
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgMapper.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgQuery.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgQuery.java
new file mode 100644
index 0000000000..6be3f4b9ae
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgQuery.java
@@ -0,0 +1,71 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmcustomerorg;
+
+
+import com.yxt.common.core.query.Query;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: crm(crm)
+ * File: CrmCustomerOrgQuery.java
+ * Class: com.yxt.crm.api.crmcustomerorg.CrmCustomerOrgQuery
+ * Description: 客户单位 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "客户单位 查询条件", description = "客户单位 查询条件")
+public class CrmCustomerOrgQuery implements Query {
+
+ @ApiModelProperty("单位名称")
+ private String orgName; // 单位名称
+ @ApiModelProperty("单位编码(拼音缩写)")
+ private String orgCode; // 单位编码(拼音缩写)
+ @ApiModelProperty("联系人")
+ private String contacts; // 联系人
+ @ApiModelProperty("联系电话")
+ private String mobile; // 联系电话
+ @ApiModelProperty("地址")
+ private String address; // 地址
+ @ApiModelProperty("信用额度")
+ private Integer creditLimit; // 信用额度
+ @ApiModelProperty("排序号")
+ private Integer sortNo; // 排序号
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid; // 使用组织sid
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid; // 创建组织sid
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgService.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgService.java
new file mode 100644
index 0000000000..a5d020ab2f
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgService.java
@@ -0,0 +1,104 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmcustomerorg;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.commons.lang3.StringUtils;
+import com.yxt.common.base.service.MybatisBaseService;
+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.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * Project: crm(crm)
+ * File: CrmCustomerOrgService.java
+ * Class: com.yxt.crm.biz.crmcustomerorg.CrmCustomerOrgService
+ * Description: 客户单位 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Service
+public class CrmCustomerOrgService extends MybatisBaseService {
+ private QueryWrapper createQueryWrapper(CrmCustomerOrgQuery query) {
+ // todo: 这里根据具体业务调整查询条件
+ // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
+ QueryWrapper qw = new QueryWrapper<>();
+ return qw;
+ }
+
+ public PagerVo listPageVo(PagerQuery pq) {
+ CrmCustomerOrgQuery query = pq.getParams();
+ QueryWrapper qw = createQueryWrapper(query);
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.selectPageVo(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
+
+ public void saveOrUpdateDto(CrmCustomerOrgDto dto){
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ this.insertByDto(dto);
+ return;
+ }
+ this.updateByDto(dto);
+ }
+
+ public void insertByDto(CrmCustomerOrgDto dto){
+ CrmCustomerOrg entity = new CrmCustomerOrg();
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.insert(entity);
+ }
+
+ public void updateByDto(CrmCustomerOrgDto dto){
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ return;
+ }
+ CrmCustomerOrg entity = fetchBySid(dtoSid);
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.updateById(entity);
+ }
+
+ public CrmCustomerOrgDetailsVo fetchDetailsVoBySid(String sid){
+ CrmCustomerOrg entity = fetchBySid(sid);
+ CrmCustomerOrgDetailsVo vo = new CrmCustomerOrgDetailsVo();
+ BeanUtil.copyProperties(entity, vo);
+ return vo;
+ }
+}
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgVo.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgVo.java
new file mode 100644
index 0000000000..d530d648c2
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgVo.java
@@ -0,0 +1,73 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmcustomerorg;
+
+
+import com.yxt.common.core.vo.Vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: crm(crm)
+ * File: CrmCustomerOrgVo.java
+ * Class: com.yxt.crm.api.crmcustomerorg.CrmCustomerOrgVo
+ * Description: 客户单位 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "客户单位 视图数据对象", description = "客户单位 视图数据对象")
+public class CrmCustomerOrgVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("单位名称")
+ private String orgName; // 单位名称
+ @ApiModelProperty("单位编码(拼音缩写)")
+ private String orgCode; // 单位编码(拼音缩写)
+ @ApiModelProperty("联系人")
+ private String contacts; // 联系人
+ @ApiModelProperty("联系电话")
+ private String mobile; // 联系电话
+ @ApiModelProperty("地址")
+ private String address; // 地址
+ @ApiModelProperty("信用额度")
+ private Integer creditLimit; // 信用额度
+ @ApiModelProperty("排序号")
+ private Integer sortNo; // 排序号
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid; // 使用组织sid
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid; // 创建组织sid
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/package-info.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/package-info.java
new file mode 100644
index 0000000000..09ea0f4f4f
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * 宇信通 仓库管理 项目后台逻辑和接口
+ */
+package com.yxt.crm.biz;
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/config/SaTokenConfigure.java b/yxt-crm-biz/src/main/java/com/yxt/crm/config/SaTokenConfigure.java
new file mode 100644
index 0000000000..b6565c3e31
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/config/SaTokenConfigure.java
@@ -0,0 +1,114 @@
+package com.yxt.crm.config;//package com.yxt.wms.config;
+//
+//import cn.dev33.satoken.interceptor.SaInterceptor;
+//import cn.dev33.satoken.stp.StpUtil;
+//import org.springframework.beans.factory.annotation.Value;
+//import org.springframework.context.annotation.Configuration;
+//import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+//import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+//
+///**
+// * @author wangpengfei
+// * @date 2023/5/16 14:43
+// */
+//@Configuration
+//public class SaTokenConfigure implements WebMvcConfigurer {
+// @Value("${image.url.prefix:http://127.0.0.1:8080/upload/}")
+// private String urlPrefix;
+// // 注册 Sa-Token 拦截器
+// @Override
+// public void addInterceptors(InterceptorRegistry registry) {
+// // 注册 Sa-Token 拦截器,校验规则为 StpUtil.checkLogin() 登录校验。
+//
+// registry.addInterceptor(new SaInterceptor(handler -> StpUtil.checkLogin()))
+// .addPathPatterns("/**")
+// .excludePathPatterns("/sysuser/doLogin")
+// .excludePathPatterns("/lpkgiftcard/gifCardByCustomerSid")
+// .excludePathPatterns("/empcardgift/gifCardByCustomerSid")
+// .excludePathPatterns("/empcard/getEmpCardByCustomerSid")
+// .excludePathPatterns("/lpkgiftcard/getGifCardBySid/**")
+// .excludePathPatterns("/empcardgift/getGifCardBySid/**")
+// .excludePathPatterns("/empcard/getEmpCardBySid/**")
+// .excludePathPatterns("/lpkgiftcard/isSaturAndSun/**")
+// .excludePathPatterns("/empcardgift/isSaturAndSun/**")
+// .excludePathPatterns("/empcard/isSaturAndSun/**")
+// .excludePathPatterns("/lpkgiftcard/getReservationBySid/**")
+// .excludePathPatterns("/lpksreservoorder/submission")
+// .excludePathPatterns("/lpksreservoorder/exportExcelByStore")
+// .excludePathPatterns("/empsreservoorder/createNewUserBagOrder")
+// .excludePathPatterns("/lpksreservoorders/submission")
+// .excludePathPatterns("/empsreservoorder/ordersList")
+// .excludePathPatterns("/empsreservoorder/submission")
+// .excludePathPatterns("/empsreservoorder/submissionEmp")
+// .excludePathPatterns("/empcardgift/generateCard")
+// .excludePathPatterns("/lpkgiftcard/bindCard")
+// .excludePathPatterns("/empcard/bindCard")
+// .excludePathPatterns("/lpksreservoorder/orderByCardSid/**")
+// .excludePathPatterns("/lpksreservoorder/orderListByUserSid/**")
+// .excludePathPatterns("/lpksreservoorder/orderDetails/**")
+// .excludePathPatterns("/newcomerrecorecord/recommendNewUsers")
+// .excludePathPatterns("/newcomerrecorecord/recommendedAssistance")
+// .excludePathPatterns("/newcomerrecorecord/recordList/**")
+// .excludePathPatterns("/transferrecords/transferRecordsList")
+// .excludePathPatterns("/empsreservoorder/createVegeOrder")
+// .excludePathPatterns("/empsreservoorder/OrderDetails/**")
+// .excludePathPatterns("/empsreservoorder/changePayState/**")
+// .excludePathPatterns("/lpkgoods/goodsDetails/**")
+// .excludePathPatterns("/lpkstore/getAllStoreByQuery")
+// .excludePathPatterns("/vegetablecellar/receiveTransferGoods")
+// .excludePathPatterns("/transferrecords/submission")
+// .excludePathPatterns("/lpkgiftcard/getCardByBank")
+// .excludePathPatterns("/empcard/getEmpCard")
+// .excludePathPatterns("/empcardgift/shareEmpCard/**")
+// .excludePathPatterns("/empcardgift/generateEmpCardGift")
+// .excludePathPatterns("/empcardgift/generateEmpCard")
+// .excludePathPatterns("/lpkcustomer/wxSilentLogin")
+// .excludePathPatterns("/lpkgiftcard/gifCardsByCustomerSid")
+// .excludePathPatterns("/lpkgoods/getAllGiftBag")
+// .excludePathPatterns("/appletgiftbag/getGiftBagBySid/**")
+// .excludePathPatterns("/appletgiftbag/appletGiftBagList")
+// .excludePathPatterns("/lpkgiftcard/cardShareDetail/**")
+// .excludePathPatterns("/lpkgiftcard/cardShareGoodsDetail/**")
+// .excludePathPatterns("/empcardgift/generateTopEmpCard/**")
+// .excludePathPatterns("/empsreservoorder/createOrder")
+// .excludePathPatterns("/appletgiftbag/recommendRecord/**")
+// //2024-01-17
+// .excludePathPatterns("/lpkgiftcard/getAllGoodsType/**")
+// .excludePathPatterns("/appletnotice/getNotice")
+// .excludePathPatterns("/empsreservoorder/getPreOrder")
+// .excludePathPatterns("/lpkgoods/getAllGoodsType/**")
+// .excludePathPatterns("/transferrecords/submission")
+// .excludePathPatterns("/vegetablecellar/receiveTransferGoods")
+// .excludePathPatterns("/customerstore/isSaturAndSun")
+// .excludePathPatterns("/lpkgiftcard/getGoodsByType/**")
+// .excludePathPatterns("/lpkgoods/getGoodsTypeAndBrand")
+// .excludePathPatterns("/lpkgoods/getGoodsByType")
+// .excludePathPatterns("/lpksreservoorders/orderListByUserSid")
+// .excludePathPatterns("/appletgiftbag/newUserQuota")
+// .excludePathPatterns("/shoppingcart/addShoppingCart")
+// .excludePathPatterns("/shoppingcart/getGoodsWeight")
+// .excludePathPatterns("/shoppingcart/shoppingCartList")
+// .excludePathPatterns("/shoppingcart/delShoppingCart/**")
+// .excludePathPatterns("/lpkgoods/vegeCellarTypeList")
+// .excludePathPatterns("/vegetablecellar/addGoods/**")
+// .excludePathPatterns("/lpkgoods/vegeCellarList")
+// .excludePathPatterns("/customerstore/getStoreBySid/**")
+// .excludePathPatterns("/lpkgiftcard/bindAllCard")
+// .excludePathPatterns("/lpkcustomer/customerInfo/**")
+// .excludePathPatterns("/vegetablecellar/saveGoods")
+// .excludePathPatterns("/transferrecords/getTransferByCode/**")
+// //2024-01-18
+// .excludePathPatterns("/lpkcustomer/getCustomerInfo/**")
+// .excludePathPatterns("/lpkcustomer/modifyUserNickName")
+// .excludePathPatterns("/lpkcustomer/modifyHeadImage")
+// .excludePathPatterns("/upload/**")
+// .excludePathPatterns("/lpkcustomer/getPhoneNumber")
+// .excludePathPatterns("/lpkcustomer/getRealInfo/**")
+// .excludePathPatterns("/lpkcustomer/saveRealInfo")
+// .excludePathPatterns("/pms/PmsBrand/getList")
+// .excludePathPatterns("/LpkCustomerBank/getBankList")
+// .excludePathPatterns("/lpkcustomer/updateCustomerBank")
+// .excludePathPatterns("//wxapi/**")
+// ;
+// }
+//}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/config/SaTokenGloableException.java b/yxt-crm-biz/src/main/java/com/yxt/crm/config/SaTokenGloableException.java
new file mode 100644
index 0000000000..5bec3ce79d
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/config/SaTokenGloableException.java
@@ -0,0 +1,67 @@
+package com.yxt.crm.config;
+
+import com.yxt.common.base.config.handler.GlobalExceptionHandler;
+import com.yxt.common.core.result.ResultBean;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.validation.BindException;
+import org.springframework.validation.ObjectError;
+import org.springframework.web.bind.MethodArgumentNotValidException;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.RestControllerAdvice;
+import org.springframework.web.servlet.NoHandlerFoundException;
+
+/**
+ * @author dimengzhe
+ * @date 2020/9/12 3:23
+ * @description 全局异常处理
+ */
+@RestControllerAdvice
+public class SaTokenGloableException extends GlobalExceptionHandler {
+
+ private static final Logger L = LoggerFactory.getLogger(GlobalExceptionHandler.class);
+
+ public SaTokenGloableException() {
+ }
+ @ExceptionHandler({Exception.class})
+ public ResultBean handleException(Exception e) {
+ if(null !=e.getMessage()){
+ if(e.getMessage().contains("token 无效:")){
+ L.error(e.getMessage(), e);
+ return ResultBean.fireFail().setCode("5000").setMsg("系统异常::" + e.getMessage());
+ }
+ if(e.getMessage().contains("未能读取到有效 token")){
+// L.error(e.getMessage(), e);
+ return ResultBean.fireFail().setMsg("系统异常::" + e.getMessage());
+ }
+ }
+
+ L.error(e.getMessage(), e);
+ return ResultBean.fireFail().setMsg("系统异常::" + e.getMessage());
+ }
+ @ExceptionHandler({NoHandlerFoundException.class})
+ public ResultBean handlerNoFoundException(Exception e) {
+ L.error(e.getMessage(), e);
+ return ResultBean.fireFail().setCode("404").setMsg("路径不存在,请检查路径是否正确");
+ }
+
+// @ExceptionHandler({Exception.class})
+// public ResultBean handleException(Exception e) {
+// L.error(e.getMessage(), e);
+// return ResultBean.fireFail().setMsg("系统异常::" + e.getMessage());
+// }
+
+ @ExceptionHandler({BindException.class})
+ public ResultBean validatedBindException(BindException e) {
+ L.error(e.getMessage(), e);
+ String message = ((ObjectError)e.getAllErrors().get(0)).getDefaultMessage();
+ return ResultBean.fireFail().setCode("405").setMsg(message);
+ }
+
+ @ExceptionHandler({MethodArgumentNotValidException.class})
+ public ResultBean validExceptionHandler(MethodArgumentNotValidException e) {
+ L.error(e.getMessage(), e);
+ String message = e.getBindingResult().getFieldError().getDefaultMessage();
+ return ResultBean.fireFail().setCode("405").setMsg(message);
+ }
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/config/package-info.java b/yxt-crm-biz/src/main/java/com/yxt/crm/config/package-info.java
new file mode 100644
index 0000000000..a4a817e32b
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/config/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * 宇信通监管项目-光伏(山海新能源)项目后台逻辑和接口-接口声明
+ */
+package com.yxt.crm.config;
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerCrmVehVo.java b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerCrmVehVo.java
new file mode 100644
index 0000000000..fa6ed0f1f4
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerCrmVehVo.java
@@ -0,0 +1,26 @@
+package com.yxt.crm.feign.as.ascustomervehicle;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author Fan
+ * @description
+ * @date 2024/3/7 14:29
+ */
+@Data
+public class AsCustomerCrmVehVo {
+ @ApiModelProperty("客户sid")
+ private String customerSid; // 客户sid
+ @ApiModelProperty("车牌号")
+ private String vehMark; // 车牌号
+ @ApiModelProperty("车架号")
+ private String vinNo; // 车架号
+ @ApiModelProperty("车型sid")
+ private String vehModelSid;
+ @ApiModelProperty("车型")
+ private String vehModel;
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerVehicleFeign.java b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerVehicleFeign.java
new file mode 100644
index 0000000000..60d4735919
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerVehicleFeign.java
@@ -0,0 +1,27 @@
+package com.yxt.crm.feign.as.ascustomervehicle;
+
+import com.yxt.common.core.result.ResultBean;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
+
+/**
+ * @description: 客户车辆信息
+ * @author: fzz
+ * @date: 2024/3/7
+ **/
+@FeignClient(
+ contextId = "yxt-as-AsCustomerVehicle",
+ name = "yxt-as",
+ path = "as/v1/ascustomervehicle",
+ fallback = AsCustomerVehicleFeignFallback.class
+)
+public interface AsCustomerVehicleFeign {
+ @ApiOperation("查询数据的列表")
+ @PostMapping("/listCustomerVeh")
+ public ResultBean> listCustomerVeh();
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerVehicleFeignFallback.java b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerVehicleFeignFallback.java
new file mode 100644
index 0000000000..bde9f2b9c1
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerVehicleFeignFallback.java
@@ -0,0 +1,54 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.feign.as.ascustomervehicle;
+
+import com.yxt.common.core.result.ResultBean;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * Project: anrui-fin(安瑞财务)
+ * File: FinManufacturerBankFeignFallback.java
+ * Class: com.yxt.anrui.fin.api.finmanufacturerbank.FinManufacturerBankFeignFallback
+ * Description: 公司开户账号表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-08-03 15:00:11
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Component
+public class AsCustomerVehicleFeignFallback implements AsCustomerVehicleFeign{
+
+
+ @Override
+ public ResultBean> listCustomerVeh() {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/feign/package-info.java b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/package-info.java
new file mode 100644
index 0000000000..86b2f3cad1
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * 宇信通监管项目-光伏(山海新能源)项目后台逻辑和接口-接口声明
+ */
+package com.yxt.crm.feign;
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/privilege/PrivilegeQuery.java b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/privilege/PrivilegeQuery.java
new file mode 100644
index 0000000000..d6a8324ed7
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/privilege/PrivilegeQuery.java
@@ -0,0 +1,22 @@
+package com.yxt.crm.feign.portal.privilege;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @description: 权限角色层级
+ * @author: dimengzhe
+ * @date: 2023/5/23
+ **/
+@Data
+public class PrivilegeQuery {
+
+ @ApiModelProperty("菜单路由")
+ private String menuUrl;
+ @ApiModelProperty("组织全路径sid")
+ private String orgPath;
+ @ApiModelProperty("菜单sid")
+ private String menuSid;
+ @ApiModelProperty("用户sid")
+ private String userSid;
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysorganization/SysOrganizationFeign.java b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysorganization/SysOrganizationFeign.java
new file mode 100644
index 0000000000..4f6d1eaac2
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysorganization/SysOrganizationFeign.java
@@ -0,0 +1,35 @@
+package com.yxt.crm.feign.portal.sysorganization;
+
+import com.yxt.common.core.result.ResultBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+/**
+ * Project: anrui_portal(门户建设)
+ * File: SysOrganizationFeign.java
+ * Class: com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign
+ * Description: 组织机构表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "组织机构表")
+@FeignClient(
+ contextId = "anrui-portal-SysOrganization",
+ name = "anrui-portal",
+ path = "v1/sysorganization")
+public interface SysOrganizationFeign {
+
+ @ApiOperation("获取一条记录 根据sid")
+ @ResponseBody
+ @GetMapping("/fetchBySid/{sid}")
+ public ResultBean fetchBySid(@PathVariable("sid") String sid);
+}
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysorganization/SysOrganizationVo.java b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysorganization/SysOrganizationVo.java
new file mode 100644
index 0000000000..295811f65d
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysorganization/SysOrganizationVo.java
@@ -0,0 +1,88 @@
+package com.yxt.crm.feign.portal.sysorganization;
+
+
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Project: anrui_portal(门户建设)
+ * File: SysOrganizationVo.java
+ * Class: com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo
+ * Description: 组织机构表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@ApiModel(value = "组织机构表 视图数据对象", description = "组织机构表 视图数据对象")
+@Data
+public class SysOrganizationVo implements Vo {
+ @ApiModelProperty("部门/组织名称")
+ private String name;
+
+ @ApiModelProperty("父(部门/组织) sid")
+ private String psid;
+
+ @ApiModelProperty("联系电话")
+ private String linkPhone;
+
+ @ApiModelProperty("联系人")
+ private String linkPerson;
+
+ @ApiModelProperty("部门sid全路径")
+ private String orgSidPath;
+
+ @ApiModelProperty("排序")
+ private Integer sort;
+
+ @ApiModelProperty("地址")
+ private String addrs;
+
+ @ApiModelProperty("地理位置经纬度")
+ private String jwd;
+
+ @ApiModelProperty("二维码")
+ private String qrText;
+
+ @ApiModelProperty("限制本部门成员查看通讯录:限制开启后,本部门成员只能看到限定范围内的通讯录不能看到所有通讯录,仅可见自己")
+ private Integer limitOrgMember;
+
+ @ApiModelProperty("部门编码")
+ private String orgCode;
+ @ApiModelProperty("sid")
+ private String sid;
+ @ApiModelProperty("子集")
+ private List children = new ArrayList<>();
+ @ApiModelProperty("主管人员名称")
+ private String zgNames;
+ @ApiModelProperty("分管人员名称")
+ private String fgNames;
+ @ApiModelProperty("主管人员sid")
+ private String zgStaffSid;
+ @ApiModelProperty("分管人员sid")
+ private String fgStaffSid;
+ @ApiModelProperty("组织简称")
+ private String orgAbbre;
+ @ApiModelProperty("是否是部门(0否,1是)")
+ private Integer isDept;
+ @ApiModelProperty("组织属性key")
+ private String orgAttributeKey;
+ @ApiModelProperty("组织属性value")
+ private String orgAttributeValue;
+ @ApiModelProperty("管理层级key")
+ private String orgLevelKey;
+ @ApiModelProperty("管理层级value")
+ private String orgLevelValue;
+ @ApiModelProperty("其他编码")
+ private String otherCode;
+ @ApiModelProperty("主管用户sid")
+ private String managerSid;
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysstafforg/SysStaffOrgFeign.java b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysstafforg/SysStaffOrgFeign.java
new file mode 100644
index 0000000000..719a48186e
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysstafforg/SysStaffOrgFeign.java
@@ -0,0 +1,25 @@
+package com.yxt.crm.feign.portal.sysstafforg;
+
+import com.yxt.common.core.result.ResultBean;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+/**
+ * @description: 人员与机构
+ * @author: dimengzhe
+ * @date: 2024/3/6
+ **/
+@FeignClient(
+ contextId = "anrui-portal-SysStaffOrg",
+ name = "anrui-portal",
+ path = "v1/sysstafforg")
+public interface SysStaffOrgFeign {
+
+ @GetMapping("/getOrgSidByPath")
+ @ResponseBody
+ @ApiOperation("根据用户组织全路径获取用户的分公司sid")
+ ResultBean getOrgSidByPath(@RequestParam("orgPath") String orgPath);
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysuser/SysUserFeign.java b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysuser/SysUserFeign.java
new file mode 100644
index 0000000000..aab255e456
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysuser/SysUserFeign.java
@@ -0,0 +1,22 @@
+package com.yxt.crm.feign.portal.sysuser;
+
+
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.crm.feign.portal.privilege.PrivilegeQuery;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+@Api(tags = "用户表")
+@FeignClient(
+ contextId = "anrui-portal-SysUser",
+ name = "anrui-portal",
+ path = "v1/sysuser")
+public interface SysUserFeign {
+
+ @ApiOperation(value = "查询角色权限的层级获取权限id")
+ @PostMapping(value = "/selectPrivilegeLevel")
+ ResultBean selectPrivilegeLevel(@RequestBody PrivilegeQuery query);
+}
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/resources/application-devv.yml b/yxt-crm-biz/src/main/resources/application-devv.yml
new file mode 100644
index 0000000000..604acaf44c
--- /dev/null
+++ b/yxt-crm-biz/src/main/resources/application-devv.yml
@@ -0,0 +1,30 @@
+spring:
+ datasource:
+ hikari:
+ max-lifetime: 500000
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://39.104.100.138:3306/yxt_crm?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true
+ username: root
+ password: yxt_mysql_138
+ cloud:
+ nacos:
+ discovery:
+ server-addr: 39.104.100.138:8848
+ register-enabled: false
+ redis:
+ database: 3 # Redis数据库索引(默认为0)
+ host: 39.104.100.138
+ jedis:
+ pool:
+ max-active: -1 #连接池最大连接数(使用负值表示没有限制)
+ max-idle: 8 #连接池中的最大空闲连接
+ max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
+ min-idle: 0 # 连接池中的最小空闲连接
+ password: 123456
+ port: 6379
+ timeout: 0 # 连接超时时间(毫秒)
+image:
+ upload:
+ path: D:\\anrui\\upload\\
+ url:
+ prefix: http://192.168.1.106:8111/upload/
diff --git a/yxt-crm-biz/src/main/resources/application-pro.yml b/yxt-crm-biz/src/main/resources/application-pro.yml
new file mode 100644
index 0000000000..99f21a03d6
--- /dev/null
+++ b/yxt-crm-biz/src/main/resources/application-pro.yml
@@ -0,0 +1,27 @@
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://120.46.172.184:3306/yxt_crm?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
+ username: root
+ password: '@anrui18033887500'
+ cloud:
+ nacos:
+ discovery:
+ server-addr: 127.0.0.1:8848
+ redis:
+ database: 3 # Redis数据库索引(默认为0)
+ host: 127.0.0.1
+ jedis:
+ pool:
+ max-active: -1 #连接池最大连接数(使用负值表示没有限制)
+ max-idle: 8 #连接池中的最大空闲连接
+ max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
+ min-idle: 0 # 连接池中的最小空闲连接
+ password: 123456
+ port: 6379
+ timeout: 0 # 连接超时时间(毫秒)
+image:
+ upload:
+ path: D:\anrui\upload\
+ url:
+ prefix: http://120.46.172.184/api/upload/
diff --git a/yxt-crm-biz/src/main/resources/application-test.yml b/yxt-crm-biz/src/main/resources/application-test.yml
new file mode 100644
index 0000000000..a669332ab7
--- /dev/null
+++ b/yxt-crm-biz/src/main/resources/application-test.yml
@@ -0,0 +1,31 @@
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://172.18.0.4:3306/yxt_crm?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
+ username: root
+ password: yxt_mysql_138
+ hikari:
+ minimum-idle: 3
+ max-lifetime: 30000
+ maximum-pool-size: 10
+ cloud:
+ nacos:
+ discovery:
+ server-addr: 172.18.0.5:8848
+ redis:
+ database: 3 # Redis数据库索引(默认为0)
+ host: 172.18.0.7
+ jedis:
+ pool:
+ max-active: -1 #连接池最大连接数(使用负值表示没有限制)
+ max-idle: 8 #连接池中的最大空闲连接
+ max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
+ min-idle: 0 # 连接池中的最小空闲连接
+ password: 123456
+ port: 6379
+ timeout: 0 # 连接超时时间(毫秒)
+image:
+ upload:
+ path: /home/lzh/docker_data/nginx/html/anrui-system-ui/upload/
+ url:
+ prefix: http://anrui.yyundong.com/upload/
diff --git a/yxt-crm-biz/src/main/resources/application.yml b/yxt-crm-biz/src/main/resources/application.yml
new file mode 100644
index 0000000000..486ba0834c
--- /dev/null
+++ b/yxt-crm-biz/src/main/resources/application.yml
@@ -0,0 +1,50 @@
+spring:
+ application:
+ name: yxt-crm
+ profiles:
+ active: devv
+# active: test
+# active: pro
+ messages:
+ # 国际化资源文件路径
+ basename: i18n/messages
+ servlet:
+ #上传文件
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 100MB
+ devtools:
+ restart:
+ # 热部署开关
+ enabled: true
+
+server:
+ port: 7303
+ max-http-header-size: 102400
+ undertow:
+ max-http-post-size: -1
+
+#mybatis
+mybatis-plus:
+ # 配置mapper的扫描,找到所有的mapper.xml映射文件
+ mapper-locations: classpath*:**Mapper.xml
+ global-config:
+ refresh: true
+ db-config:
+ #定义生成ID的类型
+ id-type: Auto
+ db-type: mysql
+ configuration:
+ map-underscore-to-camel-case: false
+ cache-enabled: true
+ call-setters-on-nulls: true
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+
+#rocketmq:
+# producer:
+# group: yxt-supervise-gf
+# name-server: 127.0.0.1:9876
+
+
+
+
diff --git a/yxt-crm-biz/src/main/resources/logback-spring.xml b/yxt-crm-biz/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000000..1a756cd90a
--- /dev/null
+++ b/yxt-crm-biz/src/main/resources/logback-spring.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+ %yellow(%date{yyyy-MM-dd HH:mm:ss}) |%highlight(%-5level) |%green(%logger:%line) |%blue(%msg%n)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${log.base}.log
+
+ ${log.base}.%d{yyyyMMdd}.%i.log.zip
+
+
+
+ 1MB
+
+
+
+
+ %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}
+ -%msg%n
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yxt-crm-biz/src/test/java/com/yxt/crm/YxtCrm11ApplicationTests.java b/yxt-crm-biz/src/test/java/com/yxt/crm/YxtCrm11ApplicationTests.java
new file mode 100644
index 0000000000..53dbc513a8
--- /dev/null
+++ b/yxt-crm-biz/src/test/java/com/yxt/crm/YxtCrm11ApplicationTests.java
@@ -0,0 +1,13 @@
+package com.yxt.crm;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class YxtCrm11ApplicationTests {
+
+ @Test
+ void contextLoads() {
+ }
+
+}