
43 changed files with 2417 additions and 0 deletions
@ -0,0 +1,3 @@ |
|||
yxt-crm-biz |
|||
|
|||
客户管理后台程序及接口 |
@ -0,0 +1,134 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" |
|||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
|||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
|||
|
|||
<parent> |
|||
<groupId>com.yxt</groupId> |
|||
<artifactId>yxt-parent</artifactId> |
|||
<version>0.0.1</version> |
|||
<relativePath/> |
|||
</parent> |
|||
<modelVersion>4.0.0</modelVersion> |
|||
|
|||
<artifactId>yxt-crm-biz</artifactId> |
|||
<groupId>com.yxt.crm</groupId> |
|||
<version>2.0.1</version> |
|||
|
|||
<dependencies> |
|||
<dependency> |
|||
<groupId>com.yxt</groupId> |
|||
<artifactId>yxt-common-base</artifactId> |
|||
<version>0.0.1</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-starter-web</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>com.alibaba.cloud</groupId> |
|||
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>org.springframework.cloud</groupId> |
|||
<artifactId>spring-cloud-starter-openfeign</artifactId> |
|||
</dependency> |
|||
|
|||
<!--mysql--> |
|||
<dependency> |
|||
<groupId>mysql</groupId> |
|||
<artifactId>mysql-connector-java</artifactId> |
|||
<scope>runtime</scope> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>com.baomidou</groupId> |
|||
<artifactId>mybatis-plus-boot-starter</artifactId> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.baomidou</groupId> |
|||
<artifactId>mybatis-plus-annotation</artifactId> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>junit</groupId> |
|||
<artifactId>junit</artifactId> |
|||
<scope>compile</scope> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>org.projectlombok</groupId> |
|||
<artifactId>lombok</artifactId> |
|||
<version>1.18.26</version> |
|||
<optional>true</optional> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-starter-test</artifactId> |
|||
<scope>test</scope> |
|||
</dependency> |
|||
|
|||
<!-- Sa-Token 权限认证,在线文档:https://sa-token.cc --> |
|||
<dependency> |
|||
<groupId>cn.dev33</groupId> |
|||
<artifactId>sa-token-spring-boot-starter</artifactId> |
|||
<version>1.37.0</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>cn.hutool</groupId> |
|||
<artifactId>hutool-all</artifactId> |
|||
<version>5.8.23</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>cn.hutool</groupId> |
|||
<artifactId>hutool-core</artifactId> |
|||
<version>5.8.23</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.google.zxing</groupId> |
|||
<artifactId>core</artifactId> |
|||
<version>3.5.2</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.alibaba</groupId> |
|||
<artifactId>easyexcel</artifactId> |
|||
<version>3.3.2</version> |
|||
</dependency> |
|||
|
|||
</dependencies> |
|||
|
|||
<build> |
|||
<plugins> |
|||
<plugin> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-maven-plugin</artifactId> |
|||
<version>2.5.6</version> |
|||
<executions> |
|||
<execution> |
|||
<goals> |
|||
<goal>repackage</goal> |
|||
</goals> |
|||
</execution> |
|||
</executions> |
|||
</plugin> |
|||
</plugins> |
|||
<resources> |
|||
<resource> |
|||
<directory>src/main/java</directory> |
|||
<includes> |
|||
<include>**/*Mapper.xml</include> |
|||
</includes> |
|||
</resource> |
|||
<resource> |
|||
<directory>src/main/resources</directory> |
|||
<includes> |
|||
<include>**/*.*</include> |
|||
</includes> |
|||
<filtering>false</filtering> |
|||
</resource> |
|||
</resources> |
|||
</build> |
|||
|
|||
</project> |
@ -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); |
|||
} |
|||
|
|||
} |
@ -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 { |
|||
|
|||
} |
@ -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) <br/> |
|||
* File: CrmCustomerOrgFeignFallback.java <br/> |
|||
* Class: com.yxt.crm.biz.crmcustomerorg.CrmCustomerOrgRest <br/> |
|||
* Description: 客户单位. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2024-03-15 17:06:09 <br/> |
|||
* |
|||
* @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<PagerVo<CrmCustomerOrgVo>> listPage(@RequestBody PagerQuery<CrmCustomerOrgQuery> pq){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
PagerVo<CrmCustomerOrgVo> 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<CrmCustomerOrgDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
CrmCustomerOrgDetailsVo vo = crmCustomerOrgService.fetchDetailsVoBySid(sid); |
|||
return rb.success().setData(vo); |
|||
} |
|||
} |
@ -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) <br/> |
|||
* File: CrmCustomerFeignFallback.java <br/> |
|||
* Class: com.yxt.crm.biz.crmcustomer.CrmCustomerRest <br/> |
|||
* Description: 客户. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2024-03-15 17:06:09 <br/> |
|||
* |
|||
* @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<PagerVo<CustomerVehVo>> customerListPage(@RequestBody PagerQuery<CustomerVehQuery> pq){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
PagerVo<CustomerVehVo> pv = crmCustomerService.customerListPage(pq); |
|||
return rb.success().setData(pv); |
|||
} |
|||
|
|||
@ApiOperation("根据条件分页查询数据的列表") |
|||
@PostMapping("/listPage") |
|||
public ResultBean<PagerVo<CrmCustomerVo>> listPage(@RequestBody PagerQuery<CrmCustomerQuery> pq) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
PagerVo<CrmCustomerVo> 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<CrmCustomerDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
CrmCustomerDetailsVo vo = crmCustomerService.fetchDetailsVoBySid(sid); |
|||
return rb.success().setData(vo); |
|||
} |
|||
} |
@ -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) <br/> |
|||
* File: CrmCustomer.java <br/> |
|||
* Class: com.yxt.crm.api.crmcustomer.CrmCustomer <br/> |
|||
* Description: 客户. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2024-03-15 17:06:09 <br/> |
|||
* |
|||
* @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
|
|||
|
|||
} |
@ -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) <br/> |
|||
* File: CrmCustomerVo.java <br/> |
|||
* Class: com.yxt.crm.api.crmcustomer.CrmCustomerVo <br/> |
|||
* Description: 客户 视图数据对象. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2024-03-15 17:06:09 <br/> |
|||
* |
|||
* @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
|
|||
|
|||
} |
@ -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) <br/> |
|||
* File: CrmCustomerDto.java <br/> |
|||
* Class: com.yxt.crm.api.crmcustomer.CrmCustomerDto <br/> |
|||
* Description: 客户 数据传输对象. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2024-03-15 17:06:09 <br/> |
|||
* |
|||
* @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
|
|||
|
|||
} |
@ -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) <br/> |
|||
* File: CrmCustomerMapper.java <br/> |
|||
* Class: com.yxt.crm.biz.crmcustomer.CrmCustomerMapper <br/> |
|||
* Description: 客户. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2024-03-15 17:06:09 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@Mapper |
|||
public interface CrmCustomerMapper extends BaseMapper<CrmCustomer> { |
|||
|
|||
//@Update("update crm_customer set name=#{msg} where id=#{id}")
|
|||
//IPage<CrmCustomerVo> voPage(IPage<CrmCustomer> page, @Param(Constants.WRAPPER) QueryWrapper<CrmCustomer> qw);
|
|||
|
|||
IPage<CrmCustomerVo> selectPageVo(IPage<CrmCustomer> page, @Param(Constants.WRAPPER) Wrapper<CrmCustomer> qw); |
|||
|
|||
List<CrmCustomerVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<CrmCustomer> qw); |
|||
|
|||
@Select("select * from crm_customer") |
|||
List<CrmCustomerVo> selectListVo(); |
|||
|
|||
List<CustomerVehVo> customerListPage(@Param(Constants.WRAPPER) QueryWrapper<CrmCustomer> qw); |
|||
|
|||
List<CustomerVehVo> customerList(); |
|||
} |
@ -0,0 +1,34 @@ |
|||
<?xml version="1.0" encoding="UTF-8" ?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
<mapper namespace="com.yxt.crm.biz.crmcustomer.CrmCustomerMapper"> |
|||
<!-- <where> ${ew.sqlSegment} </where>--> |
|||
<!-- ${ew.customSqlSegment} --> |
|||
<select id="selectPageVo" resultType="com.yxt.crm.biz.crmcustomer.CrmCustomerVo"> |
|||
SELECT * FROM crm_customer |
|||
<where>${ew.sqlSegment}</where> |
|||
</select> |
|||
|
|||
<select id="selectListAllVo" resultType="com.yxt.crm.biz.crmcustomer.CrmCustomerVo"> |
|||
SELECT * FROM crm_customer |
|||
<where>${ew.sqlSegment}</where> |
|||
</select> |
|||
<select id="customerListPage" resultType="com.yxt.crm.biz.crmcustomer.CustomerVehVo"> |
|||
SELECT |
|||
sid, |
|||
`name`, |
|||
mobile, |
|||
orgName |
|||
FROM crm_customer |
|||
<where> |
|||
${ew.sqlSegment} |
|||
</where> |
|||
</select> |
|||
<select id="customerList" resultType="com.yxt.crm.biz.crmcustomer.CustomerVehVo"> |
|||
SELECT sid, |
|||
`name`, |
|||
mobile, |
|||
orgName, |
|||
useOrgSid |
|||
FROM crm_customer |
|||
</select> |
|||
</mapper> |
@ -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) <br/> |
|||
* File: CrmCustomerQuery.java <br/> |
|||
* Class: com.yxt.crm.api.crmcustomer.CrmCustomerQuery <br/> |
|||
* Description: 客户 查询条件. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2024-03-15 17:06:09 <br/> |
|||
* |
|||
* @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
|
|||
|
|||
} |
@ -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) <br/> |
|||
* File: CrmCustomerService.java <br/> |
|||
* Class: com.yxt.crm.biz.crmcustomer.CrmCustomerService <br/> |
|||
* Description: 客户 业务逻辑. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2024-03-15 17:06:09 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@Service |
|||
public class CrmCustomerService extends MybatisBaseService<CrmCustomerMapper, CrmCustomer> { |
|||
|
|||
@Resource |
|||
private AsCustomerVehicleFeign asCustomerVehicleFeign; |
|||
@Autowired |
|||
private SysStaffOrgFeign sysStaffOrgFeign; |
|||
|
|||
private QueryWrapper<CrmCustomer> createQueryWrapper(CrmCustomerQuery query) { |
|||
// todo: 这里根据具体业务调整查询条件
|
|||
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
|
|||
QueryWrapper<CrmCustomer> qw = new QueryWrapper<>(); |
|||
return qw; |
|||
} |
|||
|
|||
public PagerVo<CrmCustomerVo> listPageVo(PagerQuery<CrmCustomerQuery> pq) { |
|||
CrmCustomerQuery query = pq.getParams(); |
|||
QueryWrapper<CrmCustomer> qw = createQueryWrapper(query); |
|||
IPage<CrmCustomer> page = PagerUtil.queryToPage(pq); |
|||
IPage<CrmCustomerVo> pagging = baseMapper.selectPageVo(page, qw); |
|||
PagerVo<CrmCustomerVo> 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<CustomerVehVo> customerListPage(PagerQuery<CustomerVehQuery> pq) { |
|||
PagerVo<CustomerVehVo> pagerVo = new PagerVo<>(); |
|||
CustomerVehQuery pagerQuery = pq.getParams(); |
|||
List<CustomerVehVo> nameList = new ArrayList<>(); |
|||
List<CustomerVehVo> mobileList = new ArrayList<>(); |
|||
List<CustomerVehVo> orgNameList = new ArrayList<>(); |
|||
List<CustomerVehVo> vinList = new ArrayList<>(); |
|||
List<AsCustomerCrmVehVo> vehVos = asCustomerVehicleFeign.listCustomerVeh().getData(); |
|||
if (!vehVos.isEmpty()) { |
|||
List<CustomerVehVo> customerVos = baseMapper.customerList(); |
|||
customerVos.removeAll(Collections.singleton(null)); |
|||
if (!customerVos.isEmpty()) { |
|||
List<CustomerVehVo> result = vehVos.stream() |
|||
.map(v -> { |
|||
Optional<CustomerVehVo> 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<CustomerVehVo> 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<CustomerVehVo> pageBySubList(List<CustomerVehVo> list, int pagesize, int currentPage) { |
|||
int totalcount = list.size(); |
|||
int pagecount = 0; |
|||
List<CustomerVehVo> 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; |
|||
} |
|||
} |
@ -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) <br/> |
|||
* File: CrmCustomerVo.java <br/> |
|||
* Class: com.yxt.crm.api.crmcustomer.CrmCustomerVo <br/> |
|||
* Description: 客户 视图数据对象. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2024-03-15 17:06:09 <br/> |
|||
* |
|||
* @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
|
|||
|
|||
} |
@ -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; // 组织全路径
|
|||
|
|||
} |
@ -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; |
|||
} |
@ -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) <br/> |
|||
* File: CrmCustomerOrg.java <br/> |
|||
* Class: com.yxt.crm.api.crmcustomerorg.CrmCustomerOrg <br/> |
|||
* Description: 客户单位. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2024-03-15 17:06:09 <br/> |
|||
* |
|||
* @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
|
|||
|
|||
} |
@ -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) <br/> |
|||
* File: CrmCustomerOrgVo.java <br/> |
|||
* Class: com.yxt.crm.api.crmcustomerorg.CrmCustomerOrgVo <br/> |
|||
* Description: 客户单位 视图数据对象. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2024-03-15 17:06:09 <br/> |
|||
* |
|||
* @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
|
|||
|
|||
} |
@ -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) <br/> |
|||
* File: CrmCustomerOrgDto.java <br/> |
|||
* Class: com.yxt.crm.api.crmcustomerorg.CrmCustomerOrgDto <br/> |
|||
* Description: 客户单位 数据传输对象. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2024-03-15 17:06:09 <br/> |
|||
* |
|||
* @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
|
|||
|
|||
} |
@ -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) <br/> |
|||
* File: CrmCustomerOrgMapper.java <br/> |
|||
* Class: com.yxt.crm.biz.crmcustomerorg.CrmCustomerOrgMapper <br/> |
|||
* Description: 客户单位. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2024-03-15 17:06:09 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@Mapper |
|||
public interface CrmCustomerOrgMapper extends BaseMapper<CrmCustomerOrg> { |
|||
|
|||
//@Update("update crm_customer_org set name=#{msg} where id=#{id}")
|
|||
//IPage<CrmCustomerOrgVo> voPage(IPage<CrmCustomerOrg> page, @Param(Constants.WRAPPER) QueryWrapper<CrmCustomerOrg> qw);
|
|||
|
|||
IPage<CrmCustomerOrgVo> selectPageVo(IPage<CrmCustomerOrg> page, @Param(Constants.WRAPPER) Wrapper<CrmCustomerOrg> qw); |
|||
|
|||
List<CrmCustomerOrgVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<CrmCustomerOrg> qw); |
|||
|
|||
@Select("select * from crm_customer_org") |
|||
List<CrmCustomerOrgVo> selectListVo(); |
|||
} |
@ -0,0 +1,13 @@ |
|||
<?xml version="1.0" encoding="UTF-8" ?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
<mapper namespace="com.yxt.crm.biz.crmcustomerorg.CrmCustomerOrgMapper"> |
|||
<!-- <where> ${ew.sqlSegment} </where>--> |
|||
<!-- ${ew.customSqlSegment} --> |
|||
<select id="selectPageVo" resultType="com.yxt.crm.biz.crmcustomerorg.CrmCustomerOrgVo"> |
|||
SELECT * FROM crm_customer_org <where> ${ew.sqlSegment} </where> |
|||
</select> |
|||
|
|||
<select id="selectListAllVo" resultType="com.yxt.crm.biz.crmcustomerorg.CrmCustomerOrgVo"> |
|||
SELECT * FROM crm_customer_org <where> ${ew.sqlSegment} </where> |
|||
</select> |
|||
</mapper> |
@ -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) <br/> |
|||
* File: CrmCustomerOrgQuery.java <br/> |
|||
* Class: com.yxt.crm.api.crmcustomerorg.CrmCustomerOrgQuery <br/> |
|||
* Description: 客户单位 查询条件. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2024-03-15 17:06:09 <br/> |
|||
* |
|||
* @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
|
|||
|
|||
} |
@ -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) <br/> |
|||
* File: CrmCustomerOrgService.java <br/> |
|||
* Class: com.yxt.crm.biz.crmcustomerorg.CrmCustomerOrgService <br/> |
|||
* Description: 客户单位 业务逻辑. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2024-03-15 17:06:09 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@Service |
|||
public class CrmCustomerOrgService extends MybatisBaseService<CrmCustomerOrgMapper, CrmCustomerOrg> { |
|||
private QueryWrapper<CrmCustomerOrg> createQueryWrapper(CrmCustomerOrgQuery query) { |
|||
// todo: 这里根据具体业务调整查询条件
|
|||
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
|
|||
QueryWrapper<CrmCustomerOrg> qw = new QueryWrapper<>(); |
|||
return qw; |
|||
} |
|||
|
|||
public PagerVo<CrmCustomerOrgVo> listPageVo(PagerQuery<CrmCustomerOrgQuery> pq) { |
|||
CrmCustomerOrgQuery query = pq.getParams(); |
|||
QueryWrapper<CrmCustomerOrg> qw = createQueryWrapper(query); |
|||
IPage<CrmCustomerOrg> page = PagerUtil.queryToPage(pq); |
|||
IPage<CrmCustomerOrgVo> pagging = baseMapper.selectPageVo(page, qw); |
|||
PagerVo<CrmCustomerOrgVo> 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; |
|||
} |
|||
} |
@ -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) <br/> |
|||
* File: CrmCustomerOrgVo.java <br/> |
|||
* Class: com.yxt.crm.api.crmcustomerorg.CrmCustomerOrgVo <br/> |
|||
* Description: 客户单位 视图数据对象. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2024-03-15 17:06:09 <br/> |
|||
* |
|||
* @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
|
|||
|
|||
} |
@ -0,0 +1,4 @@ |
|||
/** |
|||
* 宇信通 仓库管理 项目后台逻辑和接口 |
|||
*/ |
|||
package com.yxt.crm.biz; |
@ -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/**")
|
|||
// ;
|
|||
// }
|
|||
//}
|
@ -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); |
|||
} |
|||
} |
@ -0,0 +1,4 @@ |
|||
/** |
|||
* 宇信通监管项目-光伏(山海新能源)项目后台逻辑和接口-接口声明 |
|||
*/ |
|||
package com.yxt.crm.config; |
@ -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; |
|||
} |
@ -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<List<AsCustomerCrmVehVo>> listCustomerVeh(); |
|||
} |
@ -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(安瑞财务) <br/> |
|||
* File: FinManufacturerBankFeignFallback.java <br/> |
|||
* Class: com.yxt.anrui.fin.api.finmanufacturerbank.FinManufacturerBankFeignFallback <br/> |
|||
* Description: 公司开户账号表. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2022-08-03 15:00:11 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@Component |
|||
public class AsCustomerVehicleFeignFallback implements AsCustomerVehicleFeign{ |
|||
|
|||
|
|||
@Override |
|||
public ResultBean<List<AsCustomerCrmVehVo>> listCustomerVeh() { |
|||
return null; |
|||
} |
|||
} |
@ -0,0 +1,4 @@ |
|||
/** |
|||
* 宇信通监管项目-光伏(山海新能源)项目后台逻辑和接口-接口声明 |
|||
*/ |
|||
package com.yxt.crm.feign; |
@ -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; |
|||
} |
@ -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(门户建设) <br/> |
|||
* File: SysOrganizationFeign.java <br/> |
|||
* Class: com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign <br/> |
|||
* Description: 组织机构表. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2021-08-03 00:24:28 <br/> |
|||
* |
|||
* @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<SysOrganizationVo> fetchBySid(@PathVariable("sid") String sid); |
|||
} |
@ -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(门户建设) <br/> |
|||
* File: SysOrganizationVo.java <br/> |
|||
* Class: com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo <br/> |
|||
* Description: 组织机构表 视图数据对象. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2021-08-03 00:24:28 <br/> |
|||
* |
|||
* @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<SysOrganizationVo> 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; |
|||
} |
@ -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<String> getOrgSidByPath(@RequestParam("orgPath") String orgPath); |
|||
} |
@ -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<String> selectPrivilegeLevel(@RequestBody PrivilegeQuery query); |
|||
} |
@ -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/ |
@ -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/ |
@ -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/ |
@ -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 |
|||
|
|||
|
|||
|
|||
|
@ -0,0 +1,50 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<configuration> |
|||
|
|||
<property name="log.base" value="logs/yxt_wms" /> |
|||
|
|||
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> |
|||
<encoder> |
|||
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 : |
|||
|%blue(%thread) 线程 如 :DiscoveryClient-CacheRefreshExecutor-0--> |
|||
<!--<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>--> |
|||
<pattern>%yellow(%date{yyyy-MM-dd HH:mm:ss}) |%highlight(%-5level) |%green(%logger:%line) |%blue(%msg%n) |
|||
</pattern> |
|||
<!--<charset>UTF-8</charset> --> |
|||
</encoder> |
|||
</appender> |
|||
|
|||
<!-- 彩色日志 --> |
|||
<!-- 彩色日志依赖的渲染类 --> |
|||
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" /> |
|||
<conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" /> |
|||
<conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" /> |
|||
<!-- 彩色日志格式 --> |
|||
<property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/> |
|||
|
|||
<appender name="FILEOUT" |
|||
class="ch.qos.logback.core.rolling.RollingFileAppender"> |
|||
<file>${log.base}.log</file> |
|||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
|||
<fileNamePattern>${log.base}.%d{yyyyMMdd}.%i.log.zip |
|||
</fileNamePattern> |
|||
<!-- 当文件大小超过10MB时触发滚动 --> |
|||
<timeBasedFileNamingAndTriggeringPolicy |
|||
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
|||
<maxFileSize>1MB</maxFileSize> |
|||
</timeBasedFileNamingAndTriggeringPolicy> |
|||
</rollingPolicy> |
|||
<encoder> |
|||
<!--<pattern>%date [%thread] %-5level %logger{35} - %msg%n</pattern>--> |
|||
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} |
|||
-%msg%n</Pattern> |
|||
<!--<charset>UTF-8</charset> --> |
|||
</encoder> |
|||
</appender> |
|||
|
|||
<root level="DEBUG"> |
|||
<appender-ref ref="STDOUT" /> |
|||
<appender-ref ref="FILEOUT" /> |
|||
</root> |
|||
|
|||
</configuration> |
@ -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() { |
|||
} |
|||
|
|||
} |
Loading…
Reference in new issue