Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
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
项目统一框架
amos-boot-biz
Commits
024d282c
Commit
024d282c
authored
Dec 20, 2022
by
zhangyingbin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增93666坐席管理功能
parent
321e54a2
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
411 additions
and
0 deletions
+411
-0
TzsCitInfoDto.java
...m/yeejoin/amos/boot/module/tzs/api/dto/TzsCitInfoDto.java
+56
-0
TzsCitInfo.java
...m/yeejoin/amos/boot/module/tzs/api/entity/TzsCitInfo.java
+47
-0
TzsCitInfoMapper.java
...oin/amos/boot/module/tzs/api/mapper/TzsCitInfoMapper.java
+14
-0
ITzsCitInfoService.java
.../amos/boot/module/tzs/api/service/ITzsCitInfoService.java
+20
-0
TzsCitInfoController.java
.../boot/module/tzs/biz/controller/TzsCitInfoController.java
+169
-0
TzsCitInfoServiceImpl.java
...ot/module/tzs/biz/service/impl/TzsCitInfoServiceImpl.java
+105
-0
No files found.
amos-boot-system-tzs/amos-boot-module-tzs-api/src/main/java/com/yeejoin/amos/boot/module/tzs/api/dto/TzsCitInfoDto.java
0 → 100644
View file @
024d282c
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tzs
.
api
.
dto
;
import
com.yeejoin.amos.boot.biz.common.dto.BaseDto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* Dto
*
* @author duanwei
* @date 2022-12-19
*/
@Data
public
class
TzsCitInfoDto
extends
BaseDto
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"用户名"
)
/**
* 用户名
*/
private
String
userName
;
@ApiModelProperty
(
value
=
"平台的userId"
)
/**
* 平台的userId
*/
private
String
userId
;
@ApiModelProperty
(
value
=
"登录坐席参数gid"
)
/**
* 登录坐席参数gid
*/
private
String
gid
;
@ApiModelProperty
(
value
=
"登录坐席参数code"
)
/**
* 登录坐席参数code
*/
private
String
code
;
@ApiModelProperty
(
value
=
"登录坐席参数extphone"
)
/**
* 登录坐席参数extphone
*/
private
String
extphone
;
@ApiModelProperty
(
value
=
"所属区域代码"
)
/**
* 所属区域代码
*/
private
String
regionCode
;
@ApiModelProperty
(
value
=
"用户坐席职位"
)
/**
* 用户坐席职位
*/
private
String
userRole
;
}
amos-boot-system-tzs/amos-boot-module-tzs-api/src/main/java/com/yeejoin/amos/boot/module/tzs/api/entity/TzsCitInfo.java
0 → 100644
View file @
024d282c
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tzs
.
api
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity
;
/**
*
*
* @author duanwei
* @date 2022-12-19
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
@TableName
(
"tzs_cit_info"
)
@ApiModel
(
value
=
"TzsCitInfo对象"
,
description
=
""
)
public
class
TzsCitInfo
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"用户名"
)
private
String
userName
;
@ApiModelProperty
(
value
=
"平台的userId"
)
private
String
userId
;
@ApiModelProperty
(
value
=
"登录坐席参数gid"
)
private
String
gid
;
@ApiModelProperty
(
value
=
"登录坐席参数code"
)
private
String
code
;
@ApiModelProperty
(
value
=
"登录坐席参数extphone"
)
private
String
extphone
;
@ApiModelProperty
(
value
=
"所属区域代码"
)
private
String
regionCode
;
@ApiModelProperty
(
value
=
"用户坐席职位"
)
private
String
userRole
;
}
amos-boot-system-tzs/amos-boot-module-tzs-api/src/main/java/com/yeejoin/amos/boot/module/tzs/api/mapper/TzsCitInfoMapper.java
0 → 100644
View file @
024d282c
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tzs
.
api
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yeejoin.amos.boot.module.tzs.api.entity.TzsCitInfo
;
/**
* Mapper 接口
*
* @author duanwei
* @date 2022-12-19
*/
public
interface
TzsCitInfoMapper
extends
BaseMapper
<
TzsCitInfo
>
{
}
amos-boot-system-tzs/amos-boot-module-tzs-api/src/main/java/com/yeejoin/amos/boot/module/tzs/api/service/ITzsCitInfoService.java
0 → 100644
View file @
024d282c
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tzs
.
api
.
service
;
import
com.yeejoin.amos.boot.module.tzs.api.entity.TzsCitInfo
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.yeejoin.amos.feign.privilege.model.AgencyUserModel
;
import
java.util.List
;
/**
* 服务类
*
* @author duanwei
* @date 2022-12-19
*/
public
interface
ITzsCitInfoService
extends
IService
<
TzsCitInfo
>
{
public
List
<
AgencyUserModel
>
getUserList
();
String
saveOrUpdateInfo
(
TzsCitInfo
tzsCitInfo
);
}
amos-boot-system-tzs/amos-boot-module-tzs-biz/src/main/java/com/yeejoin/amos/boot/module/tzs/biz/controller/TzsCitInfoController.java
0 → 100644
View file @
024d282c
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tzs
.
biz
.
controller
;
import
com.yeejoin.amos.boot.biz.common.controller.BaseController
;
import
com.yeejoin.amos.boot.biz.common.utils.CommonUtils
;
import
com.yeejoin.amos.boot.biz.common.utils.NameUtils
;
import
com.yeejoin.amos.boot.module.common.biz.utils.CommonResponseUtil
;
import
com.yeejoin.amos.boot.module.tzs.api.entity.TzsCitInfo
;
import
com.yeejoin.amos.boot.module.tzs.api.service.ITzsCitInfoService
;
import
org.springframework.http.MediaType
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.Api
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
javax.servlet.http.HttpServletRequest
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
org.springframework.web.bind.annotation.*
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
org.typroject.tyboot.core.foundation.enumeration.UserType
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
import
org.typroject.tyboot.core.restful.doc.TycloudOperation
;
import
org.typroject.tyboot.core.restful.utils.ResponseHelper
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
java.lang.reflect.Field
;
import
java.util.Arrays
;
import
java.util.List
;
/**
*
*
* @author duanwei
* @date 2022-12-19
*/
@RestController
@Api
(
tags
=
"Api"
)
@RequestMapping
(
value
=
"/tzs-cit-info"
,
produces
=
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
public
class
TzsCitInfoController
extends
BaseController
{
@Autowired
ITzsCitInfoService
iTzsCitInfoService
;
/**
* 新增
* @return
*/
@RequestMapping
(
value
=
"/save"
,
method
=
RequestMethod
.
POST
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"新增"
,
notes
=
"新增"
)
public
boolean
saveTzsCitInfo
(
HttpServletRequest
request
,
@RequestBody
TzsCitInfo
tzsCitInfo
){
return
iTzsCitInfoService
.
save
(
tzsCitInfo
);
}
/**
* 根据id删除
* @param ids
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@RequestMapping
(
value
=
"/{ids}"
,
method
=
RequestMethod
.
DELETE
)
@ApiOperation
(
httpMethod
=
"DELETE"
,
value
=
"根据id删除"
,
notes
=
"根据id删除"
)
@Transactional
public
boolean
deleteById
(
HttpServletRequest
request
,
@PathVariable
String
ids
){
String
[]
idList
=
ids
.
split
(
","
);
for
(
String
id
:
idList
)
{
iTzsCitInfoService
.
removeById
(
id
);
}
return
true
;
}
/**
* 修改
* @return
*/
@RequestMapping
(
value
=
"/updateById"
,
method
=
RequestMethod
.
PUT
)
@ApiOperation
(
httpMethod
=
"PUT"
,
value
=
"修改"
,
notes
=
"修改"
)
public
boolean
updateByIdTzsCitInfo
(
HttpServletRequest
request
,
@RequestBody
TzsCitInfo
tzsCitInfo
){
return
iTzsCitInfoService
.
updateById
(
tzsCitInfo
);
}
/**
* 根据id查询
* @param id
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@RequestMapping
(
value
=
"/{id}"
,
method
=
RequestMethod
.
GET
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据id查询"
,
notes
=
"根据id查询"
)
public
TzsCitInfo
selectById
(
HttpServletRequest
request
,
@PathVariable
Long
id
){
return
iTzsCitInfoService
.
getById
(
id
);
}
/**
* 列表分页查询
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@RequestMapping
(
value
=
"/list"
,
method
=
RequestMethod
.
POST
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"列表分页查询"
,
notes
=
"列表分页查询"
)
public
IPage
<
TzsCitInfo
>
listPage
(
String
pageNum
,
String
pageSize
,
@RequestBody
TzsCitInfo
tzsCitInfo
){
tzsCitInfo
.
setRegionCode
(
this
.
getSelectedOrgInfo
().
getCompany
().
getRegionCode
());
Page
<
TzsCitInfo
>
pageBean
;
QueryWrapper
<
TzsCitInfo
>
tzsCitInfoQueryWrapper
=
new
QueryWrapper
<>();
Class
<?
extends
TzsCitInfo
>
aClass
=
tzsCitInfo
.
getClass
();
Arrays
.
stream
(
aClass
.
getDeclaredFields
()).
forEach
(
field
->
{
try
{
field
.
setAccessible
(
true
);
Object
o
=
field
.
get
(
tzsCitInfo
);
if
(
o
!=
null
)
{
Class
<?>
type
=
field
.
getType
();
String
name
=
NameUtils
.
camel2Underline
(
field
.
getName
());
if
(
type
.
equals
(
Integer
.
class
))
{
Integer
fileValue
=
(
Integer
)
field
.
get
(
tzsCitInfo
);
tzsCitInfoQueryWrapper
.
eq
(
name
,
fileValue
);
}
else
if
(
type
.
equals
(
Long
.
class
))
{
Long
fileValue
=
(
Long
)
field
.
get
(
tzsCitInfo
);
tzsCitInfoQueryWrapper
.
eq
(
name
,
fileValue
);
}
else
if
(
type
.
equals
(
String
.
class
))
{
String
fileValue
=
(
String
)
field
.
get
(
tzsCitInfo
);
tzsCitInfoQueryWrapper
.
eq
(
name
,
fileValue
);
}
else
{
String
fileValue
=
(
String
)
field
.
get
(
tzsCitInfo
);
tzsCitInfoQueryWrapper
.
eq
(
name
,
fileValue
);
}
}
}
catch
(
Exception
e
)
{
}
});
IPage
<
TzsCitInfo
>
page
;
if
(
StringUtils
.
isBlank
(
pageNum
)
||
StringUtils
.
isBlank
(
pageSize
))
{
pageBean
=
new
Page
<>(
0
,
Long
.
MAX_VALUE
);
}
else
{
pageBean
=
new
Page
<>(
Integer
.
parseInt
(
pageNum
),
Integer
.
parseInt
(
pageSize
));
}
page
=
iTzsCitInfoService
.
page
(
pageBean
,
tzsCitInfoQueryWrapper
);
return
page
;
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@RequestMapping
(
value
=
"/getUserList"
,
method
=
RequestMethod
.
GET
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"获取值班所有人员列表"
,
notes
=
"获取值班所有人员列表"
)
public
ResponseModel
<
List
>
getUserList
(){
return
ResponseHelper
.
buildResponse
(
iTzsCitInfoService
.
getUserList
());
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@RequestMapping
(
value
=
"/saveInfo"
,
method
=
RequestMethod
.
POST
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"保存人员及登录坐席参数"
,
notes
=
"保存人员及登录坐席参数"
)
public
ResponseModel
<
String
>
saveInfo
(
@RequestBody
TzsCitInfo
tzsCitInfo
)
{
String
massage
=
iTzsCitInfoService
.
saveOrUpdateInfo
(
tzsCitInfo
);
if
(!
ValidationUtil
.
isEmpty
(
massage
))
{
return
CommonResponseUtil
.
failure
(
massage
);
}
return
ResponseHelper
.
buildResponse
(
"ok"
);
}
}
amos-boot-system-tzs/amos-boot-module-tzs-biz/src/main/java/com/yeejoin/amos/boot/module/tzs/biz/service/impl/TzsCitInfoServiceImpl.java
0 → 100644
View file @
024d282c
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tzs
.
biz
.
service
.
impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yeejoin.amos.boot.biz.common.bo.ReginParams
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisKey
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisUtils
;
import
com.yeejoin.amos.boot.module.tzs.api.dto.DutySeatDto
;
import
com.yeejoin.amos.boot.module.tzs.api.dto.TzsCitInfoDto
;
import
com.yeejoin.amos.boot.module.tzs.api.entity.TzsCitInfo
;
import
com.yeejoin.amos.boot.module.tzs.api.mapper.TzsCitInfoMapper
;
import
com.yeejoin.amos.boot.module.tzs.api.service.ITzsCitInfoService
;
import
com.yeejoin.amos.component.feign.model.FeignClientResult
;
import
com.yeejoin.amos.feign.privilege.Privilege
;
import
com.yeejoin.amos.feign.privilege.model.AgencyUserModel
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
org.typroject.tyboot.core.foundation.context.RequestContext
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
* 服务实现类
*
* @author duanwei
* @date 2022-12-19
*/
@Service
public
class
TzsCitInfoServiceImpl
extends
BaseService
<
TzsCitInfoDto
,
TzsCitInfo
,
TzsCitInfoMapper
>
implements
ITzsCitInfoService
{
@Value
(
"${duty.seats.role.ids}"
)
private
String
dutySeatsRoleIds
;
@Autowired
private
RedisUtils
redisUtils
;
/**
* 获取值班所有人员列表
*/
@Override
public
List
<
AgencyUserModel
>
getUserList
(){
ReginParams
regionParam
=
this
.
getReginParams
();
Long
companyId
=
regionParam
.
getCompany
().
getSequenceNbr
();
String
[]
roleIds
=
dutySeatsRoleIds
.
split
(
","
);
//通过roleIds拿到该对应的人员
FeignClientResult
<
List
<
AgencyUserModel
>>
userListResult
=
Privilege
.
agencyUserClient
.
queryByCompanyId
(
companyId
,
null
,
null
,
null
);
List
<
AgencyUserModel
>
userList
=
userListResult
.
getResult
();
// 排除非系统中人员
userList
=
userList
.
stream
().
filter
(
u
->
{
AgencyUserModel
agencyUser
=
Privilege
.
agencyUserClient
.
queryByUserId
(
u
.
getUserId
()).
getResult
();
Set
<
Long
>
set
=
new
HashSet
<>(
agencyUser
.
getOrgRoleSeqs
().
get
(
companyId
));
if
(!
ValidationUtil
.
isEmpty
(
set
))
{
for
(
int
i
=
0
;
i
<
roleIds
.
length
;
i
++)
{
if
(
set
.
contains
(
Long
.
valueOf
(
roleIds
[
i
])))
{
return
true
;
}
}
}
return
false
;
}).
collect
(
Collectors
.
toList
());
return
userList
;
}
@Override
public
String
saveOrUpdateInfo
(
TzsCitInfo
tzsCitInfo
){
//校验
String
massage
=
""
;
if
(!
ValidationUtil
.
isEmpty
(
tzsCitInfo
.
getUserId
()))
{
if
(!
ValidationUtil
.
isEmpty
(
this
.
list
(
new
LambdaQueryWrapper
<
TzsCitInfo
>().
eq
(
TzsCitInfo:
:
getUserId
,
tzsCitInfo
.
getUserId
()))))
{
massage
=
"该用户已有坐席账号,不可重复添加!"
;
return
massage
;
}
}
if
(!
ValidationUtil
.
isEmpty
(
this
.
list
(
new
LambdaQueryWrapper
<
TzsCitInfo
>().
eq
(
TzsCitInfo:
:
getCode
,
tzsCitInfo
.
getCode
())))){
massage
=
"登录坐席参数code已存在,不可重复添加!"
;
return
massage
;
}
if
(!
ValidationUtil
.
isEmpty
(
this
.
list
(
new
LambdaQueryWrapper
<
TzsCitInfo
>().
eq
(
TzsCitInfo:
:
getExtphone
,
tzsCitInfo
.
getExtphone
())))){
massage
=
"登录坐席参数extphone已存在,不可重复添加!"
;
return
massage
;
}
//保存数据
if
(!
ValidationUtil
.
isEmpty
(
tzsCitInfo
.
getUserId
()))
{
AgencyUserModel
agencyUser
=
Privilege
.
agencyUserClient
.
queryByUserId
(
String
.
valueOf
(
tzsCitInfo
.
getUserId
())).
getResult
();
tzsCitInfo
.
setUserName
(
agencyUser
.
getRealName
());
tzsCitInfo
.
setRegionCode
(
agencyUser
.
getCompanys
().
iterator
().
next
().
getCompanyCode
());
}
this
.
saveOrUpdate
(
tzsCitInfo
);
return
null
;
}
/**
* 用户单位信息redis获取
**/
public
ReginParams
getReginParams
()
{
return
JSONObject
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
}
}
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