Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dsk-cr20g
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
dsk-cr20g
Commits
3e87a073
Commit
3e87a073
authored
May 17, 2023
by
lcl
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add
parent
bb14a785
Changes
18
Show whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
349 additions
and
27 deletions
+349
-27
CustomerController.java
...a/com/dsk/web/controller/customer/CustomerController.java
+39
-0
CustomerDecisionChainController.java
.../controller/customer/CustomerDecisionChainController.java
+8
-4
Customer.java
...rc/main/java/com/dsk/system/domain/customer/Customer.java
+4
-8
CustomerDecisionChain.java
...com/dsk/system/domain/customer/CustomerDecisionChain.java
+4
-4
CustomerUser.java
...ain/java/com/dsk/system/domain/customer/CustomerUser.java
+52
-0
CustomerDecisionChainSearchDto.java
...m/domain/customer/dto/CustomerDecisionChainSearchDto.java
+1
-1
CustomerSearchDto.java
...com/dsk/system/domain/customer/dto/CustomerSearchDto.java
+22
-0
CustomerListVo.java
...ava/com/dsk/system/domain/customer/vo/CustomerListVo.java
+101
-0
CustomerDecisionChainMapper.java
...va/com/dsk/system/mapper/CustomerDecisionChainMapper.java
+1
-1
CustomerMapper.java
...m/src/main/java/com/dsk/system/mapper/CustomerMapper.java
+8
-1
CustomerUserMapper.java
...c/main/java/com/dsk/system/mapper/CustomerUserMapper.java
+18
-0
ICustomerDecisionChainService.java
...com/dsk/system/service/ICustomerDecisionChainService.java
+2
-2
ICustomerService.java
...rc/main/java/com/dsk/system/service/ICustomerService.java
+9
-2
CustomerDecisionChainServiceImpl.java
...system/service/impl/CustomerDecisionChainServiceImpl.java
+2
-2
CustomerServiceImpl.java
...java/com/dsk/system/service/impl/CustomerServiceImpl.java
+57
-1
CustomerDecisionChainMapper.xml
...es/mapper/system/customer/CustomerDecisionChainMapper.xml
+1
-1
CustomerMapper.xml
.../main/resources/mapper/system/customer/CustomerMapper.xml
+13
-0
CustomerUserMapper.xml
...n/resources/mapper/system/customer/CustomerUserMapper.xml
+7
-0
No files found.
dsk-admin/src/main/java/com/dsk/web/controller/customer/CustomerController.java
View file @
3e87a073
package
com
.
dsk
.
web
.
controller
.
customer
;
import
com.dsk.common.annotation.RepeatSubmit
;
import
com.dsk.common.core.controller.BaseController
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.common.utils.PageUtils
;
import
com.dsk.system.domain.customer.Customer
;
import
com.dsk.system.domain.customer.dto.CustomerSearchDto
;
import
com.dsk.system.service.ICustomerService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
...
...
@@ -19,4 +28,34 @@ public class CustomerController extends BaseController {
@Autowired
private
ICustomerService
baseService
;
/**
* 查询客户列表
*/
@PreAuthorize
(
"@ss.hasPermi('customer:list')"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
selectPageList
(
CustomerSearchDto
dto
){
startPage
();
return
getDataTable
(
baseService
.
selectList
(
dto
));
}
/**
* 添加客户
*/
@PreAuthorize
(
"@ss.hasPermi('customer:add')"
)
@PostMapping
()
@RepeatSubmit
public
AjaxResult
add
(
Customer
customer
){
return
AjaxResult
.
success
(
baseService
.
add
(
customer
));
}
/**
* 编辑客户
*/
@PreAuthorize
(
"@ss.hasPermi('customer:edit')"
)
@PostMapping
()
@RepeatSubmit
public
AjaxResult
edit
(
Customer
customer
){
return
AjaxResult
.
success
(
baseService
.
edit
(
customer
));
}
}
dsk-admin/src/main/java/com/dsk/web/controller/customer/CustomerDecisionChainController.java
View file @
3e87a073
package
com
.
dsk
.
web
.
controller
.
customer
;
import
com.dsk.common.annotation.RepeatSubmit
;
import
com.dsk.common.core.controller.BaseController
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.system.domain.CustomerDecisionChain
;
import
com.dsk.system.domain.dto.CustomerDecisionChainSearchDto
;
import
com.dsk.system.domain.
customer.
CustomerDecisionChain
;
import
com.dsk.system.domain.
customer.
dto.CustomerDecisionChainSearchDto
;
import
com.dsk.system.service.ICustomerDecisionChainService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.access.prepost.PreAuthorize
;
...
...
@@ -37,7 +38,8 @@ public class CustomerDecisionChainController extends BaseController {
*/
@PreAuthorize
(
"@ss.hasPermi('customer:decision:chain:add')"
)
@PostMapping
()
public
AjaxResult
add
(
CustomerDecisionChain
customerDecisionChain
){
@RepeatSubmit
()
public
AjaxResult
add
(
@RequestBody
CustomerDecisionChain
customerDecisionChain
){
return
AjaxResult
.
success
(
baseService
.
insert
(
customerDecisionChain
));
}
...
...
@@ -46,7 +48,8 @@ public class CustomerDecisionChainController extends BaseController {
*/
@PreAuthorize
(
"@ss.hasPermi('customer:decision:chain:edit')"
)
@PutMapping
()
public
AjaxResult
edit
(
CustomerDecisionChain
customerDecisionChain
){
@RepeatSubmit
()
public
AjaxResult
edit
(
@RequestBody
CustomerDecisionChain
customerDecisionChain
){
return
AjaxResult
.
success
(
baseService
.
update
(
customerDecisionChain
));
}
...
...
@@ -55,6 +58,7 @@ public class CustomerDecisionChainController extends BaseController {
*/
@PreAuthorize
(
"@ss.hasPermi('customer:decision:chain:del')"
)
@DeleteMapping
(
"/{id}"
)
@RepeatSubmit
()
public
AjaxResult
del
(
@PathVariable
(
"id"
)
Long
id
){
return
AjaxResult
.
success
(
baseService
.
deleteById
(
id
));
}
...
...
dsk-system/src/main/java/com/dsk/system/domain/Customer.java
→
dsk-system/src/main/java/com/dsk/system/domain/
customer/
Customer.java
View file @
3e87a073
package
com
.
dsk
.
system
.
domain
;
package
com
.
dsk
.
system
.
domain
.
customer
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.annotation.*
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
...
...
@@ -101,17 +99,15 @@ public class Customer implements Serializable {
* 其它管理体系特点
*/
private
String
otherMsCharacteistic
;
/**
* 最后跟进时间
*/
private
Date
lastFollowTime
;
private
Long
createId
;
@TableField
(
fill
=
FieldFill
.
INSERT
)
private
Date
createTime
;
private
Long
updateId
;
@TableField
(
fill
=
FieldFill
.
INSERT_UPDATE
)
private
Date
updateTime
;
...
...
dsk-system/src/main/java/com/dsk/system/domain/CustomerDecisionChain.java
→
dsk-system/src/main/java/com/dsk/system/domain/
customer/
CustomerDecisionChain.java
View file @
3e87a073
package
com
.
dsk
.
system
.
domain
;
package
com
.
dsk
.
system
.
domain
.
customer
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.annotation.*
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
...
...
@@ -54,6 +52,7 @@ public class CustomerDecisionChain implements Serializable {
*/
private
String
remark
;
@TableField
(
fill
=
FieldFill
.
INSERT
)
private
Date
createTime
;
/**
* 更新人
...
...
@@ -62,6 +61,7 @@ public class CustomerDecisionChain implements Serializable {
private
Long
updateId
;
@TableField
(
fill
=
FieldFill
.
INSERT_UPDATE
)
private
Date
updateTime
;
...
...
dsk-system/src/main/java/com/dsk/system/domain/customer/CustomerUser.java
0 → 100644
View file @
3e87a073
package
com
.
dsk
.
system
.
domain
.
customer
;
import
com.baomidou.mybatisplus.annotation.*
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 客户负责人表
*
* @author lcl
* @create 2023/5/17
*/
@Data
@NoArgsConstructor
@Accessors
(
chain
=
true
)
@TableName
(
"customer_user"
)
public
class
CustomerUser
implements
Serializable
{
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* 客户id
*/
private
String
customerId
;
/**
* 负责人id
*/
private
Long
userId
;
/**
* 状态
*/
private
Integer
status
;
/**
* 创建时间
*/
@TableField
(
fill
=
FieldFill
.
INSERT
)
private
Date
careteTime
;
/**
* 修改时间
*/
@TableField
(
fill
=
FieldFill
.
INSERT_UPDATE
)
private
Date
updateTime
;
public
CustomerUser
(
String
customerId
,
Long
userId
)
{
this
.
customerId
=
customerId
;
this
.
userId
=
userId
;
}
}
dsk-system/src/main/java/com/dsk/system/domain/dto/CustomerDecisionChainSearchDto.java
→
dsk-system/src/main/java/com/dsk/system/domain/
customer/
dto/CustomerDecisionChainSearchDto.java
View file @
3e87a073
package
com
.
dsk
.
system
.
domain
.
dto
;
package
com
.
dsk
.
system
.
domain
.
customer
.
dto
;
import
lombok.Data
;
...
...
dsk-system/src/main/java/com/dsk/system/domain/customer/dto/CustomerSearchDto.java
0 → 100644
View file @
3e87a073
package
com
.
dsk
.
system
.
domain
.
customer
.
dto
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* @author lcl
* @create 2023/5/16
*/
@Data
public
class
CustomerSearchDto
implements
Serializable
{
/**
* 企业名称
*/
private
String
companyName
;
/**
* 用户id
*/
private
Long
userId
;
}
dsk-system/src/main/java/com/dsk/system/domain/customer/vo/CustomerListVo.java
0 → 100644
View file @
3e87a073
package
com
.
dsk
.
system
.
domain
.
customer
.
vo
;
import
lombok.Data
;
/**
* @author lcl
* @create 2023/5/17
*/
@Data
public
class
CustomerListVo
{
private
String
customerId
;
/**
* jsk企业id
*/
private
Integer
companyId
;
/**
* 客户名称(企业名称)
*/
private
String
companyName
;
/**
* 合作项目
*/
private
Integer
cooperationProject
;
/**
* 跟进项目
*/
private
Integer
followProject
;
/**
* 储备项目
*/
private
Integer
reserveProject
;
/**
* 法定代表人
*/
private
String
legalPerson
;
/**
* 注册资本(字符串)
*/
private
String
registerCapitalStr
;
/**
* 企业性质
*/
private
String
companyNature
;
/**
* 企业级别
*/
private
String
companyLevel
;
/**
* 信用等级
*/
private
String
creditLevel
;
/**
* 上级公司
*/
private
String
superCompany
;
/**
* 是否上市 0:否 1:是
*/
private
Integer
isOn
;
/**
* 是否主要客户 0:否 1:是
*/
private
Integer
isMajor
;
/**
* 发包属性
*/
private
String
companyAttribute
;
/**
* 主要业务
*/
private
String
mainBusiness
;
/**
* 经营范围
*/
private
String
businessScope
;
/**
* 商务条件特点
*/
private
String
businessCharacteristic
;
/**
* 决策链条
*/
private
String
decisionChain
;
/**
* 招投标流程特点
*/
private
String
bidCharacteristic
;
/**
* 履约阶段特点
*/
private
String
performanceCharacteristic
;
/**
* 其它管理体系特点
*/
private
String
otherMsCharacteistic
;
/**
* 跟进人
*/
private
String
followUser
;
}
dsk-system/src/main/java/com/dsk/system/mapper/CustomerDecisionChainMapper.java
View file @
3e87a073
package
com
.
dsk
.
system
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.dsk.system.domain.CustomerDecisionChain
;
import
com.dsk.system.domain.
customer.
CustomerDecisionChain
;
import
org.apache.ibatis.annotations.Mapper
;
...
...
dsk-system/src/main/java/com/dsk/system/mapper/CustomerMapper.java
View file @
3e87a073
package
com
.
dsk
.
system
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.dsk.system.domain.Customer
;
import
com.dsk.system.domain.customer.Customer
;
import
com.dsk.system.domain.customer.dto.CustomerSearchDto
;
import
com.dsk.system.domain.customer.vo.CustomerListVo
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
...
...
@@ -14,5 +19,7 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public
interface
CustomerMapper
extends
BaseMapper
<
Customer
>
{
List
<
CustomerListVo
>
selectList
(
@Param
(
"dto"
)
CustomerSearchDto
dto
);
}
dsk-system/src/main/java/com/dsk/system/mapper/CustomerUserMapper.java
0 → 100644
View file @
3e87a073
package
com
.
dsk
.
system
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.dsk.system.domain.customer.CustomerUser
;
import
org.apache.ibatis.annotations.Mapper
;
/**
* 客户负责人表(Customer)表数据库访问层
*
* @author makejava
* @since 2023-05-16 09:28:00
*/
@Mapper
public
interface
CustomerUserMapper
extends
BaseMapper
<
CustomerUser
>
{
}
dsk-system/src/main/java/com/dsk/system/service/ICustomerDecisionChainService.java
View file @
3e87a073
package
com
.
dsk
.
system
.
service
;
import
com.dsk.system.domain.CustomerDecisionChain
;
import
com.dsk.system.domain.dto.CustomerDecisionChainSearchDto
;
import
com.dsk.system.domain.
customer.
CustomerDecisionChain
;
import
com.dsk.system.domain.
customer.
dto.CustomerDecisionChainSearchDto
;
import
java.util.List
;
...
...
dsk-system/src/main/java/com/dsk/system/service/ICustomerService.java
View file @
3e87a073
package
com
.
dsk
.
system
.
service
;
import
com.dsk.system.domain.Customer
;
import
com.dsk.system.domain.customer.Customer
;
import
com.dsk.system.domain.customer.dto.CustomerSearchDto
;
import
com.dsk.system.domain.customer.vo.CustomerListVo
;
import
java.util.List
;
...
...
@@ -13,4 +14,10 @@ import java.util.List;
*/
public
interface
ICustomerService
{
List
<
CustomerListVo
>
selectList
(
CustomerSearchDto
dto
);
boolean
add
(
Customer
customer
);
boolean
edit
(
Customer
customer
);
}
dsk-system/src/main/java/com/dsk/system/service/impl/CustomerDecisionChainServiceImpl.java
View file @
3e87a073
...
...
@@ -3,8 +3,8 @@ package com.dsk.system.service.impl;
import
cn.hutool.core.bean.BeanException
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.dsk.common.utils.SecurityUtils
;
import
com.dsk.system.domain.CustomerDecisionChain
;
import
com.dsk.system.domain.dto.CustomerDecisionChainSearchDto
;
import
com.dsk.system.domain.
customer.
CustomerDecisionChain
;
import
com.dsk.system.domain.
customer.
dto.CustomerDecisionChainSearchDto
;
import
com.dsk.system.mapper.CustomerDecisionChainMapper
;
import
com.dsk.system.service.ICustomerDecisionChainService
;
import
lombok.extern.slf4j.Slf4j
;
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/CustomerServiceImpl.java
View file @
3e87a073
package
com
.
dsk
.
system
.
service
.
impl
;
import
cn.hutool.core.bean.BeanException
;
import
com.dsk.common.exception.ServiceException
;
import
com.dsk.common.utils.SecurityUtils
;
import
com.dsk.system.domain.customer.Customer
;
import
com.dsk.system.domain.customer.CustomerUser
;
import
com.dsk.system.domain.customer.dto.CustomerSearchDto
;
import
com.dsk.system.domain.customer.vo.CustomerListVo
;
import
com.dsk.system.mapper.CustomerMapper
;
import
com.dsk.system.mapper.CustomerUserMapper
;
import
com.dsk.system.service.ICustomerService
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.ObjectUtils
;
import
javax.annotation.Resource
;
import
java.util.List
;
/**
* 客户信息表(Customer)表服务实现类
...
...
@@ -16,6 +27,51 @@ import javax.annotation.Resource;
public
class
CustomerServiceImpl
implements
ICustomerService
{
@Resource
private
CustomerMapper
customerMapper
;
private
CustomerMapper
baseMapper
;
@Resource
private
CustomerUserMapper
customerUserMapper
;
@Override
public
List
<
CustomerListVo
>
selectList
(
CustomerSearchDto
dto
)
{
dto
.
setUserId
(
SecurityUtils
.
getUserId
());
List
<
CustomerListVo
>
vos
=
baseMapper
.
selectList
(
dto
);
for
(
CustomerListVo
vo
:
vos
)
{
//TODO 客户项目相关统计
//合作项目
vo
.
setCooperationProject
(
1
);
//跟进项目
vo
.
setFollowProject
(
1
);
//储备项目
vo
.
setReserveProject
(
1
);
}
return
vos
;
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
add
(
Customer
customer
)
{
if
(
ObjectUtils
.
isEmpty
(
customer
.
getCompanyName
()))
throw
new
BeanException
(
"企业名称不能为空"
);
final
Long
userId
=
SecurityUtils
.
getUserId
();
customer
.
setCreateId
(
userId
);
customer
.
setUpdateId
(
userId
);
//TODO 查询企业id
customer
.
setCompanyId
(
0
);
int
i
=
baseMapper
.
insert
(
customer
);
if
(
i
==
0
)
throw
new
ServiceException
(
"客户信息添加错误!"
);
int
ui
=
customerUserMapper
.
insert
(
new
CustomerUser
(
customer
.
getCustomerId
(),
userId
));
if
(
ui
==
0
)
throw
new
ServiceException
(
"客户跟进人信息添加错误!"
);
return
true
;
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
edit
(
Customer
customer
)
{
if
(
ObjectUtils
.
isEmpty
(
customer
.
getCompanyId
()))
throw
new
BeanException
(
"客户id不能为空"
);
customer
.
setUpdateId
(
SecurityUtils
.
getUserId
());
int
u
=
baseMapper
.
updateById
(
customer
);
return
u
!=
0
;
}
}
dsk-system/src/main/resources/mapper/CustomerDecisionChainMapper.xml
→
dsk-system/src/main/resources/mapper/
system/customer/
CustomerDecisionChainMapper.xml
View file @
3e87a073
...
...
@@ -2,7 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.dsk.system.mapper.CustomerDecisionChainMapper"
>
<resultMap
type=
"com.dsk.system.domain.CustomerDecisionChain"
id=
"CustomerDecisionChainMap"
>
<resultMap
type=
"com.dsk.system.domain.
customer.
CustomerDecisionChain"
id=
"CustomerDecisionChainMap"
>
<result
property=
"id"
column=
"id"
jdbcType=
"INTEGER"
/>
<result
property=
"customerId"
column=
"customer_id"
jdbcType=
"VARCHAR"
/>
<result
property=
"name"
column=
"name"
jdbcType=
"VARCHAR"
/>
...
...
dsk-system/src/main/resources/mapper/system/customer/CustomerMapper.xml
View file @
3e87a073
...
...
@@ -2,6 +2,19 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.dsk.system.mapper.CustomerMapper"
>
<select
id=
"selectList"
resultType=
"com.dsk.system.domain.customer.vo.CustomerListVo"
>
select
ct.customer_id, ct.company_id, ct.company_name, ct.legal_person, ct.register_capital_str,
ct.register_capital, ct.company_nature, ct.company_level, ct.credit_level, ct.super_company,
ct.is_on, ct.is_major, ct.company_attribute, ct.main_business, ct.business_scope,
ct.business_characteristic, ct.decision_chain, ct.bid_characteristic, ct.performance_characteristic,
ct.other_ms_characteistic, u.nick_name followUser
from customer ct
join customer_user ctu on ct.customer_id = ctu.customer_id
join sys_user u on ctu.user_id = u.user_id
where ctu.user_id = #{dto.userId}
<if
test=
"dto.companyName != null and dto.companyName != '' "
>
and ct.company_name like concat('%',#{dto.companyName},'%')
</if>
</select>
</mapper>
dsk-system/src/main/resources/mapper/system/customer/CustomerUserMapper.xml
0 → 100644
View file @
3e87a073
<?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.dsk.system.mapper.CustomerUserMapper"
>
</mapper>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment