Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
midjourney-proxy
Overview
Overview
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
徐少华
midjourney-proxy
Commits
6e91527e
Commit
6e91527e
authored
Sep 07, 2020
by
桂前礼
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: [1003543] 后台配置客服老师
parent
193499e7
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
1244 additions
and
0 deletions
+1244
-0
WeworkTeacherBiz.java
...main/java/com/pcloud/book/group/biz/WeworkTeacherBiz.java
+81
-0
WeworkTeacherBizImpl.java
.../com/pcloud/book/group/biz/impl/WeworkTeacherBizImpl.java
+237
-0
WeworkTeacher.java
...main/java/com/pcloud/book/group/entity/WeworkTeacher.java
+87
-0
WeworkTeacherBookBind.java
...a/com/pcloud/book/group/entity/WeworkTeacherBookBind.java
+54
-0
WeworkTeacherFacadeImpl.java
...cloud/book/group/facade/impl/WeworkTeacherFacadeImpl.java
+107
-0
WeworkTeacherBookBindMapper.java
...pcloud/book/group/mapper/WeworkTeacherBookBindMapper.java
+35
-0
WeworkTeacherMapper.java
...ava/com/pcloud/book/group/mapper/WeworkTeacherMapper.java
+38
-0
WeworkTeacherBookBindPageVO.java
...com/pcloud/book/group/vo/WeworkTeacherBookBindPageVO.java
+45
-0
WeworkTeacherBookBindVO.java
...ava/com/pcloud/book/group/vo/WeworkTeacherBookBindVO.java
+51
-0
WeworkTeacherVO.java
...c/main/java/com/pcloud/book/group/vo/WeworkTeacherVO.java
+116
-0
WeworkTeacherBookBindMapper.xml
...in/resources/mapper/group/WeworkTeacherBookBindMapper.xml
+162
-0
WeworkTeacherMapper.xml
...k/src/main/resources/mapper/group/WeworkTeacherMapper.xml
+231
-0
No files found.
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/WeworkTeacherBiz.java
0 → 100644
View file @
6e91527e
package
com
.
pcloud
.
book
.
group
.
biz
;
import
com.pcloud.book.group.vo.WeworkTeacherBookBindPageVO
;
import
com.pcloud.book.group.vo.WeworkTeacherBookBindVO
;
import
com.pcloud.book.group.vo.WeworkTeacherVO
;
import
com.pcloud.common.page.PageBeanNew
;
import
java.util.List
;
/**
* WeworkTeacherBiz
*
* @author guiq
* @version 1.0
* @since 2020年9月7日
*/
public
interface
WeworkTeacherBiz
{
/**
* 新增
*
* @param weworkTeacherVO VO
* @return 主键ID
*/
Long
addWxworkTeacher
(
WeworkTeacherVO
weworkTeacherVO
);
/**
* 更新
*
* @param weworkTeacherVO VO
* @return 主键ID
*/
Long
updateWxworkTeacher
(
WeworkTeacherVO
weworkTeacherVO
);
/**
* 分页查询
*
* @param name 真实姓名
* @param isOpen 开启状态
* @param teacherType 类型
* @param currentPage 分页参数
* @param numPerPage 分页参数
* @return 分页结果
*/
PageBeanNew
<
WeworkTeacherVO
>
getWxworkTeacherList
(
String
name
,
Integer
isOpen
,
Integer
teacherType
,
Integer
currentPage
,
Integer
numPerPage
);
/**
* 获取所有开启的
* @return 所有结果
* @param bookId
*/
List
<
WeworkTeacherVO
>
queryAll
(
Long
bookId
);
/**
* 根据主键删除记录
* @param id 主键ID
*/
void
deleteTeacherById
(
Long
id
);
/**
* 新增图书与客服老师绑定关系
* @param bindVO VO
*/
void
bindBookWxworkTeacher
(
WeworkTeacherBookBindVO
bindVO
);
/**
* 删除图书与客服老师绑定关系
* @param bookId VO
*/
void
deleteBookWxworkTeacher
(
Long
bookId
);
/**
* 分页获取绑定关系
*
* @param name
* @param currentPage 分页参数
* @param numPerPage 分页参数
* @return 分页结果
*/
PageBeanNew
<
WeworkTeacherBookBindPageVO
>
getBookWxworkTeacherList
(
String
name
,
Integer
currentPage
,
Integer
numPerPage
);
}
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/impl/WeworkTeacherBizImpl.java
0 → 100644
View file @
6e91527e
package
com
.
pcloud
.
book
.
group
.
biz
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.group.biz.GroupMaterialAccountBiz
;
import
com.pcloud.book.group.biz.WeworkTeacherBiz
;
import
com.pcloud.book.group.entity.GroupMaterialAccount
;
import
com.pcloud.book.group.entity.WeworkTeacher
;
import
com.pcloud.book.group.entity.WeworkTeacherBookBind
;
import
com.pcloud.book.group.enums.UseTypeEnum
;
import
com.pcloud.book.group.mapper.WeworkTeacherBookBindMapper
;
import
com.pcloud.book.group.mapper.WeworkTeacherMapper
;
import
com.pcloud.book.group.vo.WeworkTeacherBookBindPageVO
;
import
com.pcloud.book.group.vo.WeworkTeacherBookBindVO
;
import
com.pcloud.book.group.vo.WeworkTeacherVO
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.utils.ParamChecker
;
import
com.pcloud.common.utils.ResponseHandleUtil
;
import
com.pcloud.facade.wechat.material.dto.GroupNewsMaterialAddDTO
;
import
com.pcloud.facade.wechat.material.service.MaterialService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.stream.Collectors
;
/**
* WeworkTeacherBizImpl
*
* @author guiq
* @version 1.0
* @since 2020年9月7日
*/
@Component
(
"weworkTeacherBiz"
)
@Slf4j
public
class
WeworkTeacherBizImpl
implements
WeworkTeacherBiz
{
/**
* 客服老师素材代码模板
*/
public
static
final
String
WEWORK_TEACHER_MATERIAL_HTML
=
"<div style='margin:10px 0;box-sizing: border-box;'><div style='margin:55px auto 32px;width: 275px;height: 255px;'><div style='width: 275px;height: 255px;background-color: #ffffff;border-radius: 6px;border: solid 1px #66c84f'><div style='margin-top:-16px;margin-left:53px;width: 168px;height: 32px;line-height: 32px;text-align: center; font-size: 14px;color: #ffffff; background-color: #66c84f;border-radius: 6px;'>长按识别下面二维码</div><div style='height: 23px;display: block;text-align: center;margin: 10px auto;letter-spacing: 6px;'>\uD83D\uDC47\uD83D\uDC47\uD83D\uDC47</div><div style='width: 172px;height:172px;display: block;margin: 0 auto;'><img class='qrcode'src='${qrcodeUrl}'alt=''></div></div></div></div>"
;
@Autowired
private
WeworkTeacherMapper
weworkTeacherMapper
;
@Autowired
private
MaterialService
materialService
;
@Autowired
private
GroupMaterialAccountBiz
groupMaterialAccountBiz
;
@Autowired
private
WeworkTeacherBookBindMapper
weworkTeacherBookBindMapper
;
@Override
@ParamLog
(
value
=
"新增客服老师"
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Long
addWxworkTeacher
(
WeworkTeacherVO
weworkTeacherVO
)
{
// 参数校验
weworkTeacherVO
.
checkParam4Add
();
WeworkTeacher
weworkTeacher
=
new
WeworkTeacher
();
BeanUtil
.
copyProperties
(
weworkTeacherVO
,
weworkTeacher
);
// 创建永久图文素材
GroupMaterialAccount
account
;
String
mediaId
;
String
materialUrl
;
try
{
account
=
groupMaterialAccountBiz
.
getActiveAccount
(
UseTypeEnum
.
THIRD_GROUP
.
value
);
GroupNewsMaterialAddDTO
materialAddDTO
=
new
GroupNewsMaterialAddDTO
();
materialAddDTO
.
setAccountId
(
account
.
getAccountId
());
materialAddDTO
.
setGroupName
(
weworkTeacher
.
getTitle
());
materialAddDTO
.
setQrcodeUrl
(
weworkTeacher
.
getQrcode
());
materialAddDTO
.
setGroupHeadImg
(
account
.
getHeadMediaId
());
materialAddDTO
.
setCoverMediaId
(
account
.
getCoverMediaId
());
materialAddDTO
.
setHtml
(
WEWORK_TEACHER_MATERIAL_HTML
);
mediaId
=
ResponseHandleUtil
.
parseResponse
(
materialService
.
getGroupNewsMaterial
(
materialAddDTO
),
String
.
class
);
materialUrl
=
ResponseHandleUtil
.
parseResponse
(
materialService
.
getGroupNewsMaterialByMediaId
(
mediaId
),
String
.
class
);
}
catch
(
Exception
e
)
{
log
.
info
(
"[WeworkTeacherBizImpl.addWxworkTeacher] 新增客服老师,创建素材失败!"
,
e
);
throw
new
BookBizException
(
BookBizException
.
ERROR
,
"新增客服老师,创建素材失败!"
);
}
// 新增客服老师记录
weworkTeacher
.
setAccountId
(
account
.
getAccountId
());
weworkTeacher
.
setCreateTime
(
new
Date
());
weworkTeacher
.
setUpdateTime
(
new
Date
());
weworkTeacher
.
setMediaId
(
mediaId
);
weworkTeacher
.
setMaterialUrl
(
materialUrl
);
weworkTeacherMapper
.
insert
(
weworkTeacher
);
return
weworkTeacher
.
getId
();
}
@Override
@ParamLog
(
value
=
"更新客服老师"
,
isAfterReturn
=
false
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Long
updateWxworkTeacher
(
WeworkTeacherVO
weworkTeacherVO
)
{
weworkTeacherVO
.
checkParam4Update
();
WeworkTeacher
weworkTeacher
=
weworkTeacherMapper
.
selectByPrimaryKey
(
weworkTeacherVO
.
getId
());
if
(
Objects
.
isNull
(
weworkTeacher
))
{
log
.
info
(
"[WeworkTeacherBizImpl.updateWxworkTeacher] 更新客服老师,记录不存在! weworkTeacherVO:{}"
,
weworkTeacherVO
);
throw
new
BookBizException
(
BookBizException
.
ID_NOT_EXIST
,
"更新客服老师,记录不存在!"
);
}
boolean
isChanged
=
weworkTeacherVO
.
checkIsChanged
(
weworkTeacher
);
BeanUtil
.
copyProperties
(
weworkTeacherVO
,
weworkTeacher
);
weworkTeacher
.
setUpdateTime
(
new
Date
());
weworkTeacherMapper
.
updateByPrimaryKeySelective
(
weworkTeacher
);
if
(
isChanged
)
{
// 更新素材
GroupMaterialAccount
account
=
null
;
try
{
account
=
groupMaterialAccountBiz
.
getByAccountId
(
weworkTeacher
.
getAccountId
());
GroupNewsMaterialAddDTO
materialAddDTO
=
new
GroupNewsMaterialAddDTO
();
materialAddDTO
.
setMediaId
(
weworkTeacher
.
getMediaId
());
materialAddDTO
.
setAccountId
(
account
.
getAccountId
());
materialAddDTO
.
setGroupName
(
weworkTeacher
.
getTitle
());
materialAddDTO
.
setQrcodeUrl
(
weworkTeacher
.
getQrcode
());
materialAddDTO
.
setGroupHeadImg
(
account
.
getHeadMediaId
());
materialAddDTO
.
setCoverMediaId
(
account
.
getCoverMediaId
());
materialAddDTO
.
setHtml
(
WEWORK_TEACHER_MATERIAL_HTML
);
ResponseHandleUtil
.
parseResponse
(
materialService
.
getGroupNewsMaterial
(
materialAddDTO
),
String
.
class
);
}
catch
(
Exception
e
)
{
log
.
info
(
"[WeworkTeacherBizImpl.updateWxworkTeacher] 更新客服老师,更新素材失败! weworkTeacherVO:{} account:{}"
,
weworkTeacherVO
,
account
);
throw
new
BookBizException
(
BookBizException
.
ID_NOT_EXIST
,
"更新客服老师,更新素材失败!"
);
}
}
return
weworkTeacher
.
getId
();
}
@Override
public
PageBeanNew
<
WeworkTeacherVO
>
getWxworkTeacherList
(
String
name
,
Integer
isOpen
,
Integer
teacherType
,
Integer
currentPage
,
Integer
numPerPage
)
{
int
offset
=
numPerPage
*
currentPage
;
Integer
count
=
weworkTeacherMapper
.
count4WxworkTeacherList
(
name
,
isOpen
,
teacherType
);
if
(
Objects
.
isNull
(
count
)
||
count
<
1
)
{
return
new
PageBeanNew
<>();
}
List
<
WeworkTeacherVO
>
list
=
weworkTeacherMapper
.
getWxworkTeacherList
(
name
,
isOpen
,
teacherType
,
offset
,
numPerPage
);
return
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
count
,
list
);
}
@Override
public
List
<
WeworkTeacherVO
>
queryAll
(
Long
bookId
)
{
if
(
Objects
.
nonNull
(
bookId
)){
WeworkTeacherBookBind
bind
=
weworkTeacherBookBindMapper
.
getByBookId
(
bookId
);
if
(
Objects
.
isNull
(
bind
)
||
StrUtil
.
isBlank
(
bind
.
getWeworkTeacherArr
())){
return
new
ArrayList
<>();
}
List
<
Long
>
longs
=
JSONObject
.
parseArray
(
bind
.
getWeworkTeacherArr
(),
Long
.
class
);
if
(
CollUtil
.
isEmpty
(
longs
)){
return
new
ArrayList
<>();
}
return
weworkTeacherMapper
.
getMaterialByIds
(
longs
);
}
return
weworkTeacherMapper
.
queryAll
();
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
deleteTeacherById
(
Long
id
)
{
weworkTeacherMapper
.
deleteByPrimaryKey
(
id
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
bindBookWxworkTeacher
(
WeworkTeacherBookBindVO
bindVO
)
{
bindVO
.
checkParam4Bind
();
WeworkTeacherBookBind
weworkTeacherBookBind
=
new
WeworkTeacherBookBind
();
BeanUtil
.
copyProperties
(
bindVO
,
weworkTeacherBookBind
);
weworkTeacherBookBind
.
setUpdateTime
(
new
Date
());
if
(
Objects
.
isNull
(
weworkTeacherBookBindMapper
.
getByBookId
(
bindVO
.
getBookId
()))){
weworkTeacherBookBind
.
setCreateTime
(
new
Date
());
}
weworkTeacherBookBind
.
setWeworkTeacherArr
(
JSONObject
.
toJSONString
(
bindVO
.
getTeacherList
()));
weworkTeacherBookBindMapper
.
insertOrUpdate
(
weworkTeacherBookBind
);
}
@Override
public
void
deleteBookWxworkTeacher
(
Long
bookId
)
{
weworkTeacherBookBindMapper
.
deleteByBookId
(
bookId
);
}
@Override
public
PageBeanNew
<
WeworkTeacherBookBindPageVO
>
getBookWxworkTeacherList
(
String
name
,
Integer
currentPage
,
Integer
numPerPage
)
{
ParamChecker
.
checkPageParamIsAbsent
(
currentPage
,
numPerPage
,
"分页参数错误!"
);
List
<
WeworkTeacherBookBindPageVO
>
pageList
=
new
ArrayList
<>();
int
offset
=
currentPage
*
numPerPage
;
int
count
=
weworkTeacherBookBindMapper
.
count4BookWxworkTeacherList
(
name
);
if
(
count
==
0
)
{
return
new
PageBeanNew
<>();
}
List
<
WeworkTeacherBookBind
>
list
=
weworkTeacherBookBindMapper
.
getBookWxworkTeacherList
(
name
,
offset
,
numPerPage
);
List
<
Long
>
ids
=
new
ArrayList
<>();
if
(
CollUtil
.
isNotEmpty
(
list
))
{
for
(
WeworkTeacherBookBind
weworkTeacherBookBind
:
list
)
{
if
(
StrUtil
.
isNotBlank
(
weworkTeacherBookBind
.
getWeworkTeacherArr
()))
{
ids
.
addAll
(
JSONObject
.
parseArray
(
weworkTeacherBookBind
.
getWeworkTeacherArr
(),
Long
.
class
));
}
}
}
if
(
CollUtil
.
isNotEmpty
(
ids
))
{
// 查询教师集合
List
<
WeworkTeacher
>
teachers
=
weworkTeacherMapper
.
listByIds
(
ids
);
Map
<
Long
,
WeworkTeacher
>
teacherMap
=
teachers
.
stream
().
collect
(
Collectors
.
toMap
(
WeworkTeacher:
:
getId
,
weworkTeacher
->
weworkTeacher
));
if
(
CollUtil
.
isNotEmpty
(
teacherMap
))
{
for
(
WeworkTeacherBookBind
weworkTeacherBookBind
:
list
)
{
WeworkTeacherBookBindPageVO
pageVO
=
new
WeworkTeacherBookBindPageVO
();
BeanUtil
.
copyProperties
(
weworkTeacherBookBind
,
pageVO
);
ArrayList
<
WeworkTeacher
>
arrayList
=
new
ArrayList
<>();
if
(
StrUtil
.
isNotBlank
(
weworkTeacherBookBind
.
getWeworkTeacherArr
()))
{
List
<
Long
>
parseArray
=
JSONObject
.
parseArray
(
weworkTeacherBookBind
.
getWeworkTeacherArr
(),
Long
.
class
);
for
(
Long
aLong
:
parseArray
)
{
if
(
Objects
.
nonNull
(
teacherMap
.
get
(
aLong
))){
arrayList
.
add
(
teacherMap
.
get
(
aLong
));
}
}
}
pageVO
.
setTeacherList
(
arrayList
);
pageList
.
add
(
pageVO
);
}
}
}
return
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
count
,
pageList
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/entity/WeworkTeacher.java
0 → 100644
View file @
6e91527e
package
com
.
pcloud
.
book
.
group
.
entity
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* wework_teacher
*
* @author
*/
@ApiModel
(
"客服老师企业微信二维码信息"
)
@Data
public
class
WeworkTeacher
implements
Serializable
{
@ApiModelProperty
(
"id"
)
private
Long
id
;
/**
* 企业微信二维码
*/
@ApiModelProperty
(
"企业微信二维码"
)
private
String
qrcode
;
/**
* 真实姓名
*/
@ApiModelProperty
(
"真实姓名"
)
private
String
realName
;
/**
* 图文素材标题名称
*/
@ApiModelProperty
(
"图文素材标题名称"
)
private
String
title
;
/**
* 客服类型:1:苏老师 2:张哥哥
*/
@ApiModelProperty
(
"客服类型:1:苏老师 2:张哥哥"
)
private
Integer
teacherType
;
/**
* 开关状态
*/
@ApiModelProperty
(
"开关状态"
)
private
Integer
isOpen
;
/**
* 图文素材地址
*/
@ApiModelProperty
(
"图文素材地址"
)
private
String
materialUrl
;
/**
* 图文素材媒体ID
*/
@ApiModelProperty
(
"图文素材媒体ID"
)
private
String
mediaId
;
/**
* 公众号ID
*/
@ApiModelProperty
(
"公众号ID"
)
private
Long
accountId
;
/**
* 创建时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"创建时间"
)
private
Date
createTime
;
/**
* 更新时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"更新时间"
)
private
Date
updateTime
;
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/group/entity/WeworkTeacherBookBind.java
0 → 100644
View file @
6e91527e
package
com
.
pcloud
.
book
.
group
.
entity
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* wework_teacher_book_bind
* @author
*/
@Data
public
class
WeworkTeacherBookBind
implements
Serializable
{
private
Long
id
;
/**
* 图书ID
*/
@ApiModelProperty
(
"图书ID"
)
private
Long
bookId
;
/**
* 图书名称
*/
@ApiModelProperty
(
"图书名称"
)
private
String
bookName
;
/**
* ISBN
*/
@ApiModelProperty
(
"ISBN"
)
private
String
isbn
;
/**
* 客服老师列表
*/
@ApiModelProperty
(
"客服老师列表"
)
private
String
weworkTeacherArr
;
/**
* 创建时间
*/
@ApiModelProperty
(
"创建时间"
)
private
Date
createTime
;
/**
* 更新时间
*/
@ApiModelProperty
(
"更新时间"
)
private
Date
updateTime
;
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/group/facade/impl/WeworkTeacherFacadeImpl.java
0 → 100644
View file @
6e91527e
package
com
.
pcloud
.
book
.
group
.
facade
.
impl
;
import
com.pcloud.book.group.biz.WeworkTeacherBiz
;
import
com.pcloud.book.group.vo.WeworkTeacherBookBindVO
;
import
com.pcloud.book.group.vo.WeworkTeacherVO
;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.utils.ParamChecker
;
import
com.pcloud.common.utils.SessionUtil
;
import
com.pcloud.common.utils.cookie.Cookie
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.CookieValue
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestHeader
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
/**
* 客服老师二维码配置相关接口
*
* @author guiq
* @version 1.0
* @since 2020年9月7日
*/
@RequestMapping
(
"weworkTeacher"
)
@RestController
(
"weworkTeacherFacade"
)
public
class
WeworkTeacherFacadeImpl
{
@Autowired
private
WeworkTeacherBiz
weworkTeacherBiz
;
@ApiOperation
(
value
=
"新增客服老师"
,
httpMethod
=
"POST"
)
@RequestMapping
(
value
=
"addWxworkTeacher"
,
method
=
RequestMethod
.
POST
)
ResponseDto
<
Long
>
addWxworkTeacher
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
WeworkTeacherVO
weworkTeacherVO
)
{
SessionUtil
.
getInfoToken4Redis
(
token
);
return
new
ResponseDto
<>(
weworkTeacherBiz
.
addWxworkTeacher
(
weworkTeacherVO
));
}
@ApiOperation
(
value
=
"删除客服老师"
,
httpMethod
=
"GET"
)
@RequestMapping
(
value
=
"deleteTeacherById"
,
method
=
RequestMethod
.
GET
)
ResponseDto
<?>
deleteTeacherById
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
"id"
)
Long
id
)
{
SessionUtil
.
getInfoToken4Redis
(
token
);
weworkTeacherBiz
.
deleteTeacherById
(
id
);
return
new
ResponseDto
<>();
}
@ApiOperation
(
value
=
"修改客服老师"
,
httpMethod
=
"POST"
)
@RequestMapping
(
value
=
"updateWxworkTeacher"
,
method
=
RequestMethod
.
POST
)
ResponseDto
<
Long
>
updateWxworkTeacher
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
WeworkTeacherVO
weworkTeacherVO
)
{
SessionUtil
.
getInfoToken4Redis
(
token
);
return
new
ResponseDto
<>(
weworkTeacherBiz
.
updateWxworkTeacher
(
weworkTeacherVO
));
}
@ApiOperation
(
value
=
"分页查询客服老师"
,
httpMethod
=
"GET"
)
@RequestMapping
(
value
=
"getWxworkTeacherList"
,
method
=
RequestMethod
.
GET
)
ResponseDto
<
PageBeanNew
<
WeworkTeacherVO
>>
getWxworkTeacherList
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"name"
,
required
=
false
)
String
name
,
@RequestParam
(
value
=
"isOpen"
,
required
=
false
)
Integer
isOpen
,
@RequestParam
(
value
=
"teacherType"
,
required
=
false
)
Integer
teacherType
,
@RequestParam
(
value
=
"currentPage"
,
defaultValue
=
"0"
)
Integer
currentPage
,
@RequestParam
(
value
=
"numPerPage"
,
defaultValue
=
"10"
)
Integer
numPerPage
)
{
SessionUtil
.
getInfoToken4Redis
(
token
);
ParamChecker
.
checkPageParamIsAbsent
(
currentPage
,
numPerPage
,
"分页参数错误"
);
return
new
ResponseDto
<>(
weworkTeacherBiz
.
getWxworkTeacherList
(
name
,
isOpen
,
teacherType
,
currentPage
,
numPerPage
));
}
@ApiOperation
(
value
=
"客户端获取客服老师"
,
httpMethod
=
"GET"
)
@RequestMapping
(
value
=
"getWxworkTeacherList4Applet"
,
method
=
RequestMethod
.
GET
)
ResponseDto
<
List
<
WeworkTeacherVO
>>
getWxworkTeacherList4Applet
(
@CookieValue
(
"userInfo"
)
String
userInfo
,
@RequestParam
(
value
=
"bookId"
,
required
=
false
)
Long
bookId
)
{
Cookie
.
getUserInfo
(
userInfo
);
return
new
ResponseDto
<>(
weworkTeacherBiz
.
queryAll
(
bookId
));
}
@ApiOperation
(
value
=
"绑定图书与客服老师"
,
httpMethod
=
"POST"
)
@RequestMapping
(
value
=
"bindBookWxworkTeacher"
,
method
=
RequestMethod
.
POST
)
ResponseDto
<?>
bindBookWxworkTeacher
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
WeworkTeacherBookBindVO
bindVO
)
{
SessionUtil
.
getInfoToken4Redis
(
token
);
weworkTeacherBiz
.
bindBookWxworkTeacher
(
bindVO
);
return
new
ResponseDto
<>();
}
@ApiOperation
(
value
=
"删除绑定"
,
httpMethod
=
"GET"
)
@RequestMapping
(
value
=
"deleteBookWxworkTeacher"
,
method
=
RequestMethod
.
GET
)
ResponseDto
<?>
deleteBookWxworkTeacher
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
"bookId"
)
Long
bookId
)
{
SessionUtil
.
getInfoToken4Redis
(
token
);
weworkTeacherBiz
.
deleteBookWxworkTeacher
(
bookId
);
return
new
ResponseDto
<>();
}
@ApiOperation
(
value
=
"分页获取绑定关系"
,
httpMethod
=
"GET"
)
@RequestMapping
(
value
=
"getBookWxworkTeacherList"
,
method
=
RequestMethod
.
GET
)
ResponseDto
<?>
getBookWxworkTeacherList
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"name"
,
required
=
false
)
String
name
,
@RequestParam
(
value
=
"currentPage"
,
defaultValue
=
"0"
)
Integer
currentPage
,
@RequestParam
(
value
=
"numPerPage"
,
defaultValue
=
"10"
)
Integer
numPerPage
)
{
SessionUtil
.
getInfoToken4Redis
(
token
);
return
new
ResponseDto
<>(
weworkTeacherBiz
.
getBookWxworkTeacherList
(
name
,
currentPage
,
numPerPage
));
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/mapper/WeworkTeacherBookBindMapper.java
0 → 100644
View file @
6e91527e
package
com
.
pcloud
.
book
.
group
.
mapper
;
import
com.pcloud.book.group.entity.WeworkTeacherBookBind
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Component
;
import
java.util.List
;
@Mapper
@Component
public
interface
WeworkTeacherBookBindMapper
{
int
deleteByPrimaryKey
(
Long
id
);
int
insert
(
WeworkTeacherBookBind
record
);
int
insertSelective
(
WeworkTeacherBookBind
record
);
WeworkTeacherBookBind
selectByPrimaryKey
(
Long
id
);
int
updateByPrimaryKeySelective
(
WeworkTeacherBookBind
record
);
int
updateByPrimaryKey
(
WeworkTeacherBookBind
record
);
int
insertOrUpdate
(
WeworkTeacherBookBind
record
);
void
deleteByBookId
(
Long
bookId
);
int
count4BookWxworkTeacherList
(
@Param
(
"name"
)
String
name
);
List
<
WeworkTeacherBookBind
>
getBookWxworkTeacherList
(
@Param
(
"name"
)
String
name
,
@Param
(
"offset"
)
int
offset
,
@Param
(
"limit"
)
Integer
limit
);
WeworkTeacherBookBind
getByBookId
(
@Param
(
"bookId"
)
Long
bookId
);
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/group/mapper/WeworkTeacherMapper.java
0 → 100644
View file @
6e91527e
package
com
.
pcloud
.
book
.
group
.
mapper
;
import
com.pcloud.book.group.entity.WeworkTeacher
;
import
com.pcloud.book.group.vo.WeworkTeacherVO
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Component
;
import
java.util.List
;
@Component
@Mapper
public
interface
WeworkTeacherMapper
{
int
deleteByPrimaryKey
(
Long
id
);
int
insert
(
WeworkTeacher
record
);
int
insertSelective
(
WeworkTeacher
record
);
WeworkTeacher
selectByPrimaryKey
(
Long
id
);
int
updateByPrimaryKeySelective
(
WeworkTeacher
record
);
int
updateByPrimaryKey
(
WeworkTeacher
record
);
Integer
count4WxworkTeacherList
(
@Param
(
"name"
)
String
name
,
@Param
(
"isOpen"
)
Integer
isOpen
,
@Param
(
"teacherType"
)
Integer
teacherType
);
List
<
WeworkTeacherVO
>
getWxworkTeacherList
(
@Param
(
"name"
)
String
name
,
@Param
(
"isOpen"
)
Integer
isOpen
,
@Param
(
"teacherType"
)
Integer
teacherType
,
@Param
(
"offset"
)
Integer
offset
,
@Param
(
"limit"
)
Integer
limit
);
List
<
WeworkTeacherVO
>
queryAll
();
List
<
WeworkTeacher
>
listByIds
(
@Param
(
"ids"
)
List
<
Long
>
ids
);
List
<
WeworkTeacherVO
>
getMaterialByIds
(
@Param
(
"longs"
)
List
<
Long
>
longs
);
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/group/vo/WeworkTeacherBookBindPageVO.java
0 → 100644
View file @
6e91527e
package
com
.
pcloud
.
book
.
group
.
vo
;
import
com.pcloud.book.group.entity.WeworkTeacher
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.List
;
/**
* 客服老师与图书绑定关系
*
* @author guiq
* @version 1.0
* @since 2020年9月7日
*/
@Data
@ApiModel
(
"客服老师与图书绑定关系"
)
public
class
WeworkTeacherBookBindPageVO
{
/**
* 图书ID
*/
@ApiModelProperty
(
"图书ID"
)
private
Long
bookId
;
/**
* 图书名称
*/
@ApiModelProperty
(
"图书名称"
)
private
String
bookName
;
/**
* ISBN
*/
@ApiModelProperty
(
"ISBN"
)
private
String
isbn
;
/**
* 客服老师列表
*/
@ApiModelProperty
(
"客服老师列表"
)
private
List
<
WeworkTeacher
>
teacherList
;
}
pcloud-service-book/src/main/java/com/pcloud/book/group/vo/WeworkTeacherBookBindVO.java
0 → 100644
View file @
6e91527e
package
com
.
pcloud
.
book
.
group
.
vo
;
import
com.pcloud.common.utils.ParamChecker
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.List
;
/**
* 客服老师与图书绑定关系
*
* @author guiq
* @version 1.0
* @since 2020年9月7日
*/
@Data
@ApiModel
(
"客服老师与图书绑定关系"
)
public
class
WeworkTeacherBookBindVO
{
/**
* 图书ID
*/
@ApiModelProperty
(
"图书ID"
)
private
Long
bookId
;
/**
* 图书名称
*/
@ApiModelProperty
(
"图书名称"
)
private
String
bookName
;
/**
* ISBN
*/
@ApiModelProperty
(
"ISBN"
)
private
String
isbn
;
/**
* 客服老师列表
*/
@ApiModelProperty
(
"客服老师列表"
)
private
List
<
Long
>
teacherList
;
public
void
checkParam4Bind
(){
ParamChecker
.
checkNumberIsNull
(
this
.
bookId
,
"图书ID不能为空!"
);
ParamChecker
.
checkStringIsEmpty
(
this
.
isbn
,
"图书ISBN不能为空!"
);
ParamChecker
.
checkStringIsEmpty
(
this
.
bookName
,
"图书名称不能为空!"
);
ParamChecker
.
checkListIsEmpty
(
this
.
teacherList
,
"客服老师不能为空!"
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/vo/WeworkTeacherVO.java
0 → 100644
View file @
6e91527e
package
com
.
pcloud
.
book
.
group
.
vo
;
import
cn.hutool.core.util.StrUtil
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
com.pcloud.book.group.entity.WeworkTeacher
;
import
com.pcloud.common.utils.ParamChecker
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.Objects
;
/**
* 客服老师企业微信二维码信息
*
* @author guiq
* @version 1.0
* @since 2020年9月7日
*/
@ApiModel
(
"客服老师企业微信二维码信息"
)
@Data
@JsonInclude
(
JsonInclude
.
Include
.
NON_NULL
)
public
class
WeworkTeacherVO
implements
Serializable
{
@ApiModelProperty
(
"id"
)
private
Long
id
;
/**
* 企业微信二维码
*/
@ApiModelProperty
(
"企业微信二维码"
)
private
String
qrcode
;
/**
* 真实姓名
*/
@ApiModelProperty
(
"真实姓名"
)
private
String
realName
;
/**
* 图文素材标题名称
*/
@ApiModelProperty
(
"图文素材标题名称"
)
private
String
title
;
/**
* 客服类型:1:苏老师 2:张哥哥
*/
@ApiModelProperty
(
"客服类型:1:苏老师 2:张哥哥"
)
private
Integer
teacherType
;
/**
* 开关状态
*/
@ApiModelProperty
(
"开关状态"
)
private
Integer
isOpen
;
/**
* 图文素材地址
*/
@ApiModelProperty
(
"图文素材地址"
)
private
String
materialUrl
;
/**
* 创建时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"创建时间"
)
private
Date
createTime
;
/**
* 更新时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"更新时间"
)
private
Date
updateTime
;
private
static
final
long
serialVersionUID
=
3857636238754367824L
;
public
void
checkParam4Add
()
{
ParamChecker
.
checkStringIsEmpty
(
this
.
qrcode
,
"企业微信二维码不能为空!"
);
ParamChecker
.
checkStringIsEmpty
(
this
.
realName
,
"真实姓名不能为空!"
);
ParamChecker
.
checkStringIsEmpty
(
this
.
title
,
"Title 不能为空!"
);
ParamChecker
.
checkNumberIsNull
(
this
.
teacherType
,
"客服老师类型不能为空!"
);
}
public
void
checkParam4Update
()
{
ParamChecker
.
checkNumberIsNull
(
this
.
id
,
"主键ID不能为空!"
);
}
/**
* 判断是否需要更新素材
*
* @param weworkTeacher entity
* @return boolean
*/
public
boolean
checkIsChanged
(
WeworkTeacher
weworkTeacher
)
{
if
(
Objects
.
isNull
(
weworkTeacher
)
||
!
this
.
id
.
equals
(
weworkTeacher
.
getId
()))
{
return
false
;
}
if
(
this
.
qrcode
!=
null
&&
!
StrUtil
.
equals
(
this
.
qrcode
,
weworkTeacher
.
getQrcode
()))
{
return
true
;
}
if
(
this
.
title
!=
null
&&
!
StrUtil
.
equals
(
this
.
title
,
weworkTeacher
.
getTitle
()))
{
return
true
;
}
return
false
;
}
}
pcloud-service-book/src/main/resources/mapper/group/WeworkTeacherBookBindMapper.xml
0 → 100644
View file @
6e91527e
<?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.pcloud.book.group.mapper.WeworkTeacherBookBindMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.pcloud.book.group.entity.WeworkTeacherBookBind"
>
<id
column=
"id"
jdbcType=
"BIGINT"
property=
"id"
/>
<result
column=
"book_id"
jdbcType=
"BIGINT"
property=
"bookId"
/>
<result
column=
"book_name"
jdbcType=
"VARCHAR"
property=
"bookName"
/>
<result
column=
"isbn"
jdbcType=
"VARCHAR"
property=
"isbn"
/>
<result
column=
"wework_teacher_arr"
jdbcType=
"VARCHAR"
property=
"weworkTeacherArr"
/>
<result
column=
"create_time"
jdbcType=
"TIMESTAMP"
property=
"createTime"
/>
<result
column=
"update_time"
jdbcType=
"TIMESTAMP"
property=
"updateTime"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, book_id, book_name, isbn, wework_teacher_arr, create_time, update_time
</sql>
<select
id=
"selectByPrimaryKey"
parameterType=
"java.lang.Long"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from wework_teacher_book_bind
where id = #{id,jdbcType=BIGINT}
</select>
<delete
id=
"deleteByPrimaryKey"
parameterType=
"java.lang.Long"
>
delete from wework_teacher_book_bind
where id = #{id,jdbcType=BIGINT}
</delete>
<insert
id=
"insert"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"com.pcloud.book.group.entity.WeworkTeacherBookBind"
useGeneratedKeys=
"true"
>
insert into wework_teacher_book_bind (book_id, book_name, isbn,
wework_teacher_arr, create_time, update_time
)
values (#{bookId,jdbcType=BIGINT}, #{bookName,jdbcType=VARCHAR}, #{isbn,jdbcType=VARCHAR},
#{weworkTeacherArr,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}
)
</insert>
<insert
id=
"insertSelective"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"com.pcloud.book.group.entity.WeworkTeacherBookBind"
useGeneratedKeys=
"true"
>
insert into wework_teacher_book_bind
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"bookId != null"
>
book_id,
</if>
<if
test=
"bookName != null"
>
book_name,
</if>
<if
test=
"isbn != null"
>
isbn,
</if>
<if
test=
"weworkTeacherArr != null"
>
wework_teacher_arr,
</if>
<if
test=
"createTime != null"
>
create_time,
</if>
<if
test=
"updateTime != null"
>
update_time,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"bookId != null"
>
#{bookId,jdbcType=BIGINT},
</if>
<if
test=
"bookName != null"
>
#{bookName,jdbcType=VARCHAR},
</if>
<if
test=
"isbn != null"
>
#{isbn,jdbcType=VARCHAR},
</if>
<if
test=
"weworkTeacherArr != null"
>
#{weworkTeacherArr,jdbcType=VARCHAR},
</if>
<if
test=
"createTime != null"
>
#{createTime,jdbcType=TIMESTAMP},
</if>
<if
test=
"updateTime != null"
>
#{updateTime,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<update
id=
"updateByPrimaryKeySelective"
parameterType=
"com.pcloud.book.group.entity.WeworkTeacherBookBind"
>
update wework_teacher_book_bind
<set>
<if
test=
"bookId != null"
>
book_id = #{bookId,jdbcType=BIGINT},
</if>
<if
test=
"bookName != null"
>
book_name = #{bookName,jdbcType=VARCHAR},
</if>
<if
test=
"isbn != null"
>
isbn = #{isbn,jdbcType=VARCHAR},
</if>
<if
test=
"weworkTeacherArr != null"
>
wework_teacher_arr = #{weworkTeacherArr,jdbcType=VARCHAR},
</if>
<if
test=
"createTime != null"
>
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if
test=
"updateTime != null"
>
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update
id=
"updateByPrimaryKey"
parameterType=
"com.pcloud.book.group.entity.WeworkTeacherBookBind"
>
update wework_teacher_book_bind
set book_id = #{bookId,jdbcType=BIGINT},
book_name = #{bookName,jdbcType=VARCHAR},
isbn = #{isbn,jdbcType=VARCHAR},
wework_teacher_arr = #{weworkTeacherArr,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=BIGINT}
</update>
<insert
id=
"insertOrUpdate"
>
insert into wework_teacher_book_bind (book_id, book_name, isbn, wework_teacher_arr,
<if
test=
"createTime != null"
>
create_time,
</if>
update_time)
values(
#{bookId},#{bookName},#{isbn},#{weworkTeacherArr},
<if
test=
"createTime != null"
>
#{createTime},
</if>
update_time = #{updateTime,jdbcType=TIMESTAMP}
)
on duplicate key update
book_id = values(book_id),
book_name = values(book_name),
isbn = values(isbn),
wework_teacher_arr = values(wework_teacher_arr),
update_time = values(update_time)
</insert>
<delete
id=
"deleteByBookId"
>
delete from wework_teacher_book_bind
where book_id = #{bookId,jdbcType=BIGINT}
</delete>
<select
id=
"count4BookWxworkTeacherList"
resultType=
"java.lang.Integer"
>
select count(0) from wework_teacher_book_bind
<where>
<if
test=
"name != null"
>
book_name like concat('%',#{name},'%') OR isbn like concat('%',#{name},'%')
</if>
</where>
</select>
<select
id=
"getBookWxworkTeacherList"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from wework_teacher_book_bind
<where>
<if
test=
"name != null"
>
book_name like concat('%',#{name},'%') OR isbn like concat('%',#{name},'%')
</if>
</where>
limit #{offset},#{limit}
</select>
<select
id=
"getByBookId"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from wework_teacher_book_bind
where book_id = #{bookId}
</select>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/group/WeworkTeacherMapper.xml
0 → 100644
View file @
6e91527e
<?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.pcloud.book.group.mapper.WeworkTeacherMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.pcloud.book.group.entity.WeworkTeacher"
>
<id
column=
"id"
jdbcType=
"BIGINT"
property=
"id"
/>
<result
column=
"qrcode"
jdbcType=
"VARCHAR"
property=
"qrcode"
/>
<result
column=
"real_name"
jdbcType=
"VARCHAR"
property=
"realName"
/>
<result
column=
"title"
jdbcType=
"VARCHAR"
property=
"title"
/>
<result
column=
"teacher_type"
jdbcType=
"INTEGER"
property=
"teacherType"
/>
<result
column=
"is_open"
jdbcType=
"INTEGER"
property=
"isOpen"
/>
<result
column=
"material_url"
jdbcType=
"VARCHAR"
property=
"materialUrl"
/>
<result
column=
"media_id"
jdbcType=
"VARCHAR"
property=
"mediaId"
/>
<result
column=
"account_id"
jdbcType=
"BIGINT"
property=
"accountId"
/>
<result
column=
"create_time"
jdbcType=
"TIMESTAMP"
property=
"createTime"
/>
<result
column=
"update_time"
jdbcType=
"TIMESTAMP"
property=
"updateTime"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, qrcode, real_name, title, teacher_type, is_open, material_url, media_id, account_id, create_time,
update_time
</sql>
<select
id=
"selectByPrimaryKey"
parameterType=
"java.lang.Long"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from wework_teacher
where id = #{id,jdbcType=BIGINT}
</select>
<delete
id=
"deleteByPrimaryKey"
parameterType=
"java.lang.Long"
>
delete from wework_teacher
where id = #{id,jdbcType=BIGINT}
</delete>
<insert
id=
"insert"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"com.pcloud.book.group.entity.WeworkTeacher"
useGeneratedKeys=
"true"
>
insert into wework_teacher (qrcode, real_name, title,
teacher_type, is_open, material_url, media_id,
account_id, create_time, update_time
)
values (#{qrcode,jdbcType=VARCHAR}, #{realName,jdbcType=VARCHAR}, #{title,jdbcType=VARCHAR},
#{teacherType,jdbcType=INTEGER}, #{isOpen,jdbcType=INTEGER}, #{materialUrl,jdbcType=VARCHAR}, #{mediaId,jdbcType=VARCHAR},
#{accountId,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}
)
</insert>
<insert
id=
"insertSelective"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"com.pcloud.book.group.entity.WeworkTeacher"
useGeneratedKeys=
"true"
>
insert into wework_teacher
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"qrcode != null"
>
qrcode,
</if>
<if
test=
"realName != null"
>
real_name,
</if>
<if
test=
"title != null"
>
title,
</if>
<if
test=
"teacherType != null"
>
teacher_type,
</if>
<if
test=
"isOpen != null"
>
is_open,
</if>
<if
test=
"materialUrl != null"
>
material_url,
</if>
<if
test=
"mediaId != null"
>
media_id,
</if>
<if
test=
"accountId != null"
>
account_id,
</if>
<if
test=
"createTime != null"
>
create_time,
</if>
<if
test=
"updateTime != null"
>
update_time,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"qrcode != null"
>
#{qrcode,jdbcType=VARCHAR},
</if>
<if
test=
"realName != null"
>
#{realName,jdbcType=VARCHAR},
</if>
<if
test=
"title != null"
>
#{title,jdbcType=VARCHAR},
</if>
<if
test=
"teacherType != null"
>
#{teacherType,jdbcType=INTEGER},
</if>
<if
test=
"isOpen != null"
>
#{isOpen,jdbcType=INTEGER},
</if>
<if
test=
"materialUrl != null"
>
#{materialUrl,jdbcType=VARCHAR},
</if>
<if
test=
"mediaId != null"
>
#{mediaId,jdbcType=VARCHAR},
</if>
<if
test=
"accountId != null"
>
#{accountId,jdbcType=BIGINT},
</if>
<if
test=
"createTime != null"
>
#{createTime,jdbcType=TIMESTAMP},
</if>
<if
test=
"updateTime != null"
>
#{updateTime,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<update
id=
"updateByPrimaryKeySelective"
parameterType=
"com.pcloud.book.group.entity.WeworkTeacher"
>
update wework_teacher
<set>
<if
test=
"qrcode != null"
>
qrcode = #{qrcode,jdbcType=VARCHAR},
</if>
<if
test=
"realName != null"
>
real_name = #{realName,jdbcType=VARCHAR},
</if>
<if
test=
"title != null"
>
title = #{title,jdbcType=VARCHAR},
</if>
<if
test=
"teacherType != null"
>
teacher_type = #{teacherType,jdbcType=INTEGER},
</if>
<if
test=
"isOpen != null"
>
is_open = #{isOpen,jdbcType=INTEGER},
</if>
<if
test=
"materialUrl != null"
>
material_url = #{materialUrl,jdbcType=VARCHAR},
</if>
<if
test=
"mediaId != null"
>
media_id = #{mediaId,jdbcType=VARCHAR},
</if>
<if
test=
"accountId != null"
>
account_id = #{accountId,jdbcType=BIGINT},
</if>
<if
test=
"createTime != null"
>
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if
test=
"updateTime != null"
>
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update
id=
"updateByPrimaryKey"
parameterType=
"com.pcloud.book.group.entity.WeworkTeacher"
>
update wework_teacher
set qrcode = #{qrcode,jdbcType=VARCHAR},
real_name = #{realName,jdbcType=VARCHAR},
title = #{title,jdbcType=VARCHAR},
teacher_type = #{teacherType,jdbcType=INTEGER},
is_open = #{isOpen,jdbcType=INTEGER},
material_url = #{materialUrl,jdbcType=VARCHAR},
media_id = #{mediaId,jdbcType=VARCHAR},
account_id = #{accountId,jdbcType=BIGINT},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=BIGINT}
</update>
<select
id=
"count4WxworkTeacherList"
resultType=
"java.lang.Integer"
>
select count(*)
from wework_teacher
<where>
<if
test=
"name != null"
>
real_name like concat('%', #{name}, '%')
</if>
<if
test=
"isOpen != null"
>
and is_open = #{isOpen}
</if>
<if
test=
"teacherType != null"
>
and teacher_type = #{teacherType}
</if>
</where>
</select>
<select
id=
"getWxworkTeacherList"
resultType=
"com.pcloud.book.group.vo.WeworkTeacherVO"
>
select
id AS id,
qrcode AS qrcode,
real_name AS realName,
title AS title,
teacher_type AS teacherType,
is_open AS isOpen,
material_url AS materialUrl,
create_time AS createTime,
update_time AS updateTime
from wework_teacher
<where>
<if
test=
"name != null"
>
real_name like concat('%', #{name}, '%')
</if>
<if
test=
"isOpen != null"
>
and is_open = #{isOpen}
</if>
<if
test=
"teacherType != null"
>
and teacher_type = #{teacherType}
</if>
</where>
limit #{offset},#{limit}
</select>
<select
id=
"queryAll"
resultType=
"com.pcloud.book.group.vo.WeworkTeacherVO"
>
select
id AS id,
teacher_type AS teacherType,
material_url AS materialUrl
from wework_teacher
where is_open = 1
</select>
<select
id=
"listByIds"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from wework_teacher
where id in
<foreach
collection=
"ids"
item=
"item"
close=
")"
open=
"("
separator=
","
>
${item}
</foreach>
</select>
<select
id=
"getMaterialByIds"
resultType=
"com.pcloud.book.group.vo.WeworkTeacherVO"
>
select
id AS id,
teacher_type AS teacherType,
material_url AS materialUrl
from wework_teacher
where is_open = 1 and id in
<foreach
collection=
"longs"
open=
"("
separator=
","
close=
")"
item=
"item"
>
${item}
</foreach>
</select>
</mapper>
\ No newline at end of file
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