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
2968ae3e
Commit
2968ae3e
authored
Feb 06, 2020
by
郑永强
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
【1002273】与小睿对话记录用户书刊并索要出版社信息
parent
46c8a8c3
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
615 additions
and
12 deletions
+615
-12
BookService.java
...c/main/java/com/pcloud/book/book/service/BookService.java
+6
-0
BookBiz.java
...-book/src/main/java/com/pcloud/book/book/biz/BookBiz.java
+6
-0
BookBizImpl.java
.../main/java/com/pcloud/book/book/biz/impl/BookBizImpl.java
+20
-0
BookDao.java
...-book/src/main/java/com/pcloud/book/book/dao/BookDao.java
+7
-0
BookDaoImpl.java
.../main/java/com/pcloud/book/book/dao/impl/BookDaoImpl.java
+7
-0
BookServiceImpl.java
...va/com/pcloud/book/book/service/impl/BookServiceImpl.java
+9
-0
ChannelConsr.java
...main/java/com/pcloud/book/consumer/user/ChannelConsr.java
+17
-0
SelfRobotKeywordBiz.java
...ava/com/pcloud/book/keywords/biz/SelfRobotKeywordBiz.java
+5
-0
BookKeywordBizImpl.java
...com/pcloud/book/keywords/biz/impl/BookKeywordBizImpl.java
+107
-7
SelfRobotKeywordBizImpl.java
...cloud/book/keywords/biz/impl/SelfRobotKeywordBizImpl.java
+137
-5
SelfRobotBookRecordDao.java
.../com/pcloud/book/keywords/dao/SelfRobotBookRecordDao.java
+11
-0
SelfRobotKeywordReplyTemplateDao.java
...d/book/keywords/dao/SelfRobotKeywordReplyTemplateDao.java
+15
-0
SelfRobotBookRecordDaoImpl.java
...ud/book/keywords/dao/impl/SelfRobotBookRecordDaoImpl.java
+18
-0
SelfRobotKeywordReplyTemplateDaoImpl.java
...ywords/dao/impl/SelfRobotKeywordReplyTemplateDaoImpl.java
+21
-0
SelfRobotBookRecordDTO.java
.../com/pcloud/book/keywords/dto/SelfRobotBookRecordDTO.java
+50
-0
SelfRobotBookRecord.java
.../com/pcloud/book/keywords/entity/SelfRobotBookRecord.java
+39
-0
SelfRobotKeywordReplyTemplate.java
...d/book/keywords/entity/SelfRobotKeywordReplyTemplate.java
+27
-0
SelfRobotKeywordFacade.java
...m/pcloud/book/keywords/facade/SelfRobotKeywordFacade.java
+12
-0
SelfRobotKeywordFacadeImpl.java
...book/keywords/facade/impl/SelfRobotKeywordFacadeImpl.java
+15
-0
Book.Mapper.xml
...rvice-book/src/main/resources/mapper/book/Book.Mapper.xml
+11
-0
SelfRobotBookRecord.xml
...k/src/main/resources/mapper/group/SelfRobotBookRecord.xml
+55
-0
SelfRobotKeywordReplyTemplate.xml
.../resources/mapper/group/SelfRobotKeywordReplyTemplate.xml
+20
-0
No files found.
pcloud-facade-book/src/main/java/com/pcloud/book/book/service/BookService.java
View file @
2968ae3e
...
@@ -251,4 +251,10 @@ public interface BookService {
...
@@ -251,4 +251,10 @@ public interface BookService {
@RequestParam
(
value
=
"keyword"
)
String
keyword
,
@RequestParam
(
value
=
"keyword"
)
String
keyword
,
@RequestParam
(
value
=
"adviserId"
)
Long
adviserId
@RequestParam
(
value
=
"adviserId"
)
Long
adviserId
)
throws
BizException
;
)
throws
BizException
;
@ApiOperation
(
"根据书名模糊匹配,获得所有book_id"
)
@RequestMapping
(
value
=
"/getBookIdsByBookName"
,
method
=
RequestMethod
.
GET
)
ResponseEntity
<
ResponseDto
<
List
<
Long
>>>
getBookIdsByBookName
(
@RequestParam
(
value
=
"bookName"
)
String
bookName
)
throws
BizException
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/biz/BookBiz.java
View file @
2968ae3e
...
@@ -605,4 +605,10 @@ public interface BookBiz {
...
@@ -605,4 +605,10 @@ public interface BookBiz {
*/
*/
void
exportBookIncomeDetail
(
Map
<
String
,
Object
>
paramMap
,
Long
agentId
,
Long
partyId
,
String
systemCode
);
void
exportBookIncomeDetail
(
Map
<
String
,
Object
>
paramMap
,
Long
agentId
,
Long
partyId
,
String
systemCode
);
/**
* 根据书名模糊匹配,获得所有book_id
* @param bookName
* @return
*/
List
<
Long
>
getBookIdsByBookName
(
String
bookName
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/biz/impl/BookBizImpl.java
View file @
2968ae3e
...
@@ -1898,4 +1898,24 @@ public class BookBizImpl implements BookBiz {
...
@@ -1898,4 +1898,24 @@ public class BookBizImpl implements BookBiz {
}
}
});
});
}
}
@ParamLog
(
"根据书名模糊匹配,获得所有book_id"
)
@Override
public
List
<
Long
>
getBookIdsByBookName
(
String
bookName
)
{
LOGGER
.
info
(
"根据书名模糊匹配,获得所有book_id,<START>.[bookName]="
+
bookName
);
if
(
StringUtil
.
isEmpty
(
bookName
))
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"请输入书名"
);
}
List
<
Long
>
bookIds
;
try
{
bookIds
=
bookDao
.
getBookIdsByBookName
(
bookName
);
if
(
bookIds
==
null
)
{
bookIds
=
Lists
.
newArrayList
();
}
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"根据书名模糊匹配,获得所有book_id,<ERROR>.[getBookIdsByBookName]:"
+
e
.
getMessage
(),
e
);
throw
BizException
.
DB_SELECT_IS_FAIL
;
}
return
bookIds
;
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/dao/BookDao.java
View file @
2968ae3e
...
@@ -320,4 +320,11 @@ public interface BookDao extends BaseDao<Book> {
...
@@ -320,4 +320,11 @@ public interface BookDao extends BaseDao<Book> {
List
<
BookSaleVO
>
listIncomePage4Agent
(
Map
<
String
,
Object
>
paramMap
);
List
<
BookSaleVO
>
listIncomePage4Agent
(
Map
<
String
,
Object
>
paramMap
);
Long
countIncomePage4Agent
(
Map
<
String
,
Object
>
paramMap
);
Long
countIncomePage4Agent
(
Map
<
String
,
Object
>
paramMap
);
/**
* 模糊匹配书名 限制50条
* @param bookName
* @return
*/
List
<
Long
>
getBookIdsByBookName
(
String
bookName
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/dao/impl/BookDaoImpl.java
View file @
2968ae3e
...
@@ -314,4 +314,11 @@ public class BookDaoImpl extends BaseDaoImpl<Book> implements BookDao {
...
@@ -314,4 +314,11 @@ public class BookDaoImpl extends BaseDaoImpl<Book> implements BookDao {
public
Long
countIncomePage4Agent
(
Map
<
String
,
Object
>
paramMap
)
{
public
Long
countIncomePage4Agent
(
Map
<
String
,
Object
>
paramMap
)
{
return
super
.
getSqlSession
().
selectOne
(
super
.
getStatement
(
"countIncomePage4Agent"
),
paramMap
);
return
super
.
getSqlSession
().
selectOne
(
super
.
getStatement
(
"countIncomePage4Agent"
),
paramMap
);
}
}
@Override
public
List
<
Long
>
getBookIdsByBookName
(
String
bookName
)
{
Map
<
String
,
Object
>
paramMap
=
Maps
.
newHashMap
();
paramMap
.
put
(
"bookName"
,
bookName
);
return
super
.
getSqlSession
().
selectList
(
getStatement
(
"getBookIdsByBookName"
),
paramMap
);
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/service/impl/BookServiceImpl.java
View file @
2968ae3e
...
@@ -201,4 +201,13 @@ public class BookServiceImpl implements BookService {
...
@@ -201,4 +201,13 @@ public class BookServiceImpl implements BookService {
)
throws
BizException
{
)
throws
BizException
{
return
ResponseHandleUtil
.
toResponse
(
bookBiz
.
getIdsByNameOrISBN
(
keyword
,
adviserId
));
return
ResponseHandleUtil
.
toResponse
(
bookBiz
.
getIdsByNameOrISBN
(
keyword
,
adviserId
));
}
}
@ApiOperation
(
"根据书名模糊匹配,获得所有book_id"
)
@RequestMapping
(
value
=
"/getBookIdsByBookName"
,
method
=
RequestMethod
.
GET
)
@Override
public
ResponseEntity
<
ResponseDto
<
List
<
Long
>>>
getBookIdsByBookName
(
@RequestParam
(
value
=
"bookName"
)
String
bookName
)
throws
BizException
{
return
ResponseHandleUtil
.
toResponse
(
bookBiz
.
getBookIdsByBookName
(
bookName
));
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/consumer/user/ChannelConsr.java
View file @
2968ae3e
...
@@ -4,6 +4,7 @@
...
@@ -4,6 +4,7 @@
package
com
.
pcloud
.
book
.
consumer
.
user
;
package
com
.
pcloud
.
book
.
consumer
.
user
;
import
com.pcloud.channelcenter.base.exceptions.ChannelBizException
;
import
com.pcloud.channelcenter.base.exceptions.ChannelBizException
;
import
com.pcloud.channelcenter.wechat.service.MessageService
;
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
;
...
@@ -31,6 +32,8 @@ public class ChannelConsr {
...
@@ -31,6 +32,8 @@ public class ChannelConsr {
@Autowired
@Autowired
private
ChannelService
channelService
;
private
ChannelService
channelService
;
@Autowired
private
MessageService
messageService
;
/**
/**
* 获取渠道名称
* 获取渠道名称
...
@@ -124,4 +127,18 @@ public class ChannelConsr {
...
@@ -124,4 +127,18 @@ public class ChannelConsr {
}
}
}
}
/**
* 根据bookIds获取资源数
* @param bookIds
* @return
*/
public
Integer
getMessageCountByBookIds
(
List
<
Long
>
bookIds
){
LOGGER
.
info
(
"根据bookIds获取资源数,<START>.[bookIds]="
+
bookIds
.
toString
());
try
{
return
ResponseHandleUtil
.
parseResponse
(
messageService
.
getMessageCountByBookIds
(
bookIds
),
Integer
.
class
);
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"获取代理下已经审核通过的运营id.[getApproveIdList]:"
+
e
.
getMessage
(),
e
);
throw
new
ChannelBizException
(
ChannelBizException
.
PARAM_IS_NULL
,
"运营不存在"
);
}
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/keywords/biz/SelfRobotKeywordBiz.java
View file @
2968ae3e
package
com
.
pcloud
.
book
.
keywords
.
biz
;
package
com
.
pcloud
.
book
.
keywords
.
biz
;
import
com.pcloud.book.keywords.dto.SelfRobotBookRecordDTO
;
import
com.pcloud.book.keywords.entity.SelfRobotKeyword
;
import
com.pcloud.book.keywords.entity.SelfRobotKeyword
;
import
com.pcloud.book.keywords.vo.GuideWordVO
;
import
com.pcloud.book.keywords.vo.GuideWordVO
;
import
com.pcloud.book.keywords.vo.LabelVO
;
import
com.pcloud.book.keywords.vo.LabelVO
;
...
@@ -38,4 +39,8 @@ public interface SelfRobotKeywordBiz {
...
@@ -38,4 +39,8 @@ public interface SelfRobotKeywordBiz {
void
sendWhenNoReply
(
Integer
id
,
String
robotId
,
String
wxUserId
);
void
sendWhenNoReply
(
Integer
id
,
String
robotId
,
String
wxUserId
);
List
<
SelfRobotKeyword
>
getListByBookGroupId
(
Long
bookGroupId
);
List
<
SelfRobotKeyword
>
getListByBookGroupId
(
Long
bookGroupId
);
PageBeanNew
<
SelfRobotBookRecordDTO
>
getSelfRobotBookRecordList
(
Integer
currentPage
,
Integer
numPerPage
);
void
exportSelfRobotBookRecord
(
Long
partyId
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/keywords/biz/impl/BookKeywordBizImpl.java
View file @
2968ae3e
...
@@ -5,11 +5,14 @@ import com.google.common.collect.Maps;
...
@@ -5,11 +5,14 @@ import com.google.common.collect.Maps;
import
com.pcloud.appcenter.app.dto.AppDto
;
import
com.pcloud.appcenter.app.dto.AppDto
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.book.biz.BookKeywordWarehouseBiz
;
import
com.pcloud.book.book.biz.BookKeywordWarehouseBiz
;
import
com.pcloud.book.book.dao.BookDao
;
import
com.pcloud.book.book.dto.BookGuideDelayDto
;
import
com.pcloud.book.consumer.app.AppConsr
;
import
com.pcloud.book.consumer.app.AppConsr
;
import
com.pcloud.book.consumer.channel.QrcodeSceneConsr
;
import
com.pcloud.book.consumer.channel.QrcodeSceneConsr
;
import
com.pcloud.book.consumer.content.ResourceConsr
;
import
com.pcloud.book.consumer.content.ResourceConsr
;
import
com.pcloud.book.consumer.live.LiveCons
;
import
com.pcloud.book.consumer.live.LiveCons
;
import
com.pcloud.book.consumer.resource.ProductConsr
;
import
com.pcloud.book.consumer.resource.ProductConsr
;
import
com.pcloud.book.consumer.user.ChannelConsr
;
import
com.pcloud.book.consumer.wechatgroup.WechatGroupConsr
;
import
com.pcloud.book.consumer.wechatgroup.WechatGroupConsr
;
import
com.pcloud.book.group.biz.BookGroupAppBiz
;
import
com.pcloud.book.group.biz.BookGroupAppBiz
;
import
com.pcloud.book.group.biz.BookGroupBiz
;
import
com.pcloud.book.group.biz.BookGroupBiz
;
...
@@ -94,6 +97,7 @@ import org.springframework.util.CollectionUtils;
...
@@ -94,6 +97,7 @@ import org.springframework.util.CollectionUtils;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.net.URLEncoder
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.Collections
;
import
java.util.Collections
;
...
@@ -170,6 +174,15 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
...
@@ -170,6 +174,15 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
@Autowired
@Autowired
private
SelfRobotKeywordReplyDao
selfRobotKeywordReplyDao
;
private
SelfRobotKeywordReplyDao
selfRobotKeywordReplyDao
;
@Autowired
@Autowired
private
BookDao
bookDao
;
@Autowired
private
SelfRobotKeywordReplyTemplateDao
selfRobotKeywordReplyTemplateDao
;
@Autowired
private
ChannelConsr
channelConsr
;
@Autowired
private
SelfRobotBookRecordDao
selfRobotBookRecordDao
;
@Autowired
private
ReadingActivityBiz
readingActivityBiz
;
private
ReadingActivityBiz
readingActivityBiz
;
@Autowired
@Autowired
private
NotKeywordTemplateDao
notKeywordTemplateDao
;
private
NotKeywordTemplateDao
notKeywordTemplateDao
;
...
@@ -508,14 +521,101 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
...
@@ -508,14 +521,101 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
return
;
return
;
}
}
if
(
SendMessageTypeEnum
.
SELF
.
getCode
().
equals
(
sendTextDTO
.
getCode
()))
{
if
(
SendMessageTypeEnum
.
SELF
.
getCode
().
equals
(
sendTextDTO
.
getCode
()))
{
dealBookGroupCipher
(
sendTextDTO
);
// 小睿对话索要出版社信息
//判断是否为某个群分类名称
boolean
_continue
=
replySelfKeywordTemplate
(
sendTextDTO
);
inviteToGroupByKeyword
(
sendTextDTO
);
if
(
_continue
)
{
//智能机器人新版个人号回复
dealBookGroupCipher
(
sendTextDTO
);
dealSelfShortBookName
(
sendTextDTO
);
//判断是否为某个群分类名称
//回复关键词
inviteToGroupByKeyword
(
sendTextDTO
);
replySelfKeyword
(
sendTextDTO
);
//智能机器人新版个人号回复
dealSelfShortBookName
(
sendTextDTO
);
//回复关键词
replySelfKeyword
(
sendTextDTO
);
}
}
}
@ParamLog
(
"小睿根据书名推送匹配的资源"
)
private
boolean
replySelfKeywordTemplate
(
SendTextDTO
sendTextDTO
)
{
String
content
=
sendTextDTO
.
getTextContent
();
String
redisKey
=
"replySelfKeywordTemplate:"
+
sendTextDTO
.
getWxId
()+
":"
+
sendTextDTO
.
getWechatUserId
();
List
<
SelfRobotKeywordReplyTemplate
>
replyTemplateList
=
selfRobotKeywordReplyTemplateDao
.
getList
();
// 解析出《》的书名
Pattern
pattern
=
Pattern
.
compile
(
"《(.*?)》"
);
Matcher
matcher
=
pattern
.
matcher
(
content
);
// 如果匹配不到,在匹配出版社
if
(!
matcher
.
find
()
||
matcher
.
group
(
1
).
trim
().
isEmpty
())
{
// 解析出版社 出版社:
int
index
=
content
.
indexOf
(
"出版社:"
);
// 再匹配不到,直接返回,并走接下来的逻辑
if
(
index
==
-
1
)
{
index
=
content
.
indexOf
(
"出版社:"
);
if
(
index
==
-
1
)
return
true
;
}
String
agentName
=
content
.
substring
(
index
+
4
);
if
(
StringUtil
.
isNotNull
(
agentName
)){
// 从redis取出书名
String
bookName
=
JedisClusterUtils
.
get
(
redisKey
);
// 删掉书名
JedisClusterUtils
.
del
(
redisKey
);
if
(
StringUtil
.
isNotNull
(
bookName
)){
// 将书的信息录入
SelfRobotBookRecord
selfRobotBookRecord
=
new
SelfRobotBookRecord
();
selfRobotBookRecord
.
setWxUserId
(
sendTextDTO
.
getWechatUserId
());
selfRobotBookRecord
.
setAltId
(
sendTextDTO
.
getWxId
());
selfRobotBookRecord
.
setBookName
(
bookName
);
selfRobotBookRecord
.
setStatus
(
2
);
selfRobotBookRecord
.
setAgentName
(
agentName
);
selfRobotBookRecordDao
.
insert
(
selfRobotBookRecord
);
}
Optional
<
SelfRobotKeywordReplyTemplate
>
replyTemplate
=
replyTemplateList
.
stream
().
filter
(
x
->
x
.
getStatus
().
equals
(
2
)).
findFirst
();
sendText
(
sendTextDTO
,
replyTemplate
.
get
().
getReplyContentTemplate
());
}
}
String
bookName
=
matcher
.
group
(
1
).
trim
();
// 根据书名查询到 bookIds
List
<
Long
>
bookIds
=
bookDao
.
getBookIdsByBookName
(
bookName
);
if
(
ListUtils
.
isEmpty
(
bookIds
)){
// 将书名写入redis暂存
JedisClusterUtils
.
set
(
redisKey
,
bookName
);
// 如果bookIds没有值,则回复模板状态3
// 呃,小睿刚才仔细的找了下,发现书刊的配套资源我这边还没有呢,要不等小睿看完整理好后再给你吧
Optional
<
SelfRobotKeywordReplyTemplate
>
replyTemplate
=
replyTemplateList
.
stream
().
filter
(
x
->
x
.
getStatus
().
equals
(
3
)).
findFirst
();
sendText
(
sendTextDTO
,
replyTemplate
.
get
().
getReplyContentTemplate
().
replace
(
"${bookName}"
,
bookName
));
}
else
{
// 根据bookIds查询资源数;
Integer
totalCount
=
channelConsr
.
getMessageCountByBookIds
(
bookIds
);
if
(
totalCount
>
0
){
// 信息录入
SelfRobotBookRecord
selfRobotBookRecord
=
new
SelfRobotBookRecord
();
selfRobotBookRecord
.
setWxUserId
(
sendTextDTO
.
getWechatUserId
());
selfRobotBookRecord
.
setAltId
(
sendTextDTO
.
getWxId
());
selfRobotBookRecord
.
setBookName
(
bookName
);
selfRobotBookRecord
.
setStatus
(
3
);
selfRobotBookRecordDao
.
insert
(
selfRobotBookRecord
);
// 如果有书有资源,则转换链接,并推送链接给用户
Map
<
String
,
String
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"wxId"
,
sendTextDTO
.
getWechatUserId
());
paramMap
.
put
(
"robotWxId"
,
sendTextDTO
.
getWxId
());
paramMap
.
put
(
"bookName"
,
URLEncoder
.
encode
(
bookName
));
Optional
<
SelfRobotKeywordReplyTemplate
>
replyTemplate
=
replyTemplateList
.
stream
().
filter
(
x
->
x
.
getStatus
().
equals
(
4
)).
findFirst
();
sendText
(
sendTextDTO
,
appendUrlParams
(
replyTemplate
.
get
().
getReplyContentTemplate
(),
paramMap
));
}
else
{
// 信息录入
SelfRobotBookRecord
selfRobotBookRecord
=
new
SelfRobotBookRecord
();
selfRobotBookRecord
.
setWxUserId
(
sendTextDTO
.
getWechatUserId
());
selfRobotBookRecord
.
setAltId
(
sendTextDTO
.
getWxId
());
selfRobotBookRecord
.
setBookName
(
bookName
);
selfRobotBookRecord
.
setStatus
(
1
);
selfRobotBookRecordDao
.
insert
(
selfRobotBookRecord
);
// 如果有书但没有资源,则回复模板状态1
Optional
<
SelfRobotKeywordReplyTemplate
>
replyTemplate
=
replyTemplateList
.
stream
().
filter
(
x
->
x
.
getStatus
().
equals
(
1
)).
findFirst
();
sendText
(
sendTextDTO
,
replyTemplate
.
get
().
getReplyContentTemplate
().
replace
(
"${bookName}"
,
bookName
));
}
}
}
return
false
;
}
}
@ParamLog
(
"回复新版关键词"
)
@ParamLog
(
"回复新版关键词"
)
...
...
pcloud-service-book/src/main/java/com/pcloud/book/keywords/biz/impl/SelfRobotKeywordBizImpl.java
View file @
2968ae3e
package
com
.
pcloud
.
book
.
keywords
.
biz
.
impl
;
package
com
.
pcloud
.
book
.
keywords
.
biz
.
impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.pcloud.appcenter.app.dto.AppDto
;
import
com.pcloud.appcenter.app.dto.AppDto
;
import
com.pcloud.book.advertising.dto.AdvertisingSpaceDTO
;
import
com.pcloud.book.advertising.dto.GroupTagDTO
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.consumer.app.AppConsr
;
import
com.pcloud.book.consumer.app.AppConsr
;
import
com.pcloud.book.consumer.channel.QrcodeSceneConsr
;
import
com.pcloud.book.consumer.channel.QrcodeSceneConsr
;
import
com.pcloud.book.consumer.common.ExportConsr
;
import
com.pcloud.book.consumer.content.ResourceConsr
;
import
com.pcloud.book.consumer.content.ResourceConsr
;
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
;
...
@@ -15,9 +19,12 @@ import com.pcloud.book.group.entity.WeixinQrcodeGeneration;
...
@@ -15,9 +19,12 @@ import com.pcloud.book.group.entity.WeixinQrcodeGeneration;
import
com.pcloud.book.group.enums.AppAndProductTypeEnum
;
import
com.pcloud.book.group.enums.AppAndProductTypeEnum
;
import
com.pcloud.book.group.tools.SendWeixinRequestTools
;
import
com.pcloud.book.group.tools.SendWeixinRequestTools
;
import
com.pcloud.book.keywords.biz.SelfRobotKeywordBiz
;
import
com.pcloud.book.keywords.biz.SelfRobotKeywordBiz
;
import
com.pcloud.book.keywords.dao.SelfRobotBookRecordDao
;
import
com.pcloud.book.keywords.dao.SelfRobotGuideDao
;
import
com.pcloud.book.keywords.dao.SelfRobotGuideDao
;
import
com.pcloud.book.keywords.dao.SelfRobotKeywordDao
;
import
com.pcloud.book.keywords.dao.SelfRobotKeywordDao
;
import
com.pcloud.book.keywords.dao.SelfRobotKeywordReplyDao
;
import
com.pcloud.book.keywords.dao.SelfRobotKeywordReplyDao
;
import
com.pcloud.book.keywords.dto.SelfRobotBookRecordDTO
;
import
com.pcloud.book.keywords.entity.SelfRobotBookRecord
;
import
com.pcloud.book.keywords.entity.SelfRobotGuide
;
import
com.pcloud.book.keywords.entity.SelfRobotGuide
;
import
com.pcloud.book.keywords.entity.SelfRobotKeyword
;
import
com.pcloud.book.keywords.entity.SelfRobotKeyword
;
import
com.pcloud.book.keywords.mapper.TempRobotSkillDao
;
import
com.pcloud.book.keywords.mapper.TempRobotSkillDao
;
...
@@ -31,8 +38,13 @@ import com.pcloud.book.keywords.vo.SelfRobotReplyVO;
...
@@ -31,8 +38,13 @@ import com.pcloud.book.keywords.vo.SelfRobotReplyVO;
import
com.pcloud.book.util.common.ThreadPoolUtils
;
import
com.pcloud.book.util.common.ThreadPoolUtils
;
import
com.pcloud.channelcenter.wechat.dto.AccountSettingDto
;
import
com.pcloud.channelcenter.wechat.dto.AccountSettingDto
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.core.biz.MessageBiz
;
import
com.pcloud.common.core.constant.SystemCode
;
import
com.pcloud.common.core.dto.SendNotifyDto
;
import
com.pcloud.common.core.enums.NotifyOriginTypeEnum
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageParam
;
import
com.pcloud.common.page.PageParam
;
import
com.pcloud.common.utils.DateUtils
;
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.common.utils.string.StringUtil
;
import
com.pcloud.common.utils.string.StringUtil
;
...
@@ -40,21 +52,21 @@ import com.pcloud.contentcenter.resource.dto.ResourceDTO;
...
@@ -40,21 +52,21 @@ import com.pcloud.contentcenter.resource.dto.ResourceDTO;
import
com.pcloud.resourcecenter.product.dto.ProductDto
;
import
com.pcloud.resourcecenter.product.dto.ProductDto
;
import
com.pcloud.resourcecenter.product.dto.ProductTypeDto
;
import
com.pcloud.resourcecenter.product.dto.ProductTypeDto
;
import
com.pcloud.wechatgroup.group.dto.GroupRobotDTO
;
import
com.pcloud.wechatgroup.group.dto.GroupRobotDTO
;
import
com.pcloud.wechatgroup.group.dto.GroupUserDTO
;
import
com.pcloud.wechatgroup.timecontrol.dto.LabelDto
;
import
com.pcloud.wechatgroup.timecontrol.dto.LabelDto
;
import
com.pcloud.wechatgroup.timecontrol.dto.TaskDto
;
import
com.pcloud.wechatgroup.timecontrol.dto.TaskDto
;
import
com.pcloud.wechatgroup.timecontrol.service.TimeControlTaskService
;
import
com.pcloud.wechatgroup.timecontrol.service.TimeControlTaskService
;
import
com.sdk.wxgroup.*
;
import
com.sdk.wxgroup.*
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections.MapUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
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
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.ArrayList
;
import
java.text.SimpleDateFormat
;
import
java.util.Arrays
;
import
java.util.*
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -63,6 +75,7 @@ import java.util.stream.Collectors;
...
@@ -63,6 +75,7 @@ import java.util.stream.Collectors;
* @Date 2019/12/30 11:35
* @Date 2019/12/30 11:35
**/
**/
@Component
(
"selfRobotKeywordBiz"
)
@Component
(
"selfRobotKeywordBiz"
)
@Slf4j
public
class
SelfRobotKeywordBizImpl
implements
SelfRobotKeywordBiz
{
public
class
SelfRobotKeywordBizImpl
implements
SelfRobotKeywordBiz
{
@Autowired
@Autowired
...
@@ -91,6 +104,12 @@ public class SelfRobotKeywordBizImpl implements SelfRobotKeywordBiz {
...
@@ -91,6 +104,12 @@ public class SelfRobotKeywordBizImpl implements SelfRobotKeywordBiz {
private
WeixinQrcodeGenerationDao
weixinQrcodeGenerationDao
;
private
WeixinQrcodeGenerationDao
weixinQrcodeGenerationDao
;
@Autowired
@Autowired
private
SelfRobotGuideDao
selfRobotGuideDao
;
private
SelfRobotGuideDao
selfRobotGuideDao
;
@Autowired
private
SelfRobotBookRecordDao
selfRobotBookRecordDao
;
@Autowired
private
ExportConsr
exportConsr
;
@Autowired
private
MessageBiz
messageBiz
;
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@ParamLog
(
"批量新增个人号关键词"
)
@ParamLog
(
"批量新增个人号关键词"
)
...
@@ -700,4 +719,117 @@ public class SelfRobotKeywordBizImpl implements SelfRobotKeywordBiz {
...
@@ -700,4 +719,117 @@ public class SelfRobotKeywordBizImpl implements SelfRobotKeywordBiz {
}
}
}
}
}
}
@Override
public
PageBeanNew
<
SelfRobotBookRecordDTO
>
getSelfRobotBookRecordList
(
Integer
currentPage
,
Integer
numPerPage
)
{
PageBeanNew
<
SelfRobotBookRecordDTO
>
pageBeanNew
=
selfRobotBookRecordDao
.
listPageNew
(
new
PageParam
(
currentPage
,
numPerPage
),
null
,
"getSelfRobotBookRecordList"
);
List
<
SelfRobotBookRecordDTO
>
recordList
=
pageBeanNew
.
getRecordList
();
if
(!
ListUtils
.
isEmpty
(
recordList
)){
List
<
String
>
collect
=
recordList
.
stream
().
map
(
x
->
x
.
getWxUserId
()).
distinct
().
collect
(
Collectors
.
toList
());
Map
<
String
,
GroupUserDTO
>
userDTOMap
=
wechatGroupConsr
.
mapWxUserInfoByWxIdList
(
collect
);
if
(
MapUtils
.
isNotEmpty
(
userDTOMap
)){
GroupUserDTO
groupUserDTO
;
for
(
SelfRobotBookRecordDTO
selfRobotBookRecordDTO
:
recordList
){
//用户信息
if
(
userDTOMap
.
containsKey
(
selfRobotBookRecordDTO
.
getWxUserId
()))
{
groupUserDTO
=
userDTOMap
.
get
(
selfRobotBookRecordDTO
.
getWxUserId
());
selfRobotBookRecordDTO
.
setNickName
(
groupUserDTO
.
getNickName
());
selfRobotBookRecordDTO
.
setHeadPic
(
groupUserDTO
.
getHeadPic
());
selfRobotBookRecordDTO
.
setSex
(
groupUserDTO
.
getSex
());
}
}
}
}
return
pageBeanNew
;
}
@Override
public
void
exportSelfRobotBookRecord
(
Long
partyId
)
{
List
<
SelfRobotBookRecordDTO
>
list
=
selfRobotBookRecordDao
.
getAllSelfRobotBookRecordList
();
if
(
ListUtils
.
isEmpty
(
list
))
{
return
;
}
List
<
String
>
collect
=
list
.
stream
().
map
(
x
->
x
.
getWxUserId
()).
distinct
().
collect
(
Collectors
.
toList
());
Map
<
String
,
GroupUserDTO
>
userDTOMap
=
wechatGroupConsr
.
mapWxUserInfoByWxIdList
(
collect
);
if
(
MapUtils
.
isNotEmpty
(
userDTOMap
)){
GroupUserDTO
groupUserDTO
;
for
(
SelfRobotBookRecordDTO
selfRobotBookRecordDTO
:
list
){
//用户信息
if
(
userDTOMap
.
containsKey
(
selfRobotBookRecordDTO
.
getWxUserId
()))
{
groupUserDTO
=
userDTOMap
.
get
(
selfRobotBookRecordDTO
.
getWxUserId
());
selfRobotBookRecordDTO
.
setNickName
(
groupUserDTO
.
getNickName
());
selfRobotBookRecordDTO
.
setHeadPic
(
groupUserDTO
.
getHeadPic
());
selfRobotBookRecordDTO
.
setSex
(
groupUserDTO
.
getSex
());
}
}
}
ThreadPoolUtils
.
EXPORT_THREAD_POOL
.
execute
(()
->
{
String
fileName
=
"用户书刊信息收录导出_"
+
DateUtils
.
getShortDateStr
();
String
zipTitle
=
"用户书刊信息收录导出__"
+
DateUtils
.
getShortDateStr
();
Boolean
isSuccess
=
true
;
String
fileUrl
=
""
;
try
{
fileUrl
=
getExcelUrl4SelfRobotBookRecord
(
list
,
fileName
);
}
catch
(
Exception
e
)
{
log
.
error
(
"生成导出文件失败"
+
e
.
getMessage
(),
e
);
isSuccess
=
false
;
}
// 发送消息
if
(
isSuccess
)
{
sendNotify
(
partyId
,
fileUrl
,
zipTitle
);
}
});
}
/**
* 发送站内信
*/
private
void
sendNotify
(
Long
partyId
,
String
fileUrl
,
String
fileName
)
{
JSONObject
content
=
new
JSONObject
();
content
.
put
(
"commitTime"
,
DateUtils
.
formatDate
(
new
Date
()));
content
.
put
(
"type"
,
"书刊收录信息导出"
);
SendNotifyDto
sendNotifyDto
=
new
SendNotifyDto
();
sendNotifyDto
.
setCreatedTime
(
new
Date
());
sendNotifyDto
.
setFromId
(
partyId
);
sendNotifyDto
.
setToId
(
partyId
);
sendNotifyDto
.
setNotifyContent
(
content
.
toJSONString
());
sendNotifyDto
.
setSystemCode
(
SystemCode
.
pcloud
.
code
);
sendNotifyDto
.
setTypeCode
(
"wechat_learn_export"
);
sendNotifyDto
.
setResourceId
(
fileUrl
);
sendNotifyDto
.
setFileName
(
fileName
);
sendNotifyDto
.
setOriginType
(
NotifyOriginTypeEnum
.
BOOK_GROUP
.
value
);
try
{
messageBiz
.
sendLetter
(
sendNotifyDto
);
}
catch
(
Exception
e
)
{
log
.
error
(
"【站内信(消)】发送站内信.[sendLetter]:"
+
e
.
getMessage
(),
e
);
}
}
private
String
getExcelUrl4SelfRobotBookRecord
(
List
<
SelfRobotBookRecordDTO
>
list
,
String
fileName
)
{
// 字段名
String
[]
rowsName
=
{
"编号"
,
"读者信息"
,
"书刊名称"
,
"出版社"
,
"书刊状态"
,
"读者输入时间"
};
List
<
Object
[]>
dataList
=
new
ArrayList
<>();
Object
[]
objs
;
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
SelfRobotBookRecordDTO
selfRobotBookRecordDTO
=
list
.
get
(
i
);
objs
=
new
Object
[
rowsName
.
length
];
objs
[
0
]
=
i
+
1
;
objs
[
1
]
=
!
StringUtil
.
isEmpty
(
selfRobotBookRecordDTO
.
getNickName
())
?
selfRobotBookRecordDTO
.
getNickName
()
:
"--"
;
objs
[
2
]
=
!
StringUtil
.
isEmpty
(
selfRobotBookRecordDTO
.
getBookName
())
?
selfRobotBookRecordDTO
.
getBookName
()
:
"--"
;
objs
[
3
]
=
!
StringUtil
.
isEmpty
(
selfRobotBookRecordDTO
.
getAgentName
())
?
selfRobotBookRecordDTO
.
getAgentName
()
:
"--"
;
String
bookStatus
=
null
;
switch
(
selfRobotBookRecordDTO
.
getStatus
()){
case
1
:
bookStatus
=
"已收录未配置资源"
;
break
;
case
2
:
bookStatus
=
"未收录"
;
break
;
case
3
:
bookStatus
=
"已收录有资源"
;
}
objs
[
4
]
=
!
StringUtil
.
isEmpty
(
bookStatus
)
?
bookStatus
:
"--"
;
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
objs
[
5
]
=
(
selfRobotBookRecordDTO
.
getCreateTime
()
!=
null
?
simpleDateFormat
.
format
(
selfRobotBookRecordDTO
.
getCreateTime
())
:
"--"
);
dataList
.
add
(
objs
);
}
String
fileUrl
=
exportConsr
.
exportExcel
(
fileName
,
rowsName
,
dataList
);
return
fileUrl
;
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/keywords/dao/SelfRobotBookRecordDao.java
0 → 100644
View file @
2968ae3e
package
com
.
pcloud
.
book
.
keywords
.
dao
;
import
com.pcloud.book.keywords.dto.SelfRobotBookRecordDTO
;
import
com.pcloud.book.keywords.entity.SelfRobotBookRecord
;
import
com.pcloud.common.core.dao.BaseDao
;
import
java.util.List
;
public
interface
SelfRobotBookRecordDao
extends
BaseDao
<
SelfRobotBookRecord
>
{
List
<
SelfRobotBookRecordDTO
>
getAllSelfRobotBookRecordList
();
}
pcloud-service-book/src/main/java/com/pcloud/book/keywords/dao/SelfRobotKeywordReplyTemplateDao.java
0 → 100644
View file @
2968ae3e
package
com
.
pcloud
.
book
.
keywords
.
dao
;
import
com.pcloud.book.keywords.entity.SelfRobotKeywordReplyTemplate
;
import
com.pcloud.common.core.dao.BaseDao
;
import
java.util.List
;
/**
* @Description
* @Author zhengyongqiang
* @Date 2020/02/05 22:10
**/
public
interface
SelfRobotKeywordReplyTemplateDao
extends
BaseDao
<
SelfRobotKeywordReplyTemplate
>
{
List
<
SelfRobotKeywordReplyTemplate
>
getList
();
}
pcloud-service-book/src/main/java/com/pcloud/book/keywords/dao/impl/SelfRobotBookRecordDaoImpl.java
0 → 100644
View file @
2968ae3e
package
com
.
pcloud
.
book
.
keywords
.
dao
.
impl
;
import
com.pcloud.book.keywords.dao.SelfRobotBookRecordDao
;
import
com.pcloud.book.keywords.dto.SelfRobotBookRecordDTO
;
import
com.pcloud.book.keywords.entity.SelfRobotBookRecord
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
@Repository
(
"selfRobotBookRecordDao"
)
public
class
SelfRobotBookRecordDaoImpl
extends
BaseDaoImpl
<
SelfRobotBookRecord
>
implements
SelfRobotBookRecordDao
{
@Override
public
List
<
SelfRobotBookRecordDTO
>
getAllSelfRobotBookRecordList
()
{
return
getSqlSession
().
selectList
(
getStatement
(
"getAllSelfRobotBookRecordList"
));
}
}
pcloud-service-book/src/main/java/com/pcloud/book/keywords/dao/impl/SelfRobotKeywordReplyTemplateDaoImpl.java
0 → 100644
View file @
2968ae3e
package
com
.
pcloud
.
book
.
keywords
.
dao
.
impl
;
import
com.pcloud.book.keywords.dao.SelfRobotKeywordReplyTemplateDao
;
import
com.pcloud.book.keywords.entity.SelfRobotKeywordReplyTemplate
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
org.springframework.stereotype.Component
;
import
java.util.List
;
/**
* @Description
* @Author zhengyongqiang
* @Date 2020/02/05 23:59
**/
@Component
(
"selfRobotKeywordReplyTemplateDao"
)
public
class
SelfRobotKeywordReplyTemplateDaoImpl
extends
BaseDaoImpl
<
SelfRobotKeywordReplyTemplate
>
implements
SelfRobotKeywordReplyTemplateDao
{
@Override
public
List
<
SelfRobotKeywordReplyTemplate
>
getList
()
{
return
getSessionTemplate
().
selectList
(
getStatement
(
"getList"
));
}
}
pcloud-service-book/src/main/java/com/pcloud/book/keywords/dto/SelfRobotBookRecordDTO.java
0 → 100644
View file @
2968ae3e
package
com
.
pcloud
.
book
.
keywords
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
/**
* @Description
* @Author zhengyongqiang
* @Date 2020/02/06 12:10
**/
@Data
public
class
SelfRobotBookRecordDTO
{
@ApiModelProperty
(
"id"
)
private
Long
id
;
@ApiModelProperty
(
"社群码id"
)
private
Long
bookGroupId
;
@ApiModelProperty
(
"用户id"
)
private
String
wxUserId
;
@ApiModelProperty
(
"机器人id"
)
private
String
altId
;
@ApiModelProperty
(
"书名"
)
private
String
bookName
;
@ApiModelProperty
(
"出版社名称"
)
private
String
agentName
;
@ApiModelProperty
(
"状态"
)
private
Integer
status
;
@ApiModelProperty
(
"头像"
)
private
String
headPic
;
@ApiModelProperty
(
"昵称"
)
private
String
nickName
;
@ApiModelProperty
(
"性别"
)
private
Integer
sex
;
@ApiModelProperty
(
"创建时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
createTime
;
}
pcloud-service-book/src/main/java/com/pcloud/book/keywords/entity/SelfRobotBookRecord.java
0 → 100644
View file @
2968ae3e
package
com
.
pcloud
.
book
.
keywords
.
entity
;
import
com.pcloud.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* @Description
* @Author zhengyongqiang
* @Date 2020/02/06 12:10
**/
@Data
@ApiModel
(
"个人号关键词回复模板"
)
public
class
SelfRobotBookRecord
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
982575139118784017L
;
@ApiModelProperty
(
"id"
)
private
Long
id
;
@ApiModelProperty
(
"社群码id"
)
private
Long
bookGroupId
;
@ApiModelProperty
(
"用户id"
)
private
String
wxUserId
;
@ApiModelProperty
(
"机器人id"
)
private
String
altId
;
@ApiModelProperty
(
"书名"
)
private
String
bookName
;
@ApiModelProperty
(
"出版社名称"
)
private
String
agentName
;
@ApiModelProperty
(
"状态"
)
private
Integer
status
;
}
pcloud-service-book/src/main/java/com/pcloud/book/keywords/entity/SelfRobotKeywordReplyTemplate.java
0 → 100644
View file @
2968ae3e
package
com
.
pcloud
.
book
.
keywords
.
entity
;
import
com.pcloud.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.List
;
/**
* @Description
* @Author zhengyongqiang
* @Date 2020/02/05 22:10
**/
@Data
@ApiModel
(
"个人号关键词回复模板"
)
public
class
SelfRobotKeywordReplyTemplate
extends
BaseEntity
{
@ApiModelProperty
(
"id"
)
private
Long
id
;
@ApiModelProperty
(
"内容"
)
private
String
replyContentTemplate
;
@ApiModelProperty
(
"状态"
)
private
Integer
status
;
}
pcloud-service-book/src/main/java/com/pcloud/book/keywords/facade/SelfRobotKeywordFacade.java
View file @
2968ae3e
...
@@ -121,4 +121,16 @@ public interface SelfRobotKeywordFacade {
...
@@ -121,4 +121,16 @@ public interface SelfRobotKeywordFacade {
@ApiOperation
(
value
=
"用户点击引导语未操作时,主动回复"
,
httpMethod
=
"GET"
)
@ApiOperation
(
value
=
"用户点击引导语未操作时,主动回复"
,
httpMethod
=
"GET"
)
@GetMapping
(
"sendWhenNoReply"
)
@GetMapping
(
"sendWhenNoReply"
)
ResponseDto
<?>
sendWhenNoReply
(
Integer
id
,
String
robotId
,
String
wxUserId
);
ResponseDto
<?>
sendWhenNoReply
(
Integer
id
,
String
robotId
,
String
wxUserId
);
@ApiOperation
(
"获取个人号图书信息记录列表"
)
@GetMapping
(
"getSelfRobotBookRecordList"
)
ResponseDto
<?>
getSelfRobotBookRecordList
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
"currentPage"
)
Integer
currentPage
,
@RequestParam
(
"numPerPage"
)
Integer
numPerPage
)
throws
BizException
,
PermissionException
;
@ApiOperation
(
"书刊信息收录导出"
)
@GetMapping
(
"exportSelfRobotBookRecord"
)
ResponseDto
<?>
exportSelfRobotBookRecord
(
@RequestHeader
(
"token"
)
String
token
)
throws
BizException
,
PermissionException
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/keywords/facade/impl/SelfRobotKeywordFacadeImpl.java
View file @
2968ae3e
...
@@ -184,4 +184,19 @@ public class SelfRobotKeywordFacadeImpl implements SelfRobotKeywordFacade {
...
@@ -184,4 +184,19 @@ public class SelfRobotKeywordFacadeImpl implements SelfRobotKeywordFacade {
return
new
ResponseDto
<>();
return
new
ResponseDto
<>();
}
}
@Override
public
ResponseDto
<?>
getSelfRobotBookRecordList
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
"currentPage"
)
Integer
currentPage
,
@RequestParam
(
"numPerPage"
)
Integer
numPerPage
)
throws
BizException
,
PermissionException
{
SessionUtil
.
getVlaue
(
token
,
SessionUtil
.
PARTY_ID
);
return
new
ResponseDto
<>(
selfRobotKeywordBiz
.
getSelfRobotBookRecordList
(
currentPage
,
numPerPage
));
}
@Override
public
ResponseDto
<?>
exportSelfRobotBookRecord
(
@RequestHeader
(
"token"
)
String
token
)
throws
BizException
,
PermissionException
{
Long
partyId
=
(
Long
)
SessionUtil
.
getVlaue
(
token
,
SessionUtil
.
PARTY_ID
);
selfRobotKeywordBiz
.
exportSelfRobotBookRecord
(
partyId
);
return
new
ResponseDto
<>();
}
}
}
pcloud-service-book/src/main/resources/mapper/book/Book.Mapper.xml
View file @
2968ae3e
...
@@ -2013,4 +2013,14 @@
...
@@ -2013,4 +2013,14 @@
BF.BOOK_FUND_ID IS NOT NULL
BF.BOOK_FUND_ID IS NOT NULL
</if>
</if>
</select>
</select>
<select
id=
"getBookIdsByBookName"
parameterType=
"map"
resultType=
"long"
>
SELECT DISTINCT a.BOOK_ID
FROM
book_adviser a
INNER JOIN book b ON a.BOOK_ID = b.BOOK_ID AND a.IS_DELETE = 0 AND b.IS_DELETE = 0
WHERE
b.BOOK_NAME LIKE CONCAT('%',#{bookName},'%')
LIMIT 0,50
</select>
</mapper>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/group/SelfRobotBookRecord.xml
0 → 100644
View file @
2968ae3e
<?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.keywords.dao.impl.SelfRobotBookRecordDaoImpl"
>
<resultMap
id=
"BaseResultMap"
type=
"com.pcloud.book.keywords.entity.SelfRobotBookRecord"
>
<id
column=
"id"
property=
"id"
jdbcType=
"BIGINT"
/>
<result
column=
"book_group_id"
property=
"bookGroupId"
jdbcType=
"BIGINT"
/>
<result
column=
"wx_user_id"
property=
"wxUserId"
jdbcType=
"VARCHAR"
/>
<result
column=
"alt_id"
property=
"altId"
jdbcType=
"VARCHAR"
/>
<result
column=
"book_name"
property=
"bookName"
jdbcType=
"VARCHAR"
/>
<result
column=
"agent_name"
property=
"agentName"
jdbcType=
"VARCHAR"
/>
<result
column=
"status"
property=
"status"
jdbcType=
"INTEGER"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, book_group_id, wx_user_id, alt_id, book_name, agent_name, status, create_time
</sql>
<insert
id=
"insert"
parameterType=
"com.pcloud.book.keywords.entity.SelfRobotBookRecord"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into self_robot_book_record
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
book_group_id,
wx_user_id,
alt_id,
book_name,
agent_name,
status,
create_time
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
#{bookGroupId,jdbcType=BIGINT},
#{wxUserId,jdbcType=VARCHAR},
#{altId,jdbcType=VARCHAR},
#{bookName,jdbcType=VARCHAR},
#{agentName,jdbcType=VARCHAR},
#{status,jdbcType=INTEGER},
NOW()
</trim>
</insert>
<select
id=
"getSelfRobotBookRecordList"
resultType=
"com.pcloud.book.keywords.dto.SelfRobotBookRecordDTO"
>
SELECT id,book_group_id bookGroupId,wx_user_id wxUserId,alt_id altId,book_name bookName,agent_name agentName, status, create_time createTime
FROM self_robot_book_record
ORDER BY id DESC
</select>
<select
id=
"getAllSelfRobotBookRecordList"
resultType=
"com.pcloud.book.keywords.dto.SelfRobotBookRecordDTO"
>
SELECT id,book_group_id bookGroupId,wx_user_id wxUserId,alt_id altId,book_name bookName,agent_name agentName, status, create_time createTime
FROM self_robot_book_record
ORDER BY id DESC
</select>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/group/SelfRobotKeywordReplyTemplate.xml
0 → 100644
View file @
2968ae3e
<?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.keywords.dao.impl.SelfRobotKeywordReplyTemplateDaoImpl"
>
<resultMap
id=
"BaseResultMap"
type=
"com.pcloud.book.keywords.entity.SelfRobotKeywordReplyTemplate"
>
<id
column=
"id"
property=
"id"
jdbcType=
"BIGINT"
/>
<result
column=
"reply_content_template"
property=
"replyContentTemplate"
jdbcType=
"VARCHAR"
/>
<result
column=
"status"
property=
"status"
jdbcType=
"INTEGER"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, reply_content_template, status
</sql>
<select
id=
"getList"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from self_robot_keyword_reply_template
</select>
</mapper>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment