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
cc4ec6af
Commit
cc4ec6af
authored
Jun 11, 2019
by
huzhenkun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
微信群打卡二期
parent
7f831df3
Hide whitespace changes
Inline
Side-by-side
Showing
63 changed files
with
5237 additions
and
6 deletions
+5237
-6
BookGroupClockKeywordDTO.java
...a/com/pcloud/book/clock/dto/BookGroupClockKeywordDTO.java
+157
-0
PushBookClockKeywordDTO.java
...va/com/pcloud/book/clock/dto/PushBookClockKeywordDTO.java
+189
-0
BookClockKeywordCheckParam.java
.../pcloud/book/clock/eneity/BookClockKeywordCheckParam.java
+118
-0
CancelSelectedParam.java
...ava/com/pcloud/book/clock/eneity/CancelSelectedParam.java
+58
-0
BookClockInfoService.java
...a/com/pcloud/book/clock/service/BookClockInfoService.java
+28
-0
BookClockBiz.java
...src/main/java/com/pcloud/book/clock/biz/BookClockBiz.java
+63
-0
BookClockKeywordBiz.java
...n/java/com/pcloud/book/clock/biz/BookClockKeywordBiz.java
+53
-0
BookClockBizImpl.java
...java/com/pcloud/book/clock/biz/impl/BookClockBizImpl.java
+370
-0
BookClockKeywordBizImpl.java
...m/pcloud/book/clock/biz/impl/BookClockKeywordBizImpl.java
+311
-0
BookClockCheck.java
...main/java/com/pcloud/book/clock/check/BookClockCheck.java
+47
-0
BookClockCheckImpl.java
.../com/pcloud/book/clock/check/impl/BookClockCheckImpl.java
+221
-0
BookClockInfoDao.java
...main/java/com/pcloud/book/clock/dao/BookClockInfoDao.java
+83
-0
BookClockKeywordDao.java
...n/java/com/pcloud/book/clock/dao/BookClockKeywordDao.java
+70
-0
BookGroupClockDao.java
...ain/java/com/pcloud/book/clock/dao/BookGroupClockDao.java
+67
-0
BookClockInfoDaoImpl.java
.../com/pcloud/book/clock/dao/impl/BookClockInfoDaoImpl.java
+129
-0
BookClockKeywordDaoImpl.java
...m/pcloud/book/clock/dao/impl/BookClockKeywordDaoImpl.java
+96
-0
BookGroupClockDaoImpl.java
...com/pcloud/book/clock/dao/impl/BookGroupClockDaoImpl.java
+93
-0
BookClockInfoDTO.java
...main/java/com/pcloud/book/clock/dto/BookClockInfoDTO.java
+283
-0
BookClockKeywordDTO.java
...n/java/com/pcloud/book/clock/dto/BookClockKeywordDTO.java
+172
-0
BookClockListDTO.java
...main/java/com/pcloud/book/clock/dto/BookClockListDTO.java
+125
-0
BookGroupClockDTO.java
...ain/java/com/pcloud/book/clock/dto/BookGroupClockDTO.java
+140
-0
BookClockInfo.java
...main/java/com/pcloud/book/clock/entity/BookClockInfo.java
+228
-0
BookClockKeyword.java
...n/java/com/pcloud/book/clock/entity/BookClockKeyword.java
+140
-0
BookGroupClock.java
...ain/java/com/pcloud/book/clock/entity/BookGroupClock.java
+143
-0
OriginTypeEnum.java
...main/java/com/pcloud/book/clock/enums/OriginTypeEnum.java
+24
-0
UpdateTypeEnum.java
...main/java/com/pcloud/book/clock/enums/UpdateTypeEnum.java
+29
-0
BookClockFacade.java
...in/java/com/pcloud/book/clock/facade/BookClockFacade.java
+67
-0
BookClockKeywordFacade.java
.../com/pcloud/book/clock/facade/BookClockKeywordFacade.java
+49
-0
BookClockFacadeImpl.java
...om/pcloud/book/clock/facade/impl/BookClockFacadeImpl.java
+133
-0
BookClockKeywordFacadeImpl.java
...ud/book/clock/facade/impl/BookClockKeywordFacadeImpl.java
+68
-0
BookClockInfoServiceImpl.java
...oud/book/clock/service/impl/BookClockInfoServiceImpl.java
+66
-0
BookGroupClockSet.java
...ain/java/com/pcloud/book/clock/set/BookGroupClockSet.java
+56
-0
BookGroupClockSetImpl.java
...com/pcloud/book/clock/set/impl/BookGroupClockSetImpl.java
+213
-0
ListBookGroupClockResponseVO.java
.../book/clock/vo/response/ListBookGroupClockResponseVO.java
+122
-0
ReaderConsr.java
...ain/java/com/pcloud/book/consumer/reader/ReaderConsr.java
+15
-0
ProductConsr.java
.../java/com/pcloud/book/consumer/resource/ProductConsr.java
+33
-0
BookGroupClassifyBiz.java
.../java/com/pcloud/book/group/biz/BookGroupClassifyBiz.java
+9
-0
BookGroupClassifyBizImpl.java
.../pcloud/book/group/biz/impl/BookGroupClassifyBizImpl.java
+19
-0
BookGroupClassifyDao.java
.../java/com/pcloud/book/group/dao/BookGroupClassifyDao.java
+28
-0
BookGroupDao.java
...src/main/java/com/pcloud/book/group/dao/BookGroupDao.java
+9
-0
GroupQrcodeDao.java
...c/main/java/com/pcloud/book/group/dao/GroupQrcodeDao.java
+15
-0
BookGroupClassifyDaoImpl.java
.../pcloud/book/group/dao/impl/BookGroupClassifyDaoImpl.java
+20
-0
BookGroupDaoImpl.java
...java/com/pcloud/book/group/dao/impl/BookGroupDaoImpl.java
+5
-0
GroupQrcodeDaoImpl.java
...va/com/pcloud/book/group/dao/impl/GroupQrcodeDaoImpl.java
+9
-0
BookGroupDTO.java
...src/main/java/com/pcloud/book/group/dto/BookGroupDTO.java
+24
-0
ClassifyDTO.java
.../src/main/java/com/pcloud/book/group/dto/ClassifyDTO.java
+11
-0
BookGroupClassify.java
.../java/com/pcloud/book/group/entity/BookGroupClassify.java
+38
-0
BookGroupFacade.java
...in/java/com/pcloud/book/group/facade/BookGroupFacade.java
+10
-0
BookGroupFacadeImpl.java
...om/pcloud/book/group/facade/impl/BookGroupFacadeImpl.java
+26
-0
SendWeixinRequestTools.java
...a/com/pcloud/book/group/tools/SendWeixinRequestTools.java
+26
-0
BookGuideBizImpl.java
...a/com/pcloud/book/keywords/biz/impl/BookGuideBizImpl.java
+33
-0
BookMQProducer.java
...main/java/com/pcloud/book/mq/producer/BookMQProducer.java
+3
-0
BookProducerImpl.java
...va/com/pcloud/book/mq/producer/impl/BookProducerImpl.java
+6
-0
AppUpdateListener.java
...main/java/com/pcloud/book/mq/topic/AppUpdateListener.java
+5
-0
ProductUpdateListener.java
.../java/com/pcloud/book/mq/topic/ProductUpdateListener.java
+5
-0
WxGroupSendTextListener.java
...ava/com/pcloud/book/mq/topic/WxGroupSendTextListener.java
+13
-1
CommonUtils.java
...rc/main/java/com/pcloud/book/util/common/CommonUtils.java
+35
-4
BookClockInfo.Mapper.xml
.../src/main/resources/mapper/clock/BookClockInfo.Mapper.xml
+197
-0
BookClockKeyword.Mapper.xml
...c/main/resources/mapper/clock/BookClockKeyword.Mapper.xml
+143
-0
BookGroupClock.Mapper.xml
...src/main/resources/mapper/clock/BookGroupClock.Mapper.xml
+139
-0
BookGroupClassify.Mapper.xml
.../main/resources/mapper/group/BookGroupClassify.Mapper.xml
+102
-0
BookGroupMapper.xml
...-book/src/main/resources/mapper/group/BookGroupMapper.xml
+24
-1
GroupQrcode.Mapper.xml
...ok/src/main/resources/mapper/group/GroupQrcode.Mapper.xml
+24
-0
No files found.
pcloud-facade-book/src/main/java/com/pcloud/book/clock/dto/BookGroupClockKeywordDTO.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.pcloud.common.dto.BaseDto
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.util.Date
;
/**
* @Author: hzk
* @Date: 2019/6/2 15:33
* @Version 1.0
*/
public
class
BookGroupClockKeywordDTO
extends
BaseDto
{
private
static
final
long
serialVersionUID
=
-
852531178830896628L
;
@ApiModelProperty
(
"bookClockKeywordId"
)
private
Long
bookClockKeywordId
;
@ApiModelProperty
(
"作品/应用ID"
)
private
Long
bookClockInfoId
;
@ApiModelProperty
(
"操作"
)
private
String
operation
;
@ApiModelProperty
(
"关键词"
)
private
String
keyword
;
@ApiModelProperty
(
"关键词引导语"
)
private
String
guide
;
@ApiModelProperty
(
"渠道ID"
)
private
Long
channelId
;
@ApiModelProperty
(
"排序值"
)
private
Long
sequenceNum
;
@ApiModelProperty
(
"创建人"
)
private
Long
createUser
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"创建时间"
)
private
Date
createTime
;
@ApiModelProperty
(
"修改人"
)
private
Long
updateUser
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"修改时间"
)
private
Date
updateTime
;
public
Long
getBookClockKeywordId
()
{
return
bookClockKeywordId
;
}
public
void
setBookClockKeywordId
(
Long
bookClockKeywordId
)
{
this
.
bookClockKeywordId
=
bookClockKeywordId
;
}
public
Long
getBookClockInfoId
()
{
return
bookClockInfoId
;
}
public
void
setBookClockInfoId
(
Long
bookClockInfoId
)
{
this
.
bookClockInfoId
=
bookClockInfoId
;
}
public
String
getOperation
()
{
return
operation
;
}
public
void
setOperation
(
String
operation
)
{
this
.
operation
=
operation
;
}
public
String
getKeyword
()
{
return
keyword
;
}
public
void
setKeyword
(
String
keyword
)
{
this
.
keyword
=
keyword
;
}
public
String
getGuide
()
{
return
guide
;
}
public
void
setGuide
(
String
guide
)
{
this
.
guide
=
guide
;
}
public
Long
getChannelId
()
{
return
channelId
;
}
public
void
setChannelId
(
Long
channelId
)
{
this
.
channelId
=
channelId
;
}
public
Long
getSequenceNum
()
{
return
sequenceNum
;
}
public
void
setSequenceNum
(
Long
sequenceNum
)
{
this
.
sequenceNum
=
sequenceNum
;
}
public
Long
getCreateUser
()
{
return
createUser
;
}
public
void
setCreateUser
(
Long
createUser
)
{
this
.
createUser
=
createUser
;
}
public
Date
getCreateTime
()
{
return
createTime
;
}
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
public
Long
getUpdateUser
()
{
return
updateUser
;
}
public
void
setUpdateUser
(
Long
updateUser
)
{
this
.
updateUser
=
updateUser
;
}
public
Date
getUpdateTime
()
{
return
updateTime
;
}
public
void
setUpdateTime
(
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
@Override
public
String
toString
()
{
return
"BookGroupClockKeywordDTO{"
+
"bookClockKeywordId="
+
bookClockKeywordId
+
", bookClockInfoId="
+
bookClockInfoId
+
", operation='"
+
operation
+
'\''
+
", keyword='"
+
keyword
+
'\''
+
", guide='"
+
guide
+
'\''
+
", channelId="
+
channelId
+
", sequenceNum="
+
sequenceNum
+
", createUser="
+
createUser
+
", createTime="
+
createTime
+
", updateUser="
+
updateUser
+
", updateTime="
+
updateTime
+
'}'
;
}
}
pcloud-facade-book/src/main/java/com/pcloud/book/clock/dto/PushBookClockKeywordDTO.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.io.Serializable
;
/**
* @Author: hzk
* @Date: 2019/5/29 14:15
* @Version 1.0
*/
public
class
PushBookClockKeywordDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
7723153542339015688L
;
@ApiModelProperty
(
"微信群打卡信息ID"
)
private
Long
bookClockInfoId
;
@ApiModelProperty
(
"作品/应用ID"
)
private
Long
originId
;
@ApiModelProperty
(
"作品/应用"
)
private
String
originType
;
@ApiModelProperty
(
"作品/应用类型"
)
private
String
typeCode
;
@ApiModelProperty
(
"渠道ID"
)
private
Long
channelId
;
@ApiModelProperty
(
"机器人ID"
)
private
String
robotId
;
@ApiModelProperty
(
"操作"
)
private
String
operation
;
@ApiModelProperty
(
"用户微信号"
)
private
String
userWxId
;
@ApiModelProperty
(
"wechatUserId"
)
private
Long
wechatUserId
;
@ApiModelProperty
(
"微信群ID"
)
private
String
wechatGroupId
;
@ApiModelProperty
(
"群ID"
)
private
Long
groupQrcodeId
;
@ApiModelProperty
(
"分类ID"
)
private
Long
classifyId
;
@ApiModelProperty
(
"社群码ID"
)
private
Long
bookGroupId
;
@ApiModelProperty
(
"编辑ID"
)
private
Long
adviserId
;
public
Long
getBookClockInfoId
()
{
return
bookClockInfoId
;
}
public
void
setBookClockInfoId
(
Long
bookClockInfoId
)
{
this
.
bookClockInfoId
=
bookClockInfoId
;
}
public
Long
getOriginId
()
{
return
originId
;
}
public
void
setOriginId
(
Long
originId
)
{
this
.
originId
=
originId
;
}
public
String
getOriginType
()
{
return
originType
;
}
public
void
setOriginType
(
String
originType
)
{
this
.
originType
=
originType
;
}
public
String
getOperation
()
{
return
operation
;
}
public
void
setOperation
(
String
operation
)
{
this
.
operation
=
operation
;
}
public
String
getTypeCode
()
{
return
typeCode
;
}
public
void
setTypeCode
(
String
typeCode
)
{
this
.
typeCode
=
typeCode
;
}
public
String
getUserWxId
()
{
return
userWxId
;
}
public
void
setUserWxId
(
String
userWxId
)
{
this
.
userWxId
=
userWxId
;
}
public
Long
getWechatUserId
()
{
return
wechatUserId
;
}
public
void
setWechatUserId
(
Long
wechatUserId
)
{
this
.
wechatUserId
=
wechatUserId
;
}
public
Long
getChannelId
()
{
return
channelId
;
}
public
void
setChannelId
(
Long
channelId
)
{
this
.
channelId
=
channelId
;
}
public
String
getWechatGroupId
()
{
return
wechatGroupId
;
}
public
void
setWechatGroupId
(
String
wechatGroupId
)
{
this
.
wechatGroupId
=
wechatGroupId
;
}
public
String
getRobotId
()
{
return
robotId
;
}
public
void
setRobotId
(
String
robotId
)
{
this
.
robotId
=
robotId
;
}
public
Long
getAdviserId
()
{
return
adviserId
;
}
public
void
setAdviserId
(
Long
adviserId
)
{
this
.
adviserId
=
adviserId
;
}
public
Long
getClassifyId
()
{
return
classifyId
;
}
public
void
setClassifyId
(
Long
classifyId
)
{
this
.
classifyId
=
classifyId
;
}
public
Long
getBookGroupId
()
{
return
bookGroupId
;
}
public
void
setBookGroupId
(
Long
bookGroupId
)
{
this
.
bookGroupId
=
bookGroupId
;
}
public
Long
getGroupQrcodeId
()
{
return
groupQrcodeId
;
}
public
void
setGroupQrcodeId
(
Long
groupQrcodeId
)
{
this
.
groupQrcodeId
=
groupQrcodeId
;
}
@Override
public
String
toString
()
{
return
"PushBookClockKeywordDTO{"
+
"bookClockInfoId="
+
bookClockInfoId
+
", originId="
+
originId
+
", originType='"
+
originType
+
'\''
+
", typeCode='"
+
typeCode
+
'\''
+
", channelId="
+
channelId
+
", robotId='"
+
robotId
+
'\''
+
", operation='"
+
operation
+
'\''
+
", userWxId='"
+
userWxId
+
'\''
+
", wechatUserId="
+
wechatUserId
+
", wechatGroupId='"
+
wechatGroupId
+
'\''
+
", classifyId="
+
classifyId
+
", groupQrcodeId='"
+
groupQrcodeId
+
'\''
+
", bookGroupId="
+
bookGroupId
+
", adviserId="
+
adviserId
+
'}'
;
}
}
pcloud-facade-book/src/main/java/com/pcloud/book/clock/eneity/BookClockKeywordCheckParam.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
eneity
;
import
com.pcloud.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.util.List
;
/**
* @Author: hzk
* @Date: 2019/6/6 11:29
* @Version 1.0
*/
public
class
BookClockKeywordCheckParam
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
-
2920073442893221261L
;
@ApiModelProperty
(
"关键词"
)
private
String
keyword
;
@ApiModelProperty
(
"编辑ID"
)
private
Long
adviserId
;
@ApiModelProperty
(
"微信群打卡ID"
)
private
Long
bookClockInfoId
;
@ApiModelProperty
(
"是否为书重复"
)
private
Boolean
isBookGroup
;
@ApiModelProperty
(
"已选社群书ID集合"
)
private
List
<
Long
>
bookGroupIdList
;
@ApiModelProperty
(
"已选分类ID集合"
)
private
List
<
Long
>
classifyIdList
;
@ApiModelProperty
(
"当前页"
)
private
Integer
currentPage
;
@ApiModelProperty
(
"每页个数"
)
private
Integer
numPerPage
;
public
Long
getBookClockInfoId
()
{
return
bookClockInfoId
;
}
public
void
setBookClockInfoId
(
Long
bookClockInfoId
)
{
this
.
bookClockInfoId
=
bookClockInfoId
;
}
public
String
getKeyword
()
{
return
keyword
;
}
public
void
setKeyword
(
String
keyword
)
{
this
.
keyword
=
keyword
;
}
public
Long
getAdviserId
()
{
return
adviserId
;
}
public
void
setAdviserId
(
Long
adviserId
)
{
this
.
adviserId
=
adviserId
;
}
public
List
<
Long
>
getBookGroupIdList
()
{
return
bookGroupIdList
;
}
public
void
setBookGroupIdList
(
List
<
Long
>
bookGroupIdList
)
{
this
.
bookGroupIdList
=
bookGroupIdList
;
}
public
List
<
Long
>
getClassifyIdList
()
{
return
classifyIdList
;
}
public
void
setClassifyIdList
(
List
<
Long
>
classifyIdList
)
{
this
.
classifyIdList
=
classifyIdList
;
}
public
Integer
getCurrentPage
()
{
return
currentPage
;
}
public
void
setCurrentPage
(
Integer
currentPage
)
{
this
.
currentPage
=
currentPage
;
}
public
Integer
getNumPerPage
()
{
return
numPerPage
;
}
public
void
setNumPerPage
(
Integer
numPerPage
)
{
this
.
numPerPage
=
numPerPage
;
}
public
Boolean
getIsBookGroup
()
{
return
isBookGroup
;
}
public
void
setIsBookGroup
(
Boolean
isBookGroup
)
{
this
.
isBookGroup
=
isBookGroup
;
}
@Override
public
String
toString
()
{
return
"BookClockKeywordCheckParam{"
+
"keyword='"
+
keyword
+
'\''
+
", adviserId="
+
adviserId
+
", bookClockInfoId="
+
bookClockInfoId
+
", isBookGroup="
+
isBookGroup
+
", bookGroupIdList="
+
bookGroupIdList
+
", classifyIdList="
+
classifyIdList
+
", currentPage="
+
currentPage
+
", numPerPage="
+
numPerPage
+
'}'
;
}
}
pcloud-facade-book/src/main/java/com/pcloud/book/clock/eneity/CancelSelectedParam.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
eneity
;
import
com.pcloud.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.util.List
;
/**
* @Author: hzk
* @Date: 2019/6/6 11:29
* @Version 1.0
*/
public
class
CancelSelectedParam
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
-
2920073442893221261L
;
@ApiModelProperty
(
"作品/应用ID"
)
private
Long
bookClockInfoId
;
@ApiModelProperty
(
"社群书ID"
)
private
Long
bookGroupId
;
@ApiModelProperty
(
"分类ID"
)
private
Long
classifyId
;
public
Long
getBookClockInfoId
()
{
return
bookClockInfoId
;
}
public
void
setBookClockInfoId
(
Long
bookClockInfoId
)
{
this
.
bookClockInfoId
=
bookClockInfoId
;
}
public
Long
getBookGroupId
()
{
return
bookGroupId
;
}
public
void
setBookGroupId
(
Long
bookGroupId
)
{
this
.
bookGroupId
=
bookGroupId
;
}
public
Long
getClassifyId
()
{
return
classifyId
;
}
public
void
setClassifyId
(
Long
classifyId
)
{
this
.
classifyId
=
classifyId
;
}
@Override
public
String
toString
()
{
return
"CancelSelectedParam{"
+
"bookClockInfoId="
+
bookClockInfoId
+
", bookGroupId="
+
bookGroupId
+
", classifyId="
+
classifyId
+
'}'
;
}
}
pcloud-facade-book/src/main/java/com/pcloud/book/clock/service/BookClockInfoService.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
service
;
import
com.pcloud.book.clock.dto.BookGroupClockKeywordDTO
;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.common.exceptions.BizException
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.cloud.netflix.feign.FeignClient
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.Map
;
@FeignClient
(
value
=
"pcloud-service-book"
,
qualifier
=
"bookClockInfoServiceCloud"
,
path
=
"book/v1.0/bookClockInfoService"
)
@Api
(
description
=
"微信群打卡内部服务"
)
public
interface
BookClockInfoService
{
@ApiOperation
(
"获取微信群某一动作动作关键词"
)
@RequestMapping
(
value
=
"getBookClockKeyword4Clock"
,
method
=
RequestMethod
.
GET
)
ResponseEntity
<
ResponseDto
<
BookGroupClockKeywordDTO
>>
getBookClockKeyword4Clock
(
@RequestParam
(
"bookClockInfoId"
)
Long
bookClockInfoId
,
@RequestParam
(
"operation"
)
String
operation
)
throws
BizException
;
@ApiOperation
(
"发送微信群打卡消息"
)
@PostMapping
(
"/sendBookClockGroupMessage"
)
void
sendBookClockGroupMessage
(
@RequestBody
Map
<
String
,
Object
>
map
)
throws
BizException
;
}
pcloud-service-book/src/main/java/com/pcloud/book/clock/biz/BookClockBiz.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
biz
;
import
com.pcloud.book.clock.dto.BookClockInfoDTO
;
import
com.pcloud.book.clock.entity.BookClockInfo
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.page.PageBean
;
import
com.pcloud.common.page.PageParam
;
import
java.util.Map
;
import
java.util.List
;
import
java.util.Map
;
/**
* @Author: hzk
* @Date: 2019/5/24 14:50
* @Version 1.0
*/
public
interface
BookClockBiz
{
/**
* 关联作品/应用及微信群
* @param bookClockInfo
*/
Long
createBookGroupClock
(
BookClockInfo
bookClockInfo
)
throws
BizException
;
/**
* 修改关联关系
* @param bookClockInfo
* @throws BizException
*/
void
updateBookGroupClock
(
BookClockInfo
bookClockInfo
)
throws
BizException
;
/**
* 获取关联的基本信息
* @param bookClockInfoId
* @return
*/
BookClockInfoDTO
getBookGroupClockBaseInfo
(
Long
bookClockInfoId
);
/**
* 获取该编辑已选的超级作者作品及应用
* @param adviserId
* @return
*/
Map
<
String
,
List
<
Long
>>
getAdviserHasSelected
(
Long
adviserId
);
/**
* 获取关联作品/应用列表
* @param pageParam
* @param paramMap
* @return
*/
PageBean
listBookGroupClock
(
PageParam
pageParam
,
Map
<
String
,
Object
>
paramMap
);
/**
* 发送微信群打卡群发消息
* @param paramMap
*/
void
sendBookClockGroupMessage
(
Map
<
String
,
Object
>
paramMap
);
}
pcloud-service-book/src/main/java/com/pcloud/book/clock/biz/BookClockKeywordBiz.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
biz
;
import
com.pcloud.book.clock.dto.BookClockInfoDTO
;
import
com.pcloud.book.clock.dto.BookClockKeywordDTO
;
import
com.pcloud.book.clock.dto.BookGroupClockKeywordDTO
;
import
com.pcloud.book.clock.eneity.BookClockKeywordCheckParam
;
import
com.pcloud.book.clock.eneity.CancelSelectedParam
;
import
com.pcloud.common.page.PageBean
;
/**
* @Author: hzk
* @Date: 2019/5/28 14:50
* @Version 1.0
*/
public
interface
BookClockKeywordBiz
{
/**
* 获取该关键词已关联的书及分类
* @param bookClockKeywordCheckParam
* @return
*/
BookClockKeywordDTO
getKeywordBookClockList
(
BookClockKeywordCheckParam
bookClockKeywordCheckParam
);
/**
* 发送关键词信息
* @param bookClockInfoDTO
* @param userWxId
* @return
*/
Boolean
sendKeywordMessage
(
BookClockInfoDTO
bookClockInfoDTO
,
String
userWxId
,
String
wechatGroupId
);
/**
* 获取微信群某一动作动作关键词
* @param bookClockInfoId
* @param operation
* @return
*/
BookGroupClockKeywordDTO
getBookClockKeyword4Clock
(
Long
bookClockInfoId
,
String
operation
);
/**
* 获取该关键词已关联的书及分类
* @param bookClockKeywordCheckParam
* @return
*/
PageBean
getKeywordBookClockList4HasSelected
(
BookClockKeywordCheckParam
bookClockKeywordCheckParam
);
/**
* 取消关联
* @param cancelSelectedParam
*/
void
cancelSelected
(
CancelSelectedParam
cancelSelectedParam
);
}
pcloud-service-book/src/main/java/com/pcloud/book/clock/biz/impl/BookClockBizImpl.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
biz
.
impl
;
import
com.google.common.collect.Lists
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.clock.biz.BookClockBiz
;
import
com.pcloud.book.clock.check.BookClockCheck
;
import
com.pcloud.book.clock.dao.BookClockInfoDao
;
import
com.pcloud.book.clock.dao.BookClockKeywordDao
;
import
com.pcloud.book.clock.dao.BookGroupClockDao
;
import
com.pcloud.book.clock.dto.BookClockInfoDTO
;
import
com.pcloud.book.clock.dto.BookClockKeywordDTO
;
import
com.pcloud.book.clock.dto.BookClockListDTO
;
import
com.pcloud.book.clock.dto.BookGroupClockDTO
;
import
com.pcloud.book.clock.entity.BookClockInfo
;
import
com.pcloud.book.clock.entity.BookClockKeyword
;
import
com.pcloud.book.clock.entity.BookGroupClock
;
import
com.pcloud.book.clock.enums.OriginTypeEnum
;
import
com.pcloud.book.clock.enums.UpdateTypeEnum
;
import
com.pcloud.book.clock.set.BookGroupClockSet
;
import
com.pcloud.book.clock.vo.response.ListBookGroupClockResponseVO
;
import
com.pcloud.book.consumer.app.AppConsr
;
import
com.pcloud.book.consumer.resource.ProductConsr
;
import
com.pcloud.book.consumer.wechatgroup.WechatGroupConsr
;
import
com.pcloud.book.group.dao.BookGroupClassifyDao
;
import
com.pcloud.book.group.dao.BookGroupDao
;
import
com.pcloud.book.group.dao.GroupQrcodeDao
;
import
com.pcloud.book.group.dto.BookGroupDTO
;
import
com.pcloud.book.group.dto.ClassifyDTO
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.page.PageBean
;
import
com.pcloud.common.page.PageParam
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.string.StringUtil
;
import
com.pcloud.facade.quartz.service.ScheduleService
;
import
com.sdk.wxgroup.SendTextMessageVO
;
import
com.sdk.wxgroup.WxGroupSDK
;
import
org.apache.commons.collections.CollectionUtils
;
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.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* @Author: hzk
* @Date: 2019/5/24 14:50
* @Version 1.0
*/
@Component
(
"bookClockBiz"
)
public
class
BookClockBizImpl
implements
BookClockBiz
{
@Autowired
private
BookClockCheck
bookClockCheck
;
@Autowired
private
BookGroupClockSet
bookGroupClockSet
;
@Autowired
private
BookGroupClockDao
bookGroupClockDao
;
@Autowired
private
BookClockInfoDao
bookClockInfoDao
;
@Autowired
private
BookClockKeywordDao
bookClockKeywordDao
;
@Autowired
private
AppConsr
appConsr
;
@Autowired
private
ProductConsr
productConsr
;
@Autowired
private
BookGroupDao
bookGroupDao
;
@Autowired
private
BookGroupClassifyDao
bookGroupClassifyDao
;
@Autowired
private
GroupQrcodeDao
groupQrcodeDao
;
@Autowired
private
WechatGroupConsr
wechatGroupConsr
;
@Autowired
private
ScheduleService
scheduleService
;
/**
* 关联作品/应用及微信群
* @param bookClockInfo
*/
@Override
@ParamLog
(
"关联作品/应用及微信群"
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Long
createBookGroupClock
(
BookClockInfo
bookClockInfo
)
throws
BizException
{
Long
originId
=
bookClockInfo
.
getOriginId
();
String
originType
=
bookClockInfo
.
getOriginType
();
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"originId"
,
originId
);
paramMap
.
put
(
"originType"
,
originType
);
bookClockCheck
.
checkParam4CreateBookGroupClock
(
bookClockInfo
);
//校验作品/应用是否创建过
paramMap
.
put
(
"adviserId"
,
bookClockInfo
.
getCreateUser
());
BookClockInfoDTO
bookClockInfoDTO
=
bookClockInfoDao
.
getBaseInfoByMap
(
paramMap
);
if
(
null
!=
bookClockInfoDTO
){
throw
new
BookBizException
(
BookBizException
.
ERROR
,
"该作品/应用不可重复创建!"
);
}
if
(
null
==
bookClockInfo
.
getIsNotice
()){
bookClockInfo
.
setIsNotice
(
false
);
}
List
<
Long
>
bookGroupIdList
=
bookClockInfo
.
getBookGroupIdList
();
List
<
Long
>
classifyIdList
=
bookClockInfo
.
getClassifyIdList
();
//存储微信群打卡基本信息
bookClockInfoDao
.
insert
(
bookClockInfo
);
Long
bookClockInfoId
=
bookClockInfo
.
getBookClockInfoId
();
//存储关键词
List
<
BookClockKeyword
>
bookClockKeywordList
=
bookClockInfo
.
getBookClockKeywordList
();
bookClockCheck
.
checkBookClockKeyword
(
bookClockKeywordList
,
bookClockInfo
.
getCreateUser
(),
bookGroupIdList
,
classifyIdList
);
//获取该作品/应用关键词最大排序值
Long
maxSequence4Keyword
=
bookClockKeywordDao
.
getMaxSequence4Keyword
(
bookClockInfoId
);
maxSequence4Keyword
=
null
==
maxSequence4Keyword
?
0L
:
maxSequence4Keyword
;
bookGroupClockSet
.
setData4BookClockKeyword
(
bookClockInfoId
,
bookClockInfo
.
getCreateUser
(),
maxSequence4Keyword
,
bookClockKeywordList
);
bookClockKeywordDao
.
batchInsert
(
bookClockKeywordList
);
//关联社群书
List
<
Long
>
classifyIdsUnderBookGroup
=
new
ArrayList
<>();
List
<
BookGroupClock
>
bookGroupClockList
=
new
ArrayList
<>();
if
(!
ListUtils
.
isEmpty
(
bookGroupIdList
)){
List
<
BookGroupClock
>
list4BookGroupIds
=
bookGroupClockSet
.
setData4BookGroupClock
(
bookClockInfo
,
true
,
bookGroupIdList
);
bookGroupClockList
.
addAll
(
list4BookGroupIds
);
//获取社群书下面的所有分类
classifyIdsUnderBookGroup
=
bookGroupClassifyDao
.
getIdByBookGroupIds
(
bookGroupIdList
);
}
//关联分类
if
(!
ListUtils
.
isEmpty
(
classifyIdList
)){
//过滤上面已选取的书下面的分类
if
(!
ListUtils
.
isEmpty
(
classifyIdsUnderBookGroup
)){
classifyIdList
.
removeAll
(
classifyIdsUnderBookGroup
);
}
List
<
BookGroupClock
>
list4ClassifyIds
=
bookGroupClockSet
.
setData4BookGroupClock
(
bookClockInfo
,
false
,
classifyIdList
);
bookGroupClockList
.
addAll
(
list4ClassifyIds
);
}
//存储关联关系
if
(!
ListUtils
.
isEmpty
(
bookGroupClockList
)){
bookGroupClockDao
.
batchInsert
(
bookGroupClockList
);
}
//删除上面关联的书下的分类
if
(!
ListUtils
.
isEmpty
(
classifyIdsUnderBookGroup
)){
paramMap
.
put
(
"classifyIds"
,
classifyIdsUnderBookGroup
);
bookGroupClockDao
.
deleteClassifyIdByBookGroupIds
(
paramMap
);
}
if
(
bookClockInfo
.
getIsNotice
()){
bookGroupClockSet
.
createCronQuartz
(
bookClockInfo
);
}
return
bookClockInfoId
;
}
/**
* 修改关联关系
* @param bookClockInfo
* @throws BizException
*/
@Override
@ParamLog
(
"修改关联关系"
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
updateBookGroupClock
(
BookClockInfo
bookClockInfo
)
throws
BizException
{
Long
bookClockInfoId
=
bookClockInfo
.
getBookClockInfoId
();
BookClockInfoDTO
bookClockInfoDTO
=
bookClockInfoDao
.
getBaseInfoById
(
bookClockInfoId
);
Long
originId
=
bookClockInfoDTO
.
getOriginId
();
String
originType
=
bookClockInfoDTO
.
getOriginType
();
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"bookClockInfoId"
,
bookClockInfoId
);
String
updateType
=
bookClockInfo
.
getUpdateType
();
if
(
UpdateTypeEnum
.
APP
.
value
.
equalsIgnoreCase
(
updateType
)){
//修改作品/应用
BookClockInfo
newBookClockInfo
=
bookClockCheck
.
checkOriginIdAndOriginType
(
bookClockInfo
);
Long
newOriginId
=
newBookClockInfo
.
getOriginId
();
String
newOriginType
=
newBookClockInfo
.
getOriginType
();
String
originTitle
=
newBookClockInfo
.
getOriginTitle
();
String
originImg
=
newBookClockInfo
.
getOriginImg
();
String
uniqueNumber
=
newBookClockInfo
.
getUniqueNumber
();
paramMap
.
put
(
"newOriginId"
,
newOriginId
);
paramMap
.
put
(
"newOriginType"
,
newOriginType
);
paramMap
.
put
(
"originTitle"
,
originTitle
);
paramMap
.
put
(
"originImg"
,
originImg
);
paramMap
.
put
(
"uniqueNumber"
,
uniqueNumber
);
bookClockInfoDao
.
updateBaseInfo4AppType
(
paramMap
);
}
else
if
(
UpdateTypeEnum
.
BOOK_GROUP
.
value
.
equalsIgnoreCase
(
updateType
)){
//修改关联的社群码
List
<
BookGroupClock
>
bookGroupClockList
=
new
ArrayList
<>();
List
<
Long
>
bookGroupIdList
=
bookClockInfo
.
getBookGroupIdList
();
List
<
Long
>
classifyIdList
=
bookClockInfo
.
getClassifyIdList
();
List
<
Long
>
classifyIdsUnderBookGroup
=
new
ArrayList
<>();
if
(
ListUtils
.
isEmpty
(
bookGroupIdList
)
&&
ListUtils
.
isEmpty
(
classifyIdList
)){
throw
new
BookBizException
(
BookBizException
.
ERROR
,
"参数有误!"
);
}
//修改社群书
if
(!
ListUtils
.
isEmpty
(
bookGroupIdList
)){
//删除关联的旧的社群书
bookGroupClockDao
.
deleteBookGroupId4AppType
(
paramMap
);
List
<
BookGroupClock
>
list4BookGroupIds
=
bookGroupClockSet
.
setData4BookGroupClock
(
bookClockInfo
,
true
,
bookGroupIdList
);
bookGroupClockList
.
addAll
(
list4BookGroupIds
);
//获取社群书下面的所有分类
classifyIdsUnderBookGroup
=
bookGroupClassifyDao
.
getIdByBookGroupIds
(
bookGroupIdList
);
}
//修改关联的分类
if
(!
ListUtils
.
isEmpty
(
classifyIdList
)){
bookGroupClockDao
.
deleteClassifyId4AppType
(
paramMap
);
if
(!
ListUtils
.
isEmpty
(
classifyIdsUnderBookGroup
)){
classifyIdList
.
removeAll
(
classifyIdsUnderBookGroup
);
}
List
<
BookGroupClock
>
list4ClassifyIds
=
bookGroupClockSet
.
setData4BookGroupClock
(
bookClockInfo
,
false
,
classifyIdList
);
bookGroupClockList
.
addAll
(
list4ClassifyIds
);
}
//存储关联关系
if
(!
ListUtils
.
isEmpty
(
bookGroupClockList
)){
bookGroupClockDao
.
batchInsert
(
bookGroupClockList
);
}
}
else
if
(
UpdateTypeEnum
.
KEYWORD
.
value
.
equalsIgnoreCase
(
updateType
)){
//修改关键词
List
<
BookClockKeyword
>
bookClockKeywordList
=
bookClockInfo
.
getBookClockKeywordList
();
//删除旧的关键词
bookClockKeywordDao
.
deleteBookClockKeyword
(
paramMap
);
bookClockCheck
.
checkBookClockKeyword
(
bookClockKeywordList
,
bookClockInfo
.
getCreateUser
(),
bookClockInfo
.
getBookGroupIdList
(),
bookClockInfo
.
getClassifyIdList
());
bookGroupClockSet
.
setData4BookClockKeyword
(
bookClockInfoId
,
bookClockInfoDTO
.
getCreateUser
(),
0L
,
bookClockKeywordList
);
bookClockKeywordDao
.
batchInsert
(
bookClockKeywordList
);
//修改消息提醒
if
(
null
!=
bookClockInfo
.
getIsNotice
()
&&
bookClockInfo
.
getIsNotice
()){
if
(
StringUtil
.
isEmpty
(
bookClockInfo
.
getNoticeTime
())
||
StringUtil
.
isEmpty
(
bookClockInfo
.
getNoticeContent
())){
throw
new
BookBizException
(
BookBizException
.
ERROR
,
"修改参数有误!"
);
}
}
try
{
scheduleService
.
deleteJob
(
"clockMsgConfig_"
+
bookClockInfoId
,
"book"
);
}
catch
(
Exception
e
){
throw
new
BookBizException
(
BookBizException
.
ERROR
,
"删除定时任务失败!"
);
}
if
(
null
!=
bookClockInfo
.
getIsNotice
()
&&
bookClockInfo
.
getIsNotice
()){
bookGroupClockSet
.
createCronQuartz
(
bookClockInfo
);
}
paramMap
.
put
(
"isNotice"
,
bookClockInfo
.
getIsNotice
());
paramMap
.
put
(
"noticeTime"
,
bookClockInfo
.
getNoticeTime
());
paramMap
.
put
(
"noticeContent"
,
bookClockInfo
.
getNoticeContent
());
bookClockInfoDao
.
updateBaseInfo4KeywordType
(
paramMap
);
}
else
{
throw
new
BookBizException
(
BookBizException
.
ERROR
,
"修改参数有误!"
);
}
}
/**
* 获取关联的基本信息
* @param bookClockInfoId
* @return
*/
@Override
public
BookClockInfoDTO
getBookGroupClockBaseInfo
(
Long
bookClockInfoId
)
{
BookClockInfoDTO
bookClockInfoDTO
=
bookClockInfoDao
.
getBookGroupClockBaseInfo
(
bookClockInfoId
);
if
(
null
==
bookClockInfoDTO
){
return
null
;
}
//获取作品/应用关联的书及分类
BookClockInfoDTO
groupAndClassifyListByOrigin
=
bookGroupClockSet
.
getGroupAndClassifyListByInfoIds
(
Lists
.
newArrayList
(
bookClockInfoId
));
bookClockInfoDTO
.
setBookGroupIdList
(
groupAndClassifyListByOrigin
.
getBookGroupIdList
());
bookClockInfoDTO
.
setBookGroupDTOList
(
groupAndClassifyListByOrigin
.
getBookGroupDTOList
());
bookClockInfoDTO
.
setClassifyIdList
(
groupAndClassifyListByOrigin
.
getClassifyIdList
());
bookClockInfoDTO
.
setClassifyDTOList
(
groupAndClassifyListByOrigin
.
getClassifyDTOList
());
//关联的关键词
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"bookClockInfoId"
,
bookClockInfoId
);
List
<
BookClockKeywordDTO
>
bookClockKeywordDTOS
=
bookClockKeywordDao
.
getKeywordsByInfoId
(
paramMap
);
bookClockInfoDTO
.
setBookClockKeywordDTOList
(
bookClockKeywordDTOS
);
return
bookClockInfoDTO
;
}
/**
* 获取该编辑已选的超级作者作品及应用
* @param adviserId
* @return
*/
@Override
public
Map
<
String
,
List
<
Long
>>
getAdviserHasSelected
(
Long
adviserId
)
{
Map
<
String
,
List
<
Long
>>
result
=
new
HashMap
<>();
List
<
BookClockInfoDTO
>
bookClockInfoDTOList
=
bookClockInfoDao
.
getOriginIdAndTypeByAdviserId
(
adviserId
);
if
(!
ListUtils
.
isEmpty
(
bookClockInfoDTOList
))
{
List
<
Long
>
appIds
=
bookClockInfoDTOList
.
stream
().
filter
(
bookClockInfoDTO
->
OriginTypeEnum
.
APP
.
value
.
equalsIgnoreCase
(
bookClockInfoDTO
.
getOriginType
())).
map
(
BookClockInfoDTO:
:
getOriginId
).
collect
(
Collectors
.
toList
());
result
.
put
(
OriginTypeEnum
.
APP
.
value
,
ListUtils
.
isEmpty
(
appIds
)
?
Lists
.
newArrayList
()
:
appIds
);
List
<
Long
>
proIds
=
bookClockInfoDTOList
.
stream
().
filter
(
bookClockInfoDTO
->
OriginTypeEnum
.
PRODUCT
.
value
.
equalsIgnoreCase
(
bookClockInfoDTO
.
getOriginType
())).
map
(
BookClockInfoDTO:
:
getOriginId
).
collect
(
Collectors
.
toList
());
result
.
put
(
OriginTypeEnum
.
PRODUCT
.
value
,
ListUtils
.
isEmpty
(
proIds
)
?
Lists
.
newArrayList
()
:
proIds
);
}
return
result
;
}
@Override
public
PageBean
listBookGroupClock
(
PageParam
pageParam
,
Map
<
String
,
Object
>
paramMap
)
{
//获取群打卡的列表
PageBean
pageBean
=
bookClockInfoDao
.
listBookGroupClock
(
pageParam
,
paramMap
);
List
<
Object
>
dtos
=
pageBean
.
getRecordList
();
if
(
ListUtils
.
isEmpty
(
dtos
)){
return
new
PageBean
();
}
dtos
=
dtos
.
stream
().
map
(
o
->
{
BookClockListDTO
dto
=
(
BookClockListDTO
)
o
;
ListBookGroupClockResponseVO
vo
=
ListBookGroupClockResponseVO
.
valueFromBookClockInfoDTO
(
dto
);
//社群书id
List
<
Long
>
groupIds
=
dto
.
getBookGroupIdList
();
List
<
Long
>
groupClassifyIds
=
new
ArrayList
<>();
//TODO 根据社群书ids获取所有的群分类id
if
(!
CollectionUtils
.
isEmpty
(
groupIds
)){
groupClassifyIds
=
bookGroupClassifyDao
.
getIdByBookGroupIds
(
groupIds
);
}
//群分类id
List
<
Long
>
classifyIds
=
dto
.
getClassifyIdList
();
classifyIds
.
addAll
(
groupClassifyIds
);
vo
.
setClassifyCount
(
classifyIds
.
size
());
//TODO 获取二维码总数
Integer
qrcodeCount
=
0
;
if
(!
CollectionUtils
.
isEmpty
(
classifyIds
)){
qrcodeCount
=
groupQrcodeDao
.
countByClassifyIds
(
classifyIds
);
}
vo
.
setBookGroupQrcodeNum
(
qrcodeCount
);
return
vo
;
}).
collect
(
Collectors
.
toList
());
pageBean
.
setRecordList
(
dtos
);
return
pageBean
;
}
/**
* 发送微信群打卡群发消息
* @param map
*/
@Override
@ParamLog
(
"发送微信群打卡群发消息"
)
public
void
sendBookClockGroupMessage
(
Map
<
String
,
Object
>
map
)
{
Long
bookClockInfoId
=
((
Integer
)
map
.
get
(
"bookClockInfoId"
)).
longValue
();
//获取关键词基本信息
BookClockInfoDTO
bookClockInfoDTO
=
bookClockInfoDao
.
getBaseInfoById
(
bookClockInfoId
);
if
(
null
!=
bookClockInfoDTO
&&
bookClockInfoDTO
.
getIsNotice
()){
//获取关联的群
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"bookClockInfoId"
,
bookClockInfoId
);
List
<
BookGroupClockDTO
>
bookGroupClockDTOS
=
bookGroupClockDao
.
getBookGroupClockIds
(
paramMap
);
List
<
Long
>
allClassifyIds
=
new
ArrayList
<>();
if
(!
ListUtils
.
isEmpty
(
bookGroupClockDTOS
)){
List
<
Long
>
bookGroupIds
=
bookGroupClockDTOS
.
stream
().
filter
(
bookGroupClockDTO
->
0
==
bookGroupClockDTO
.
getClassifyId
()).
map
(
BookGroupClockDTO:
:
getBookGroupId
).
collect
(
Collectors
.
toList
());
if
(!
ListUtils
.
isEmpty
(
bookGroupIds
)){
List
<
Long
>
classifyIdsUnderBookGroup
=
bookGroupClassifyDao
.
getIdByBookGroupIds
(
bookGroupIds
);
if
(!
ListUtils
.
isEmpty
(
classifyIdsUnderBookGroup
)){
allClassifyIds
.
addAll
(
classifyIdsUnderBookGroup
);
}
}
List
<
Long
>
classifyIds
=
bookGroupClockDTOS
.
stream
().
filter
(
bookGroupClockDTO
->
0
==
bookGroupClockDTO
.
getBookGroupId
()).
map
(
BookGroupClockDTO:
:
getClassifyId
).
collect
(
Collectors
.
toList
());
if
(!
ListUtils
.
isEmpty
(
classifyIds
)){
allClassifyIds
.
addAll
(
classifyIds
);
}
if
(!
ListUtils
.
isEmpty
(
allClassifyIds
)){
//获取所有的微信群ID
List
<
String
>
weixinGroupIds
=
groupQrcodeDao
.
getWeixinGroupIdsByClassifyIdList
(
allClassifyIds
);
if
(!
ListUtils
.
isEmpty
(
weixinGroupIds
)){
for
(
String
weixinGroupId:
weixinGroupIds
)
{
//获取机器人微信号
String
altId
=
wechatGroupConsr
.
getRobotIdByGroupId
(
weixinGroupId
);
SendTextMessageVO
sendTextMessageVO
=
new
SendTextMessageVO
();
sendTextMessageVO
.
setGroupId
(
weixinGroupId
);
sendTextMessageVO
.
setAltId
(
altId
);
sendTextMessageVO
.
setContent
(
bookClockInfoDTO
.
getNoticeContent
());
WxGroupSDK
.
sendTextMessage
(
sendTextMessageVO
);
}
}
}
}
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/clock/biz/impl/BookClockKeywordBizImpl.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
biz
.
impl
;
import
com.google.common.collect.Lists
;
import
com.pcloud.appcenter.app.dto.AppDto
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.clock.biz.BookClockKeywordBiz
;
import
com.pcloud.book.clock.dao.BookClockInfoDao
;
import
com.pcloud.book.clock.dao.BookClockKeywordDao
;
import
com.pcloud.book.clock.dao.BookGroupClockDao
;
import
com.pcloud.book.clock.dto.*
;
import
com.pcloud.book.clock.eneity.BookClockKeywordCheckParam
;
import
com.pcloud.book.clock.eneity.CancelSelectedParam
;
import
com.pcloud.book.clock.enums.OriginTypeEnum
;
import
com.pcloud.book.clock.set.BookGroupClockSet
;
import
com.pcloud.book.consumer.app.AppConsr
;
import
com.pcloud.book.consumer.reader.ReaderConsr
;
import
com.pcloud.book.consumer.resource.ProductConsr
;
import
com.pcloud.book.consumer.wechatgroup.WechatGroupConsr
;
import
com.pcloud.book.group.biz.BookGroupClassifyBiz
;
import
com.pcloud.book.group.biz.impl.BookGroupClassifyBizImpl
;
import
com.pcloud.book.group.dao.BookGroupClassifyDao
;
import
com.pcloud.book.group.dao.BookGroupDao
;
import
com.pcloud.book.group.dto.BookGroupDTO
;
import
com.pcloud.book.group.dto.ClassifyDTO
;
import
com.pcloud.book.mq.producer.BookMQProducer
;
import
com.pcloud.book.util.common.CommonUtils
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.page.PageBean
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.resourcecenter.product.dto.ProductDto
;
import
org.apache.commons.collections4.SetUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
* @Author: hzk
* @Date: 2019/5/24 14:50
* @Version 1.0
*/
@Component
(
"bookClockKeywordBiz"
)
public
class
BookClockKeywordBizImpl
implements
BookClockKeywordBiz
{
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
BookClockKeywordBizImpl
.
class
);
@Autowired
private
BookClockKeywordDao
bookClockKeywordDao
;
@Autowired
private
BookGroupClockDao
bookGroupClockDao
;
@Autowired
private
BookGroupDao
bookGroupDao
;
@Autowired
private
BookGroupClassifyDao
bookGroupClassifyDao
;
@Autowired
private
BookGroupClockSet
bookGroupClockSet
;
@Autowired
private
BookGroupClassifyBiz
bookGroupClassifyBiz
;
@Autowired
private
BookClockInfoDao
bookClockInfoDao
;
@Autowired
private
BookMQProducer
bookMQProducer
;
@Autowired
private
AppConsr
appConsr
;
@Autowired
private
ProductConsr
productConsr
;
@Autowired
private
WechatGroupConsr
wechatGroupConsr
;
@Autowired
private
ReaderConsr
readerConsr
;
/**
* 获取该关键词已关联的书及分类
* @param bookClockKeywordCheckParam
* @return
*/
@Override
@ParamLog
(
"获取该关键词已关联的书及分类"
)
public
BookClockKeywordDTO
getKeywordBookClockList
(
BookClockKeywordCheckParam
bookClockKeywordCheckParam
)
{
Long
adviserId
=
bookClockKeywordCheckParam
.
getAdviserId
();
String
keyword
=
bookClockKeywordCheckParam
.
getKeyword
();
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"adviserId"
,
adviserId
);
paramMap
.
put
(
"keyword"
,
keyword
);
List
<
Long
>
bookClockInfoIdList
=
bookClockKeywordDao
.
getInfoIdByKeyword
(
paramMap
);
if
(
ListUtils
.
isEmpty
(
bookClockInfoIdList
)){
return
new
BookClockKeywordDTO
();
}
Long
bookClockInfoId
=
bookClockKeywordCheckParam
.
getBookClockInfoId
();
if
(
null
!=
bookClockInfoId
){
bookClockInfoIdList
.
remove
(
bookClockInfoId
);
}
if
(
ListUtils
.
isEmpty
(
bookClockInfoIdList
)){
return
new
BookClockKeywordDTO
();
}
//关联的社群码
BookClockKeywordDTO
bookClockKeywordDTO
=
new
BookClockKeywordDTO
();
BookClockInfoDTO
bookClockInfoDTO
=
bookGroupClockSet
.
getGroupAndClassifyListByInfoIds
(
bookClockInfoIdList
);
if
(
null
==
bookClockInfoDTO
){
return
bookClockKeywordDTO
;
}
//判断关键词对应的书及分类与选取的书及分类有无重复
Set
<
Long
>
bookGroupIdSet
=
new
HashSet
<>();
Set
<
Long
>
classifyIdSet
=
new
HashSet
<>();
List
<
Long
>
oldBookGroupIdList
=
bookClockInfoDTO
.
getBookGroupIdList
();
List
<
Long
>
oldClassifyIdList
=
bookClockInfoDTO
.
getClassifyIdList
();
List
<
Long
>
newBookGroupIdList
=
bookClockKeywordCheckParam
.
getBookGroupIdList
();
List
<
Long
>
newClassifyIdList
=
bookClockKeywordCheckParam
.
getClassifyIdList
();
//校验书,分类有无重复
List
<
Long
>
sameBookGroupIds
=
CommonUtils
.
getSameEle
(
oldBookGroupIdList
,
newBookGroupIdList
);
if
(!
ListUtils
.
isEmpty
(
sameBookGroupIds
)){
bookGroupIdSet
.
addAll
(
sameBookGroupIds
);
}
List
<
Long
>
sameClassifyIds
=
CommonUtils
.
getSameEle
(
oldClassifyIdList
,
newClassifyIdList
);
if
(!
ListUtils
.
isEmpty
(
sameClassifyIds
)){
classifyIdSet
.
addAll
(
sameClassifyIds
);
}
//校验旧书与新分类有无重复
List
<
Long
>
bookGroupIdContainClassify
=
bookGroupClockSet
.
getSameClassifyUnderBookGroup
(
oldBookGroupIdList
,
newClassifyIdList
,
true
);
if
(!
ListUtils
.
isEmpty
(
bookGroupIdContainClassify
)){
bookGroupIdSet
.
addAll
(
bookGroupIdContainClassify
);
}
//校验新书与旧分类
List
<
Long
>
sameClassifyUnderBookGroup
=
bookGroupClockSet
.
getSameClassifyUnderBookGroup
(
newBookGroupIdList
,
oldClassifyIdList
,
false
);
if
(!
ListUtils
.
isEmpty
(
sameClassifyUnderBookGroup
)){
classifyIdSet
.
addAll
(
sameClassifyUnderBookGroup
);
}
List
<
Long
>
bookGroupIdList
=
new
ArrayList
<>();
bookGroupIdList
.
addAll
(
bookGroupIdSet
);
List
<
Long
>
classifyIdList
=
new
ArrayList
<>();
classifyIdList
.
addAll
(
classifyIdSet
);
if
(!
ListUtils
.
isEmpty
(
bookGroupIdList
)){
List
<
BookGroupDTO
>
bookGroupDTOS
=
bookGroupDao
.
getBookBaseInfoByIds
(
bookGroupIdList
);
bookClockKeywordDTO
.
setBookGroupDTOList
(
bookGroupDTOS
);
}
if
(!
ListUtils
.
isEmpty
(
classifyIdList
)){
List
<
ClassifyDTO
>
classifyDTOS
=
bookGroupClassifyDao
.
getNameWithBookNameByIds
(
classifyIdList
);
bookClockKeywordDTO
.
setClassifyDTOList
(
classifyDTOS
);
}
return
bookClockKeywordDTO
;
}
/**
* 发送关键词信息
* @param bookClockInfoDTO
* @param userWxId
* @return
*/
@Override
@ParamLog
(
"为微信群打卡关键词,发送关键词信息"
)
public
Boolean
sendKeywordMessage
(
BookClockInfoDTO
bookClockInfoDTO
,
String
userWxId
,
String
wechatGroupId
)
{
//发送TOPIC进行相关操作
Long
originId
=
bookClockInfoDTO
.
getOriginId
();
String
originType
=
bookClockInfoDTO
.
getOriginType
();
PushBookClockKeywordDTO
pushBookClockKeywordDTO
=
new
PushBookClockKeywordDTO
();
pushBookClockKeywordDTO
.
setOriginId
(
bookClockInfoDTO
.
getOriginId
());
pushBookClockKeywordDTO
.
setOriginType
(
bookClockInfoDTO
.
getOriginType
());
pushBookClockKeywordDTO
.
setUserWxId
(
userWxId
);
pushBookClockKeywordDTO
.
setOperation
(
bookClockInfoDTO
.
getOperation
());
pushBookClockKeywordDTO
.
setChannelId
(
bookClockInfoDTO
.
getChannelId
());
pushBookClockKeywordDTO
.
setWechatGroupId
(
wechatGroupId
);
pushBookClockKeywordDTO
.
setGroupQrcodeId
(
bookClockInfoDTO
.
getGroupQrcodeId
());
pushBookClockKeywordDTO
.
setBookGroupId
(
bookClockInfoDTO
.
getBookGroupId
());
pushBookClockKeywordDTO
.
setClassifyId
(
bookClockInfoDTO
.
getClassifyId
());
pushBookClockKeywordDTO
.
setAdviserId
(
bookClockInfoDTO
.
getCreateUser
());
pushBookClockKeywordDTO
.
setBookClockInfoId
(
bookClockInfoDTO
.
getBookClockInfoId
());
String
robotId
=
wechatGroupConsr
.
getRobotIdByGroupId
(
wechatGroupId
);
Long
wechatUserId
=
readerConsr
.
getWechatUserId
(
userWxId
,
bookClockInfoDTO
.
getChannelId
());
pushBookClockKeywordDTO
.
setWechatUserId
(
wechatUserId
);
pushBookClockKeywordDTO
.
setRobotId
(
robotId
);
if
(
OriginTypeEnum
.
APP
.
value
.
equalsIgnoreCase
(
originType
)){
AppDto
appDto
=
appConsr
.
getBaseById
(
originId
);
if
(
null
==
appDto
){
throw
new
BookBizException
(
BookBizException
.
ERROR
,
"该应用不存在!"
);
}
pushBookClockKeywordDTO
.
setTypeCode
(
appDto
.
getTypeCode
());
}
if
(
OriginTypeEnum
.
PRODUCT
.
value
.
equalsIgnoreCase
(
originType
)){
ProductDto
productDto
=
productConsr
.
getProBaseById
(
originId
);
if
(
null
==
productDto
){
throw
new
BookBizException
(
BookBizException
.
ERROR
,
"该作品不存在!"
);
}
pushBookClockKeywordDTO
.
setTypeCode
(
productDto
.
getProductTypeDto
().
getTypeCode
());
}
LOGGER
.
info
(
"为微信群打卡关键词,发送关键词信息TOPIC,pushBookClockKeywordDTO="
+
pushBookClockKeywordDTO
);
bookMQProducer
.
pushBookClockKeyword
(
pushBookClockKeywordDTO
);
return
true
;
}
/**
* 获取微信群某一动作动作关键词
* @param bookClockInfoId
* @param operation
* @return
*/
@Override
public
BookGroupClockKeywordDTO
getBookClockKeyword4Clock
(
Long
bookClockInfoId
,
String
operation
)
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"bookClockInfoId"
,
bookClockInfoId
);
paramMap
.
put
(
"operation"
,
operation
);
return
bookClockKeywordDao
.
getBookClockKeyword4Clock
(
paramMap
);
}
/**
* 获取重复的书及分类
* @param bookClockKeywordCheckParam
* @return
*/
@Override
@ParamLog
(
"获取该关键词已关联的书及分类(分页)"
)
public
PageBean
getKeywordBookClockList4HasSelected
(
BookClockKeywordCheckParam
bookClockKeywordCheckParam
)
{
Integer
currentPage
=
bookClockKeywordCheckParam
.
getCurrentPage
();
Integer
numPerPage
=
bookClockKeywordCheckParam
.
getNumPerPage
();
Long
adviserId
=
bookClockKeywordCheckParam
.
getAdviserId
();
String
keyword
=
bookClockKeywordCheckParam
.
getKeyword
();
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"adviserId"
,
adviserId
);
paramMap
.
put
(
"keyword"
,
keyword
);
List
<
Long
>
bookClockInfoIdList
=
bookClockKeywordDao
.
getInfoIdByKeyword
(
paramMap
);
if
(
ListUtils
.
isEmpty
(
bookClockInfoIdList
)){
return
new
PageBean
();
}
Boolean
isBookGroup
=
bookClockKeywordCheckParam
.
getIsBookGroup
();
List
<
Object
>
objectList
=
new
ArrayList
<>();
List
<
Long
>
bookGroupIdList
=
new
ArrayList
<>();
List
<
Long
>
classifyIdList
=
new
ArrayList
<>();
List
<
Long
>
newBookGroupIdList
=
bookClockKeywordCheckParam
.
getBookGroupIdList
();
List
<
Long
>
newClassifyIdList
=
bookClockKeywordCheckParam
.
getClassifyIdList
();
Map
<
String
,
Object
>
idMap
=
new
HashMap
<>();
for
(
Long
bookClockInfoId:
bookClockInfoIdList
)
{
idMap
.
put
(
"bookClockInfoId"
,
bookClockInfoId
);
BookClockInfoDTO
bookClockInfoDTO
=
bookClockInfoDao
.
getBaseInfoById
(
bookClockInfoId
);
//获取该作品下所有的书及分类
List
<
BookGroupClockDTO
>
bookGroupClockDTOS
=
bookGroupClockDao
.
getInfoByInfoIds
(
Lists
.
newArrayList
(
bookClockInfoId
));
if
(
ListUtils
.
isEmpty
(
bookGroupClockDTOS
)){
continue
;
}
if
(
isBookGroup
){
//与书校验(新书与旧书,新分类与旧书)
List
<
Long
>
oldBookGroupIdList
=
bookGroupClockDTOS
.
stream
().
filter
(
bookGroupClockDTO
->
0
==
bookGroupClockDTO
.
getClassifyId
()).
map
(
BookGroupClockDTO:
:
getBookGroupId
).
collect
(
Collectors
.
toList
());
List
<
Long
>
sameEle4BookGroupIds
=
CommonUtils
.
getSameEle
(
oldBookGroupIdList
,
newBookGroupIdList
);
if
(!
ListUtils
.
isEmpty
(
sameEle4BookGroupIds
)){
bookGroupIdList
.
addAll
(
sameEle4BookGroupIds
);
}
//新分类与旧书
List
<
Long
>
bookGroupId4SameClassifyList
=
bookGroupClockSet
.
getSameClassifyUnderBookGroup
(
oldBookGroupIdList
,
newClassifyIdList
,
true
);
if
(!
ListUtils
.
isEmpty
(
bookGroupId4SameClassifyList
)){
bookGroupIdList
.
addAll
(
bookGroupId4SameClassifyList
);
}
if
(!
ListUtils
.
isEmpty
(
bookGroupIdList
)){
idMap
.
put
(
"bookGroupIdList"
,
bookGroupIdList
);
List
<
BookGroupDTO
>
bookGroupDTOS
=
bookGroupDao
.
getBookInfoByIdsWithBookClockInfoId
(
idMap
);
objectList
.
addAll
(
bookGroupDTOS
);
}
}
else
{
//与分类校验(新分类与旧分类,旧分类与新书)
List
<
Long
>
oldClassifyIds
=
bookGroupClockDTOS
.
stream
().
filter
(
bookGroupClockDTO
->
0
==
bookGroupClockDTO
.
getBookGroupId
()).
map
(
BookGroupClockDTO:
:
getClassifyId
).
collect
(
Collectors
.
toList
());
List
<
Long
>
sameEle4ClassifyIds
=
CommonUtils
.
getSameEle
(
oldClassifyIds
,
newClassifyIdList
);
if
(!
ListUtils
.
isEmpty
(
sameEle4ClassifyIds
)){
classifyIdList
.
addAll
(
sameEle4ClassifyIds
);
}
//旧分类与新书
List
<
Long
>
classifyIds4SameBookGroup
=
bookGroupClockSet
.
getSameClassifyUnderBookGroup
(
newBookGroupIdList
,
oldClassifyIds
,
false
);
if
(!
ListUtils
.
isEmpty
(
classifyIds4SameBookGroup
)){
classifyIdList
.
addAll
(
classifyIds4SameBookGroup
);
}
if
(!
ListUtils
.
isEmpty
(
classifyIdList
)){
idMap
.
put
(
"classifyIdList"
,
classifyIdList
);
List
<
ClassifyDTO
>
classifyDTOS
=
bookGroupClassifyDao
.
getNameWithBookClockInfoIdByIds
(
idMap
);
objectList
.
addAll
(
classifyDTOS
);
}
}
bookGroupIdList
.
clear
();
classifyIdList
.
clear
();
}
if
(!
ListUtils
.
isEmpty
(
objectList
)){
return
new
PageBean
(
currentPage
,
numPerPage
,
objectList
.
size
(),
objectList
);
}
return
new
PageBean
();
}
/**
* 取消关联
* @param cancelSelectedParam
*/
@Override
@ParamLog
(
"取消关联"
)
public
void
cancelSelected
(
CancelSelectedParam
cancelSelectedParam
)
{
Long
bookClockInfoId
=
cancelSelectedParam
.
getBookClockInfoId
();
Long
bookGroupId
=
cancelSelectedParam
.
getBookGroupId
();
Long
classifyId
=
cancelSelectedParam
.
getClassifyId
();
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"bookClockInfoId"
,
bookClockInfoId
);
if
(
null
!=
bookGroupId
&&
0
!=
bookGroupId
){
classifyId
=
0L
;
}
else
{
bookGroupId
=
0L
;
}
paramMap
.
put
(
"bookGroupId"
,
bookGroupId
);
paramMap
.
put
(
"classifyId"
,
classifyId
);
bookGroupClockDao
.
cancelSelected
(
paramMap
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/clock/check/BookClockCheck.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
check
;
import
com.pcloud.book.clock.dto.BookClockInfoDTO
;
import
com.pcloud.book.clock.entity.BookClockInfo
;
import
com.pcloud.book.clock.entity.BookClockKeyword
;
import
com.pcloud.book.group.dto.GroupClassifyQrcodeDTO
;
import
java.util.List
;
/**
* @Author: hzk
* @Date: 2019/5/27 9:26
* @Version 1.0
*/
public
interface
BookClockCheck
{
void
checkParam4CreateBookGroupClock
(
BookClockInfo
bookClockInfo
);
/**
* 校验作品及应用
* @param bookClockInfo
* @return
*/
BookClockInfo
checkOriginIdAndOriginType
(
BookClockInfo
bookClockInfo
);
/**
* 校验关键词
* @param bookClockKeywordList
*/
void
checkBookClockKeyword
(
List
<
BookClockKeyword
>
bookClockKeywordList
,
Long
adviserId
,
List
<
Long
>
bookGroupIdList
,
List
<
Long
>
classifyIdList
);
/**
* 校验关键词是否为打卡关键词
* @param content
* @param weixinGroupId
* @return
*/
BookClockInfoDTO
checkKeywordIsClock
(
String
content
,
String
weixinGroupId
);
/**
* 校验群是否为微信群打卡的群
* @param classifyQrcodeInfo
* @return
*/
List
<
Long
>
checkGroupIsClock
(
GroupClassifyQrcodeDTO
classifyQrcodeInfo
);
}
pcloud-service-book/src/main/java/com/pcloud/book/clock/check/impl/BookClockCheckImpl.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
check
.
impl
;
import
com.pcloud.appcenter.app.dto.AppDto
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.clock.check.BookClockCheck
;
import
com.pcloud.book.clock.dao.BookClockInfoDao
;
import
com.pcloud.book.clock.dao.BookClockKeywordDao
;
import
com.pcloud.book.clock.dao.BookGroupClockDao
;
import
com.pcloud.book.clock.dto.BookClockInfoDTO
;
import
com.pcloud.book.clock.dto.BookClockKeywordDTO
;
import
com.pcloud.book.clock.dto.BookGroupClockDTO
;
import
com.pcloud.book.clock.entity.BookClockInfo
;
import
com.pcloud.book.clock.entity.BookClockKeyword
;
import
com.pcloud.book.clock.enums.OriginTypeEnum
;
import
com.pcloud.book.consumer.app.AppConsr
;
import
com.pcloud.book.consumer.resource.ProductConsr
;
import
com.pcloud.book.group.biz.BookGroupClassifyBiz
;
import
com.pcloud.book.group.dao.BookGroupClassifyDao
;
import
com.pcloud.book.group.dto.GroupClassifyQrcodeDTO
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.string.StringUtil
;
import
com.pcloud.resourcecenter.product.dto.ProDto
;
import
com.pcloud.resourcecenter.product.dto.ProductDto
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
* @Author: hzk
* @Date: 2019/5/27 9:28
* @Version 1.0
*/
@Component
(
"bookClockCheck"
)
public
class
BookClockCheckImpl
implements
BookClockCheck
{
@Autowired
private
AppConsr
appConsr
;
@Autowired
private
ProductConsr
productConsr
;
@Autowired
private
BookClockKeywordDao
bookClockKeywordDao
;
@Autowired
private
BookGroupClassifyBiz
bookGroupClassifyBiz
;
@Autowired
private
BookClockInfoDao
bookClockInfoDao
;
@Autowired
private
BookGroupClockDao
booKGroupClockDao
;
@Autowired
private
BookGroupClassifyDao
bookGroupClassifyDao
;
/**
* 关联作品/应用与社群码时参数校验
* @param bookClockInfo
*/
@Override
public
void
checkParam4CreateBookGroupClock
(
BookClockInfo
bookClockInfo
)
{
BookClockInfo
newBookClockInfo
=
checkOriginIdAndOriginType
(
bookClockInfo
);
if
(
null
==
newBookClockInfo
.
getChannelId
()){
throw
new
BookBizException
(
BookBizException
.
ERROR
,
"运营平台为空!"
);
}
List
<
Long
>
bookGroupIdList
=
newBookClockInfo
.
getBookGroupIdList
();
if
(!
ListUtils
.
isEmpty
(
bookGroupIdList
)
&&
bookGroupIdList
.
size
()
>
20
){
throw
new
BookBizException
(
BookBizException
.
ERROR
,
"关联社群码不可超过20个!"
);
}
List
<
Long
>
classifyIdList
=
newBookClockInfo
.
getClassifyIdList
();
if
(!
ListUtils
.
isEmpty
(
classifyIdList
)
&&
classifyIdList
.
size
()
>
50
){
throw
new
BookBizException
(
BookBizException
.
ERROR
,
"关联分类不可超过50个!"
);
}
if
(
null
!=
newBookClockInfo
.
getIsNotice
()
&&
newBookClockInfo
.
getIsNotice
()){
if
(
StringUtil
.
isEmpty
(
newBookClockInfo
.
getNoticeTime
())
||
StringUtil
.
isEmpty
(
newBookClockInfo
.
getNoticeContent
())){
throw
new
BookBizException
(
BookBizException
.
ERROR
,
"提醒设置参数有误!"
);
}
}
}
/**
* 校验作品及应用
* @param bookClockInfo
* @return
*/
@Override
@ParamLog
(
"校验作品及应用"
)
public
BookClockInfo
checkOriginIdAndOriginType
(
BookClockInfo
bookClockInfo
)
{
Long
originId
=
bookClockInfo
.
getOriginId
();
String
originType
=
bookClockInfo
.
getOriginType
();
if
(
OriginTypeEnum
.
APP
.
value
.
equalsIgnoreCase
(
originType
)){
AppDto
appDto
=
appConsr
.
getBaseById
(
originId
);
if
(
null
==
appDto
){
throw
new
BookBizException
(
BookBizException
.
ERROR
,
"该应用不存在!"
);
}
bookClockInfo
.
setOriginTitle
(
appDto
.
getTitle
());
bookClockInfo
.
setOriginImg
(
appDto
.
getSquareImg
());
bookClockInfo
.
setUniqueNumber
(
appDto
.
getUniqueNumber
());
}
if
(
OriginTypeEnum
.
PRODUCT
.
value
.
equalsIgnoreCase
(
originType
)){
ProDto
productDto
=
productConsr
.
getProBasesInfoById
(
originId
);
if
(
null
==
productDto
){
throw
new
BookBizException
(
BookBizException
.
ERROR
,
"该作品不存在!"
);
}
bookClockInfo
.
setOriginTitle
(
productDto
.
getProductName
());
bookClockInfo
.
setOriginImg
(
productDto
.
getCoverImg
());
bookClockInfo
.
setUniqueNumber
(
productDto
.
getUniqueNumber
());
}
return
bookClockInfo
;
}
/**
* 校验关键词
* @param bookClockKeywordList
* @param adviserId
*/
@Override
@ParamLog
(
"校验关键词"
)
public
void
checkBookClockKeyword
(
List
<
BookClockKeyword
>
bookClockKeywordList
,
Long
adviserId
,
List
<
Long
>
bookGroupIdList
,
List
<
Long
>
classifyIdList
)
{
//获取选择的分类集合
List
<
Long
>
selectedClassifyIds
=
new
ArrayList
<>();
if
(!
ListUtils
.
isEmpty
(
bookGroupIdList
)){
List
<
Long
>
classifyIdsUnderBookGroup
=
bookGroupClassifyDao
.
getIdByBookGroupIds
(
bookGroupIdList
);
if
(!
ListUtils
.
isEmpty
(
classifyIdsUnderBookGroup
)){
selectedClassifyIds
.
addAll
(
classifyIdsUnderBookGroup
);
}
}
if
(!
ListUtils
.
isEmpty
(
classifyIdList
)){
selectedClassifyIds
.
addAll
(
classifyIdList
);
}
//获取关键词对应的分类集合
List
<
Long
>
existClassifyIds
=
new
ArrayList
<>();
List
<
String
>
keyWords
=
bookClockKeywordList
.
stream
().
map
(
BookClockKeyword:
:
getKeyword
).
collect
(
Collectors
.
toList
());
if
(
ListUtils
.
isEmpty
(
keyWords
)){
throw
new
BookBizException
(
BookBizException
.
ERROR
,
"关键词为空!"
);
}
Map
<
String
,
Object
>
keywordMap
=
new
HashMap
<>();
keywordMap
.
put
(
"adviserId"
,
adviserId
);
keywordMap
.
put
(
"keyWords"
,
keyWords
);
List
<
Long
>
bookClockInfoIds
=
bookClockKeywordDao
.
checkKeywordHasExist
(
keywordMap
);
if
(!
ListUtils
.
isEmpty
(
bookClockInfoIds
)){
List
<
BookGroupClockDTO
>
bookGroupClockDTOS
=
booKGroupClockDao
.
getInfoByInfoIds
(
bookClockInfoIds
);
if
(!
ListUtils
.
isEmpty
(
bookGroupClockDTOS
)){
//获取所有的分类集合
List
<
Long
>
bookGroupIds
=
bookGroupClockDTOS
.
stream
().
filter
(
bookGroupClockDTO
->
0
==
bookGroupClockDTO
.
getClassifyId
()).
map
(
BookGroupClockDTO:
:
getBookGroupId
).
collect
(
Collectors
.
toList
());
if
(!
ListUtils
.
isEmpty
(
bookGroupIds
)){
List
<
Long
>
classifyIdsUnderBookGroup
=
bookGroupClassifyDao
.
getIdByBookGroupIds
(
bookGroupIds
);
if
(!
ListUtils
.
isEmpty
(
classifyIdsUnderBookGroup
)){
existClassifyIds
.
addAll
(
classifyIdsUnderBookGroup
);
}
}
List
<
Long
>
classifyIds
=
bookGroupClockDTOS
.
stream
().
filter
(
bookGroupClockDTO
->
0
==
bookGroupClockDTO
.
getBookGroupId
()).
map
(
BookGroupClockDTO:
:
getClassifyId
).
collect
(
Collectors
.
toList
());
if
(!
ListUtils
.
isEmpty
(
classifyIds
)){
existClassifyIds
.
addAll
(
classifyIds
);
}
}
}
if
(!
ListUtils
.
isEmpty
(
selectedClassifyIds
)
&&
!
ListUtils
.
isEmpty
(
existClassifyIds
)){
if
(!
Collections
.
disjoint
(
selectedClassifyIds
,
existClassifyIds
)){
throw
new
BookBizException
(
BookBizException
.
ERROR
,
"关键词重复!"
);
}
}
}
/**
* 校验关键词是否为打卡关键词
* @param content
* @param weixinGroupId
* @return
*/
@Override
@ParamLog
(
"校验关键词是否为打卡关键词"
)
public
BookClockInfoDTO
checkKeywordIsClock
(
String
content
,
String
weixinGroupId
)
{
//简单过滤非关键词的词
if
(
StringUtil
.
isEmpty
(
content
)
||
content
.
length
()
>
10
)
{
return
null
;
}
//通过群id获取对应基本信息
GroupClassifyQrcodeDTO
classifyQrcodeInfo
=
bookGroupClassifyBiz
.
getClassifyQrcodeInfo
(
weixinGroupId
);
if
(
null
==
classifyQrcodeInfo
){
return
null
;
}
//获取该关键词对应的基本信息
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"bookGroupId"
,
classifyQrcodeInfo
.
getBookGroupId
());
paramMap
.
put
(
"classifyId"
,
classifyQrcodeInfo
.
getClassifyId
());
paramMap
.
put
(
"adviserId"
,
classifyQrcodeInfo
.
getAdviserId
());
paramMap
.
put
(
"keyword"
,
content
);
BookClockKeywordDTO
bookClockKeywordDTO
=
bookClockKeywordDao
.
getInfoIdByKeywordAndweixinGroupId
(
paramMap
);
if
(
null
==
bookClockKeywordDTO
){
return
null
;
}
BookClockInfoDTO
bookClockInfoDTO
=
bookClockInfoDao
.
getBaseInfoById
(
bookClockKeywordDTO
.
getBookClockInfoId
());
bookClockInfoDTO
.
setBookGroupId
(
classifyQrcodeInfo
.
getBookGroupId
());
bookClockInfoDTO
.
setGroupQrcodeId
(
classifyQrcodeInfo
.
getGroupQrcodeId
());
bookClockInfoDTO
.
setClassifyId
(
classifyQrcodeInfo
.
getClassifyId
());
bookClockInfoDTO
.
setChannelId
(
bookClockKeywordDTO
.
getChannelId
());
bookClockInfoDTO
.
setOperation
(
bookClockKeywordDTO
.
getOperation
());
return
bookClockInfoDTO
;
}
/**
* 校验群是否为微信群打卡的群
* @param classifyQrcodeInfo
* @return
*/
@Override
@ParamLog
(
"校验群是否为微信群打卡的群"
)
public
List
<
Long
>
checkGroupIsClock
(
GroupClassifyQrcodeDTO
classifyQrcodeInfo
)
{
if
(
null
==
classifyQrcodeInfo
){
return
null
;
}
//获取该关键词对应的基本信息
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"bookGroupId"
,
classifyQrcodeInfo
.
getBookGroupId
());
paramMap
.
put
(
"classifyId"
,
classifyQrcodeInfo
.
getClassifyId
());
paramMap
.
put
(
"adviserId"
,
classifyQrcodeInfo
.
getAdviserId
());
return
booKGroupClockDao
.
getInfoIdByWeixinGroupId
(
paramMap
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/clock/dao/BookClockInfoDao.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
dao
;
import
com.pcloud.book.clock.dto.BookClockInfoDTO
;
import
com.pcloud.book.clock.entity.BookClockInfo
;
import
com.pcloud.common.core.dao.BaseDao
;
import
com.pcloud.common.page.PageBean
;
import
com.pcloud.common.page.PageParam
;
import
java.util.List
;
import
java.util.Map
;
/**
* @Author: hzk
* @Date: 2019/5/24 14:51
* @Version 1.0
*/
public
interface
BookClockInfoDao
extends
BaseDao
<
BookClockInfo
>
{
/**
* 获取基本信息
* @param bookClockInfoId
* @return
*/
BookClockInfoDTO
getBaseInfoById
(
Long
bookClockInfoId
);
/**
* 修改作品/应用
* @param paramMap
*/
void
updateBaseInfo4AppType
(
Map
<
String
,
Object
>
paramMap
);
/**
* 修改基本信息(修改关键词)
* @param paramMap
*/
void
updateBaseInfo4KeywordType
(
Map
<
String
,
Object
>
paramMap
);
/**
* 获取基本信息
* @param bookClockInfoId
* @return
*/
BookClockInfoDTO
getBookGroupClockBaseInfo
(
Long
bookClockInfoId
);
/**
* 获取该编辑已选的超级作者作品及应用
* @param adviserId
* @return
*/
List
<
BookClockInfoDTO
>
getOriginIdAndTypeByAdviserId
(
Long
adviserId
);
/**
* 获取该作品/应用该编辑创建的基本信息
* @param paramMap
* @return
*/
BookClockInfoDTO
getBaseInfoByMap
(
Map
<
String
,
Object
>
paramMap
);
/**
* 获取群打卡列表
* @param pageParam
* @param paramMap
* @return
*/
PageBean
listBookGroupClock
(
PageParam
pageParam
,
Map
<
String
,
Object
>
paramMap
);
/**
* 修改作品信息
* @param productId
* @param title
* @param coverImg
* @param uniqueNumber
*/
void
updateProductInfo
(
Long
productId
,
String
title
,
String
coverImg
,
String
uniqueNumber
);
/**
* 修改应用信息
* @param appId
* @param title
* @param coverImg
*/
void
updateAppInfo
(
Long
appId
,
String
title
,
String
coverImg
);
}
pcloud-service-book/src/main/java/com/pcloud/book/clock/dao/BookClockKeywordDao.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
dao
;
import
com.pcloud.book.clock.dto.BookClockKeywordDTO
;
import
com.pcloud.book.clock.dto.BookGroupClockKeywordDTO
;
import
com.pcloud.book.clock.entity.BookClockKeyword
;
import
com.pcloud.common.core.dao.BaseDao
;
import
java.util.List
;
import
java.util.Map
;
/**
* @Author: hzk
* @Date: 2019/5/27 14:19
* @Version 1.0
*/
public
interface
BookClockKeywordDao
extends
BaseDao
<
BookClockKeyword
>
{
/**
* 校验关键词有无重复
* @param paramMap
* @return
*/
List
<
Long
>
checkKeywordHasExist
(
Map
<
String
,
Object
>
paramMap
);
/**
* 获取该作品/应用操作最大排序值
* @param bookClockInfoId
* @return
*/
Long
getMaxSequence4Keyword
(
Long
bookClockInfoId
);
/**
* 批量插入
*/
void
batchInsert
(
List
<
BookClockKeyword
>
bookClockKeywordList
);
/**
* 删除旧的关键词
* @param paramMap
*/
void
deleteBookClockKeyword
(
Map
<
String
,
Object
>
paramMap
);
/**
* 获取微信打卡作品/应用关键词
* @param paramMap
* @return
*/
List
<
BookClockKeywordDTO
>
getKeywordsByInfoId
(
Map
<
String
,
Object
>
paramMap
);
/**
* 获取该关键词已关联的作品
* @param paramMap
* @return
*/
List
<
Long
>
getInfoIdByKeyword
(
Map
<
String
,
Object
>
paramMap
);
/**
* 根据接收到的关键词获取对应的作品/应用ID
* @param paramMap
* @return
*/
BookClockKeywordDTO
getInfoIdByKeywordAndweixinGroupId
(
Map
<
String
,
Object
>
paramMap
);
/**
* 获取微信群打卡动作关键词
* @param paramMap
* @return
*/
BookGroupClockKeywordDTO
getBookClockKeyword4Clock
(
Map
<
String
,
Object
>
paramMap
);
}
pcloud-service-book/src/main/java/com/pcloud/book/clock/dao/BookGroupClockDao.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
dao
;
import
com.pcloud.book.clock.dto.BookGroupClockDTO
;
import
com.pcloud.book.clock.entity.BookGroupClock
;
import
com.pcloud.common.core.dao.BaseDao
;
import
java.util.List
;
import
java.util.Map
;
/**
* @Author: hzk
* @Date: 2019/5/24 14:51
* @Version 1.0
*/
public
interface
BookGroupClockDao
extends
BaseDao
<
BookGroupClock
>
{
/**
* 批量插入
* @param bookGroupClockList
*/
void
batchInsert
(
List
<
BookGroupClock
>
bookGroupClockList
);
/**
* 删除关联的社群书
* @param paramMap
*/
void
deleteBookGroupId4AppType
(
Map
<
String
,
Object
>
paramMap
);
/**
* 删除关联的社群码
* @param paramMap
*/
void
deleteClassifyId4AppType
(
Map
<
String
,
Object
>
paramMap
);
/**
* 获取关联的社群码
* @param paramMap
* @return
*/
List
<
BookGroupClockDTO
>
getBookGroupClockIds
(
Map
<
String
,
Object
>
paramMap
);
/**
* 删除该作品/应用已关联的书下面的分类
* @param paramMap
*/
void
deleteClassifyIdByBookGroupIds
(
Map
<
String
,
Object
>
paramMap
);
/**
* 校验群是否为微信群打卡的群
* @param paramMap
* @return
*/
List
<
Long
>
getInfoIdByWeixinGroupId
(
Map
<
String
,
Object
>
paramMap
);
/**
* 获取微信群打卡基本信息
* @param bookClockInfoIds
* @return
*/
List
<
BookGroupClockDTO
>
getInfoByInfoIds
(
List
<
Long
>
bookClockInfoIds
);
/**
* 取消关联
* @param paramMap
*/
void
cancelSelected
(
Map
<
String
,
Object
>
paramMap
);
}
pcloud-service-book/src/main/java/com/pcloud/book/clock/dao/impl/BookClockInfoDaoImpl.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
dao
.
impl
;
import
com.pcloud.book.clock.dao.BookClockInfoDao
;
import
com.pcloud.book.clock.dao.BookGroupClockDao
;
import
com.pcloud.book.clock.dto.BookClockInfoDTO
;
import
com.pcloud.book.clock.dto.BookClockListDTO
;
import
com.pcloud.book.clock.entity.BookClockInfo
;
import
com.pcloud.book.clock.entity.BookGroupClock
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
com.pcloud.common.page.PageBean
;
import
com.pcloud.common.page.PageParam
;
import
org.springframework.stereotype.Repository
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @Author: hzk
* @Date: 2019/5/24 14:51
* @Version 1.0
*/
@Repository
(
"bookClockInfoDao"
)
public
class
BookClockInfoDaoImpl
extends
BaseDaoImpl
<
BookClockInfo
>
implements
BookClockInfoDao
{
/**
* 获取基本信息
* @param bookClockInfoId
* @return
*/
@Override
public
BookClockInfoDTO
getBaseInfoById
(
Long
bookClockInfoId
)
{
return
super
.
sqlSessionTemplate
.
selectOne
(
getStatement
(
"getBaseInfoById"
),
bookClockInfoId
);
}
/**
* 修改作品/应用
* @param paramMap
*/
@Override
public
void
updateBaseInfo4AppType
(
Map
<
String
,
Object
>
paramMap
)
{
super
.
sqlSessionTemplate
.
update
(
getStatement
(
"updateBaseInfo4AppType"
),
paramMap
);
}
/**
* 修改基本信息(修改关键词)
* @param paramMap
*/
@Override
public
void
updateBaseInfo4KeywordType
(
Map
<
String
,
Object
>
paramMap
)
{
super
.
sqlSessionTemplate
.
update
(
getStatement
(
"updateBaseInfo4KeywordType"
),
paramMap
);
}
/**
* 获取基本信息
* @param bookClockInfoId
* @return
*/
@Override
public
BookClockInfoDTO
getBookGroupClockBaseInfo
(
Long
bookClockInfoId
)
{
return
super
.
sqlSessionTemplate
.
selectOne
(
getStatement
(
"getBookGroupClockBaseInfo"
),
bookClockInfoId
);
}
/**
* 获取该编辑已选的超级作者作品及应用
* @param adviserId
* @return
*/
@Override
public
List
<
BookClockInfoDTO
>
getOriginIdAndTypeByAdviserId
(
Long
adviserId
)
{
return
super
.
sqlSessionTemplate
.
selectList
(
getStatement
(
"getOriginIdAndTypeByAdviserId"
),
adviserId
);
}
/**
* 获取该作品/应用该编辑创建的基本信息
* @param paramMap
* @return
*/
@Override
public
BookClockInfoDTO
getBaseInfoByMap
(
Map
<
String
,
Object
>
paramMap
)
{
return
super
.
sqlSessionTemplate
.
selectOne
(
getStatement
(
"getBaseInfoByMap"
),
paramMap
);
}
@Override
public
PageBean
listBookGroupClock
(
PageParam
pageParam
,
Map
<
String
,
Object
>
paramMap
)
{
paramMap
.
put
(
"startNum"
,
pageParam
.
getNumPerPage
()
*
pageParam
.
getPageNum
());
paramMap
.
put
(
"numPerPage"
,
pageParam
.
getNumPerPage
());
List
<
BookClockListDTO
>
dtos
=
super
.
sqlSessionTemplate
.
selectList
(
"listBookGroupClock"
,
paramMap
);
Integer
totalCount
=
super
.
sqlSessionTemplate
.
selectOne
(
"countBookGroupClock"
,
paramMap
);
return
new
PageBean
(
pageParam
.
getPageNum
(),
pageParam
.
getNumPerPage
(),
totalCount
,
new
ArrayList
<>(
dtos
));
}
/**
* 修改作品信息
* @param productId
* @param title
* @param coverImg
* @param uniqueNumber
*/
@Override
public
void
updateProductInfo
(
Long
productId
,
String
title
,
String
coverImg
,
String
uniqueNumber
)
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"originId"
,
productId
);
paramMap
.
put
(
"title"
,
title
);
paramMap
.
put
(
"coverImg"
,
coverImg
);
paramMap
.
put
(
"uniqueNumber"
,
uniqueNumber
);
super
.
sqlSessionTemplate
.
update
(
getStatement
(
"updateProductInfo"
),
paramMap
);
}
/**
* 修改应用信息
* @param appId
* @param title
* @param coverImg
*/
@Override
public
void
updateAppInfo
(
Long
appId
,
String
title
,
String
coverImg
)
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"originId"
,
appId
);
paramMap
.
put
(
"title"
,
title
);
paramMap
.
put
(
"coverImg"
,
coverImg
);
super
.
sqlSessionTemplate
.
update
(
getStatement
(
"updateAppInfo"
),
paramMap
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/clock/dao/impl/BookClockKeywordDaoImpl.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
dao
.
impl
;
import
com.pcloud.book.clock.dao.BookClockKeywordDao
;
import
com.pcloud.book.clock.dto.BookClockKeywordDTO
;
import
com.pcloud.book.clock.dto.BookGroupClockKeywordDTO
;
import
com.pcloud.book.clock.entity.BookClockKeyword
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
org.springframework.stereotype.Component
;
import
java.util.List
;
import
java.util.Map
;
/**
* @Author: hzk
* @Date: 2019/5/27 14:21
* @Version 1.0
*/
@Component
(
"bookClockKeywordDao"
)
public
class
BookClockKeywordDaoImpl
extends
BaseDaoImpl
<
BookClockKeyword
>
implements
BookClockKeywordDao
{
/**
* 校验关键词有无重复
* @param paramMap
* @return
*/
@Override
public
List
<
Long
>
checkKeywordHasExist
(
Map
<
String
,
Object
>
paramMap
)
{
return
super
.
sqlSessionTemplate
.
selectList
(
getStatement
(
"checkKeywordHasExist"
),
paramMap
);
}
/**
* 获取该作品/应用操作最大排序值
* @param bookClockInfoId
* @return
*/
@Override
public
Long
getMaxSequence4Keyword
(
Long
bookClockInfoId
)
{
return
super
.
sqlSessionTemplate
.
selectOne
(
getStatement
(
"getMaxSequence4Keyword"
),
bookClockInfoId
);
}
/**
* 批量插入
*/
@Override
public
void
batchInsert
(
List
<
BookClockKeyword
>
bookClockKeywordList
)
{
super
.
sqlSessionTemplate
.
insert
(
getStatement
(
"batchInsert"
),
bookClockKeywordList
);
}
/**
* 删除旧的关键词
* @param paramMap
*/
@Override
public
void
deleteBookClockKeyword
(
Map
<
String
,
Object
>
paramMap
)
{
super
.
sqlSessionTemplate
.
delete
(
getStatement
(
"deleteBookClockKeyword"
),
paramMap
);
}
/**
* 获取微信打卡作品/应用关键词
* @param paramMap
*/
@Override
public
List
<
BookClockKeywordDTO
>
getKeywordsByInfoId
(
Map
<
String
,
Object
>
paramMap
)
{
return
super
.
sqlSessionTemplate
.
selectList
(
getStatement
(
"getKeywordsByInfoId"
),
paramMap
);
}
/**
* 获取该关键词已关联的书及分类
* @param paramMap
* @return
*/
@Override
public
List
<
Long
>
getInfoIdByKeyword
(
Map
<
String
,
Object
>
paramMap
)
{
return
super
.
sqlSessionTemplate
.
selectList
(
getStatement
(
"getInfoIdByKeyword"
),
paramMap
);
}
/**
* 根据接收到的关键词获取对应的作品/应用ID
* @param paramMap
* @return
*/
@Override
public
BookClockKeywordDTO
getInfoIdByKeywordAndweixinGroupId
(
Map
<
String
,
Object
>
paramMap
)
{
return
super
.
sqlSessionTemplate
.
selectOne
(
getStatement
(
"getInfoIdByKeywordAndweixinGroupId"
),
paramMap
);
}
/**
* 获取微信群打卡动作关键词
* @param paramMap
* @return
*/
@Override
public
BookGroupClockKeywordDTO
getBookClockKeyword4Clock
(
Map
<
String
,
Object
>
paramMap
)
{
return
super
.
sqlSessionTemplate
.
selectOne
(
getStatement
(
"getBookClockKeyword4Clock"
),
paramMap
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/clock/dao/impl/BookGroupClockDaoImpl.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
dao
.
impl
;
import
com.pcloud.book.clock.dao.BookGroupClockDao
;
import
com.pcloud.book.clock.dto.BookGroupClockDTO
;
import
com.pcloud.book.clock.entity.BookGroupClock
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
import
java.util.Map
;
/**
* @Author: hzk
* @Date: 2019/5/24 14:51
* @Version 1.0
*/
@Repository
(
"bookGroupClockDao"
)
public
class
BookGroupClockDaoImpl
extends
BaseDaoImpl
<
BookGroupClock
>
implements
BookGroupClockDao
{
@Override
public
void
batchInsert
(
List
<
BookGroupClock
>
bookGroupClockList
)
{
super
.
sqlSessionTemplate
.
insert
(
getStatement
(
"batchInsert"
),
bookGroupClockList
);
}
/**
* 删除关联的社群书
* @param paramMap
*/
@Override
public
void
deleteBookGroupId4AppType
(
Map
<
String
,
Object
>
paramMap
)
{
super
.
sqlSessionTemplate
.
delete
(
getStatement
(
"deleteBookGroupId4AppType"
),
paramMap
);
}
/**
* 删除关联的分类
* @param paramMap
*/
@Override
public
void
deleteClassifyId4AppType
(
Map
<
String
,
Object
>
paramMap
)
{
super
.
sqlSessionTemplate
.
delete
(
getStatement
(
"deleteClassifyId4AppType"
),
paramMap
);
}
/**
* 获取关联的社群码
* @param paramMap
* @return
*/
@Override
public
List
<
BookGroupClockDTO
>
getBookGroupClockIds
(
Map
<
String
,
Object
>
paramMap
)
{
return
super
.
sqlSessionTemplate
.
selectList
(
getStatement
(
"getBookGroupClockIds"
),
paramMap
);
}
/**
* 删除该作品/应用已关联的书下面的分类
* @param paramMap
* @return
*/
@Override
public
void
deleteClassifyIdByBookGroupIds
(
Map
<
String
,
Object
>
paramMap
)
{
super
.
sqlSessionTemplate
.
delete
(
getStatement
(
"deleteClassifyIdByBookGroupIds"
),
paramMap
);
}
/**
* 校验群是否为微信群打卡的群
* @param paramMap
* @return
*/
@Override
public
List
<
Long
>
getInfoIdByWeixinGroupId
(
Map
<
String
,
Object
>
paramMap
)
{
return
super
.
sqlSessionTemplate
.
selectList
(
getStatement
(
"getInfoIdByWeixinGroupId"
),
paramMap
);
}
/**
* 获取微信群打卡基本信息
* @param bookClockInfoIds
* @return
*/
@Override
public
List
<
BookGroupClockDTO
>
getInfoByInfoIds
(
List
<
Long
>
bookClockInfoIds
)
{
return
super
.
sqlSessionTemplate
.
selectList
(
getStatement
(
"getInfoByInfoIds"
),
bookClockInfoIds
);
}
/**
* 取消关联
* @param paramMap
* @return
*/
@Override
public
void
cancelSelected
(
Map
<
String
,
Object
>
paramMap
)
{
super
.
sqlSessionTemplate
.
delete
(
getStatement
(
"cancelSelected"
),
paramMap
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/clock/dto/BookClockInfoDTO.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
dto
;
import
com.alibaba.fastjson.JSONObject
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.pcloud.book.clock.entity.BookClockKeyword
;
import
com.pcloud.book.group.dto.BookGroupDTO
;
import
com.pcloud.book.group.dto.ClassifyDTO
;
import
com.pcloud.common.dto.BaseDto
;
import
com.pcloud.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.util.Date
;
import
java.util.List
;
/**
* @Author: hzk
* @Date: 2019/5/24 14:52
* @Version 1.0
*/
public
class
BookClockInfoDTO
extends
BaseDto
{
private
static
final
long
serialVersionUID
=
6153557129391001704L
;
@ApiModelProperty
(
"bookClockInfoId"
)
private
Long
bookClockInfoId
;
@ApiModelProperty
(
"作品/应用ID"
)
private
Long
originId
;
@ApiModelProperty
(
"作品/应用类型"
)
private
String
originType
;
@ApiModelProperty
(
"作品/应用标题"
)
private
String
originTitle
;
@ApiModelProperty
(
"作品/应用封面图"
)
private
String
originImg
;
@ApiModelProperty
(
"编号"
)
private
String
uniqueNumber
;
@ApiModelProperty
(
"渠道ID"
)
private
Long
channelId
;
@ApiModelProperty
(
"社群码ID"
)
private
Long
bookGroupId
;
@ApiModelProperty
(
"分类ID"
)
private
Long
classifyId
;
@ApiModelProperty
(
"社群码ID集合"
)
private
List
<
Long
>
bookGroupIdList
;
@ApiModelProperty
(
"社群书集合"
)
private
List
<
BookGroupDTO
>
bookGroupDTOList
;
@ApiModelProperty
(
"分类ID集合"
)
private
List
<
Long
>
classifyIdList
;
@ApiModelProperty
(
"分类集合"
)
private
List
<
ClassifyDTO
>
classifyDTOList
;
@ApiModelProperty
(
"关键词集合"
)
private
List
<
BookClockKeywordDTO
>
bookClockKeywordDTOList
;
@ApiModelProperty
(
"是否开启提醒"
)
private
Boolean
isNotice
;
@ApiModelProperty
(
"提醒时间"
)
private
String
noticeTime
;
@ApiModelProperty
(
"提醒内容"
)
private
String
noticeContent
;
@ApiModelProperty
(
"操作"
)
private
String
operation
;
@ApiModelProperty
(
"操群ID"
)
private
Long
groupQrcodeId
;
@ApiModelProperty
(
"创建人"
)
private
Long
createUser
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"创建时间"
)
private
Date
createTime
;
@ApiModelProperty
(
"修改人"
)
private
Long
updateUser
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"修改时间"
)
private
Date
updateTime
;
public
Long
getBookClockInfoId
()
{
return
bookClockInfoId
;
}
public
void
setBookClockInfoId
(
Long
bookClockInfoId
)
{
this
.
bookClockInfoId
=
bookClockInfoId
;
}
public
Long
getOriginId
()
{
return
originId
;
}
public
void
setOriginId
(
Long
originId
)
{
this
.
originId
=
originId
;
}
public
String
getOriginType
()
{
return
originType
;
}
public
void
setOriginType
(
String
originType
)
{
this
.
originType
=
originType
;
}
public
String
getOriginTitle
()
{
return
originTitle
;
}
public
void
setOriginTitle
(
String
originTitle
)
{
this
.
originTitle
=
originTitle
;
}
public
String
getOriginImg
()
{
return
originImg
;
}
public
void
setOriginImg
(
String
originImg
)
{
this
.
originImg
=
originImg
;
}
public
String
getUniqueNumber
()
{
return
uniqueNumber
;
}
public
void
setUniqueNumber
(
String
uniqueNumber
)
{
this
.
uniqueNumber
=
uniqueNumber
;
}
public
List
<
Long
>
getBookGroupIdList
()
{
return
bookGroupIdList
;
}
public
void
setBookGroupIdList
(
List
<
Long
>
bookGroupIdList
)
{
this
.
bookGroupIdList
=
bookGroupIdList
;
}
public
List
<
Long
>
getClassifyIdList
()
{
return
classifyIdList
;
}
public
void
setClassifyIdList
(
List
<
Long
>
classifyIdList
)
{
this
.
classifyIdList
=
classifyIdList
;
}
public
List
<
BookClockKeywordDTO
>
getBookClockKeywordDTOList
()
{
return
bookClockKeywordDTOList
;
}
public
void
setBookClockKeywordDTOList
(
List
<
BookClockKeywordDTO
>
bookClockKeywordDTOList
)
{
this
.
bookClockKeywordDTOList
=
bookClockKeywordDTOList
;
}
public
Boolean
getIsNotice
()
{
return
isNotice
;
}
public
void
setIsNotice
(
Boolean
isNotice
)
{
this
.
isNotice
=
isNotice
;
}
public
String
getNoticeTime
()
{
return
noticeTime
;
}
public
void
setNoticeTime
(
String
noticeTime
)
{
this
.
noticeTime
=
noticeTime
;
}
public
Long
getCreateUser
()
{
return
createUser
;
}
public
void
setCreateUser
(
Long
createUser
)
{
this
.
createUser
=
createUser
;
}
public
Date
getCreateTime
()
{
return
createTime
;
}
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
public
Long
getUpdateUser
()
{
return
updateUser
;
}
public
void
setUpdateUser
(
Long
updateUser
)
{
this
.
updateUser
=
updateUser
;
}
public
Date
getUpdateTime
()
{
return
updateTime
;
}
public
void
setUpdateTime
(
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
public
Long
getChannelId
()
{
return
channelId
;
}
public
void
setChannelId
(
Long
channelId
)
{
this
.
channelId
=
channelId
;
}
public
String
getNoticeContent
()
{
return
noticeContent
;
}
public
void
setNoticeContent
(
String
noticeContent
)
{
this
.
noticeContent
=
noticeContent
;
}
public
List
<
BookGroupDTO
>
getBookGroupDTOList
()
{
return
bookGroupDTOList
;
}
public
void
setBookGroupDTOList
(
List
<
BookGroupDTO
>
bookGroupDTOList
)
{
this
.
bookGroupDTOList
=
bookGroupDTOList
;
}
public
List
<
ClassifyDTO
>
getClassifyDTOList
()
{
return
classifyDTOList
;
}
public
void
setClassifyDTOList
(
List
<
ClassifyDTO
>
classifyDTOList
)
{
this
.
classifyDTOList
=
classifyDTOList
;
}
public
String
getOperation
()
{
return
operation
;
}
public
void
setOperation
(
String
operation
)
{
this
.
operation
=
operation
;
}
public
Long
getBookGroupId
()
{
return
bookGroupId
;
}
public
void
setBookGroupId
(
Long
bookGroupId
)
{
this
.
bookGroupId
=
bookGroupId
;
}
public
Long
getClassifyId
()
{
return
classifyId
;
}
public
void
setClassifyId
(
Long
classifyId
)
{
this
.
classifyId
=
classifyId
;
}
public
Long
getGroupQrcodeId
()
{
return
groupQrcodeId
;
}
public
void
setGroupQrcodeId
(
Long
groupQrcodeId
)
{
this
.
groupQrcodeId
=
groupQrcodeId
;
}
@Override
public
String
toString
()
{
return
JSONObject
.
toJSONString
(
this
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/clock/dto/BookClockKeywordDTO.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
dto
;
import
com.alibaba.fastjson.JSONObject
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.pcloud.book.group.dto.BookGroupDTO
;
import
com.pcloud.book.group.dto.ClassifyDTO
;
import
com.pcloud.common.dto.BaseDto
;
import
com.pcloud.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.util.Date
;
import
java.util.List
;
/**
* @Author: hzk
* @Date: 2019/5/24 14:52
* @Version 1.0
*/
public
class
BookClockKeywordDTO
extends
BaseDto
{
private
static
final
long
serialVersionUID
=
-
6521664243643931466L
;
@ApiModelProperty
(
"bookClockKeywordId"
)
private
Long
bookClockKeywordId
;
@ApiModelProperty
(
"作品/应用ID"
)
private
Long
bookClockInfoId
;
@ApiModelProperty
(
"操作"
)
private
String
operation
;
@ApiModelProperty
(
"关键词"
)
private
String
keyword
;
@ApiModelProperty
(
"关键词引导语"
)
private
String
guide
;
@ApiModelProperty
(
"渠道ID"
)
private
Long
channelId
;
@ApiModelProperty
(
"排序值"
)
private
Long
sequenceNum
;
@ApiModelProperty
(
"创建人"
)
private
Long
createUser
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"创建时间"
)
private
Date
createTime
;
@ApiModelProperty
(
"修改人"
)
private
Long
updateUser
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"修改时间"
)
private
Date
updateTime
;
@ApiModelProperty
(
"社群书集合"
)
private
List
<
BookGroupDTO
>
bookGroupDTOList
;
@ApiModelProperty
(
"分类集合"
)
private
List
<
ClassifyDTO
>
classifyDTOList
;
public
Long
getBookClockKeywordId
()
{
return
bookClockKeywordId
;
}
public
void
setBookClockKeywordId
(
Long
bookClockKeywordId
)
{
this
.
bookClockKeywordId
=
bookClockKeywordId
;
}
public
Long
getBookClockInfoId
()
{
return
bookClockInfoId
;
}
public
void
setBookClockInfoId
(
Long
bookClockInfoId
)
{
this
.
bookClockInfoId
=
bookClockInfoId
;
}
public
String
getOperation
()
{
return
operation
;
}
public
void
setOperation
(
String
operation
)
{
this
.
operation
=
operation
;
}
public
String
getKeyword
()
{
return
keyword
;
}
public
void
setKeyword
(
String
keyword
)
{
this
.
keyword
=
keyword
;
}
public
String
getGuide
()
{
return
guide
;
}
public
void
setGuide
(
String
guide
)
{
this
.
guide
=
guide
;
}
public
Long
getSequenceNum
()
{
return
sequenceNum
;
}
public
void
setSequenceNum
(
Long
sequenceNum
)
{
this
.
sequenceNum
=
sequenceNum
;
}
public
Long
getCreateUser
()
{
return
createUser
;
}
public
void
setCreateUser
(
Long
createUser
)
{
this
.
createUser
=
createUser
;
}
public
Date
getCreateTime
()
{
return
createTime
;
}
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
public
Long
getUpdateUser
()
{
return
updateUser
;
}
public
void
setUpdateUser
(
Long
updateUser
)
{
this
.
updateUser
=
updateUser
;
}
public
Date
getUpdateTime
()
{
return
updateTime
;
}
public
void
setUpdateTime
(
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
public
List
<
BookGroupDTO
>
getBookGroupDTOList
()
{
return
bookGroupDTOList
;
}
public
void
setBookGroupDTOList
(
List
<
BookGroupDTO
>
bookGroupDTOList
)
{
this
.
bookGroupDTOList
=
bookGroupDTOList
;
}
public
List
<
ClassifyDTO
>
getClassifyDTOList
()
{
return
classifyDTOList
;
}
public
void
setClassifyDTOList
(
List
<
ClassifyDTO
>
classifyDTOList
)
{
this
.
classifyDTOList
=
classifyDTOList
;
}
public
Long
getChannelId
()
{
return
channelId
;
}
public
void
setChannelId
(
Long
channelId
)
{
this
.
channelId
=
channelId
;
}
@Override
public
String
toString
()
{
return
JSONObject
.
toJSONString
(
this
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/clock/dto/BookClockListDTO.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
dto
;
import
java.util.List
;
import
lombok.Data
;
/**
* @Describe: TODO
* @Author: zhangdongwei
* @Date: Create on 15:51 2019/6/3 0003
*/
@Data
public
class
BookClockListDTO
{
private
Long
bookClockInfoId
;
private
Long
originId
;
private
String
originType
;
private
String
originTitle
;
private
String
originImg
;
private
String
uniqueNumber
;
/**
* 社群书数
*/
private
Integer
bookCount
;
/**
* 社群书ids
*/
private
List
<
Long
>
bookGroupIdList
;
/**
* 群分类数
*/
private
Integer
classifyCount
;
/**
* 群分类ids
*/
private
List
<
Long
>
classifyIdList
;
public
Long
getBookClockInfoId
()
{
return
bookClockInfoId
;
}
public
void
setBookClockInfoId
(
Long
bookClockInfoId
)
{
this
.
bookClockInfoId
=
bookClockInfoId
;
}
public
Long
getOriginId
()
{
return
originId
;
}
public
void
setOriginId
(
Long
originId
)
{
this
.
originId
=
originId
;
}
public
String
getOriginType
()
{
return
originType
;
}
public
void
setOriginType
(
String
originType
)
{
this
.
originType
=
originType
;
}
public
String
getOriginTitle
()
{
return
originTitle
;
}
public
void
setOriginTitle
(
String
originTitle
)
{
this
.
originTitle
=
originTitle
;
}
public
String
getOriginImg
()
{
return
originImg
;
}
public
void
setOriginImg
(
String
originImg
)
{
this
.
originImg
=
originImg
;
}
public
String
getUniqueNumber
()
{
return
uniqueNumber
;
}
public
void
setUniqueNumber
(
String
uniqueNumber
)
{
this
.
uniqueNumber
=
uniqueNumber
;
}
public
Integer
getBookCount
()
{
return
bookCount
;
}
public
void
setBookCount
(
Integer
bookCount
)
{
this
.
bookCount
=
bookCount
;
}
public
List
<
Long
>
getBookGroupIdList
()
{
return
bookGroupIdList
;
}
public
void
setBookGroupIdList
(
List
<
Long
>
bookGroupIdList
)
{
this
.
bookGroupIdList
=
bookGroupIdList
;
}
public
Integer
getClassifyCount
()
{
return
classifyCount
;
}
public
void
setClassifyCount
(
Integer
classifyCount
)
{
this
.
classifyCount
=
classifyCount
;
}
public
List
<
Long
>
getClassifyIdList
()
{
return
classifyIdList
;
}
public
void
setClassifyIdList
(
List
<
Long
>
classifyIdList
)
{
this
.
classifyIdList
=
classifyIdList
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/clock/dto/BookGroupClockDTO.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
dto
;
import
com.alibaba.fastjson.JSONObject
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.pcloud.common.entity.BaseEntity
;
import
java.util.Date
;
import
io.swagger.annotations.ApiModelProperty
;
/**
* @Author: hzk
* @Date: 2019/5/24 14:52
* @Version 1.0
*/
public
class
BookGroupClockDTO
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
7839794140288730775L
;
@ApiModelProperty
(
"ID"
)
private
Long
bookGroupClockId
;
@ApiModelProperty
(
"作品/应用ID"
)
private
Long
bookClockInfoId
;
@ApiModelProperty
(
"渠道ID"
)
private
Long
channelId
;
@ApiModelProperty
(
"书籍ID"
)
private
Long
bookId
;
@ApiModelProperty
(
"社群码ID"
)
private
Long
bookGroupId
;
@ApiModelProperty
(
"分类ID"
)
private
Long
classifyId
;
@ApiModelProperty
(
"创建人"
)
private
Long
createUser
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"创建时间"
)
private
Date
createTime
;
@ApiModelProperty
(
"修改人"
)
private
Long
updateUser
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"修改时间"
)
private
Date
updateTime
;
public
Long
getBookGroupClockId
()
{
return
bookGroupClockId
;
}
public
void
setBookGroupClockId
(
Long
bookGroupClockId
)
{
this
.
bookGroupClockId
=
bookGroupClockId
;
}
public
Long
getBookClockInfoId
()
{
return
bookClockInfoId
;
}
public
void
setBookClockInfoId
(
Long
bookClockInfoId
)
{
this
.
bookClockInfoId
=
bookClockInfoId
;
}
public
Long
getBookId
()
{
return
bookId
;
}
public
void
setBookId
(
Long
bookId
)
{
this
.
bookId
=
bookId
;
}
public
Long
getClassifyId
()
{
return
classifyId
;
}
public
void
setClassifyId
(
Long
classifyId
)
{
this
.
classifyId
=
classifyId
;
}
public
Long
getChannelId
()
{
return
channelId
;
}
public
void
setChannelId
(
Long
channelId
)
{
this
.
channelId
=
channelId
;
}
public
Long
getCreateUser
()
{
return
createUser
;
}
public
void
setCreateUser
(
Long
createUser
)
{
this
.
createUser
=
createUser
;
}
@Override
public
Date
getCreateTime
()
{
return
createTime
;
}
@Override
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
public
Long
getUpdateUser
()
{
return
updateUser
;
}
public
void
setUpdateUser
(
Long
updateUser
)
{
this
.
updateUser
=
updateUser
;
}
@Override
public
Date
getUpdateTime
()
{
return
updateTime
;
}
@Override
public
void
setUpdateTime
(
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
public
Long
getBookGroupId
()
{
return
bookGroupId
;
}
public
void
setBookGroupId
(
Long
bookGroupId
)
{
this
.
bookGroupId
=
bookGroupId
;
}
@Override
public
String
toString
()
{
return
JSONObject
.
toJSONString
(
this
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/clock/entity/BookClockInfo.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
entity
;
import
com.alibaba.fastjson.JSONObject
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.pcloud.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.util.Date
;
import
java.util.List
;
/**
* @Author: hzk
* @Date: 2019/5/24 14:52
* @Version 1.0
*/
public
class
BookClockInfo
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
8385194135258376669L
;
@ApiModelProperty
(
"bookClockInfoId"
)
private
Long
bookClockInfoId
;
@ApiModelProperty
(
"作品/应用ID"
)
private
Long
originId
;
@ApiModelProperty
(
"作品/应用类型"
)
private
String
originType
;
@ApiModelProperty
(
"作品/应用标题"
)
private
String
originTitle
;
@ApiModelProperty
(
"作品/应用封面图"
)
private
String
originImg
;
@ApiModelProperty
(
"编号"
)
private
String
uniqueNumber
;
@ApiModelProperty
(
"渠道ID"
)
private
Long
channelId
;
@ApiModelProperty
(
"社群码ID集合"
)
private
List
<
Long
>
bookGroupIdList
;
@ApiModelProperty
(
"分类ID集合"
)
private
List
<
Long
>
classifyIdList
;
@ApiModelProperty
(
"关键词集合"
)
private
List
<
BookClockKeyword
>
bookClockKeywordList
;
@ApiModelProperty
(
"是否开启提醒"
)
private
Boolean
isNotice
;
@ApiModelProperty
(
"提醒时间"
)
private
String
noticeTime
;
@ApiModelProperty
(
"提醒内容"
)
private
String
noticeContent
;
@ApiModelProperty
(
"修改类型"
)
private
String
updateType
;
@ApiModelProperty
(
"创建人"
)
private
Long
createUser
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"创建时间"
)
private
Date
createTime
;
@ApiModelProperty
(
"修改人"
)
private
Long
updateUser
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"修改时间"
)
private
Date
updateTime
;
public
Long
getBookClockInfoId
()
{
return
bookClockInfoId
;
}
public
void
setBookClockInfoId
(
Long
bookClockInfoId
)
{
this
.
bookClockInfoId
=
bookClockInfoId
;
}
public
Long
getOriginId
()
{
return
originId
;
}
public
void
setOriginId
(
Long
originId
)
{
this
.
originId
=
originId
;
}
public
String
getOriginType
()
{
return
originType
;
}
public
void
setOriginType
(
String
originType
)
{
this
.
originType
=
originType
;
}
public
String
getOriginTitle
()
{
return
originTitle
;
}
public
void
setOriginTitle
(
String
originTitle
)
{
this
.
originTitle
=
originTitle
;
}
public
String
getOriginImg
()
{
return
originImg
;
}
public
void
setOriginImg
(
String
originImg
)
{
this
.
originImg
=
originImg
;
}
public
String
getUniqueNumber
()
{
return
uniqueNumber
;
}
public
void
setUniqueNumber
(
String
uniqueNumber
)
{
this
.
uniqueNumber
=
uniqueNumber
;
}
public
List
<
Long
>
getBookGroupIdList
()
{
return
bookGroupIdList
;
}
public
void
setBookGroupIdList
(
List
<
Long
>
bookGroupIdList
)
{
this
.
bookGroupIdList
=
bookGroupIdList
;
}
public
List
<
Long
>
getClassifyIdList
()
{
return
classifyIdList
;
}
public
void
setClassifyIdList
(
List
<
Long
>
classifyIdList
)
{
this
.
classifyIdList
=
classifyIdList
;
}
public
List
<
BookClockKeyword
>
getBookClockKeywordList
()
{
return
bookClockKeywordList
;
}
public
void
setBookClockKeywordList
(
List
<
BookClockKeyword
>
bookClockKeywordList
)
{
this
.
bookClockKeywordList
=
bookClockKeywordList
;
}
public
Boolean
getIsNotice
()
{
return
isNotice
;
}
public
void
setIsNotice
(
Boolean
isNotice
)
{
this
.
isNotice
=
isNotice
;
}
public
String
getNoticeTime
()
{
return
noticeTime
;
}
public
void
setNoticeTime
(
String
noticeTime
)
{
this
.
noticeTime
=
noticeTime
;
}
public
Long
getCreateUser
()
{
return
createUser
;
}
public
void
setCreateUser
(
Long
createUser
)
{
this
.
createUser
=
createUser
;
}
@Override
public
Date
getCreateTime
()
{
return
createTime
;
}
@Override
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
public
Long
getUpdateUser
()
{
return
updateUser
;
}
public
void
setUpdateUser
(
Long
updateUser
)
{
this
.
updateUser
=
updateUser
;
}
@Override
public
Date
getUpdateTime
()
{
return
updateTime
;
}
@Override
public
void
setUpdateTime
(
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
public
Long
getChannelId
()
{
return
channelId
;
}
public
void
setChannelId
(
Long
channelId
)
{
this
.
channelId
=
channelId
;
}
public
String
getNoticeContent
()
{
return
noticeContent
;
}
public
void
setNoticeContent
(
String
noticeContent
)
{
this
.
noticeContent
=
noticeContent
;
}
public
String
getUpdateType
()
{
return
updateType
;
}
public
void
setUpdateType
(
String
updateType
)
{
this
.
updateType
=
updateType
;
}
@Override
public
String
toString
()
{
return
JSONObject
.
toJSONString
(
this
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/clock/entity/BookClockKeyword.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
entity
;
import
com.alibaba.fastjson.JSONObject
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.pcloud.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.util.Date
;
import
java.util.List
;
/**
* @Author: hzk
* @Date: 2019/5/24 14:52
* @Version 1.0
*/
public
class
BookClockKeyword
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
8385194135258376669L
;
@ApiModelProperty
(
"bookClockKeywordId"
)
private
Long
bookClockKeywordId
;
@ApiModelProperty
(
"作品/应用ID"
)
private
Long
bookClockInfoId
;
@ApiModelProperty
(
"操作"
)
private
String
operation
;
@ApiModelProperty
(
"关键词"
)
private
String
keyword
;
@ApiModelProperty
(
"关键词引导语"
)
private
String
guide
;
@ApiModelProperty
(
"排序值"
)
private
Long
sequenceNum
;
@ApiModelProperty
(
"创建人"
)
private
Long
createUser
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"创建时间"
)
private
Date
createTime
;
@ApiModelProperty
(
"修改人"
)
private
Long
updateUser
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"修改时间"
)
private
Date
updateTime
;
public
Long
getBookClockKeywordId
()
{
return
bookClockKeywordId
;
}
public
void
setBookClockKeywordId
(
Long
bookClockKeywordId
)
{
this
.
bookClockKeywordId
=
bookClockKeywordId
;
}
public
Long
getBookClockInfoId
()
{
return
bookClockInfoId
;
}
public
void
setBookClockInfoId
(
Long
bookClockInfoId
)
{
this
.
bookClockInfoId
=
bookClockInfoId
;
}
public
String
getOperation
()
{
return
operation
;
}
public
void
setOperation
(
String
operation
)
{
this
.
operation
=
operation
;
}
public
String
getKeyword
()
{
return
keyword
;
}
public
void
setKeyword
(
String
keyword
)
{
this
.
keyword
=
keyword
;
}
public
String
getGuide
()
{
return
guide
;
}
public
void
setGuide
(
String
guide
)
{
this
.
guide
=
guide
;
}
public
Long
getSequenceNum
()
{
return
sequenceNum
;
}
public
void
setSequenceNum
(
Long
sequenceNum
)
{
this
.
sequenceNum
=
sequenceNum
;
}
public
Long
getCreateUser
()
{
return
createUser
;
}
public
void
setCreateUser
(
Long
createUser
)
{
this
.
createUser
=
createUser
;
}
@Override
public
Date
getCreateTime
()
{
return
createTime
;
}
@Override
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
public
Long
getUpdateUser
()
{
return
updateUser
;
}
public
void
setUpdateUser
(
Long
updateUser
)
{
this
.
updateUser
=
updateUser
;
}
@Override
public
Date
getUpdateTime
()
{
return
updateTime
;
}
@Override
public
void
setUpdateTime
(
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
@Override
public
String
toString
()
{
return
JSONObject
.
toJSONString
(
this
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/clock/entity/BookGroupClock.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
entity
;
import
com.alibaba.fastjson.JSONObject
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.pcloud.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.util.Date
;
import
java.util.List
;
/**
* @Author: hzk
* @Date: 2019/5/24 14:52
* @Version 1.0
*/
public
class
BookGroupClock
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
8385194135258376669L
;
@ApiModelProperty
(
"ID"
)
private
Long
bookGroupClockId
;
@ApiModelProperty
(
"作品/应用ID"
)
private
Long
bookClockInfoId
;
@ApiModelProperty
(
"书籍ID"
)
private
Long
bookId
;
@ApiModelProperty
(
"社群码ID"
)
private
Long
bookGroupId
;
@ApiModelProperty
(
"书ID集合"
)
private
List
<
Long
>
bookGroupIdList
;
@ApiModelProperty
(
"分类ID"
)
private
Long
classifyId
;
@ApiModelProperty
(
"渠道ID"
)
private
Long
channelId
;
@ApiModelProperty
(
"创建人"
)
private
Long
createUser
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"创建时间"
)
private
Date
createTime
;
@ApiModelProperty
(
"修改人"
)
private
Long
updateUser
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"修改时间"
)
private
Date
updateTime
;
public
Long
getBookGroupClockId
()
{
return
bookGroupClockId
;
}
public
void
setBookGroupClockId
(
Long
bookGroupClockId
)
{
this
.
bookGroupClockId
=
bookGroupClockId
;
}
public
Long
getBookClockInfoId
()
{
return
bookClockInfoId
;
}
public
void
setBookClockInfoId
(
Long
bookClockInfoId
)
{
this
.
bookClockInfoId
=
bookClockInfoId
;
}
public
Long
getBookId
()
{
return
bookId
;
}
public
void
setBookId
(
Long
bookId
)
{
this
.
bookId
=
bookId
;
}
public
Long
getBookGroupId
()
{
return
bookGroupId
;
}
public
void
setBookGroupId
(
Long
bookGroupId
)
{
this
.
bookGroupId
=
bookGroupId
;
}
public
Long
getClassifyId
()
{
return
classifyId
;
}
public
void
setClassifyId
(
Long
classifyId
)
{
this
.
classifyId
=
classifyId
;
}
public
Long
getChannelId
()
{
return
channelId
;
}
public
void
setChannelId
(
Long
channelId
)
{
this
.
channelId
=
channelId
;
}
public
Long
getCreateUser
()
{
return
createUser
;
}
public
void
setCreateUser
(
Long
createUser
)
{
this
.
createUser
=
createUser
;
}
@Override
public
Date
getCreateTime
()
{
return
createTime
;
}
@Override
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
public
Long
getUpdateUser
()
{
return
updateUser
;
}
public
void
setUpdateUser
(
Long
updateUser
)
{
this
.
updateUser
=
updateUser
;
}
@Override
public
Date
getUpdateTime
()
{
return
updateTime
;
}
@Override
public
void
setUpdateTime
(
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
@Override
public
String
toString
()
{
return
JSONObject
.
toJSONString
(
this
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/clock/enums/OriginTypeEnum.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
enums
;
/**
* @author hzk
* @date 2019/5/27 15:09
*/
public
enum
OriginTypeEnum
{
/**
* 应用
*/
APP
(
"APP"
),
/**
* 作品
*/
PRODUCT
(
"PRODUCT"
);
public
final
String
value
;
OriginTypeEnum
(
String
value
)
{
this
.
value
=
value
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/clock/enums/UpdateTypeEnum.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
enums
;
/**
* @author hzk
* @date 2019/5/27 15:09
*/
public
enum
UpdateTypeEnum
{
/**
* 作品/应用
*/
APP
(
"APP"
),
/**
* 社群码
*/
BOOK_GROUP
(
"BOOK_GROUP"
),
/**
* 关键词
*/
KEYWORD
(
"KEYWORD"
);
public
final
String
value
;
UpdateTypeEnum
(
String
value
)
{
this
.
value
=
value
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/clock/facade/BookClockFacade.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
facade
;
import
com.pcloud.book.clock.entity.BookClockInfo
;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.permission.PermissionException
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.cloud.netflix.feign.FeignClient
;
import
org.springframework.web.bind.annotation.*
;
/**
* @Author: hzk
* @Date: 2019/5/24 14:46
* @Version 1.0
*/
@FeignClient
(
value
=
"pcloud-service-book"
,
qualifier
=
"bookClockFacadeCloud"
,
path
=
"bookClock"
)
@Api
(
description
=
"微信群打卡设置"
)
public
interface
BookClockFacade
{
@ApiOperation
(
value
=
"关联作品/应用及微信群"
,
httpMethod
=
"POST"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"token"
,
value
=
"token"
,
dataType
=
"String"
,
paramType
=
"header"
),
@ApiImplicitParam
(
name
=
"bookClockInfo"
,
value
=
"打卡书籍实体"
,
dataType
=
"BookClockInfo"
,
paramType
=
"body"
)})
@RequestMapping
(
value
=
"createBookGroupClock"
,
method
=
RequestMethod
.
POST
)
ResponseDto
<?>
createBookGroupClock
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
BookClockInfo
bookClockInfo
)
throws
BizException
,
PermissionException
;
@ApiOperation
(
value
=
"修改关联信息"
,
httpMethod
=
"POST"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"token"
,
value
=
"token"
,
dataType
=
"String"
,
paramType
=
"header"
),
@ApiImplicitParam
(
name
=
"bookClockInfo"
,
value
=
"打卡书籍实体"
,
dataType
=
"BookClockInfo"
,
paramType
=
"body"
)})
@RequestMapping
(
value
=
"updateBookGroupClock"
,
method
=
RequestMethod
.
POST
)
ResponseDto
<?>
updateBookGroupClock
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
BookClockInfo
bookClockInfo
)
throws
BizException
,
PermissionException
;
@ApiOperation
(
value
=
"获取关联的基本信息"
,
httpMethod
=
"GET"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"token"
,
value
=
"token"
,
dataType
=
"String"
,
paramType
=
"header"
),
@ApiImplicitParam
(
name
=
"bookClockInfoId"
,
value
=
"bookClockInfoId"
,
dataType
=
"Long"
,
paramType
=
"query"
)})
@RequestMapping
(
value
=
"getBookGroupClockBaseInfo"
,
method
=
RequestMethod
.
GET
)
ResponseDto
<?>
getBookGroupClockBaseInfo
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"bookClockInfoId"
,
required
=
false
)
Long
bookClockInfoId
)
throws
BizException
,
PermissionException
;
@ApiOperation
(
value
=
"获取该编辑已选的超级作者作品及应用"
,
httpMethod
=
"GET"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"token"
,
value
=
"token"
,
dataType
=
"String"
,
paramType
=
"header"
)})
@RequestMapping
(
value
=
"getAdviserHasSelected"
,
method
=
RequestMethod
.
GET
)
ResponseDto
<?>
getAdviserHasSelected
(
@RequestHeader
(
"token"
)
String
token
)
throws
BizException
,
PermissionException
;
@ApiOperation
(
value
=
"群打卡列表(编辑端)"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"token"
,
value
=
"token"
,
dataType
=
"String"
,
paramType
=
"header"
),
@ApiImplicitParam
(
name
=
"name"
,
value
=
"打卡名称或编号"
,
dataType
=
"String"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"startDate"
,
value
=
"开始时间"
,
dataType
=
"String"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"endDate"
,
value
=
"结束时间"
,
dataType
=
"String"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"currentPage"
,
value
=
"当前页"
,
dataType
=
"Integer"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"numPerPage"
,
value
=
"每页大小"
,
dataType
=
"Integer"
,
paramType
=
"query"
)})
@GetMapping
(
"listBookGroupClock4Adviser"
)
ResponseDto
<?>
listBookGroupClock4Adviser
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"name"
,
required
=
false
)
String
name
,
@RequestParam
(
value
=
"startDate"
,
required
=
false
)
String
startDate
,
@RequestParam
(
value
=
"endDate"
,
required
=
false
)
String
endDate
,
@RequestParam
(
value
=
"currentPage"
,
required
=
false
)
Integer
currentPage
,
@RequestParam
(
value
=
"numPerPage"
,
required
=
false
)
Integer
numPerPage
)
throws
BizException
,
PermissionException
;
}
pcloud-service-book/src/main/java/com/pcloud/book/clock/facade/BookClockKeywordFacade.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
facade
;
import
com.pcloud.book.clock.eneity.BookClockKeywordCheckParam
;
import
com.pcloud.book.clock.eneity.CancelSelectedParam
;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.permission.PermissionException
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.cloud.netflix.feign.FeignClient
;
import
org.springframework.web.bind.annotation.*
;
/**
* @Author: hzk
* @Date: 2019/5/28 14:46
* @Version 1.0
*/
@FeignClient
(
value
=
"pcloud-service-book"
,
qualifier
=
"bookClockKeywordFacadeCloud"
,
path
=
"bookClockKeyword"
)
@Api
(
description
=
"微信群打卡关键词设置"
)
public
interface
BookClockKeywordFacade
{
@ApiOperation
(
value
=
"获取关键词已关联的微信群书及分类"
,
httpMethod
=
"POST"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"token"
,
value
=
"token"
,
dataType
=
"String"
,
paramType
=
"header"
),
@ApiImplicitParam
(
name
=
"bookClockKeywordCheckParam"
,
value
=
"关键词重复查询"
,
dataType
=
"BookClockKeywordCheckParam"
,
paramType
=
"body"
),
})
@RequestMapping
(
value
=
"getKeywordBookClockList"
,
method
=
RequestMethod
.
POST
)
ResponseDto
<?>
getKeywordBookClockList
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
BookClockKeywordCheckParam
bookClockKeywordCheckParam
)
throws
BizException
,
PermissionException
;
@ApiOperation
(
value
=
"获取关键词已关联的微信群书及分类(分页)"
,
httpMethod
=
"POST"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"token"
,
value
=
"token"
,
dataType
=
"String"
,
paramType
=
"header"
),
@ApiImplicitParam
(
name
=
"bookClockKeywordCheckParam"
,
value
=
"关键词重复查询"
,
dataType
=
"BookClockKeywordCheckParam"
,
paramType
=
"body"
),
})
@RequestMapping
(
value
=
"getKeywordBookClockList4HasSelected"
,
method
=
RequestMethod
.
POST
)
ResponseDto
<?>
getKeywordBookClockList4HasSelected
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
BookClockKeywordCheckParam
bookClockKeywordCheckParam
)
throws
BizException
,
PermissionException
;
@ApiOperation
(
value
=
"取消关联"
,
httpMethod
=
"POST"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"token"
,
value
=
"token"
,
dataType
=
"String"
,
paramType
=
"header"
),
@ApiImplicitParam
(
name
=
"cancelSelectedParam"
,
value
=
"关键词取消关联"
,
dataType
=
"CancelSelectedParam"
,
paramType
=
"body"
),
})
@RequestMapping
(
value
=
"cancelSelected"
,
method
=
RequestMethod
.
POST
)
ResponseDto
<?>
cancelSelected
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
CancelSelectedParam
cancelSelectedParam
)
throws
BizException
,
PermissionException
;
}
pcloud-service-book/src/main/java/com/pcloud/book/clock/facade/impl/BookClockFacadeImpl.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
facade
.
impl
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.clock.biz.BookClockBiz
;
import
com.pcloud.book.clock.entity.BookClockInfo
;
import
com.pcloud.book.clock.facade.BookClockFacade
;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.page.PageParam
;
import
com.pcloud.common.permission.PermissionException
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.SessionUtil
;
import
com.pcloud.common.utils.string.StringUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @Author: hzk
* @Date: 2019/5/24 14:48
* @Version 1.0
*/
@RequestMapping
(
"/bookClock"
)
@RestController
(
"bookClockFacade"
)
public
class
BookClockFacadeImpl
implements
BookClockFacade
{
@Autowired
private
BookClockBiz
bookClockBiz
;
/**
* 关联作品/应用及微信群
* @param token
* @param bookClockInfo
* @return
* @throws BizException
* @throws PermissionException
*/
@Override
@RequestMapping
(
value
=
"createBookGroupClock"
,
method
=
RequestMethod
.
POST
)
public
ResponseDto
<?>
createBookGroupClock
(
@RequestHeader
String
token
,
@RequestBody
BookClockInfo
bookClockInfo
)
throws
BizException
,
PermissionException
{
Long
adviserId
=
(
Long
)
SessionUtil
.
getVlaue
(
token
,
SessionUtil
.
PARTY_ID
);
if
(
null
==
bookClockInfo
||
null
==
bookClockInfo
.
getOriginId
()
||
StringUtil
.
isEmpty
(
bookClockInfo
.
getOriginType
())){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"参数有误"
);
}
if
(
ListUtils
.
isEmpty
(
bookClockInfo
.
getBookGroupIdList
())
&&
ListUtils
.
isEmpty
(
bookClockInfo
.
getClassifyIdList
())){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"参数有误"
);
}
if
(
ListUtils
.
isEmpty
(
bookClockInfo
.
getBookClockKeywordList
())){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"参数有误"
);
}
bookClockInfo
.
setCreateUser
(
adviserId
);
bookClockInfo
.
setUpdateUser
(
adviserId
);
return
new
ResponseDto
<>(
bookClockBiz
.
createBookGroupClock
(
bookClockInfo
));
}
/**
* 修改关联信息
* @param token
* @param bookClockInfo
* @return
* @throws BizException
* @throws PermissionException
*/
@Override
public
ResponseDto
<?>
updateBookGroupClock
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
BookClockInfo
bookClockInfo
)
throws
BizException
,
PermissionException
{
Long
adviserId
=
(
Long
)
SessionUtil
.
getVlaue
(
token
,
SessionUtil
.
PARTY_ID
);
if
(
null
==
bookClockInfo
||
null
==
bookClockInfo
.
getBookClockInfoId
()
||
StringUtil
.
isEmpty
(
bookClockInfo
.
getUpdateType
())){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"参数有误"
);
}
bookClockInfo
.
setCreateUser
(
adviserId
);
bookClockInfo
.
setUpdateUser
(
adviserId
);
bookClockBiz
.
updateBookGroupClock
(
bookClockInfo
);
return
new
ResponseDto
<>();
}
/**
* 获取关联的基本信息
* @param token
* @param bookClockInfoId
* @return
* @throws BizException
* @throws PermissionException
*/
@Override
public
ResponseDto
<?>
getBookGroupClockBaseInfo
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"bookClockInfoId"
,
required
=
false
)
Long
bookClockInfoId
)
throws
BizException
,
PermissionException
{
SessionUtil
.
getVlaue
(
token
,
SessionUtil
.
PARTY_ID
);
if
(
null
==
bookClockInfoId
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"参数有误"
);
}
return
new
ResponseDto
<>(
bookClockBiz
.
getBookGroupClockBaseInfo
(
bookClockInfoId
));
}
/**
* 获取该编辑已选的超级作者作品及应用
* @param token
* @return
* @throws BizException
* @throws PermissionException
*/
@Override
public
ResponseDto
<?>
getAdviserHasSelected
(
@RequestHeader
(
"token"
)
String
token
)
throws
BizException
,
PermissionException
{
Long
adviserId
=
(
Long
)
SessionUtil
.
getVlaue
(
token
,
SessionUtil
.
PARTY_ID
);
return
new
ResponseDto
<>(
bookClockBiz
.
getAdviserHasSelected
(
adviserId
));
}
@Override
public
ResponseDto
<?>
listBookGroupClock4Adviser
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"name"
,
required
=
false
)
String
name
,
@RequestParam
(
value
=
"startDate"
,
required
=
false
)
String
startDate
,
@RequestParam
(
value
=
"endDate"
,
required
=
false
)
String
endDate
,
@RequestParam
(
value
=
"currentPage"
,
required
=
false
)
Integer
currentPage
,
@RequestParam
(
value
=
"numPerPage"
,
required
=
false
)
Integer
numPerPage
)
throws
BizException
,
PermissionException
{
Long
adviserId
=
(
Long
)
SessionUtil
.
getVlaue
(
token
,
SessionUtil
.
PARTY_ID
);
if
(
null
==
currentPage
||
null
==
numPerPage
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"分页参数有误"
);
}
PageParam
pageParam
=
new
PageParam
(
currentPage
,
numPerPage
);
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"name"
,
name
!=
null
&&
""
.
equals
(
name
.
trim
())
?
null
:
name
);
if
(!
StringUtil
.
isEmpty
(
startDate
)
&&
!
StringUtil
.
isEmpty
(
endDate
))
{
paramMap
.
put
(
"startDate"
,
startDate
+
" 00:00:00"
);
paramMap
.
put
(
"endDate"
,
endDate
+
" 23:59:59"
);
}
paramMap
.
put
(
"adviserId"
,
adviserId
);
return
new
ResponseDto
<>(
bookClockBiz
.
listBookGroupClock
(
pageParam
,
paramMap
));
}
}
pcloud-service-book/src/main/java/com/pcloud/book/clock/facade/impl/BookClockKeywordFacadeImpl.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
facade
.
impl
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.clock.biz.BookClockKeywordBiz
;
import
com.pcloud.book.clock.eneity.BookClockKeywordCheckParam
;
import
com.pcloud.book.clock.eneity.CancelSelectedParam
;
import
com.pcloud.book.clock.facade.BookClockKeywordFacade
;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.permission.PermissionException
;
import
com.pcloud.common.utils.SessionUtil
;
import
com.pcloud.common.utils.string.StringUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
/**
* @Author: hzk
* @Date: 2019/5/24 14:48
* @Version 1.0
*/
@RequestMapping
(
"/bookClockKeyword"
)
@RestController
(
"bookClockKeywordFacade"
)
public
class
BookClockKeywordFacadeImpl
implements
BookClockKeywordFacade
{
@Autowired
private
BookClockKeywordBiz
bookClockKeywordBiz
;
@Override
@RequestMapping
(
value
=
"getKeywordBookClockList"
,
method
=
RequestMethod
.
POST
)
public
ResponseDto
<?>
getKeywordBookClockList
(
@RequestHeader
String
token
,
@RequestBody
BookClockKeywordCheckParam
bookClockKeywordCheckParam
)
throws
BizException
,
PermissionException
{
Long
adviserId
=
(
Long
)
SessionUtil
.
getVlaue
(
token
,
SessionUtil
.
PARTY_ID
);
bookClockKeywordCheckParam
.
setAdviserId
(
adviserId
);
if
(
null
==
bookClockKeywordCheckParam
||
StringUtil
.
isEmpty
(
bookClockKeywordCheckParam
.
getKeyword
())){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"参数有误"
);
}
return
new
ResponseDto
<>(
bookClockKeywordBiz
.
getKeywordBookClockList
(
bookClockKeywordCheckParam
));
}
@Override
@RequestMapping
(
value
=
"getKeywordBookClockList4HasSelected"
,
method
=
RequestMethod
.
POST
)
public
ResponseDto
<?>
getKeywordBookClockList4HasSelected
(
@RequestHeader
String
token
,
@RequestBody
BookClockKeywordCheckParam
bookClockKeywordCheckParam
)
throws
BizException
,
PermissionException
{
Long
adviserId
=
(
Long
)
SessionUtil
.
getVlaue
(
token
,
SessionUtil
.
PARTY_ID
);
if
(
null
==
bookClockKeywordCheckParam
||
StringUtil
.
isEmpty
(
bookClockKeywordCheckParam
.
getKeyword
())
||
null
==
bookClockKeywordCheckParam
.
getIsBookGroup
()){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"参数有误"
);
}
if
(
null
==
bookClockKeywordCheckParam
.
getCurrentPage
()
||
null
==
bookClockKeywordCheckParam
.
getNumPerPage
()){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"分页参数有误"
);
}
bookClockKeywordCheckParam
.
setAdviserId
(
adviserId
);
return
new
ResponseDto
<>(
bookClockKeywordBiz
.
getKeywordBookClockList4HasSelected
(
bookClockKeywordCheckParam
));
}
@Override
@RequestMapping
(
value
=
"cancelSelected"
,
method
=
RequestMethod
.
POST
)
public
ResponseDto
<?>
cancelSelected
(
@RequestHeader
String
token
,
@RequestBody
CancelSelectedParam
cancelSelectedParam
)
throws
BizException
,
PermissionException
{
Long
adviserId
=
(
Long
)
SessionUtil
.
getVlaue
(
token
,
SessionUtil
.
PARTY_ID
);
if
(
null
==
cancelSelectedParam
.
getBookClockInfoId
()){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"参数有误"
);
}
if
(
null
==
cancelSelectedParam
.
getBookGroupId
()
&&
null
==
cancelSelectedParam
.
getClassifyId
()){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"参数有误"
);
}
bookClockKeywordBiz
.
cancelSelected
(
cancelSelectedParam
);
return
new
ResponseDto
<>();
}
}
pcloud-service-book/src/main/java/com/pcloud/book/clock/service/impl/BookClockInfoServiceImpl.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
service
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.pcloud.book.clock.biz.BookClockBiz
;
import
com.pcloud.book.clock.biz.BookClockKeywordBiz
;
import
com.pcloud.book.clock.dao.BookClockKeywordDao
;
import
com.pcloud.book.clock.dto.BookClockInfoDTO
;
import
com.pcloud.book.clock.dto.BookGroupClockKeywordDTO
;
import
com.pcloud.book.clock.service.BookClockInfoService
;
import
com.pcloud.book.keywords.biz.BookGuideBiz
;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.utils.ResponseHandleUtil
;
import
com.pcloud.common.utils.string.StringUtil
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.Map
;
/**
* @Description
* @Author hzk
* @Date 2019/5/29 10:25
**/
@RestController
(
"bookClockInfoService"
)
@RequestMapping
(
"bookClockInfoService"
)
public
class
BookClockInfoServiceImpl
implements
BookClockInfoService
{
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
BookClockInfoServiceImpl
.
class
);
@Autowired
private
BookClockKeywordBiz
bookClockKeywordBiz
;
@Autowired
private
BookClockBiz
bookClockBiz
;
@Autowired
private
BookGuideBiz
bookGuideBiz
;
/**
* 获取微信群某一动作动作关键词
* @param bookClockInfoId
* @param operation
* @return
* @throws BizException
*/
@Override
@RequestMapping
(
value
=
"getBookClockKeyword4Clock"
,
method
=
RequestMethod
.
GET
)
public
ResponseEntity
<
ResponseDto
<
BookGroupClockKeywordDTO
>>
getBookClockKeyword4Clock
(
@RequestParam
(
value
=
"bookClockInfoId"
,
required
=
false
)
Long
bookClockInfoId
,
@RequestParam
(
"operation"
)
String
operation
)
throws
BizException
{
LOGGER
.
info
(
"getBookClockKeyword4Clock,param->"
+
bookClockInfoId
+
",operation="
+
operation
);
if
(
null
==
bookClockInfoId
||
StringUtil
.
isEmpty
(
operation
)){
return
null
;
}
return
ResponseHandleUtil
.
toResponse
(
bookClockKeywordBiz
.
getBookClockKeyword4Clock
(
bookClockInfoId
,
operation
));
}
@Override
@RequestMapping
(
value
=
"sendBookClockGroupMessage"
,
method
=
RequestMethod
.
POST
)
public
void
sendBookClockGroupMessage
(
@RequestBody
Map
<
String
,
Object
>
map
)
throws
BizException
{
LOGGER
.
info
(
"内部接口群发消息被调用"
+
map
.
toString
());
bookClockBiz
.
sendBookClockGroupMessage
(
map
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/clock/set/BookGroupClockSet.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
set
;
import
com.pcloud.book.clock.dto.BookClockInfoDTO
;
import
com.pcloud.book.clock.entity.BookClockInfo
;
import
com.pcloud.book.clock.entity.BookClockKeyword
;
import
com.pcloud.book.clock.entity.BookGroupClock
;
import
java.util.List
;
/**
* @Author: hzk
* @Date: 2019/5/27 10:39
* @Version 1.0
*/
public
interface
BookGroupClockSet
{
/**
* 封装对象
* @param bookClockInfo
* @param isBookGroupId
* @param ids
* @return
*/
List
<
BookGroupClock
>
setData4BookGroupClock
(
BookClockInfo
bookClockInfo
,
Boolean
isBookGroupId
,
List
<
Long
>
ids
);
/**
* 封装关键词对象
* @param bookClockInfoId
* @param sequence
* @param bookClockKeywordList
*/
void
setData4BookClockKeyword
(
Long
bookClockInfoId
,
Long
adviserId
,
Long
sequence
,
List
<
BookClockKeyword
>
bookClockKeywordList
);
/**
* 根据作品/应用获取关联的社群书及分类集合
* @param bookClockInfoIds
* @return
*/
BookClockInfoDTO
getGroupAndClassifyListByInfoIds
(
List
<
Long
>
bookClockInfoIds
);
/**
* 创建定时任务
* @param bookClockInfo
*/
void
createCronQuartz
(
BookClockInfo
bookClockInfo
);
/**
* 获取书集合与分类集合的重复部分
* @param bookGroupIds
* @param classifyIds
* @param returnBookId
* @return
*/
List
<
Long
>
getSameClassifyUnderBookGroup
(
List
<
Long
>
bookGroupIds
,
List
<
Long
>
classifyIds
,
boolean
returnBookId
);
}
pcloud-service-book/src/main/java/com/pcloud/book/clock/set/impl/BookGroupClockSetImpl.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
set
.
impl
;
import
com.google.common.collect.Lists
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.clock.dao.BookGroupClockDao
;
import
com.pcloud.book.clock.dto.BookClockInfoDTO
;
import
com.pcloud.book.clock.dto.BookGroupClockDTO
;
import
com.pcloud.book.clock.entity.BookClockInfo
;
import
com.pcloud.book.clock.entity.BookClockKeyword
;
import
com.pcloud.book.clock.entity.BookGroupClock
;
import
com.pcloud.book.clock.set.BookGroupClockSet
;
import
com.pcloud.book.group.dao.BookGroupClassifyDao
;
import
com.pcloud.book.group.dao.BookGroupDao
;
import
com.pcloud.book.group.dto.BookGroupDTO
;
import
com.pcloud.book.group.dto.ClassifyDTO
;
import
com.pcloud.book.util.common.CommonUtils
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.string.StringUtil
;
import
com.pcloud.facade.quartz.entity.CallBackParam
;
import
com.pcloud.facade.quartz.entity.ScheduleJob
;
import
com.pcloud.facade.quartz.service.ScheduleService
;
import
com.pcloud.message.config.exception.ConfigBizException
;
import
org.codehaus.jackson.JsonParseException
;
import
org.quartz.SchedulerException
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* @Author: hzk
* @Date: 2019/5/27 10:40
* @Version 1.0
*/
@Component
(
"bookGroupClockSet"
)
public
class
BookGroupClockSetImpl
implements
BookGroupClockSet
{
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
BookGroupClockSetImpl
.
class
);
@Autowired
private
BookGroupClockDao
bookGroupClockDao
;
@Autowired
private
BookGroupDao
bookGroupDao
;
@Autowired
private
BookGroupClassifyDao
bookGroupClassifyDao
;
@Autowired
private
ScheduleService
scheduleService
;
/**
* 封装bookGroupClock对象
* @param bookClockInfo
* @param isBookGroupId
* @param ids
* @return
*/
@Override
@ParamLog
(
"封装bookGroupClock对象"
)
public
List
<
BookGroupClock
>
setData4BookGroupClock
(
BookClockInfo
bookClockInfo
,
Boolean
isBookGroupId
,
List
<
Long
>
ids
)
{
List
<
BookGroupClock
>
bookGroupClockList
=
new
ArrayList
<>();
for
(
Long
id:
ids
)
{
BookGroupClock
newBookGroupClock
=
new
BookGroupClock
();
newBookGroupClock
.
setBookClockInfoId
(
bookClockInfo
.
getBookClockInfoId
());
newBookGroupClock
.
setChannelId
(
bookClockInfo
.
getChannelId
());
if
(
isBookGroupId
){
newBookGroupClock
.
setBookGroupId
(
id
);
newBookGroupClock
.
setClassifyId
(
0L
);
}
else
{
newBookGroupClock
.
setBookGroupId
(
0L
);
newBookGroupClock
.
setClassifyId
(
id
);
}
newBookGroupClock
.
setCreateUser
(
bookClockInfo
.
getCreateUser
());
newBookGroupClock
.
setUpdateUser
(
bookClockInfo
.
getUpdateUser
());
bookGroupClockList
.
add
(
newBookGroupClock
);
}
return
bookGroupClockList
;
}
/**
* 封装关键词对象
* @param bookClockInfoId
* @param sequence
* @param bookClockKeywordList
*/
@Override
@ParamLog
(
"封装关键词对象"
)
public
void
setData4BookClockKeyword
(
Long
bookClockInfoId
,
Long
adviserId
,
Long
sequence
,
List
<
BookClockKeyword
>
bookClockKeywordList
)
{
for
(
BookClockKeyword
bookClockKeyword:
bookClockKeywordList
)
{
if
(
StringUtil
.
isEmpty
(
bookClockKeyword
.
getOperation
())
||
StringUtil
.
isEmpty
(
bookClockKeyword
.
getKeyword
())
||
StringUtil
.
isEmpty
(
bookClockKeyword
.
getGuide
())){
throw
new
BookBizException
(
BookBizException
.
ERROR
,
"关键词参数有误!"
);
}
bookClockKeyword
.
setBookClockInfoId
(
bookClockInfoId
);
bookClockKeyword
.
setSequenceNum
(++
sequence
);
bookClockKeyword
.
setCreateUser
(
adviserId
);
bookClockKeyword
.
setUpdateUser
(
adviserId
);
}
}
/**
* 根据作品/应用获取关联的社群书及分类集合
* @param bookClockInfoIds
* @return
*/
@Override
@ParamLog
(
"根据作品/应用获取关联的社群书及分类集合"
)
public
BookClockInfoDTO
getGroupAndClassifyListByInfoIds
(
List
<
Long
>
bookClockInfoIds
)
{
BookClockInfoDTO
bookClockInfoDTO
=
new
BookClockInfoDTO
();
//关联的社群码
List
<
BookGroupClockDTO
>
bookGroupClockDTOS
=
bookGroupClockDao
.
getInfoByInfoIds
(
bookClockInfoIds
);
if
(!
ListUtils
.
isEmpty
(
bookGroupClockDTOS
)){
List
<
Long
>
bookGroupIds
=
bookGroupClockDTOS
.
stream
().
filter
(
bookGroupClockDTO
->
0
==
bookGroupClockDTO
.
getClassifyId
()).
map
(
BookGroupClockDTO:
:
getBookGroupId
).
collect
(
Collectors
.
toList
());
if
(!
ListUtils
.
isEmpty
(
bookGroupIds
)){
bookClockInfoDTO
.
setBookGroupIdList
(
bookGroupIds
);
List
<
BookGroupDTO
>
bookGroupDTOS
=
bookGroupDao
.
getBookBaseInfoByIds
(
bookGroupIds
);
bookClockInfoDTO
.
setBookGroupDTOList
(
bookGroupDTOS
);
}
List
<
Long
>
classifyIds
=
bookGroupClockDTOS
.
stream
().
filter
(
bookGroupClockDTO
->
0
==
bookGroupClockDTO
.
getBookGroupId
()).
map
(
BookGroupClockDTO:
:
getClassifyId
).
collect
(
Collectors
.
toList
());
if
(!
ListUtils
.
isEmpty
(
classifyIds
)){
bookClockInfoDTO
.
setClassifyIdList
(
classifyIds
);
List
<
ClassifyDTO
>
classifyDTOS
=
bookGroupClassifyDao
.
getNameWithBookNameByIds
(
classifyIds
);
bookClockInfoDTO
.
setClassifyDTOList
(
classifyDTOS
);
}
}
return
bookClockInfoDTO
;
}
/**
* 创建定时任务
* @param bookClockInfo
*/
@Override
@ParamLog
(
"创建定时任务"
)
public
void
createCronQuartz
(
BookClockInfo
bookClockInfo
)
{
try
{
ScheduleJob
job
=
new
ScheduleJob
();
String
jobName
=
"clockMsgConfig_"
+
bookClockInfo
.
getBookClockInfoId
();
StringBuffer
cron
=
new
StringBuffer
();
try
{
String
noticeTime
=
bookClockInfo
.
getNoticeTime
();
int
hour
=
Integer
.
parseInt
(
noticeTime
.
substring
(
0
,
2
));
int
minute
=
Integer
.
parseInt
(
noticeTime
.
substring
(
3
,
5
));
int
second
=
Integer
.
parseInt
(
noticeTime
.
substring
(
6
,
8
));
cron
.
append
(
second
).
append
(
" "
).
append
(
minute
).
append
(
" "
).
append
(
hour
)
.
append
(
" "
).
append
(
"*"
).
append
(
" "
).
append
(
"*"
).
append
(
" "
).
append
(
"?"
).
append
(
" "
).
append
(
"*"
);
}
catch
(
Exception
e
)
{
throw
new
BookBizException
(
BookBizException
.
ERROR
,
"时间格式错误"
);
}
//定时器任务
job
.
setJobName
(
jobName
);
//cron表达式
job
.
setCronExpression
(
cron
.
toString
());
//定时器分组
job
.
setJobGroup
(
"book"
);
CallBackParam
param
=
new
CallBackParam
();
//service名称
param
.
setBeanName
(
"bookClockInfoService"
);
//回调内部接口方法名称
param
.
setMethodName
(
"sendBookClockGroupMessage"
);
//设置回调参数
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"bookClockInfoId"
,
bookClockInfo
.
getBookClockInfoId
());
param
.
setParamMap
(
map
);
Map
<
String
,
Object
>
scheduleMap
=
new
HashMap
<>();
scheduleMap
.
put
(
"scheduleJob"
,
job
);
scheduleMap
.
put
(
"callBackParam"
,
param
);
scheduleService
.
addCronJob
(
scheduleMap
);
}
catch
(
JsonParseException
e
)
{
LOGGER
.
error
(
"----------调用定时器方法【addCronJob】出现异常:"
+
e
.
getMessage
(),
e
);
throw
new
ConfigBizException
(
ConfigBizException
.
FAIL
,
"操作失败!"
);
}
catch
(
SchedulerException
e
)
{
LOGGER
.
error
(
"----------调用定时器方法【addCronJob】出现异常:"
+
e
.
getMessage
(),
e
);
throw
new
ConfigBizException
(
ConfigBizException
.
FAIL
,
"操作失败!"
);
}
}
/**
* 获取书集合与分类集合的重复部分
* @param bookGroupIds
* @param classifyIds
* @param returnBookId
* @return
*/
@Override
public
List
<
Long
>
getSameClassifyUnderBookGroup
(
List
<
Long
>
bookGroupIds
,
List
<
Long
>
classifyIds
,
boolean
returnBookId
)
{
if
(
ListUtils
.
isEmpty
(
bookGroupIds
)){
return
null
;
}
if
(
ListUtils
.
isEmpty
(
classifyIds
)){
return
null
;
}
List
<
Long
>
result
=
new
ArrayList
<>();
//获取书下分类集合
for
(
Long
bookGroupId:
bookGroupIds
)
{
List
<
Long
>
idByBookGroupIds
=
bookGroupClassifyDao
.
getIdByBookGroupIds
(
Lists
.
newArrayList
(
bookGroupId
));
List
<
Long
>
sameEle
=
CommonUtils
.
getSameEle
(
idByBookGroupIds
,
classifyIds
);
if
(!
ListUtils
.
isEmpty
(
sameEle
)){
if
(
returnBookId
){
result
.
add
(
bookGroupId
);
}
else
{
result
.
addAll
(
sameEle
);
}
}
}
return
result
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/clock/vo/response/ListBookGroupClockResponseVO.java
0 → 100644
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
clock
.
vo
.
response
;
import
com.pcloud.book.clock.dto.BookClockListDTO
;
import
lombok.Data
;
import
org.springframework.beans.BeanUtils
;
/**
* @Describe: TODO
* @Author: zhangdongwei
* @Date: Create on 18:21 2019/5/28 0028
*/
@Data
public
class
ListBookGroupClockResponseVO
{
private
Long
bookClockInfoId
;
private
Long
originId
;
private
String
originType
;
private
String
originTitle
;
private
String
originImg
;
private
String
uniqueNumber
;
/**
* 社群书数
*/
private
Integer
bookCount
;
/**
* 群分类数
*/
private
Integer
classifyCount
;
/**
* 群总数
*/
private
Integer
bookGroupQrcodeNum
;
public
Long
getBookClockInfoId
()
{
return
bookClockInfoId
;
}
public
void
setBookClockInfoId
(
Long
bookClockInfoId
)
{
this
.
bookClockInfoId
=
bookClockInfoId
;
}
public
Long
getOriginId
()
{
return
originId
;
}
public
void
setOriginId
(
Long
originId
)
{
this
.
originId
=
originId
;
}
public
String
getOriginType
()
{
return
originType
;
}
public
void
setOriginType
(
String
originType
)
{
this
.
originType
=
originType
;
}
public
String
getOriginTitle
()
{
return
originTitle
;
}
public
void
setOriginTitle
(
String
originTitle
)
{
this
.
originTitle
=
originTitle
;
}
public
String
getOriginImg
()
{
return
originImg
;
}
public
void
setOriginImg
(
String
originImg
)
{
this
.
originImg
=
originImg
;
}
public
String
getUniqueNumber
()
{
return
uniqueNumber
;
}
public
void
setUniqueNumber
(
String
uniqueNumber
)
{
this
.
uniqueNumber
=
uniqueNumber
;
}
public
Integer
getBookCount
()
{
return
bookCount
;
}
public
void
setBookCount
(
Integer
bookCount
)
{
this
.
bookCount
=
bookCount
;
}
public
Integer
getClassifyCount
()
{
return
classifyCount
;
}
public
void
setClassifyCount
(
Integer
classifyCount
)
{
this
.
classifyCount
=
classifyCount
;
}
public
Integer
getBookGroupQrcodeNum
()
{
return
bookGroupQrcodeNum
;
}
public
void
setBookGroupQrcodeNum
(
Integer
bookGroupQrcodeNum
)
{
this
.
bookGroupQrcodeNum
=
bookGroupQrcodeNum
;
}
public
static
ListBookGroupClockResponseVO
valueFromBookClockInfoDTO
(
BookClockListDTO
dto
){
ListBookGroupClockResponseVO
vo
=
new
ListBookGroupClockResponseVO
();
BeanUtils
.
copyProperties
(
dto
,
vo
);
//去掉社群书id为0的书
dto
.
getBookGroupIdList
().
remove
(
0L
);
vo
.
setBookCount
(
dto
.
getBookGroupIdList
().
size
());
return
vo
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/consumer/reader/ReaderConsr.java
View file @
cc4ec6af
...
@@ -4,6 +4,8 @@ import java.util.HashMap;
...
@@ -4,6 +4,8 @@ import java.util.HashMap;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
com.pcloud.common.utils.string.StringUtil
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -79,6 +81,19 @@ public class ReaderConsr {
...
@@ -79,6 +81,19 @@ public class ReaderConsr {
return
JSONUtils
.
toJSONString
(
headUrls
);
return
JSONUtils
.
toJSONString
(
headUrls
);
}
}
@ParamLog
(
value
=
"获取wechatUserId"
,
isAfterReturn
=
false
)
public
Long
getWechatUserId
(
String
wxUserId
,
Long
channelId
)
throws
BizException
{
if
(
channelId
==
null
||
StringUtil
.
isEmpty
(
wxUserId
))
{
return
null
;
}
try
{
return
ResponseHandleUtil
.
parseResponse
(
wechatUserService
.
getWechatUserId
(
wxUserId
,
channelId
),
Long
.
class
);
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"获取wechatUserId失败[wechatUserService.getWechatUserId]:"
+
e
.
getMessage
(),
e
);
}
return
null
;
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/consumer/resource/ProductConsr.java
View file @
cc4ec6af
...
@@ -7,6 +7,7 @@ import com.pcloud.book.base.exception.BookBizException;
...
@@ -7,6 +7,7 @@ import com.pcloud.book.base.exception.BookBizException;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.ResponseHandleUtil
;
import
com.pcloud.common.utils.ResponseHandleUtil
;
import
com.pcloud.resourcecenter.product.dto.ProDto
;
import
com.pcloud.resourcecenter.product.dto.Product4BookDTO
;
import
com.pcloud.resourcecenter.product.dto.Product4BookDTO
;
import
com.pcloud.resourcecenter.product.dto.ProductDto
;
import
com.pcloud.resourcecenter.product.dto.ProductDto
;
import
com.pcloud.resourcecenter.product.dto.UpdateAppProductParamDTO
;
import
com.pcloud.resourcecenter.product.dto.UpdateAppProductParamDTO
;
...
@@ -18,6 +19,7 @@ import org.slf4j.LoggerFactory;
...
@@ -18,6 +19,7 @@ import org.slf4j.LoggerFactory;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -211,4 +213,35 @@ public class ProductConsr {
...
@@ -211,4 +213,35 @@ public class ProductConsr {
return
resultMap
;
return
resultMap
;
}
}
/**
* 获取商品基本信息(含编号)
* @param productId
* @return
* @throws BizException
*/
public
ProDto
getProBasesInfoById
(
Long
productId
)
throws
BizException
{
LOGGER
.
info
(
"【资源中心(消)】获取商品基本信息,<START>.[productIds]="
+
productId
+
"]"
);
if
(
productId
==
null
)
{
return
null
;
}
try
{
List
<
Long
>
productIds
=
new
ArrayList
<>();
productIds
.
add
(
productId
);
Map
<
Long
,
ProDto
>
resultMap
=
ResponseHandleUtil
.
parseMapResponse
(
productService
.
getProBasesInfoByIds
(
productIds
),
Long
.
class
,
ProDto
.
class
);
if
(
null
==
resultMap
){
return
null
;
}
return
resultMap
.
get
(
productId
);
}
catch
(
BizException
e
)
{
LOGGER
.
warn
(
"【资源中心(消)】获取商品基本信息失败:"
+
e
.
getMessage
(),
e
);
throw
new
BizException
(
e
.
getCode
(),
e
.
getMessage
());
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"【资源中心(消)】获取商品基本信息.[getProBasesInfoById]:"
+
e
.
getMessage
(),
e
);
throw
new
BookBizException
(
BookBizException
.
INVOKE_RES_ERROR
,
"服务内部错误,请稍后重试"
);
}
finally
{
LOGGER
.
info
(
"【资源中心(消)】获取商品基本信息,<END>"
);
}
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/BookGroupClassifyBiz.java
View file @
cc4ec6af
...
@@ -6,6 +6,7 @@ import com.pcloud.book.group.dto.GroupClassifyQrcodeDTO;
...
@@ -6,6 +6,7 @@ import com.pcloud.book.group.dto.GroupClassifyQrcodeDTO;
import
com.pcloud.book.group.dto.GroupNameAndMaxSeqDTO
;
import
com.pcloud.book.group.dto.GroupNameAndMaxSeqDTO
;
import
com.pcloud.book.group.dto.GroupQrcodeBaseDTO
;
import
com.pcloud.book.group.dto.GroupQrcodeBaseDTO
;
import
com.pcloud.book.group.dto.ProAssocGroupAndUserNumberDTO
;
import
com.pcloud.book.group.dto.ProAssocGroupAndUserNumberDTO
;
import
com.pcloud.book.group.entity.BookGroupClassify
;
import
com.pcloud.book.group.vo.AddClassifyVO
;
import
com.pcloud.book.group.vo.AddClassifyVO
;
import
com.pcloud.book.group.vo.BookGroupQrcodeStatisticVO
;
import
com.pcloud.book.group.vo.BookGroupQrcodeStatisticVO
;
import
com.pcloud.book.group.vo.ClassifyAndGroupCountVO
;
import
com.pcloud.book.group.vo.ClassifyAndGroupCountVO
;
...
@@ -22,6 +23,7 @@ import com.pcloud.book.group.vo.StatisticVO;
...
@@ -22,6 +23,7 @@ import com.pcloud.book.group.vo.StatisticVO;
import
com.pcloud.book.group.vo.UpdateClassifyVO
;
import
com.pcloud.book.group.vo.UpdateClassifyVO
;
import
com.pcloud.book.group.vo.UpdateRankVO
;
import
com.pcloud.book.group.vo.UpdateRankVO
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageParam
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -177,4 +179,11 @@ public interface BookGroupClassifyBiz {
...
@@ -177,4 +179,11 @@ public interface BookGroupClassifyBiz {
* @Date:2019/5/10 20:18
* @Date:2019/5/10 20:18
*/
*/
ProAssocGroupAndUserNumberDTO
getProAssocGroupAndUserNumber
(
Long
productId
);
ProAssocGroupAndUserNumberDTO
getProAssocGroupAndUserNumber
(
Long
productId
);
/**
* @Author:hzk
* @Desr:获取分类列表
* @Date:2019/4/17 15:53
*/
PageBeanNew
<
ClassifyDTO
>
listSimpleBookGroupClassify4Adviser
(
Long
adviserId
,
BookGroupClassify
bookGroupClassify
,
PageParam
pageParam
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/impl/BookGroupClassifyBizImpl.java
View file @
cc4ec6af
...
@@ -745,4 +745,23 @@ public class BookGroupClassifyBizImpl implements BookGroupClassifyBiz {
...
@@ -745,4 +745,23 @@ public class BookGroupClassifyBizImpl implements BookGroupClassifyBiz {
}
}
}
}
/**
* 获取社群书分类列表(编辑)
* @param adviserId
* @param bookGroupClassify
* @return
*/
@Override
@ParamLog
(
"获取社群书分类列表(编辑)"
)
public
PageBeanNew
<
ClassifyDTO
>
listSimpleBookGroupClassify4Adviser
(
Long
adviserId
,
BookGroupClassify
bookGroupClassify
,
PageParam
pageParam
)
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"adviserId"
,
adviserId
);
if
(!
StringUtil
.
isEmpty
(
bookGroupClassify
.
getClassify
())){
paramMap
.
put
(
"classify"
,
bookGroupClassify
.
getClassify
());
}
if
(!
ListUtils
.
isEmpty
(
bookGroupClassify
.
getBookGroupIds
())){
paramMap
.
put
(
"bookGroupIds"
,
bookGroupClassify
.
getBookGroupIds
());
}
return
bookGroupClassifyDao
.
listPageNew
(
pageParam
,
paramMap
,
"listSimpleBookGroupClassify4Adviser"
);
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/BookGroupClassifyDao.java
View file @
cc4ec6af
...
@@ -191,4 +191,32 @@ public interface BookGroupClassifyDao extends BaseDao<BookGroupClassify> {
...
@@ -191,4 +191,32 @@ public interface BookGroupClassifyDao extends BaseDao<BookGroupClassify> {
* @Date:2019/5/14 15:52
* @Date:2019/5/14 15:52
*/
*/
Integer
getMaxRank
(
Long
bookGroupId
);
Integer
getMaxRank
(
Long
bookGroupId
);
/**
* 获取分类名称及对应社群码名称
* @param classifyIds
* @return
*/
List
<
ClassifyDTO
>
getNameWithBookNameByIds
(
List
<
Long
>
classifyIds
);
/**
* 获取书下面分类ID集合
* @param bookGroupIdList
* @return
*/
List
<
Long
>
getIdByBookGroupIds
(
List
<
Long
>
bookGroupIdList
);
/**
* 获取书下面分类ID集合
* @param bookGroupIdList
* @return
*/
Map
<
Long
,
List
<
Long
>>
getClassifyIdsByBookGroupIds
(
List
<
Long
>
bookGroupIdList
);
/**
* 获取分类名称及对应社群码名称
* @param paramMap
* @return
*/
List
<
ClassifyDTO
>
getNameWithBookClockInfoIdByIds
(
Map
<
String
,
Object
>
paramMap
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/BookGroupDao.java
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
group
.
dao
;
package
com
.
pcloud
.
book
.
group
.
dao
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
com.pcloud.book.group.dto.BookGroupDTO
;
import
com.pcloud.book.group.dto.BookGroupDTO
;
import
com.pcloud.book.group.dto.QrcodeNameAndProIdDTO
;
import
com.pcloud.book.group.dto.QrcodeNameAndProIdDTO
;
import
com.pcloud.book.group.entity.BookGroup
;
import
com.pcloud.book.group.entity.BookGroup
;
...
@@ -116,4 +118,11 @@ public interface BookGroupDao extends BaseDao<BookGroup> {
...
@@ -116,4 +118,11 @@ public interface BookGroupDao extends BaseDao<BookGroup> {
* @Date:2019/5/28 11:15
* @Date:2019/5/28 11:15
*/
*/
Boolean
isSpecialAgent
(
Long
agentId
);
Boolean
isSpecialAgent
(
Long
agentId
);
/**
* 获取社群书基本信息(包括书籍封面isbn号)
* @param paramMap
* @return
*/
List
<
BookGroupDTO
>
getBookInfoByIdsWithBookClockInfoId
(
Map
<
String
,
Object
>
paramMap
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/GroupQrcodeDao.java
View file @
cc4ec6af
...
@@ -129,4 +129,19 @@ public interface GroupQrcodeDao extends BaseDao<GroupQrcode> {
...
@@ -129,4 +129,19 @@ public interface GroupQrcodeDao extends BaseDao<GroupQrcode> {
* @return
* @return
*/
*/
GroupQrcode
getGroupQrcodeByGroupId
(
String
wechatGroupId
);
GroupQrcode
getGroupQrcodeByGroupId
(
String
wechatGroupId
);
/**
* @Author: zhangdongwei
* 根据群分类ids获取群总数
* @param classifyIds
* @return
*/
Integer
countByClassifyIds
(
List
<
Long
>
classifyIds
);
/**
* 根据群分类id集合查询群id集合
* @param classifyIds
* @return
*/
List
<
String
>
getWeixinGroupIdsByClassifyIdList
(
List
<
Long
>
classifyIds
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/impl/BookGroupClassifyDaoImpl.java
View file @
cc4ec6af
...
@@ -167,4 +167,24 @@ public class BookGroupClassifyDaoImpl extends BaseDaoImpl<BookGroupClassify> imp
...
@@ -167,4 +167,24 @@ public class BookGroupClassifyDaoImpl extends BaseDaoImpl<BookGroupClassify> imp
public
ClassifyDTO
getBaseInfoBySpecId
(
Long
productSpecId
)
{
public
ClassifyDTO
getBaseInfoBySpecId
(
Long
productSpecId
)
{
return
this
.
getSqlSession
().
selectOne
(
this
.
getStatement
(
"getBaseInfoBySpecId"
),
productSpecId
);
return
this
.
getSqlSession
().
selectOne
(
this
.
getStatement
(
"getBaseInfoBySpecId"
),
productSpecId
);
}
}
@Override
public
List
<
ClassifyDTO
>
getNameWithBookNameByIds
(
List
<
Long
>
classifyIds
)
{
return
this
.
getSqlSession
().
selectList
(
this
.
getStatement
(
"getNameWithBookNameByIds"
),
classifyIds
);
}
@Override
public
List
<
Long
>
getIdByBookGroupIds
(
List
<
Long
>
bookGroupIdList
)
{
return
this
.
getSqlSession
().
selectList
(
this
.
getStatement
(
"getIdByBookGroupIds"
),
bookGroupIdList
);
}
@Override
public
Map
<
Long
,
List
<
Long
>>
getClassifyIdsByBookGroupIds
(
List
<
Long
>
bookGroupIdList
)
{
return
this
.
getSqlSession
().
selectMap
(
this
.
getStatement
(
"getClassifyIdsByBookGroupIds"
),
bookGroupIdList
,
"bookGroupId"
);
}
@Override
public
List
<
ClassifyDTO
>
getNameWithBookClockInfoIdByIds
(
Map
<
String
,
Object
>
paramMap
)
{
return
this
.
getSqlSession
().
selectList
(
this
.
getStatement
(
"getNameWithBookClockInfoIdByIds"
),
paramMap
);
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/impl/BookGroupDaoImpl.java
View file @
cc4ec6af
...
@@ -122,4 +122,9 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou
...
@@ -122,4 +122,9 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou
public
Boolean
isSpecialAgent
(
Long
agentId
)
{
public
Boolean
isSpecialAgent
(
Long
agentId
)
{
return
this
.
getSqlSession
().
selectOne
(
this
.
getStatement
(
"isSpecialAgent"
),
agentId
);
return
this
.
getSqlSession
().
selectOne
(
this
.
getStatement
(
"isSpecialAgent"
),
agentId
);
}
}
@Override
public
List
<
BookGroupDTO
>
getBookInfoByIdsWithBookClockInfoId
(
Map
<
String
,
Object
>
paramMap
)
{
return
this
.
getSqlSession
().
selectList
(
this
.
getStatement
(
"getBookInfoByIdsWithBookClockInfoId"
),
paramMap
);
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/impl/GroupQrcodeDaoImpl.java
View file @
cc4ec6af
...
@@ -120,4 +120,13 @@ public class GroupQrcodeDaoImpl extends BaseDaoImpl<GroupQrcode> implements Grou
...
@@ -120,4 +120,13 @@ public class GroupQrcodeDaoImpl extends BaseDaoImpl<GroupQrcode> implements Grou
return
this
.
getSqlSession
().
selectOne
(
this
.
getStatement
(
"getGroupQrcodeByGroupId"
),
wechatGroupId
);
return
this
.
getSqlSession
().
selectOne
(
this
.
getStatement
(
"getGroupQrcodeByGroupId"
),
wechatGroupId
);
}
}
@Override
public
Integer
countByClassifyIds
(
List
<
Long
>
classifyIds
)
{
return
this
.
getSqlSession
().
selectOne
(
this
.
getStatement
(
"countByClassifyIds"
),
classifyIds
);
}
@Override
public
List
<
String
>
getWeixinGroupIdsByClassifyIdList
(
List
<
Long
>
classifyIds
)
{
return
this
.
getSqlSession
().
selectList
(
this
.
getStatement
(
"getWeixinGroupIdsByClassifyIdList"
),
classifyIds
);
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/dto/BookGroupDTO.java
View file @
cc4ec6af
...
@@ -126,8 +126,12 @@ public class BookGroupDTO extends BaseDto {
...
@@ -126,8 +126,12 @@ public class BookGroupDTO extends BaseDto {
*/
*/
private
String
isbn
;
private
String
isbn
;
private
String
bookName
;
private
String
url
;
private
String
url
;
private
Long
bookClockInfoId
;
public
String
getUrl
()
{
public
String
getUrl
()
{
return
url
;
return
url
;
}
}
...
@@ -314,6 +318,22 @@ public class BookGroupDTO extends BaseDto {
...
@@ -314,6 +318,22 @@ public class BookGroupDTO extends BaseDto {
this
.
isbn
=
isbn
;
this
.
isbn
=
isbn
;
}
}
public
String
getBookName
()
{
return
bookName
;
}
public
void
setBookName
(
String
bookName
)
{
this
.
bookName
=
bookName
;
}
public
Long
getBookClockInfoId
()
{
return
bookClockInfoId
;
}
public
void
setBookClockInfoId
(
Long
bookClockInfoId
)
{
this
.
bookClockInfoId
=
bookClockInfoId
;
}
@Override
@Override
public
String
toString
()
{
public
String
toString
()
{
return
"BookGroupDTO{"
+
return
"BookGroupDTO{"
+
...
@@ -339,6 +359,9 @@ public class BookGroupDTO extends BaseDto {
...
@@ -339,6 +359,9 @@ public class BookGroupDTO extends BaseDto {
", bookInfo="
+
bookInfo
+
", bookInfo="
+
bookInfo
+
", bookImg='"
+
bookImg
+
'\''
+
", bookImg='"
+
bookImg
+
'\''
+
", isbn='"
+
isbn
+
'\''
+
", isbn='"
+
isbn
+
'\''
+
", bookName='"
+
bookName
+
'\''
+
", url='"
+
url
+
'\''
+
", bookClockInfoId="
+
bookClockInfoId
+
'}'
;
'}'
;
}
}
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/group/dto/ClassifyDTO.java
View file @
cc4ec6af
...
@@ -80,6 +80,8 @@ public class ClassifyDTO implements Serializable {
...
@@ -80,6 +80,8 @@ public class ClassifyDTO implements Serializable {
*/
*/
private
Integer
rank
;
private
Integer
rank
;
private
Long
bookClockInfoId
;
public
Integer
getRank
()
{
public
Integer
getRank
()
{
return
rank
;
return
rank
;
}
}
...
@@ -184,6 +186,14 @@ public class ClassifyDTO implements Serializable {
...
@@ -184,6 +186,14 @@ public class ClassifyDTO implements Serializable {
this
.
bookGroupName
=
bookGroupName
;
this
.
bookGroupName
=
bookGroupName
;
}
}
public
Long
getBookClockInfoId
()
{
return
bookClockInfoId
;
}
public
void
setBookClockInfoId
(
Long
bookClockInfoId
)
{
this
.
bookClockInfoId
=
bookClockInfoId
;
}
@Override
@Override
public
String
toString
()
{
public
String
toString
()
{
return
"ClassifyDTO{"
+
return
"ClassifyDTO{"
+
...
@@ -200,6 +210,7 @@ public class ClassifyDTO implements Serializable {
...
@@ -200,6 +210,7 @@ public class ClassifyDTO implements Serializable {
", productSpecId="
+
productSpecId
+
", productSpecId="
+
productSpecId
+
", changeNumber="
+
changeNumber
+
", changeNumber="
+
changeNumber
+
", rank="
+
rank
+
", rank="
+
rank
+
", bookClockInfoId="
+
bookClockInfoId
+
'}'
;
'}'
;
}
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/entity/BookGroupClassify.java
View file @
cc4ec6af
...
@@ -5,6 +5,7 @@ import com.pcloud.common.entity.BaseEntity;
...
@@ -5,6 +5,7 @@ import com.pcloud.common.entity.BaseEntity;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
/**
/**
* @author 戴兴
* @author 戴兴
...
@@ -71,6 +72,11 @@ public class BookGroupClassify extends BaseEntity {
...
@@ -71,6 +72,11 @@ public class BookGroupClassify extends BaseEntity {
private
Integer
rank
;
private
Integer
rank
;
/**
/**
* 已选书籍列表
*/
private
List
<
Long
>
bookGroupIds
;
/**
* 创建人
* 创建人
*/
*/
private
Long
createUser
;
private
Long
createUser
;
...
@@ -94,6 +100,10 @@ public class BookGroupClassify extends BaseEntity {
...
@@ -94,6 +100,10 @@ public class BookGroupClassify extends BaseEntity {
)
)
private
Date
updateTime
;
private
Date
updateTime
;
private
Integer
currentPage
;
private
Integer
numPerPage
;
@Override
@Override
public
Long
getId
()
{
public
Long
getId
()
{
return
id
;
return
id
;
...
@@ -184,6 +194,14 @@ public class BookGroupClassify extends BaseEntity {
...
@@ -184,6 +194,14 @@ public class BookGroupClassify extends BaseEntity {
this
.
changeNumber
=
changeNumber
;
this
.
changeNumber
=
changeNumber
;
}
}
public
List
<
Long
>
getBookGroupIds
()
{
return
bookGroupIds
;
}
public
void
setBookGroupIds
(
List
<
Long
>
bookGroupIds
)
{
this
.
bookGroupIds
=
bookGroupIds
;
}
public
Long
getCreateUser
()
{
public
Long
getCreateUser
()
{
return
createUser
;
return
createUser
;
}
}
...
@@ -228,6 +246,22 @@ public class BookGroupClassify extends BaseEntity {
...
@@ -228,6 +246,22 @@ public class BookGroupClassify extends BaseEntity {
this
.
updateTime
=
updateTime
;
this
.
updateTime
=
updateTime
;
}
}
public
Integer
getCurrentPage
()
{
return
currentPage
;
}
public
void
setCurrentPage
(
Integer
currentPage
)
{
this
.
currentPage
=
currentPage
;
}
public
Integer
getNumPerPage
()
{
return
numPerPage
;
}
public
void
setNumPerPage
(
Integer
numPerPage
)
{
this
.
numPerPage
=
numPerPage
;
}
@Override
@Override
public
String
toString
()
{
public
String
toString
()
{
return
"BookGroupClassify{"
+
return
"BookGroupClassify{"
+
...
@@ -242,11 +276,14 @@ public class BookGroupClassify extends BaseEntity {
...
@@ -242,11 +276,14 @@ public class BookGroupClassify extends BaseEntity {
", productSpecId="
+
productSpecId
+
", productSpecId="
+
productSpecId
+
", changeNumber="
+
changeNumber
+
", changeNumber="
+
changeNumber
+
", rank="
+
rank
+
", rank="
+
rank
+
", bookGroupIds="
+
bookGroupIds
+
", createUser="
+
createUser
+
", createUser="
+
createUser
+
", updateUser="
+
updateUser
+
", updateUser="
+
updateUser
+
", isDelete="
+
isDelete
+
", isDelete="
+
isDelete
+
", createTime="
+
createTime
+
", createTime="
+
createTime
+
", updateTime="
+
updateTime
+
", updateTime="
+
updateTime
+
", currentPage="
+
currentPage
+
", numPerPage="
+
numPerPage
+
'}'
;
'}'
;
}
}
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/group/facade/BookGroupFacade.java
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
group
.
facade
;
package
com
.
pcloud
.
book
.
group
.
facade
;
import
com.pcloud.book.group.entity.BookGroupClassify
;
import
org.codehaus.jackson.JsonParseException
;
import
org.codehaus.jackson.JsonParseException
;
import
org.springframework.cloud.netflix.feign.FeignClient
;
import
org.springframework.cloud.netflix.feign.FeignClient
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.GetMapping
;
...
@@ -169,6 +170,15 @@ public interface BookGroupFacade {
...
@@ -169,6 +170,15 @@ public interface BookGroupFacade {
@RequestMapping
(
value
=
"getTotalBookGroupCount"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"getTotalBookGroupCount"
,
method
=
RequestMethod
.
GET
)
ResponseDto
<?>
getTotalBookGroupCount
(
@RequestHeader
(
"token"
)
String
token
)
throws
BizException
,
PermissionException
,
JsonParseException
;
ResponseDto
<?>
getTotalBookGroupCount
(
@RequestHeader
(
"token"
)
String
token
)
throws
BizException
,
PermissionException
,
JsonParseException
;
@ApiOperation
(
value
=
"获取社群书分类列表(编辑)"
,
httpMethod
=
"POST"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"token"
,
value
=
"token"
,
dataType
=
"string"
,
paramType
=
"header"
),
@ApiImplicitParam
(
name
=
"bookGroupClassify"
,
value
=
"群分类实体"
,
dataType
=
"BookGroupClassify"
,
paramType
=
"body"
)
})
@RequestMapping
(
value
=
"listSimpleBookGroupClassify4Adviser"
,
method
=
RequestMethod
.
POST
)
ResponseDto
<?>
listSimpleBookGroupClassify4Adviser
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
BookGroupClassify
bookGroupClassify
)
throws
BizException
,
PermissionException
;
@ApiOperation
(
value
=
"是否是特殊的出版社"
,
httpMethod
=
"GET"
)
@ApiOperation
(
value
=
"是否是特殊的出版社"
,
httpMethod
=
"GET"
)
@ApiImplicitParams
({
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"token"
,
value
=
"token"
,
dataType
=
"String"
,
paramType
=
"header"
)
@ApiImplicitParam
(
name
=
"token"
,
value
=
"token"
,
dataType
=
"String"
,
paramType
=
"header"
)
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/facade/impl/BookGroupFacadeImpl.java
View file @
cc4ec6af
...
@@ -2,6 +2,8 @@ package com.pcloud.book.group.facade.impl;
...
@@ -2,6 +2,8 @@ package com.pcloud.book.group.facade.impl;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Map
;
import
io.swagger.annotations.ApiOperation
;
import
org.codehaus.jackson.JsonParseException
;
import
org.codehaus.jackson.JsonParseException
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.GetMapping
;
...
@@ -14,7 +16,9 @@ import org.springframework.web.bind.annotation.RequestParam;
...
@@ -14,7 +16,9 @@ import org.springframework.web.bind.annotation.RequestParam;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.group.biz.BookGroupBiz
;
import
com.pcloud.book.group.biz.BookGroupBiz
;
import
com.pcloud.book.group.biz.BookGroupClassifyBiz
;
import
com.pcloud.book.group.entity.BookGroup
;
import
com.pcloud.book.group.entity.BookGroup
;
import
com.pcloud.book.group.entity.BookGroupClassify
;
import
com.pcloud.book.group.facade.BookGroupFacade
;
import
com.pcloud.book.group.facade.BookGroupFacade
;
import
com.pcloud.book.group.vo.UpdateRankTypeVO
;
import
com.pcloud.book.group.vo.UpdateRankTypeVO
;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.common.dto.ResponseDto
;
...
@@ -35,6 +39,8 @@ public class BookGroupFacadeImpl implements BookGroupFacade {
...
@@ -35,6 +39,8 @@ public class BookGroupFacadeImpl implements BookGroupFacade {
@Autowired
@Autowired
private
BookGroupBiz
bookGroupBiz
;
private
BookGroupBiz
bookGroupBiz
;
@Autowired
private
BookGroupClassifyBiz
bookGroupClassifyBiz
;
/**
/**
* 获取社群书群二维码信息
* 获取社群书群二维码信息
...
@@ -230,6 +236,26 @@ public class BookGroupFacadeImpl implements BookGroupFacade {
...
@@ -230,6 +236,26 @@ public class BookGroupFacadeImpl implements BookGroupFacade {
Long
adviserId
=
(
Long
)
SessionUtil
.
getVlaue
(
token
,
SessionUtil
.
PARTY_ID
);
Long
adviserId
=
(
Long
)
SessionUtil
.
getVlaue
(
token
,
SessionUtil
.
PARTY_ID
);
return
new
ResponseDto
<>(
bookGroupBiz
.
getTotalBookGroupCount
(
adviserId
));
return
new
ResponseDto
<>(
bookGroupBiz
.
getTotalBookGroupCount
(
adviserId
));
}
}
/**
* 获取社群书分类列表(编辑)
*/
@Override
@RequestMapping
(
value
=
"listSimpleBookGroupClassify4Adviser"
,
method
=
RequestMethod
.
POST
)
public
ResponseDto
<?>
listSimpleBookGroupClassify4Adviser
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
BookGroupClassify
bookGroupClassify
)
throws
BizException
,
PermissionException
{
Long
adviserId
=
(
Long
)
SessionUtil
.
getVlaue
(
token
,
SessionUtil
.
PARTY_ID
);
if
(
null
==
bookGroupClassify
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"参数有误"
);
}
if
(
null
==
bookGroupClassify
.
getCurrentPage
()
||
null
==
bookGroupClassify
.
getNumPerPage
())
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"分页参数有误"
);
}
PageParam
pageParam
=
new
PageParam
(
bookGroupClassify
.
getCurrentPage
(),
bookGroupClassify
.
getNumPerPage
());
return
new
ResponseDto
<>(
bookGroupClassifyBiz
.
listSimpleBookGroupClassify4Adviser
(
adviserId
,
bookGroupClassify
,
pageParam
));
}
@Override
@Override
@RequestMapping
(
value
=
"isSpecialAgent"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"isSpecialAgent"
,
method
=
RequestMethod
.
GET
)
public
ResponseDto
<
Boolean
>
isSpecialAgent
(
@RequestHeader
(
"token"
)
String
token
)
throws
BizException
,
PermissionException
{
public
ResponseDto
<
Boolean
>
isSpecialAgent
(
@RequestHeader
(
"token"
)
String
token
)
throws
BizException
,
PermissionException
{
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/tools/SendWeixinRequestTools.java
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
group
.
tools
;
package
com
.
pcloud
.
book
.
group
.
tools
;
import
com.pcloud.book.clock.dto.BookClockKeywordDTO
;
import
com.pcloud.book.group.dto.SyncWeixinGroupIdRequestDTO
;
import
com.pcloud.book.group.dto.SyncWeixinGroupIdRequestDTO
;
import
com.pcloud.book.group.dto.UpdateQrDTO
;
import
com.pcloud.book.group.dto.UpdateQrDTO
;
import
com.pcloud.book.keywords.dto.KeywordDTO
;
import
com.pcloud.book.keywords.dto.KeywordDTO
;
...
@@ -351,4 +352,29 @@ public class SendWeixinRequestTools {
...
@@ -351,4 +352,29 @@ public class SendWeixinRequestTools {
JedisClusterUtils
.
setJson
(
"BOOK:WEIXINGROUP:GUIDEUSER"
+
weixinGroupId
,
nickNames
,
600
);
JedisClusterUtils
.
setJson
(
"BOOK:WEIXINGROUP:GUIDEUSER"
+
weixinGroupId
,
nickNames
,
600
);
return
nameStr
;
return
nameStr
;
}
}
@ParamLog
(
"欢迎语中推送关键词信息"
)
public
static
void
sendClockKeywordsInfo
(
List
<
BookClockKeywordDTO
>
keywords
,
String
robotId
,
String
weixinGroupId
)
{
SendTextMessageVO
sendTextMessageVO
=
new
SendTextMessageVO
();
sendTextMessageVO
.
setAltId
(
robotId
);
sendTextMessageVO
.
setGroupId
(
weixinGroupId
);
if
(
ListUtils
.
isEmpty
(
keywords
))
return
;
String
content
=
""
;
for
(
int
i
=
0
;
i
<
keywords
.
size
();
i
++)
{
BookClockKeywordDTO
bookClockKeywordDTO
=
keywords
.
get
(
i
);
String
keyword
=
"关键词【"
+
bookClockKeywordDTO
.
getKeyword
()
+
"】\n"
+
" "
+
bookClockKeywordDTO
.
getGuide
();
if
(
content
.
length
()
+
keyword
.
length
()
>
300
)
{
sendTextMessageVO
.
setContent
(
content
);
WxGroupSDK
.
sendTextMessage
(
sendTextMessageVO
);
content
=
keyword
;
}
else
{
content
=
content
+
keyword
;
}
if
(
i
!=
keywords
.
size
()
-
1
)
{
content
=
content
+
"\n"
;
}
}
sendTextMessageVO
.
setContent
(
content
);
WxGroupSDK
.
sendTextMessage
(
sendTextMessageVO
);
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/keywords/biz/impl/BookGuideBizImpl.java
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
keywords
.
biz
.
impl
;
package
com
.
pcloud
.
book
.
keywords
.
biz
.
impl
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.clock.check.BookClockCheck
;
import
com.pcloud.book.clock.dao.BookClockKeywordDao
;
import
com.pcloud.book.clock.dto.BookClockKeywordDTO
;
import
com.pcloud.book.consumer.channel.QrcodeSceneConsr
;
import
com.pcloud.book.consumer.channel.QrcodeSceneConsr
;
import
com.pcloud.book.consumer.resource.ProductConsr
;
import
com.pcloud.book.consumer.resource.ProductConsr
;
import
com.pcloud.book.consumer.wechatgroup.WechatGroupConsr
;
import
com.pcloud.book.consumer.wechatgroup.WechatGroupConsr
;
...
@@ -37,7 +40,9 @@ import org.springframework.stereotype.Component;
...
@@ -37,7 +40,9 @@ import org.springframework.stereotype.Component;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* @author lily
* @author lily
...
@@ -63,6 +68,10 @@ public class BookGuideBizImpl implements BookGuideBiz {
...
@@ -63,6 +68,10 @@ public class BookGuideBizImpl implements BookGuideBiz {
private
ProductConsr
productConsr
;
private
ProductConsr
productConsr
;
@Autowired
@Autowired
private
GroupQrcodeBiz
groupQrcodeBiz
;
private
GroupQrcodeBiz
groupQrcodeBiz
;
@Autowired
private
BookClockCheck
bookClockCheck
;
@Autowired
private
BookClockKeywordDao
bookClockKeywordDao
;
@Override
@Override
@ParamLog
(
"新增欢迎语"
)
@ParamLog
(
"新增欢迎语"
)
...
@@ -218,6 +227,30 @@ public class BookGuideBizImpl implements BookGuideBiz {
...
@@ -218,6 +227,30 @@ public class BookGuideBizImpl implements BookGuideBiz {
//推送公众号消息
//推送公众号消息
SendWeixinRequestTools
.
sendAccountMessage
(
weixinGroupId
,
bookGuide
.
getRecommendLanguage
(),
robotId
,
wechatInfo
);
SendWeixinRequestTools
.
sendAccountMessage
(
weixinGroupId
,
bookGuide
.
getRecommendLanguage
(),
robotId
,
wechatInfo
);
}
}
//校验该群是否与微信群打卡有关
List
<
Long
>
bookClockInfoIdList
=
bookClockCheck
.
checkGroupIsClock
(
classifyQrcodeInfo
);
if
(!
ListUtils
.
isEmpty
(
bookClockInfoIdList
)){
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
int
i
=
0
;
List
<
BookClockKeywordDTO
>
bookClockKeywordDTOList
=
new
ArrayList
<>();
for
(
Long
bookClockInfoId:
bookClockInfoIdList
)
{
i
++;
if
(
i
>=
5
){
break
;
}
paramMap
.
put
(
"bookClockInfoId"
,
bookClockInfoId
);
List
<
BookClockKeywordDTO
>
bookClockKeywordDTOS
=
bookClockKeywordDao
.
getKeywordsByInfoId
(
paramMap
);
bookClockKeywordDTOList
.
addAll
(
bookClockKeywordDTOS
);
if
(
i
%
2
==
0
){
SendWeixinRequestTools
.
sendClockKeywordsInfo
(
bookClockKeywordDTOList
,
robotId
,
weixinGroupId
);
bookClockKeywordDTOList
.
clear
();
}
else
if
(
i
==
bookClockInfoIdList
.
size
()){
SendWeixinRequestTools
.
sendClockKeywordsInfo
(
bookClockKeywordDTOList
,
robotId
,
weixinGroupId
);
bookClockKeywordDTOList
.
clear
();
}
}
}
}
}
@ParamLog
(
"处理地址"
)
@ParamLog
(
"处理地址"
)
...
...
pcloud-service-book/src/main/java/com/pcloud/book/mq/producer/BookMQProducer.java
View file @
cc4ec6af
...
@@ -2,6 +2,7 @@ package com.pcloud.book.mq.producer;
...
@@ -2,6 +2,7 @@ package com.pcloud.book.mq.producer;
import
com.pcloud.book.book.dto.BookCoverImgUpdateDTO
;
import
com.pcloud.book.book.dto.BookCoverImgUpdateDTO
;
import
com.pcloud.book.book.dto.BookNameUpdateDTO
;
import
com.pcloud.book.book.dto.BookNameUpdateDTO
;
import
com.pcloud.book.clock.dto.PushBookClockKeywordDTO
;
import
com.pcloud.book.group.dto.PushAddUserMessageDTO
;
import
com.pcloud.book.group.dto.PushAddUserMessageDTO
;
public
interface
BookMQProducer
{
public
interface
BookMQProducer
{
...
@@ -11,4 +12,6 @@ public interface BookMQProducer {
...
@@ -11,4 +12,6 @@ public interface BookMQProducer {
void
sendUpdateBookNameTopic
(
BookNameUpdateDTO
bookNameUpdateDTO
);
void
sendUpdateBookNameTopic
(
BookNameUpdateDTO
bookNameUpdateDTO
);
void
pushAddUserMessageTopic
(
PushAddUserMessageDTO
pushAddUserMessageDTO
);
void
pushAddUserMessageTopic
(
PushAddUserMessageDTO
pushAddUserMessageDTO
);
void
pushBookClockKeyword
(
PushBookClockKeywordDTO
pushBookClockKeywordDTO
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/mq/producer/impl/BookProducerImpl.java
View file @
cc4ec6af
...
@@ -2,6 +2,7 @@ package com.pcloud.book.mq.producer.impl;
...
@@ -2,6 +2,7 @@ package com.pcloud.book.mq.producer.impl;
import
com.pcloud.book.book.dto.BookCoverImgUpdateDTO
;
import
com.pcloud.book.book.dto.BookCoverImgUpdateDTO
;
import
com.pcloud.book.book.dto.BookNameUpdateDTO
;
import
com.pcloud.book.book.dto.BookNameUpdateDTO
;
import
com.pcloud.book.clock.dto.PushBookClockKeywordDTO
;
import
com.pcloud.book.group.dto.PushAddUserMessageDTO
;
import
com.pcloud.book.group.dto.PushAddUserMessageDTO
;
import
com.pcloud.book.mq.producer.BookMQProducer
;
import
com.pcloud.book.mq.producer.BookMQProducer
;
import
com.pcloud.common.core.constant.MQTopicProducer
;
import
com.pcloud.common.core.constant.MQTopicProducer
;
...
@@ -31,4 +32,9 @@ public class BookProducerImpl implements BookMQProducer {
...
@@ -31,4 +32,9 @@ public class BookProducerImpl implements BookMQProducer {
public
void
pushAddUserMessageTopic
(
PushAddUserMessageDTO
pushAddUserMessageDTO
)
{
public
void
pushAddUserMessageTopic
(
PushAddUserMessageDTO
pushAddUserMessageDTO
)
{
amqpTemplate
.
convertAndSend
(
MQTopicProducer
.
EXCHAGE
,
MQTopicProducer
.
PUSH_ADD_USER_MESSAGE
,
pushAddUserMessageDTO
);
amqpTemplate
.
convertAndSend
(
MQTopicProducer
.
EXCHAGE
,
MQTopicProducer
.
PUSH_ADD_USER_MESSAGE
,
pushAddUserMessageDTO
);
}
}
@Override
public
void
pushBookClockKeyword
(
PushBookClockKeywordDTO
pushBookClockKeywordDTO
)
{
amqpTemplate
.
convertAndSend
(
MQTopicProducer
.
EXCHAGE
,
MQTopicProducer
.
PUSH_BOOK_CLOCK_KEYWORD
,
pushBookClockKeywordDTO
);
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/mq/topic/AppUpdateListener.java
View file @
cc4ec6af
...
@@ -3,6 +3,7 @@ package com.pcloud.book.mq.topic;
...
@@ -3,6 +3,7 @@ package com.pcloud.book.mq.topic;
import
com.pcloud.appcenter.app.entity.App
;
import
com.pcloud.appcenter.app.entity.App
;
import
com.pcloud.appcenter.base.enums.AppEnum
;
import
com.pcloud.appcenter.base.enums.AppEnum
;
import
com.pcloud.book.clock.dao.BookClockInfoDao
;
import
com.pcloud.book.keywords.dao.BookGuideReplyDao
;
import
com.pcloud.book.keywords.dao.BookGuideReplyDao
;
import
com.pcloud.book.keywords.dao.KeywordDao
;
import
com.pcloud.book.keywords.dao.KeywordDao
;
import
com.pcloud.book.mq.config.MQTopicConumer
;
import
com.pcloud.book.mq.config.MQTopicConumer
;
...
@@ -30,6 +31,9 @@ public class AppUpdateListener {
...
@@ -30,6 +31,9 @@ public class AppUpdateListener {
@Autowired
@Autowired
private
BookGuideReplyDao
bookGuideReplyDao
;
private
BookGuideReplyDao
bookGuideReplyDao
;
@Autowired
private
BookClockInfoDao
bookClockInfoDao
;
/**
/**
* 接收消息
* 接收消息
*/
*/
...
@@ -43,6 +47,7 @@ public class AppUpdateListener {
...
@@ -43,6 +47,7 @@ public class AppUpdateListener {
if
(
AppEnum
.
AUDIT_STATE_PASS
.
value
.
equals
(
app
.
getAuditState
())){
if
(
AppEnum
.
AUDIT_STATE_PASS
.
value
.
equals
(
app
.
getAuditState
())){
keywordDao
.
updateServeInfo
(
app
.
getAppId
(),
"APP"
,
app
.
getTitle
(),
app
.
getSquareImg
());
keywordDao
.
updateServeInfo
(
app
.
getAppId
(),
"APP"
,
app
.
getTitle
(),
app
.
getSquareImg
());
bookGuideReplyDao
.
updateServeInfo
(
app
.
getAppId
(),
"APP"
,
app
.
getTitle
(),
app
.
getSquareImg
());
bookGuideReplyDao
.
updateServeInfo
(
app
.
getAppId
(),
"APP"
,
app
.
getTitle
(),
app
.
getSquareImg
());
bookClockInfoDao
.
updateAppInfo
(
app
.
getAppId
(),
app
.
getTitle
(),
app
.
getSquareImg
());
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"应用修改消息监听消费topic,<ERROR>:"
+
e
.
getMessage
(),
e
);
LOGGER
.
error
(
"应用修改消息监听消费topic,<ERROR>:"
+
e
.
getMessage
(),
e
);
...
...
pcloud-service-book/src/main/java/com/pcloud/book/mq/topic/ProductUpdateListener.java
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
mq
.
topic
;
package
com
.
pcloud
.
book
.
mq
.
topic
;
import
com.pcloud.book.clock.dao.BookClockInfoDao
;
import
com.pcloud.book.keywords.dao.BookGuideReplyDao
;
import
com.pcloud.book.keywords.dao.BookGuideReplyDao
;
import
com.pcloud.book.keywords.dao.KeywordDao
;
import
com.pcloud.book.keywords.dao.KeywordDao
;
import
com.pcloud.book.mq.config.MQTopicConumer
;
import
com.pcloud.book.mq.config.MQTopicConumer
;
...
@@ -26,6 +27,9 @@ public class ProductUpdateListener {
...
@@ -26,6 +27,9 @@ public class ProductUpdateListener {
@Autowired
@Autowired
private
BookGuideReplyDao
bookGuideReplyDao
;
private
BookGuideReplyDao
bookGuideReplyDao
;
@Autowired
private
BookClockInfoDao
bookClockInfoDao
;
/**
/**
* 接收资源中心消息
* 接收资源中心消息
*/
*/
...
@@ -37,5 +41,6 @@ public class ProductUpdateListener {
...
@@ -37,5 +41,6 @@ public class ProductUpdateListener {
}
}
keywordDao
.
updateServeInfo
(
product
.
getProductId
(),
"PRODUCT"
,
product
.
getProductName
(),
product
.
getCoverImg
());
keywordDao
.
updateServeInfo
(
product
.
getProductId
(),
"PRODUCT"
,
product
.
getProductName
(),
product
.
getCoverImg
());
bookGuideReplyDao
.
updateServeInfo
(
product
.
getProductId
(),
"PRODUCT"
,
product
.
getProductName
(),
product
.
getCoverImg
());
bookGuideReplyDao
.
updateServeInfo
(
product
.
getProductId
(),
"PRODUCT"
,
product
.
getProductName
(),
product
.
getCoverImg
());
bookClockInfoDao
.
updateProductInfo
(
product
.
getProductId
(),
product
.
getProductName
(),
product
.
getCoverImg
(),
product
.
getUniqueNumber
());
}
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/mq/topic/WxGroupSendTextListener.java
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
mq
.
topic
;
package
com
.
pcloud
.
book
.
mq
.
topic
;
import
com.pcloud.book.clock.biz.BookClockKeywordBiz
;
import
com.pcloud.book.clock.check.BookClockCheck
;
import
com.pcloud.book.clock.dto.BookClockInfoDTO
;
import
com.pcloud.book.consumer.wechatgroup.WechatGroupConsr
;
import
com.pcloud.book.consumer.wechatgroup.WechatGroupConsr
;
import
com.pcloud.book.keywords.biz.BookKeywordBiz
;
import
com.pcloud.book.keywords.biz.BookKeywordBiz
;
import
com.pcloud.book.mq.config.MQTopicConumer
;
import
com.pcloud.book.mq.config.MQTopicConumer
;
...
@@ -32,6 +35,10 @@ public class WxGroupSendTextListener {
...
@@ -32,6 +35,10 @@ public class WxGroupSendTextListener {
private
BookKeywordBiz
bookKeywordBiz
;
private
BookKeywordBiz
bookKeywordBiz
;
@Autowired
@Autowired
private
WechatGroupConsr
wechatGroupConsr
;
private
WechatGroupConsr
wechatGroupConsr
;
@Autowired
private
BookClockKeywordBiz
bookClockKeywordBiz
;
@Autowired
private
BookClockCheck
bookClockCheck
;
/**
/**
* 接收微信用户进群消息
* 接收微信用户进群消息
...
@@ -46,7 +53,12 @@ public class WxGroupSendTextListener {
...
@@ -46,7 +53,12 @@ public class WxGroupSendTextListener {
//校验是否机器人账号
//校验是否机器人账号
List
<
String
>
allRobotWxIds
=
wechatGroupConsr
.
listAllRobotWxId
();
List
<
String
>
allRobotWxIds
=
wechatGroupConsr
.
listAllRobotWxId
();
if
(!
ListUtils
.
isEmpty
(
allRobotWxIds
)
&&
!
allRobotWxIds
.
contains
(
wechatUserId
)
&&
!
StringUtil
.
isEmpty
(
sendTextDTO
.
getTextContent
()))
{
if
(!
ListUtils
.
isEmpty
(
allRobotWxIds
)
&&
!
allRobotWxIds
.
contains
(
wechatUserId
)
&&
!
StringUtil
.
isEmpty
(
sendTextDTO
.
getTextContent
()))
{
bookKeywordBiz
.
sendKeywordMessage
(
sendTextDTO
.
getTextContent
().
trim
(),
sendTextDTO
.
getWechatGroupId
(),
wechatUserId
);
BookClockInfoDTO
bookClockInfoDTO
=
bookClockCheck
.
checkKeywordIsClock
(
sendTextDTO
.
getTextContent
().
trim
(),
sendTextDTO
.
getWechatGroupId
());
if
(
null
!=
bookClockInfoDTO
){
bookClockKeywordBiz
.
sendKeywordMessage
(
bookClockInfoDTO
,
wechatUserId
,
sendTextDTO
.
getWechatGroupId
());
}
else
{
bookKeywordBiz
.
sendKeywordMessage
(
sendTextDTO
.
getTextContent
().
trim
(),
sendTextDTO
.
getWechatGroupId
(),
wechatUserId
);
}
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"接收用户发送文本消息失败"
+
e
.
getMessage
(),
e
);
LOGGER
.
error
(
"接收用户发送文本消息失败"
+
e
.
getMessage
(),
e
);
...
...
pcloud-service-book/src/main/java/com/pcloud/book/util/common/CommonUtils.java
View file @
cc4ec6af
package
com
.
pcloud
.
book
.
util
.
common
;
package
com
.
pcloud
.
book
.
util
.
common
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.List
;
import
com.pcloud.common.utils.DateNewUtils
;
import
com.pcloud.common.utils.DateNewUtils
;
import
com.pcloud.common.utils.ListUtils
;
/**
/**
* @author PENG
* @author PENG
...
@@ -97,4 +96,36 @@ public class CommonUtils {
...
@@ -97,4 +96,36 @@ public class CommonUtils {
Date
endDate
=
DateNewUtils
.
getDateByStr
(
timeEnd
);
Date
endDate
=
DateNewUtils
.
getDateByStr
(
timeEnd
);
return
collectLocalDates
(
startDate
,
endDate
);
return
collectLocalDates
(
startDate
,
endDate
);
}
}
/**
* 获取两个集合中相同元素
* @param oldList
* @param newList
* @return
*/
public
static
List
<
Long
>
getSameEle
(
List
<
Long
>
oldList
,
List
<
Long
>
newList
){
if
(
ListUtils
.
isEmpty
(
oldList
)){
return
null
;
}
if
(
ListUtils
.
isEmpty
(
newList
)){
return
null
;
}
List
<
Long
>
result
=
new
LinkedList
<>();
List
<
Long
>
maxList
=
oldList
;
List
<
Long
>
minList
=
newList
;
if
(
maxList
.
size
()
<
minList
.
size
()){
maxList
=
newList
;
minList
=
oldList
;
}
Map
<
Long
,
Integer
>
map
=
new
HashMap
<
Long
,
Integer
>(
maxList
.
size
());
for
(
Long
id:
maxList
)
{
map
.
put
(
id
,
1
);
}
for
(
Long
id:
minList
)
{
if
(
null
!=
map
.
get
(
id
)){
result
.
add
(
id
);
}
}
return
result
;
}
}
}
pcloud-service-book/src/main/resources/mapper/clock/BookClockInfo.Mapper.xml
0 → 100644
View file @
cc4ec6af
<?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.clock.dao.impl.BookClockInfoDaoImpl"
>
<!-- 微信群打卡实体 -->
<resultMap
id=
"BaseResultMap"
type=
"com.pcloud.book.clock.entity.BookClockInfo"
>
<id
column=
"book_clock_info_id"
property=
"bookClockInfoId"
jdbcType=
"BIGINT"
/>
<result
column=
"origin_id"
property=
"originId"
jdbcType=
"BIGINT"
/>
<result
column=
"origin_type"
property=
"originType"
jdbcType=
"VARCHAR"
/>
<result
column=
"origin_title"
property=
"originTitle"
jdbcType=
"VARCHAR"
/>
<result
column=
"origin_img"
property=
"originImg"
jdbcType=
"VARCHAR"
/>
<result
column=
"unique_number"
property=
"uniqueNumber"
jdbcType=
"VARCHAR"
/>
<result
column=
"is_notice"
property=
"isNotice"
jdbcType=
"TINYINT"
/>
<result
column=
"notice_time"
property=
"noticeTime"
jdbcType=
"VARCHAR"
/>
<result
column=
"notice_content"
property=
"noticeContent"
jdbcType=
"VARCHAR"
/>
<result
column=
"create_user"
property=
"createUser"
jdbcType=
"BIGINT"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"update_user"
property=
"updateUser"
jdbcType=
"BIGINT"
/>
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<!-- 微信群打卡实体DTO -->
<resultMap
id=
"BaseResultMapDTO"
type=
"com.pcloud.book.clock.dto.BookClockInfoDTO"
>
<id
column=
"book_clock_info_id"
property=
"bookClockInfoId"
jdbcType=
"BIGINT"
/>
<result
column=
"origin_id"
property=
"originId"
jdbcType=
"BIGINT"
/>
<result
column=
"origin_type"
property=
"originType"
jdbcType=
"VARCHAR"
/>
<result
column=
"origin_title"
property=
"originTitle"
jdbcType=
"VARCHAR"
/>
<result
column=
"origin_img"
property=
"originImg"
jdbcType=
"VARCHAR"
/>
<result
column=
"unique_number"
property=
"uniqueNumber"
jdbcType=
"VARCHAR"
/>
<result
column=
"is_notice"
property=
"isNotice"
jdbcType=
"TINYINT"
/>
<result
column=
"notice_time"
property=
"noticeTime"
jdbcType=
"VARCHAR"
/>
<result
column=
"notice_content"
property=
"noticeContent"
jdbcType=
"VARCHAR"
/>
<result
column=
"create_user"
property=
"createUser"
jdbcType=
"BIGINT"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"update_user"
property=
"updateUser"
jdbcType=
"BIGINT"
/>
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<!-- 微信群打卡列表实体DTO -->
<resultMap
id=
"BaseResultListMapDTO"
type=
"com.pcloud.book.clock.dto.BookClockListDTO"
>
<id
column=
"book_clock_info_id"
property=
"bookClockInfoId"
jdbcType=
"BIGINT"
/>
<result
column=
"origin_id"
property=
"originId"
jdbcType=
"BIGINT"
/>
<result
column=
"origin_type"
property=
"originType"
jdbcType=
"VARCHAR"
/>
<result
column=
"origin_title"
property=
"originTitle"
jdbcType=
"VARCHAR"
/>
<result
column=
"origin_img"
property=
"originImg"
jdbcType=
"VARCHAR"
/>
<result
column=
"unique_number"
property=
"uniqueNumber"
jdbcType=
"VARCHAR"
/>
<result
column=
"bookCount"
property=
"bookCount"
jdbcType=
"INTEGER"
/>
<result
column=
"classifyCount"
property=
"classifyCount"
jdbcType=
"INTEGER"
/>
<collection
property=
"bookGroupIdList"
ofType=
"java.lang.Long"
>
<id
column=
"bgi"
jdbcType=
"BIGINT"
/>
</collection>
<collection
property=
"classifyIdList"
ofType=
"java.lang.Long"
>
<id
column=
"ci"
jdbcType=
"BIGINT"
/>
</collection>
</resultMap>
<sql
id=
"Base_Column_List"
>
book_clock_info_id, origin_id, origin_type, origin_title, origin_img, unique_number, is_notice, notice_time, notice_content,
create_user, create_time, update_user, update_time
</sql>
<!-- 新增书籍和编辑关联信息-->
<insert
id=
"insert"
parameterType=
"bookClockInfo"
useGeneratedKeys=
"true"
keyProperty=
"bookClockInfoId"
flushCache=
"true"
>
INSERT INTO book_clock_info (
origin_id, origin_type, origin_title, origin_img, unique_number, is_notice, notice_time, notice_content,
create_user, create_time, update_user, update_time
)
VALUES (
#{originId, jdbcType=BIGINT}, #{originType, jdbcType=VARCHAR}, #{originTitle, jdbcType=VARCHAR}, #{originImg, jdbcType=VARCHAR},
#{uniqueNumber, jdbcType=VARCHAR}, #{isNotice, jdbcType=TINYINT}, #{noticeTime, jdbcType=VARCHAR}, #{noticeContent, jdbcType=VARCHAR},
#{createUser, jdbcType=BIGINT}, NOW(), #{updateUser, jdbcType=BIGINT}, NOW()
)
</insert>
<!-- 获取基本信息-->
<select
id=
"getBaseInfoById"
parameterType=
"long"
resultMap=
"BaseResultMapDTO"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM book_clock_info
WHERE book_clock_info_id = #{bookClockInfoId}
LIMIT 1
</select>
<!-- 修改作品/应用-->
<update
id=
"updateBaseInfo4AppType"
parameterType=
"map"
>
UPDATE book_clock_info
<set>
<if
test=
"newOriginId != null"
>
origin_id = #{newOriginId},
</if>
<if
test=
"newOriginType != null"
>
origin_type = #{newOriginType},
</if>
<if
test=
"originTitle != null"
>
origin_title = #{originTitle},
</if>
<if
test=
"originImg != null"
>
origin_img = #{originImg},
</if>
unique_number = #{uniqueNumber}
</set>
WHERE book_clock_info_id = #{bookClockInfoId}
</update>
<!-- 修改基本信息(修改关键词)-->
<update
id=
"updateBaseInfo4KeywordType"
parameterType=
"map"
>
UPDATE book_clock_info
SET is_notice = #{isNotice},
notice_time = #{noticeTime},
notice_content = #{noticeContent}
WHERE book_clock_info_id = #{bookClockInfoId}
</update>
<!-- 获取基本信息-->
<select
id=
"getBookGroupClockBaseInfo"
parameterType=
"Long"
resultMap=
"BaseResultMapDTO"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM book_clock_info
WHERE book_clock_info_id = #{bookClockInfoId}
</select>
<!-- 获取该编辑已选的超级作者作品及应用-->
<select
id=
"getOriginIdAndTypeByAdviserId"
parameterType=
"long"
resultMap=
"BaseResultMapDTO"
>
SELECT origin_id,origin_type
FROM book_clock_info
WHERE create_user = #{adviserId}
</select>
<select
id=
"listBookGroupClock"
parameterType=
"map"
resultMap=
"BaseResultListMapDTO"
>
select bci.*, bgc.book_group_id as bgi, bgc.classify_id as ci
from (
select book_clock_info_id, origin_id, origin_type, origin_title, origin_img, unique_number from book_clock_info where create_user = #{adviserId}
<if
test=
"name != null"
>
and (origin_title like CONCAT('%', #{name}, '%') or unique_number like CONCAT('%', #{name}, '%'))
</if>
<if
test=
"startDate != null and endDate != null"
>
and create_time between #{startDate} and #{endDate}
</if>
order by update_time desc
limit #{startNum}, #{numPerPage}
) bci
left join book_group_clock bgc on bci.book_clock_info_id = bgc.book_clock_info_id
</select>
<select
id=
"countBookGroupClock"
resultType=
"java.lang.Integer"
>
select count(1) totalCount from book_clock_info where create_user = #{adviserId}
<if
test=
"name != null"
>
and (origin_title like CONCAT('%', #{name}, '%') or unique_number like CONCAT('%', #{name}, '%'))
</if>
<if
test=
"startDate != null and endDate != null"
>
and create_time between #{startDate} and #{endDate}
</if>
order by update_time desc
</select>
<!-- 获取该作品/应用该编辑创建的基本信息-->
<select
id=
"getBaseInfoByMap"
parameterType=
"map"
resultMap=
"BaseResultMapDTO"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM book_clock_info
WHERE origin_id = #{originId}
AND origin_type = #{originType}
AND create_user = #{adviserId}
</select>
<!-- 修改作品基本信息-->
<update
id=
"updateProductInfo"
parameterType=
"map"
>
UPDATE book_clock_info
<set>
<if
test=
"title != null"
>
origin_title = #{title},
</if>
<if
test=
"coverImg != null"
>
origin_img = #{coverImg},
</if>
unique_number = #{uniqueNumber},
</set>
WHERE origin_id = #{originId}
AND origin_type = "PRODUCT"
</update>
<!-- 修改应用基本信息-->
<update
id=
"updateAppInfo"
parameterType=
"map"
>
UPDATE book_clock_info
<set>
<if
test=
"title != null"
>
origin_title = #{title},
</if>
<if
test=
"coverImg != null"
>
origin_img = #{coverImg},
</if>
</set>
WHERE origin_id = #{originId}
AND origin_type = "APP"
</update>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/clock/BookClockKeyword.Mapper.xml
0 → 100644
View file @
cc4ec6af
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd" >
<mapper
namespace=
"com.pcloud.book.clock.dao.impl.BookClockKeywordDaoImpl"
>
<!-- 微信群打卡实体 -->
<resultMap
id=
"BaseResultMap"
type=
"com.pcloud.book.clock.entity.BookClockKeyword"
>
<id
column=
"book_clock_keyword_id"
property=
"bookClockKeywordId"
jdbcType=
"BIGINT"
/>
<result
column=
"book_clock_info_id"
property=
"bookClockInfoId"
jdbcType=
"BIGINT"
/>
<result
column=
"operation"
property=
"operation"
jdbcType=
"VARCHAR"
/>
<result
column=
"keyword"
property=
"keyword"
jdbcType=
"VARCHAR"
/>
<result
column=
"guide"
property=
"guide"
jdbcType=
"VARCHAR"
/>
<result
column=
"sequence_num"
property=
"sequenceNum"
jdbcType=
"INTEGER"
/>
<result
column=
"create_user"
property=
"createUser"
jdbcType=
"BIGINT"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"update_user"
property=
"updateUser"
jdbcType=
"BIGINT"
/>
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<!-- 微信群打卡实体DTO -->
<resultMap
id=
"BaseResultMapDTO"
type=
"com.pcloud.book.clock.dto.BookClockKeywordDTO"
>
<id
column=
"book_clock_keyword_id"
property=
"bookClockKeywordId"
jdbcType=
"BIGINT"
/>
<result
column=
"book_clock_info_id"
property=
"bookClockInfoId"
jdbcType=
"BIGINT"
/>
<result
column=
"operation"
property=
"operation"
jdbcType=
"VARCHAR"
/>
<result
column=
"keyword"
property=
"keyword"
jdbcType=
"VARCHAR"
/>
<result
column=
"guide"
property=
"guide"
jdbcType=
"VARCHAR"
/>
<result
column=
"sequence_num"
property=
"sequenceNum"
jdbcType=
"INTEGER"
/>
<result
column=
"channel_id"
property=
"channelId"
jdbcType=
"BIGINT"
/>
<result
column=
"create_user"
property=
"createUser"
jdbcType=
"BIGINT"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"update_user"
property=
"updateUser"
jdbcType=
"BIGINT"
/>
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
book_clock_info_id, operation, keyword, guide, sequence_num, create_user, create_time, update_user, update_time
</sql>
<!-- 新增关键词信息-->
<insert
id=
"insert"
parameterType=
"bookClockKeyword"
useGeneratedKeys=
"true"
keyProperty=
"bookClockKeywordId"
flushCache=
"true"
>
INSERT INTO book_clock_keyword (
book_clock_info_id, operation, keyword, guide, sequence_num, create_user, create_time, update_user, update_time
)
VALUES (
#{bookClockInfoId, jdbcType=BIGINT}, #{operation, jdbcType=VARCHAR}, #{keyword, jdbcType=VARCHAR},
#{guide, jdbcType=VARCHAR}, #{sequenceNum, jdbcType=BIGINT}, #{createUser, jdbcType=BIGINT}, NOW(), #{updateUser, jdbcType=BIGINT}, NOW()
)
</insert>
<!--校验关键词有无重复-->
<select
id=
"checkKeywordHasExist"
parameterType=
"map"
resultType=
"long"
>
SELECT DISTINCT(book_clock_info_id)
FROM book_clock_keyword
WHERE create_user = #{adviserId}
AND keyword IN
<foreach
collection=
"keyWords"
open=
"("
close=
")"
item=
"item"
separator=
","
>
#{item}
</foreach>
</select>
<!--获取该作品/应用操作最大排序值-->
<select
id=
"getMaxSequence4Keyword"
parameterType=
"Long"
resultType=
"long"
>
SELECT sequence_num
FROM book_clock_keyword
WHERE book_clock_info_id = #{bookClockInfoId}
ORDER BY sequence_num DESC
LIMIT 1
</select>
<!--批量插入-->
<insert
id=
"batchInsert"
parameterType=
"bookClockKeyword"
keyProperty=
"bookClockKeywordId"
useGeneratedKeys=
"true"
flushCache=
"true"
>
INSERT INTO book_clock_keyword (
book_clock_info_id, operation, keyword, guide, sequence_num, create_user, create_time, update_user, update_time
)
VALUES
<foreach
collection=
"list"
separator=
","
item=
"item"
>
(#{item.bookClockInfoId,jdbcType=BIGINT},
#{item.operation,jdbcType=VARCHAR},
#{item.keyword,jdbcType=VARCHAR},
#{item.guide,jdbcType=VARCHAR},
#{item.sequenceNum,jdbcType=BIGINT},
#{item.createUser,jdbcType=BIGINT},
NOW(),
#{item.updateUser,jdbcType=BIGINT},
NOW())
</foreach>
</insert>
<!--删除旧的关键词-->
<delete
id=
"deleteBookClockKeyword"
parameterType=
"map"
>
DELETE FROM book_clock_keyword
WHERE book_clock_info_id = #{bookClockInfoId}
</delete>
<!--获取微信打卡作品/应用关键词-->
<select
id=
"getKeywordsByInfoId"
parameterType=
"map"
resultMap=
"BaseResultMapDTO"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM book_clock_keyword
WHERE book_clock_info_id = #{bookClockInfoId}
</select>
<!--获取该关键词已关联的书及分类-->
<select
id=
"getInfoIdByKeyword"
parameterType=
"map"
resultType=
"long"
>
SELECT book_clock_info_id
FROM book_clock_keyword
WHERE create_user = #{adviserId}
AND keyword = #{keyword}
</select>
<!--根据接收到的关键词获取对应的作品/应用ID-->
<select
id=
"getInfoIdByKeywordAndweixinGroupId"
parameterType=
"map"
resultMap=
"BaseResultMapDTO"
>
SELECT
bck.book_clock_info_id,
bck.operation,
bck.keyword,
bck.guide,
bgc.channel_id
FROM
book_group_clock bgc
LEFT JOIN book_clock_keyword bck ON bgc.book_clock_info_id = bck.book_clock_info_id
WHERE
bck.keyword = #{keyword}
AND bck.create_user = #{adviserId}
AND (
bgc.book_group_id = #{bookGroupId} OR bgc.classify_id = #{classifyId})
LIMIT 1
</select>
<!--获取微信群打卡动作关键词-->
<select
id=
"getBookClockKeyword4Clock"
parameterType=
"map"
resultType=
"com.pcloud.book.clock.dto.BookGroupClockKeywordDTO"
>
SELECT book_clock_info_id bookClockInfoId,
operation,
keyword,
guide,
sequence_num sequence,
create_user createUser
FROM book_clock_keyword
WHERE book_clock_info_id = #{bookClockInfoId}
AND operation = #{operation}
LIMIT 1
</select>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/clock/BookGroupClock.Mapper.xml
0 → 100644
View file @
cc4ec6af
<?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.clock.dao.impl.BookGroupClockDaoImpl"
>
<!-- 微信群打卡实体 -->
<resultMap
id=
"BaseResultMap"
type=
"com.pcloud.book.clock.entity.BookGroupClock"
>
<id
column=
"book_group_clock_id"
property=
"bookGroupClockId"
jdbcType=
"BIGINT"
/>
<result
column=
"book_clock_info_id"
property=
"bookClockInfoId"
jdbcType=
"BIGINT"
/>
<result
column=
"channel_id"
property=
"channelId"
jdbcType=
"BIGINT"
/>
<result
column=
"book_group_id"
property=
"bookGroupId"
jdbcType=
"BIGINT"
/>
<result
column=
"classify_id"
property=
"classifyId"
jdbcType=
"BIGINT"
/>
<result
column=
"create_user"
property=
"createUser"
jdbcType=
"BIGINT"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"update_user"
property=
"updateUser"
jdbcType=
"BIGINT"
/>
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<!-- 微信群打卡实体DTO -->
<resultMap
id=
"BaseResultMapDTO"
type=
"com.pcloud.book.clock.dto.BookGroupClockDTO"
>
<id
column=
"book_group_clock_id"
property=
"bookGroupClockId"
jdbcType=
"BIGINT"
/>
<result
column=
"book_clock_info_id"
property=
"bookClockInfoId"
jdbcType=
"BIGINT"
/>
<result
column=
"channel_id"
property=
"channelId"
jdbcType=
"BIGINT"
/>
<result
column=
"book_group_id"
property=
"bookGroupId"
jdbcType=
"BIGINT"
/>
<result
column=
"classify_id"
property=
"classifyId"
jdbcType=
"BIGINT"
/>
<result
column=
"create_user"
property=
"createUser"
jdbcType=
"BIGINT"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"update_user"
property=
"updateUser"
jdbcType=
"BIGINT"
/>
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
book_group_clock_id, book_clock_info_id, channel_id, book_group_id, classify_id, create_user, create_time, update_user, update_time
</sql>
<!-- 新增书籍和编辑关联信息-->
<insert
id=
"insert"
parameterType=
"bookGroupClock"
useGeneratedKeys=
"true"
keyProperty=
"bookGroupClockId"
flushCache=
"true"
>
INSERT INTO book_group_clock (
book_clock_info_id, book_clock_info_id, classify_id, create_user, create_time, update_user, update_time
)
VALUES (
#{bookClockInfoId, jdbcType=BIGINT}, #{channelId, jdbcType=BIGINT}, #{bookGroupId, jdbcType=BIGINT},
#{classifyId, jdbcType=BIGINT}, #{createUser, jdbcType=BIGINT}, NOW(), #{updateUser, jdbcType=BIGINT}, NOW()
)
</insert>
<insert
id=
"batchInsert"
parameterType=
"bookGroupClock"
useGeneratedKeys=
"true"
keyProperty=
"bookGroupClockId"
flushCache=
"true"
>
insert into book_group_clock (
book_clock_info_id,
channel_id,
book_group_id,
classify_id,
create_user,
create_time,
update_user,
update_time
) values
<foreach
collection=
"list"
item=
"item"
index=
"index"
separator=
","
>
(
#{item.bookClockInfoId,jdbcType=BIGINT},
#{item.channelId,jdbcType=BIGINT},
#{item.bookGroupId,jdbcType=BIGINT},
#{item.classifyId,jdbcType=BIGINT},
#{item.createUser,jdbcType=BIGINT},
NOW(),
#{item.updateUser,jdbcType=BIGINT},
NOW()
)
</foreach>
</insert>
<!-- 删除关联的社群书-->
<delete
id=
"deleteBookGroupId4AppType"
parameterType=
"map"
>
DELETE FROM book_group_clock
WHERE book_clock_info_id = #{bookClockInfoId}
AND classify_id = 0
</delete>
<!-- 删除关联的分类-->
<delete
id=
"deleteClassifyId4AppType"
parameterType=
"map"
>
DELETE FROM book_group_clock
WHERE book_clock_info_id = #{bookClockInfoId}
AND book_group_id = 0
</delete>
<!-- 获取关联的社群码-->
<select
id=
"getBookGroupClockIds"
parameterType=
"map"
resultMap=
"BaseResultMapDTO"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM book_group_clock
WHERE book_clock_info_id = #{bookClockInfoId}
</select>
<!-- 删除该作品/应用已关联的书下面的分类-->
<delete
id=
"deleteClassifyIdByBookGroupIds"
parameterType=
"map"
>
DELETE FROM book_group_clock
WHERE book_clock_info_id = #{bookClockInfoId}
AND classify_id IN
<foreach
collection=
"classifyIds"
open=
"("
close=
")"
separator=
","
item=
"item"
>
${item}
</foreach>
</delete>
<!--校验群是否为微信群打卡的群-->
<select
id=
"getInfoIdByWeixinGroupId"
parameterType=
"map"
resultType=
"long"
>
SELECT
book_clock_info_id
FROM
book_group_clock
WHERE
create_user = #{adviserId}
AND (
book_group_id = #{bookGroupId} OR classify_id = #{classifyId}
)
ORDER BY book_clock_info_id DESC
</select>
<!--获取微信群打卡基本信息-->
<select
id=
"getInfoByInfoIds"
parameterType=
"list"
resultMap=
"BaseResultMapDTO"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM
book_group_clock
WHERE book_clock_info_id IN
<foreach
collection=
"list"
open=
"("
item=
"item"
close=
")"
separator=
","
>
${item}
</foreach>
</select>
<!--取消关联-->
<delete
id=
"cancelSelected"
parameterType=
"map"
>
DELETE FROM book_group_clock
WHERE book_clock_info_id = #{bookClockInfoId}
AND book_group_id = #{bookGroupId}
AND classify_id = #{classifyId}
</delete>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/group/BookGroupClassify.Mapper.xml
View file @
cc4ec6af
...
@@ -19,6 +19,22 @@
...
@@ -19,6 +19,22 @@
<result
column=
"is_delete"
property=
"isDelete"
jdbcType=
"TINYINT"
/>
<result
column=
"is_delete"
property=
"isDelete"
jdbcType=
"TINYINT"
/>
</resultMap>
</resultMap>
<resultMap
id=
"BaseResultMapDTO"
type=
"com.pcloud.book.group.dto.ClassifyDTO"
>
<id
column=
"id"
property=
"id"
jdbcType=
"BIGINT"
/>
<result
column=
"book_id"
property=
"bookId"
jdbcType=
"BIGINT"
/>
<result
column=
"channel_id"
property=
"channelId"
jdbcType=
"BIGINT"
/>
<result
column=
"book_group_id"
property=
"bookGroupId"
jdbcType=
"BIGINT"
/>
<result
column=
"classify"
property=
"classify"
jdbcType=
"VARCHAR"
/>
<result
column=
"classify_introduce"
property=
"classifyIntroduce"
jdbcType=
"VARCHAR"
/>
<result
column=
"rank"
property=
"rank"
jdbcType=
"BIGINT"
/>
<result
column=
"price"
property=
"price"
jdbcType=
"DECIMAL"
/>
<result
column=
"product_id"
property=
"productId"
jdbcType=
"BIGINT"
/>
<result
column=
"product_spec_id"
property=
"productSpecId"
jdbcType=
"BIGINT"
/>
<result
column=
"change_number"
property=
"changeNumber"
jdbcType=
"BIGINT"
/>
<result
column=
"book_group_name"
property=
"bookGroupName"
jdbcType=
"VARCHAR"
/>
<result
column=
"book_clock_info_id"
property=
"bookClockInfoId"
jdbcType=
"BIGINT"
/>
</resultMap>
<insert
id=
"insert"
parameterType=
"BookGroupClassify"
useGeneratedKeys=
"true"
<insert
id=
"insert"
parameterType=
"BookGroupClassify"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
keyProperty=
"id"
>
INSERT INTO book_group_classify
INSERT INTO book_group_classify
...
@@ -602,4 +618,89 @@
...
@@ -602,4 +618,89 @@
) and is_delete = 0
) and is_delete = 0
</select>
</select>
<!--获取社群书分类列表(编辑)-->
<select
id=
"listSimpleBookGroupClassify4Adviser"
parameterType=
"map"
resultMap=
"BaseResultMapDTO"
>
SELECT
bgc.id,
bgc.book_id,
bgc.book_group_id,
bgc.classify,
bg.group_qrcode_name book_group_name
FROM
book_group_classify bgc
LEFT JOIN book_group bg ON bgc.book_group_id = bg.id
WHERE
bgc.create_user = #{adviserId}
<if
test=
"classify != null"
>
AND bgc.classify LIKE CONCAT('%', #{classify},'%')
</if>
<if
test=
"bookGroupIds != null and bookGroupIds.size > 0"
>
AND bgc.book_group_id NOT IN
<foreach
collection=
"bookGroupIds"
separator=
","
item=
"item"
close=
")"
open=
"("
>
${item}
</foreach>
</if>
</select>
<!--获取分类名称及对应社群码名称-->
<select
id=
"getNameWithBookNameByIds"
parameterType=
"list"
resultMap=
"BaseResultMapDTO"
>
SELECT
bgc.id,
bgc.book_id,
bgc.book_group_id,
bgc.classify,
bg.group_qrcode_name book_group_name
FROM
book_group_classify bgc
LEFT JOIN book_group bg ON bgc.book_group_id = bg.id
WHERE bgc.id IN
<foreach
collection=
"list"
open=
"("
separator=
","
item=
"item"
close=
")"
>
${item}
</foreach>
</select>
<!--获取书下面分类ID集合-->
<select
id=
"getIdByBookGroupIds"
parameterType=
"list"
resultType=
"long"
>
SELECT
DISTINCT(id)
FROM
book_group_classify
WHERE
book_group_id IN
<foreach
collection=
"list"
open=
"("
close=
")"
item=
"item"
separator=
","
>
${item}
</foreach>
</select>
<!--获取书下面分类ID集合-->
<select
id=
"getClassifyIdsByBookGroupIds"
parameterType=
"list"
resultType=
"map"
>
SELECT
book_group_id bookGroupId,id
FROM
book_group_classify
WHERE
book_group_id IN
<foreach
collection=
"list"
open=
"("
close=
")"
item=
"item"
separator=
","
>
${item}
</foreach>
</select>
<!--获取分类名称及对应社群码名称-->
<select
id=
"getNameWithBookClockInfoIdByIds"
parameterType=
"map"
resultMap=
"BaseResultMapDTO"
>
SELECT
bgc.id,
bgc.book_id,
bgc.book_group_id,
bgc.classify,
bg.group_qrcode_name book_group_name,
#{bookClockInfoId} book_clock_info_id
FROM
book_group_classify bgc
LEFT JOIN book_group bg ON bgc.book_group_id = bg.id
WHERE bgc.id IN
<foreach
collection=
"list"
open=
"("
separator=
","
item=
"item"
close=
")"
>
${item}
</foreach>
</select>
</mapper>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/group/BookGroupMapper.xml
View file @
cc4ec6af
...
@@ -39,6 +39,8 @@
...
@@ -39,6 +39,8 @@
<result
column=
"is_delete"
property=
"isDelete"
jdbcType=
"BIT"
/>
<result
column=
"is_delete"
property=
"isDelete"
jdbcType=
"BIT"
/>
<result
column=
"book_img"
property=
"bookImg"
jdbcType=
"VARCHAR"
/>
<result
column=
"book_img"
property=
"bookImg"
jdbcType=
"VARCHAR"
/>
<result
column=
"isbn"
property=
"isbn"
jdbcType=
"VARCHAR"
/>
<result
column=
"isbn"
property=
"isbn"
jdbcType=
"VARCHAR"
/>
<result
column=
"BOOK_NAME"
property=
"bookName"
jdbcType=
"VARCHAR"
/>
<result
column=
"book_clock_info_id"
property=
"bookClockInfoId"
jdbcType=
"BIGINT"
/>
</resultMap>
</resultMap>
<sql
id=
"Base_Column_List"
>
<sql
id=
"Base_Column_List"
>
...
@@ -251,7 +253,8 @@
...
@@ -251,7 +253,8 @@
bg.book_id,
bg.book_id,
bg.group_qrcode_name,
bg.group_qrcode_name,
b.COVER_IMG book_img,
b.COVER_IMG book_img,
b.ISBN
b.ISBN,
b.BOOK_NAME
FROM
FROM
book_group bg
book_group bg
LEFT JOIN book b ON bg.book_id = b.BOOK_ID
LEFT JOIN book b ON bg.book_id = b.BOOK_ID
...
@@ -274,4 +277,23 @@
...
@@ -274,4 +277,23 @@
from book_special_agent
from book_special_agent
where agent_id = #{_parameter}
where agent_id = #{_parameter}
</select>
</select>
<!--获取社群码基本信息(包括书籍信息,及BookClockInfoId)-->
<select
id=
"getBookInfoByIdsWithBookClockInfoId"
parameterType=
"map"
resultMap=
"BookGroupDTO"
>
SELECT
bg.id,
bg.book_id,
bg.group_qrcode_name,
b.COVER_IMG book_img,
b.ISBN,
b.BOOK_NAME,
#{bookClockInfoId} book_clock_info_id
FROM
book_group bg
LEFT JOIN book b ON bg.book_id = b.BOOK_ID
where id in
<foreach
collection=
"bookGroupIdList"
open=
"("
close=
")"
item=
"item"
separator=
","
>
${item}
</foreach>
</select>
</mapper>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/group/GroupQrcode.Mapper.xml
View file @
cc4ec6af
...
@@ -275,4 +275,27 @@
...
@@ -275,4 +275,27 @@
select
<include
refid=
"Base_Column_List"
/>
from book_group_qrcode
select
<include
refid=
"Base_Column_List"
/>
from book_group_qrcode
where is_delete=0 and weixin_group_id=#{wechatGroupId} limit 1
where is_delete=0 and weixin_group_id=#{wechatGroupId} limit 1
</select>
</select>
<select
id=
"countByClassifyIds"
parameterType=
"list"
resultType=
"java.lang.Integer"
>
select count(1) from book_group_qrcode
where
is_delete = 0
AND classify_Id in
<foreach
collection =
"list"
index=
"index"
item =
"item"
open =
"("
separator=
","
close =
")"
>
${item}
</foreach>
</select>
<!--根据群分类id集合查询群id集合-->
<select
id=
"getWeixinGroupIdsByClassifyIdList"
parameterType=
"Long"
resultType=
"String"
>
SELECT
DISTINCT t.weixin_group_id
FROM
book_group_qrcode t
WHERE
classify_id IN
<foreach
collection=
"list"
separator=
","
close=
")"
item=
"item"
open=
"("
>
${item}
</foreach>
</select>
</mapper>
</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