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
ea8cb2cd
Commit
ea8cb2cd
authored
Feb 17, 2020
by
zhuyajie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
音视频独立
parent
f6d45231
Show whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
434 additions
and
199 deletions
+434
-199
ReplyParamDTO.java
...src/main/java/com/pcloud/book/base/dto/ReplyParamDTO.java
+36
-0
PcloudGuideMessageVO.java
...n/java/com/pcloud/book/guide/vo/PcloudGuideMessageVO.java
+2
-0
PcloudGuideBiz.java
...c/main/java/com/pcloud/book/guide/biz/PcloudGuideBiz.java
+3
-2
PcloudGuideBizImpl.java
...va/com/pcloud/book/guide/biz/impl/PcloudGuideBizImpl.java
+67
-9
PcloudGuideDTO.java
...c/main/java/com/pcloud/book/guide/dto/PcloudGuideDTO.java
+25
-0
PcloudGuideMessageDTO.java
...java/com/pcloud/book/guide/dto/PcloudGuideMessageDTO.java
+48
-0
PcloudGuideMessage.java
...java/com/pcloud/book/guide/entity/PcloudGuideMessage.java
+2
-0
PcloudGuideFacadeImpl.java
.../pcloud/book/guide/facade/impl/PcloudGuideFacadeImpl.java
+2
-1
PcloudGuideMapper.java
.../java/com/pcloud/book/guide/mapper/PcloudGuideMapper.java
+2
-1
PcloudGuideSilenceRunnerImpl.java
...cloud/book/guide/runner/PcloudGuideSilenceRunnerImpl.java
+26
-5
SelfRobotKeyword.java
...ava/com/pcloud/book/keywords/entity/SelfRobotKeyword.java
+0
-3
PcloudRobotBizImpl.java
...cloud/book/pcloudkeyword/biz/impl/PcloudRobotBizImpl.java
+13
-2
PcloudKeywordCheck.java
...m/pcloud/book/pcloudkeyword/check/PcloudKeywordCheck.java
+2
-1
PcloudKeywordReply.java
.../pcloud/book/pcloudkeyword/entity/PcloudKeywordReply.java
+3
-0
PcloudRobotWelcome.java
.../pcloud/book/pcloudkeyword/entity/PcloudRobotWelcome.java
+1
-1
SelfPushBizImpl.java
...n/java/com/pcloud/book/push/biz/impl/SelfPushBizImpl.java
+66
-0
PushCheck.java
...k/src/main/java/com/pcloud/book/push/check/PushCheck.java
+63
-15
SelfPushAddParamDTO.java
...in/java/com/pcloud/book/push/dto/SelfPushAddParamDTO.java
+4
-1
SelfPushRecordDTO.java
...main/java/com/pcloud/book/push/dto/SelfPushRecordDTO.java
+2
-1
SelfPushItem.java
...c/main/java/com/pcloud/book/push/entity/SelfPushItem.java
+26
-138
ItemTypeEnum.java
...rc/main/java/com/pcloud/book/push/enums/ItemTypeEnum.java
+5
-1
PcloudSkillCheck.java
...in/java/com/pcloud/book/skill/check/PcloudSkillCheck.java
+2
-1
PcloudSubReply.java
...ain/java/com/pcloud/book/skill/entity/PcloudSubReply.java
+3
-0
TaskSubscribeBizImpl.java
...cloud/book/timecontrol/biz/impl/TaskSubscribeBizImpl.java
+8
-2
PcloudGuideMapper.xml
...ook/src/main/resources/mapper/guide/PcloudGuideMapper.xml
+1
-1
PcloudGuideMessageMapper.xml
.../main/resources/mapper/guide/PcloudGuideMessageMapper.xml
+12
-8
SelfPushItemMapper.xml
...ook/src/main/resources/mapper/push/SelfPushItemMapper.xml
+10
-6
No files found.
pcloud-facade-book/src/main/java/com/pcloud/book/base/dto/ReplyParamDTO.java
0 → 100644
View file @
ea8cb2cd
package
com
.
pcloud
.
book
.
base
.
dto
;
import
com.pcloud.common.dto.BaseDto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
@ApiModel
(
"回复统一参数"
)
public
class
ReplyParamDTO
extends
BaseDto
{
@ApiModelProperty
(
"类型 1 文字 2 图片 3 链接 4应用 5素材"
)
private
Integer
replyType
;
@ApiModelProperty
(
"内容"
)
private
String
content
;
@ApiModelProperty
(
"图片地址"
)
private
String
picUrl
;
@ApiModelProperty
(
"应用或作品id"
)
private
Long
serveId
;
@ApiModelProperty
(
"应用或作品类型"
)
private
String
serveType
;
@ApiModelProperty
(
"链接地址"
)
private
String
linkUrl
;
@ApiModelProperty
(
"资源id"
)
private
Long
resourceId
;
@ApiModelProperty
(
"描述"
)
private
String
description
;
}
pcloud-facade-book/src/main/java/com/pcloud/book/guide/vo/PcloudGuideMessageVO.java
View file @
ea8cb2cd
...
...
@@ -14,4 +14,6 @@ public class PcloudGuideMessageVO implements Serializable {
private
String
content
;
private
String
picUrl
;
private
Long
resourceId
;
}
pcloud-service-book/src/main/java/com/pcloud/book/guide/biz/PcloudGuideBiz.java
View file @
ea8cb2cd
package
com
.
pcloud
.
book
.
guide
.
biz
;
import
com.pcloud.book.guide.dto.PcloudGuideDTO
;
import
com.pcloud.book.guide.vo.*
;
import
com.pcloud.common.page.PageBeanNew
;
...
...
@@ -11,9 +12,9 @@ public interface PcloudGuideBiz {
void
updatePcloudGuide
(
UpdatePcloudGuideVO
updatePcloudGuideVO
);
PcloudGuide
V
O
getPcloudGuide
(
Integer
pcloudGuideId
);
PcloudGuide
DT
O
getPcloudGuide
(
Integer
pcloudGuideId
);
PageBeanNew
<
PcloudGuide
V
O
>
listPcloudGuide
(
Integer
currentPage
,
Integer
numPerPage
,
String
robotWxId
,
String
search
,
Integer
pcloudClassfyId
);
PageBeanNew
<
PcloudGuide
DT
O
>
listPcloudGuide
(
Integer
currentPage
,
Integer
numPerPage
,
String
robotWxId
,
String
search
,
Integer
pcloudClassfyId
);
void
updateSeqNum
(
UpdateSeqNumVO
updateSeqNumVO
);
...
...
pcloud-service-book/src/main/java/com/pcloud/book/guide/biz/impl/PcloudGuideBizImpl.java
View file @
ea8cb2cd
package
com
.
pcloud
.
book
.
guide
.
biz
.
impl
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.consumer.content.ResourceConsr
;
import
com.pcloud.book.guide.biz.PcloudGuideBiz
;
import
com.pcloud.book.guide.dto.PcloudGuideDTO
;
import
com.pcloud.book.guide.dto.PcloudGuideMessageDTO
;
import
com.pcloud.book.guide.entity.PcloudGuide
;
import
com.pcloud.book.guide.entity.PcloudGuideMessage
;
import
com.pcloud.book.guide.entity.PcloudRobotSilence
;
...
...
@@ -9,16 +12,21 @@ import com.pcloud.book.guide.mapper.PcloudGuideMapper;
import
com.pcloud.book.guide.mapper.PcloudGuideMessageMapper
;
import
com.pcloud.book.guide.mapper.PcloudRobotSilenceMapper
;
import
com.pcloud.book.guide.vo.*
;
import
com.pcloud.book.keywords.enums.ReplyTypeEnum
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.utils.BeanUtils
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.string.StringUtil
;
import
com.pcloud.contentcenter.resource.dto.ResourceDTO
;
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
;
@Component
(
"pcloudGuideBiz"
)
public
class
PcloudGuideBizImpl
implements
PcloudGuideBiz
{
...
...
@@ -32,6 +40,9 @@ public class PcloudGuideBizImpl implements PcloudGuideBiz {
@Autowired
private
PcloudRobotSilenceMapper
pcloudRobotSilenceMapper
;
@Autowired
private
ResourceConsr
resourceConsr
;
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Integer
addPcloudGuide
(
CreatePcloudGuideVO
createPcloudGuideVO
)
{
...
...
@@ -100,30 +111,77 @@ public class PcloudGuideBizImpl implements PcloudGuideBiz {
}
@Override
public
PcloudGuide
V
O
getPcloudGuide
(
Integer
pcloudGuideId
)
{
PcloudGuide
VO
pcloudGuideVO
=
new
PcloudGuideV
O
();
public
PcloudGuide
DT
O
getPcloudGuide
(
Integer
pcloudGuideId
)
{
PcloudGuide
DTO
pcloudGuideVO
=
new
PcloudGuideDT
O
();
PcloudGuide
pcloudGuide
=
pcloudGuideMapper
.
selectByPrimaryKey
(
pcloudGuideId
);
if
(
null
!=
pcloudGuide
)
{
pcloudGuideVO
.
setPcloudGuideId
(
pcloudGuideId
);
pcloudGuideVO
.
setSeqNum
(
pcloudGuide
.
getSeqNum
());
pcloudGuideVO
.
setTimeSpan
(
pcloudGuide
.
getTimeSpan
());
List
<
PcloudGuideMessageVO
>
list
=
pcloudGuideMessageMapper
.
listByGuideId
(
pcloudGuideId
);
pcloudGuideVO
.
setMessageVOList
(
list
);
List
<
PcloudGuideMessageDTO
>
messageDTOS
=
new
ArrayList
<>();
if
(!
ListUtils
.
isEmpty
(
list
)){
for
(
PcloudGuideMessageVO
messageVO:
list
){
PcloudGuideMessageDTO
messageDTO
=
new
PcloudGuideMessageDTO
();
BeanUtils
.
copyProperties
(
messageVO
,
messageDTO
);
messageDTOS
.
add
(
messageDTO
);
}
}
fillFile
(
messageDTOS
);
pcloudGuideVO
.
setMessageDTOS
(
messageDTOS
);
}
return
pcloudGuideVO
;
}
private
void
fillFile
(
List
<
PcloudGuideMessageDTO
>
list
){
if
(
ListUtils
.
isEmpty
(
list
)){
return
;
}
List
<
Long
>
resourceIds
=
list
.
stream
().
filter
(
s
->
s
.
getReplyType
().
equals
(
ReplyTypeEnum
.
RESOURCE
.
value
)).
map
(
PcloudGuideMessageDTO:
:
getResourceId
).
distinct
().
collect
(
Collectors
.
toList
());
Map
<
Long
,
ResourceDTO
>
resourceDTOMap
=
new
HashMap
<>();
if
(!
ListUtils
.
isEmpty
(
resourceIds
)){
resourceDTOMap
=
resourceConsr
.
mapByIds
(
resourceIds
);
}
for
(
PcloudGuideMessageDTO
messageDTO:
list
){
if
(
ReplyTypeEnum
.
RESOURCE
.
value
.
equals
(
messageDTO
.
getReplyType
())){
ResourceDTO
resourceDTO
=
resourceDTOMap
.
get
(
messageDTO
.
getResourceId
());
if
(
resourceDTO
!=
null
){
messageDTO
.
setResourceName
(
resourceDTO
.
getResourceName
());
messageDTO
.
setResourceUrl
(
resourceDTO
.
getFileUrl
());
messageDTO
.
setResourceTypeCode
(
resourceDTO
.
getTypeCode
());
messageDTO
.
setResourceTypeName
(
resourceDTO
.
getTypeName
());
messageDTO
.
setFileType
(
resourceDTO
.
getFileType
());
messageDTO
.
setResourcePdfItems
(
resourceDTO
.
getResourcePdfItems
());
messageDTO
.
setResourceOfficeItemDTOs
(
resourceDTO
.
getResourceOfficeItemDTOs
());
messageDTO
.
setFileSize
(
resourceDTO
.
getFileSize
());
}
}
}
}
@Override
public
PageBeanNew
<
PcloudGuide
V
O
>
listPcloudGuide
(
Integer
currentPage
,
Integer
numPerPage
,
String
robotWxId
,
String
search
,
Integer
pcloudClassfyId
)
{
public
PageBeanNew
<
PcloudGuide
DT
O
>
listPcloudGuide
(
Integer
currentPage
,
Integer
numPerPage
,
String
robotWxId
,
String
search
,
Integer
pcloudClassfyId
)
{
Integer
count
=
pcloudGuideMapper
.
getCount
(
robotWxId
,
search
,
pcloudClassfyId
);
List
<
PcloudGuide
V
O
>
list
=
new
ArrayList
<>();
List
<
PcloudGuide
DT
O
>
list
=
new
ArrayList
<>();
if
(
count
<=
0
)
{
return
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
list
);
return
new
PageBeanNew
<
PcloudGuideDTO
>(
currentPage
,
numPerPage
,
list
);
}
list
=
pcloudGuideMapper
.
listPcloudGuide
(
currentPage
*
numPerPage
,
numPerPage
,
robotWxId
,
search
,
pcloudClassfyId
);
list
.
forEach
(
item
->
{
item
.
setMessageVOList
(
pcloudGuideMessageMapper
.
listByGuideId
(
item
.
getPcloudGuideId
()));
});
if
(!
ListUtils
.
isEmpty
(
list
)){
for
(
PcloudGuideDTO
guideDTO
:
list
){
List
<
PcloudGuideMessageDTO
>
messageDTOS
=
new
ArrayList
<>();
List
<
PcloudGuideMessageVO
>
messageList
=
pcloudGuideMessageMapper
.
listByGuideId
(
guideDTO
.
getPcloudGuideId
());
if
(!
ListUtils
.
isEmpty
(
messageList
)){
for
(
PcloudGuideMessageVO
messageVO:
messageList
){
PcloudGuideMessageDTO
messageDTO
=
new
PcloudGuideMessageDTO
();
BeanUtils
.
copyProperties
(
messageVO
,
messageDTO
);
messageDTOS
.
add
(
messageDTO
);
}
fillFile
(
messageDTOS
);
}
guideDTO
.
setMessageDTOS
(
messageDTOS
);
}
}
return
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
count
,
list
);
}
...
...
pcloud-service-book/src/main/java/com/pcloud/book/guide/dto/PcloudGuideDTO.java
0 → 100644
View file @
ea8cb2cd
package
com
.
pcloud
.
book
.
guide
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
@Data
public
class
PcloudGuideDTO
implements
Serializable
{
private
Integer
pcloudGuideId
;
private
Integer
type
;
private
Integer
timeSpan
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
createTime
;
private
List
<
PcloudGuideMessageDTO
>
messageDTOS
;
private
Integer
seqNum
;
}
pcloud-service-book/src/main/java/com/pcloud/book/guide/dto/PcloudGuideMessageDTO.java
0 → 100644
View file @
ea8cb2cd
package
com
.
pcloud
.
book
.
guide
.
dto
;
import
com.pcloud.common.dto.BaseDto
;
import
com.pcloud.contentcenter.resource.dto.ResourceOfficeItemDTO
;
import
com.pcloud.contentcenter.resource.dto.ResourcePdfItemDTO
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.Size
;
import
java.util.List
;
@Data
public
class
PcloudGuideMessageDTO
extends
BaseDto
{
private
Integer
replyType
;
@Size
(
max
=
500
)
private
String
content
;
private
String
picUrl
;
@ApiModelProperty
(
"资源id"
)
private
Long
resourceId
;
@ApiModelProperty
(
"资源链接"
)
private
String
resourceUrl
;
@ApiModelProperty
(
"资源名称"
)
private
String
resourceName
;
@ApiModelProperty
(
"资源类型编码"
)
private
String
resourceTypeCode
;
@ApiModelProperty
(
"资源类型名称"
)
private
String
resourceTypeName
;
@ApiModelProperty
(
"文件类型"
)
private
String
fileType
;
@ApiModelProperty
(
"pdf转码后的单张图片集合"
)
private
List
<
ResourcePdfItemDTO
>
resourcePdfItems
;
@ApiModelProperty
(
"文件转码后的单张图片集合"
)
private
List
<
ResourceOfficeItemDTO
>
resourceOfficeItemDTOs
;
@ApiModelProperty
(
"文件大小"
)
private
Long
fileSize
;
}
pcloud-service-book/src/main/java/com/pcloud/book/guide/entity/PcloudGuideMessage.java
View file @
ea8cb2cd
...
...
@@ -20,4 +20,5 @@ public class PcloudGuideMessage {
private
Date
updateTime
;
private
Long
resourceId
;
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/guide/facade/impl/PcloudGuideFacadeImpl.java
View file @
ea8cb2cd
...
...
@@ -2,6 +2,7 @@ package com.pcloud.book.guide.facade.impl;
import
com.pcloud.book.guide.biz.PcloudGuideBiz
;
import
com.pcloud.book.guide.dto.PcloudGuideDTO
;
import
com.pcloud.book.guide.mapper.PcloudRobotSilenceMapper
;
import
com.pcloud.book.guide.vo.Create4ClassifyVO
;
import
com.pcloud.book.guide.vo.Create4RobotVO
;
...
...
@@ -72,7 +73,7 @@ public class PcloudGuideFacadeImpl {
@RequestParam
(
value
=
"robotWxId"
,
required
=
false
)
String
robotWxId
,
@RequestParam
(
value
=
"search"
,
required
=
false
)
String
search
,
@RequestParam
(
value
=
"pcloudClassfyId"
,
required
=
false
)
Integer
pcloudClassfyId
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
PageBeanNew
<
PcloudGuide
V
O
>
page
=
pcloudGuideBiz
.
listPcloudGuide
(
currentPage
,
numPerPage
,
robotWxId
,
search
,
pcloudClassfyId
);
PageBeanNew
<
PcloudGuide
DT
O
>
page
=
pcloudGuideBiz
.
listPcloudGuide
(
currentPage
,
numPerPage
,
robotWxId
,
search
,
pcloudClassfyId
);
return
new
ResponseDto
<>(
page
);
}
...
...
pcloud-service-book/src/main/java/com/pcloud/book/guide/mapper/PcloudGuideMapper.java
View file @
ea8cb2cd
package
com
.
pcloud
.
book
.
guide
.
mapper
;
import
com.pcloud.book.guide.dto.PcloudGuideDTO
;
import
com.pcloud.book.guide.entity.PcloudGuide
;
import
com.pcloud.book.guide.vo.PcloudGuideVO
;
import
org.apache.ibatis.annotations.Param
;
...
...
@@ -25,7 +26,7 @@ public interface PcloudGuideMapper {
Integer
getCount
(
@Param
(
"robotWxId"
)
String
robotWxId
,
@Param
(
"search"
)
String
search
,
@Param
(
"pcloudClassifyId"
)
Integer
pcloudClassifyId
);
List
<
PcloudGuide
V
O
>
listPcloudGuide
(
@Param
(
"pageNum"
)
Integer
pageNum
,
@Param
(
"numPerPage"
)
Integer
numPerPage
,
List
<
PcloudGuide
DT
O
>
listPcloudGuide
(
@Param
(
"pageNum"
)
Integer
pageNum
,
@Param
(
"numPerPage"
)
Integer
numPerPage
,
@Param
(
"robotWxId"
)
String
robotWxId
,
@Param
(
"search"
)
String
search
,
@Param
(
"pcloudClassifyId"
)
Integer
pcloudClassifyId
);
void
updateSeqNum
(
@Param
(
"id"
)
Integer
pcloudGuideId
,
@Param
(
"seqNum"
)
Integer
seqNum
);
...
...
pcloud-service-book/src/main/java/com/pcloud/book/guide/runner/PcloudGuideSilenceRunnerImpl.java
View file @
ea8cb2cd
package
com
.
pcloud
.
book
.
guide
.
runner
;
import
com.alibaba.fastjson.JSONObject
;
import
com.pcloud.book.consumer.content.ResourceConsr
;
import
com.pcloud.book.guide.dto.PcloudGuideDelayDto
;
import
com.pcloud.book.guide.entity.PcloudGuide
;
import
com.pcloud.book.guide.mapper.PcloudGuideMapper
;
...
...
@@ -12,6 +13,8 @@ import com.pcloud.book.pcloudKeyword.dto.RobotClassifyDTO;
import
com.pcloud.book.pcloudkeyword.dao.PcloudRobotDao
;
import
com.pcloud.common.utils.DateUtils
;
import
com.pcloud.common.utils.cache.redis.JedisClusterUtils
;
import
com.pcloud.contentcenter.resource.dto.ResourceDTO
;
import
com.sdk.wxgroup.SendFileVO
;
import
com.sdk.wxgroup.SendPicMessageVO
;
import
com.sdk.wxgroup.SendTextMessageVO
;
import
com.sdk.wxgroup.WxGroupSDK
;
...
...
@@ -21,10 +24,7 @@ import org.springframework.boot.ApplicationArguments;
import
org.springframework.boot.ApplicationRunner
;
import
org.springframework.stereotype.Component
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.*
;
import
static
com
.
pcloud
.
book
.
guide
.
constant
.
PcloudGuideRedisConstant
.
PCLOUD_GUIDE_LOCK
;
import
static
com
.
pcloud
.
book
.
guide
.
constant
.
PcloudGuideRedisConstant
.
PCLOUD_GUIDE_SUFFIX
;
...
...
@@ -44,7 +44,8 @@ public class PcloudGuideSilenceRunnerImpl implements ApplicationRunner {
private
PcloudGuideMessageMapper
pcloudGuideMessageMapper
;
@Autowired
private
PcloudRobotDao
pcloudRobotDao
;
@Autowired
private
ResourceConsr
resourceConsr
;
@Override
public
void
run
(
ApplicationArguments
applicationArguments
)
throws
Exception
{
...
...
@@ -100,6 +101,26 @@ public class PcloudGuideSilenceRunnerImpl implements ApplicationRunner {
sendPicMessageVO
.
setCode
(
pcloudGuideDelayDto
.
getCode
());
WxGroupSDK
.
sendPicMessage
(
sendPicMessageVO
);
}
if
(
ReplyTypeEnum
.
RESOURCE
.
value
.
equals
(
replyType
))
{
SendFileVO
sendFileVO
=
new
SendFileVO
();
Map
<
Long
,
ResourceDTO
>
map
=
resourceConsr
.
mapByIds
(
Arrays
.
asList
(
message
.
getResourceId
()));
ResourceDTO
resourceDTO
=
map
.
get
(
message
.
getResourceId
());
if
(
resourceDTO
!=
null
)
{
sendFileVO
.
setFileUrl
(
resourceDTO
.
getFileUrl
());
String
fileName
=
resourceDTO
.
getResourceName
();
String
fileType
=
resourceDTO
.
getFileType
();
log
.
info
(
"fileName="
+
fileName
+
"+fileType+"
+
fileType
);
if
(
fileName
.
contains
(
fileType
))
{
//去掉后缀
fileName
=
fileName
.
substring
(
0
,
fileName
.
indexOf
(
fileType
)
-
1
);
}
log
.
info
(
"fileName="
+
fileName
);
sendFileVO
.
setFileName
(
fileName
);
}
sendFileVO
.
setIp
(
pcloudGuideDelayDto
.
getIp
());
sendFileVO
.
setAltId
(
pcloudGuideDelayDto
.
getRobotWxId
());
sendFileVO
.
setWxId
(
userId
);
WxGroupSDK
.
sendFile
(
sendFileVO
);
}
}
// 向缓存中写入下一条
...
...
pcloud-service-book/src/main/java/com/pcloud/book/keywords/entity/SelfRobotKeyword.java
View file @
ea8cb2cd
...
...
@@ -21,9 +21,6 @@ public class SelfRobotKeyword extends BaseEntity {
@ApiModelProperty
(
"社群码id"
)
private
Long
bookGroupId
;
// @ApiModelProperty("引导语")
private
String
guide
;
@ApiModelProperty
(
"关键词"
)
private
String
keyword
;
...
...
pcloud-service-book/src/main/java/com/pcloud/book/pcloudkeyword/biz/impl/PcloudRobotBizImpl.java
View file @
ea8cb2cd
...
...
@@ -245,7 +245,12 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz {
}
else
if
(
WelcomeReplyTypeEnum
.
RESOURCE
.
value
.
equals
(
replyType
))
{
SendFileVO
sendFileVO
=
new
SendFileVO
();
sendFileVO
.
setFileUrl
(
robotWelcome
.
getResourceUrl
());
sendFileVO
.
setFileName
(
robotWelcome
.
getResourceName
());
String
fileName
=
robotWelcome
.
getResourceName
();
String
fileType
=
robotWelcome
.
getFileType
();
if
(
fileName
.
contains
(
fileType
))
{
//去掉后缀
fileName
=
fileName
.
substring
(
0
,
fileName
.
indexOf
(
fileType
)
-
1
);
}
sendFileVO
.
setFileName
(
fileName
);
sendFileVO
.
setIp
(
ip
);
sendFileVO
.
setAltId
(
robotWxId
);
sendFileVO
.
setWxId
(
userWxId
);
...
...
@@ -388,6 +393,7 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz {
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@ParamLog
(
"全局退订回复"
)
public
void
handlePcloudTdReply
(
SendTextDTO
sendTextDTO
)
{
String
robotWxId
=
sendTextDTO
.
getWxId
();
String
userWxId
=
sendTextDTO
.
getWechatUserId
();
...
...
@@ -559,9 +565,14 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz {
sendPicMessageVO
.
setCode
(
SendMessageTypeEnum
.
SELF
.
getCode
());
WxGroupSDK
.
sendPicMessage
(
sendPicMessageVO
);
}
else
if
(
WelcomeReplyTypeEnum
.
RESOURCE
.
value
.
equals
(
replyType
))
{
String
fileName
=
tdReplyDTO
.
getResourceName
();
String
fileType
=
tdReplyDTO
.
getFileType
();
if
(
fileName
.
contains
(
fileType
))
{
//去掉后缀
fileName
=
fileName
.
substring
(
0
,
fileName
.
indexOf
(
fileType
)
-
1
);
}
SendFileVO
sendFileVO
=
new
SendFileVO
();
sendFileVO
.
setFileUrl
(
tdReplyDTO
.
getResourceUrl
());
sendFileVO
.
setFileName
(
tdReplyDTO
.
getResourceName
()
);
sendFileVO
.
setFileName
(
fileName
);
sendFileVO
.
setIp
(
ip
);
sendFileVO
.
setAltId
(
robotWxId
);
sendFileVO
.
setWxId
(
userWxId
);
...
...
pcloud-service-book/src/main/java/com/pcloud/book/pcloudkeyword/check/PcloudKeywordCheck.java
View file @
ea8cb2cd
...
...
@@ -73,9 +73,10 @@ public class PcloudKeywordCheck {
if
(
reply
==
null
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"回复为空!"
);
}
if
(
reply
.
getType
()==
null
){
if
(
reply
.
get
Reply
Type
()==
null
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"回复类型为空!"
);
}
reply
.
setType
(
reply
.
getReplyType
());
if
(
ReplyTypeEnum
.
TEXT
.
value
.
equals
(
reply
.
getType
())&&
StringUtil
.
isEmpty
(
reply
.
getContent
())){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"回复内容为空!"
);
}
...
...
pcloud-service-book/src/main/java/com/pcloud/book/pcloudkeyword/entity/PcloudKeywordReply.java
View file @
ea8cb2cd
...
...
@@ -17,6 +17,9 @@ public class PcloudKeywordReply extends BaseEntity {
@ApiModelProperty
(
"类型 1 文字 2 图片 3 链接 4应用 5素材"
)
private
Integer
type
;
@ApiModelProperty
(
"类型 1 文字 2 图片 3 链接 4应用 5素材"
)
private
Integer
replyType
;
@ApiModelProperty
(
"内容"
)
private
String
content
;
...
...
pcloud-service-book/src/main/java/com/pcloud/book/pcloudkeyword/entity/PcloudRobotWelcome.java
View file @
ea8cb2cd
...
...
@@ -19,7 +19,7 @@ public class PcloudRobotWelcome extends BaseEntity {
@ApiModelProperty
(
"全平台分类id"
)
private
Long
pcloudClassifyId
;
@ApiModelProperty
(
"类型 1 文字 2 图片 3
音频 4PDF
"
)
@ApiModelProperty
(
"类型 1 文字 2 图片 3
链接 4应用 5素材
"
)
private
Integer
replyType
;
@ApiModelProperty
(
"内容"
)
...
...
pcloud-service-book/src/main/java/com/pcloud/book/push/biz/impl/SelfPushBizImpl.java
View file @
ea8cb2cd
package
com
.
pcloud
.
book
.
push
.
biz
.
impl
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.consumer.content.ResourceConsr
;
import
com.pcloud.book.consumer.user.PartyConsr
;
import
com.pcloud.book.consumer.wechatgroup.WechatGroupConsr
;
import
com.pcloud.book.group.dao.BookGroupCipherUserDao
;
...
...
@@ -11,6 +12,8 @@ import com.pcloud.book.group.dto.SelfRobotBookGroupDTO;
import
com.pcloud.book.group.entity.WeixinQrcodeGeneration
;
import
com.pcloud.book.group.set.GroupSet
;
import
com.pcloud.book.group.vo.UserBookInfoVO
;
import
com.pcloud.book.guide.dto.PcloudGuideMessageDTO
;
import
com.pcloud.book.keywords.enums.ReplyTypeEnum
;
import
com.pcloud.book.pcloudKeyword.dto.RobotClassifyDTO
;
import
com.pcloud.book.pcloudkeyword.biz.PcloudRobotBiz
;
import
com.pcloud.book.push.biz.SelfPushBiz
;
...
...
@@ -33,6 +36,7 @@ import com.pcloud.common.page.PageParam;
import
com.pcloud.common.utils.DateUtils
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.string.StringUtil
;
import
com.pcloud.contentcenter.resource.dto.ResourceDTO
;
import
com.pcloud.facade.quartz.entity.CallBackParam
;
import
com.pcloud.facade.quartz.entity.ScheduleJob
;
import
com.pcloud.facade.quartz.service.ScheduleService
;
...
...
@@ -86,6 +90,8 @@ public class SelfPushBizImpl implements SelfPushBiz {
private
PartyConsr
partyConsr
;
@Autowired
private
PcloudRobotBiz
pcloudRobotBiz
;
@Autowired
private
ResourceConsr
resourceConsr
;
private
static
final
String
self_push_SCHEDULE_PRE
=
"self_push_"
;
...
...
@@ -405,6 +411,26 @@ public class SelfPushBizImpl implements SelfPushBiz {
WxGroupSDK
.
sendPicMessage
(
sendPicMessageVO
);
return
;
}
if
(
ItemTypeEnum
.
RESOURCE
.
value
.
equals
(
itemType
))
{
SendFileVO
sendFileVO
=
new
SendFileVO
();
Map
<
Long
,
ResourceDTO
>
map
=
resourceConsr
.
mapByIds
(
Arrays
.
asList
(
selfPushItem
.
getResourceId
()));
ResourceDTO
resourceDTO
=
map
.
get
(
selfPushItem
.
getResourceId
());
if
(
resourceDTO
!=
null
)
{
sendFileVO
.
setFileUrl
(
resourceDTO
.
getFileUrl
());
String
fileName
=
resourceDTO
.
getResourceName
();
String
fileType
=
resourceDTO
.
getFileType
();
log
.
info
(
"fileName="
+
fileName
+
"+fileType+"
+
fileType
);
if
(
fileName
.
contains
(
fileType
))
{
//去掉后缀
fileName
=
fileName
.
substring
(
0
,
fileName
.
indexOf
(
fileType
)
-
1
);
}
log
.
info
(
"fileName="
+
fileName
);
sendFileVO
.
setFileName
(
fileName
);
}
sendFileVO
.
setIp
(
getIpByRobot
(
altId
));
sendFileVO
.
setAltId
(
altId
);
sendFileVO
.
setWxId
(
userWxId
);
WxGroupSDK
.
sendFile
(
sendFileVO
);
}
}
/**
...
...
@@ -484,6 +510,7 @@ public class SelfPushBizImpl implements SelfPushBiz {
dto
.
setRealSendTime
(
DateUtils
.
formatDate
(
dto
.
getSendTime
(),
"yyyy-MM-dd HH:mm:ss"
));
}
List
<
SelfPushItem
>
selfPushItemList
=
selfPushItemDao
.
getByPushId
(
dto
.
getPushId
());
this
.
fillItem
(
selfPushItemList
);
dto
.
setSelfPushItemList
(
selfPushItemList
);
}
...
...
@@ -535,6 +562,45 @@ public class SelfPushBizImpl implements SelfPushBiz {
return
pageBeanNew
;
}
private
void
fillItem
(
List
<
SelfPushItem
>
list
)
{
if
(
ListUtils
.
isEmpty
(
list
)){
return
;
}
List
<
Long
>
resourceIds
=
list
.
stream
().
filter
(
s
->
s
.
getItemType
().
equals
(
ItemTypeEnum
.
RESOURCE
.
value
)).
map
(
SelfPushItem:
:
getResourceId
).
distinct
().
collect
(
Collectors
.
toList
());
Map
<
Long
,
ResourceDTO
>
resourceDTOMap
=
new
HashMap
<>();
if
(!
ListUtils
.
isEmpty
(
resourceIds
)){
resourceDTOMap
=
resourceConsr
.
mapByIds
(
resourceIds
);
}
for
(
SelfPushItem
selfPushItem:
list
){
if
(
ItemTypeEnum
.
RESOURCE
.
value
.
equals
(
selfPushItem
.
getItemType
())){
selfPushItem
.
setReplyType
(
ReplyTypeEnum
.
RESOURCE
.
value
);
ResourceDTO
resourceDTO
=
resourceDTOMap
.
get
(
selfPushItem
.
getResourceId
());
if
(
resourceDTO
!=
null
){
selfPushItem
.
setResourceName
(
resourceDTO
.
getResourceName
());
selfPushItem
.
setResourceUrl
(
resourceDTO
.
getFileUrl
());
selfPushItem
.
setResourceTypeCode
(
resourceDTO
.
getTypeCode
());
selfPushItem
.
setResourceTypeName
(
resourceDTO
.
getTypeName
());
selfPushItem
.
setFileType
(
resourceDTO
.
getFileType
());
selfPushItem
.
setResourcePdfItems
(
resourceDTO
.
getResourcePdfItems
());
selfPushItem
.
setResourceOfficeItemDTOs
(
resourceDTO
.
getResourceOfficeItemDTOs
());
selfPushItem
.
setFileSize
(
resourceDTO
.
getFileSize
());
}
}
if
(
ItemTypeEnum
.
TEXT
.
value
.
equals
(
selfPushItem
.
getItemType
())){
selfPushItem
.
setReplyType
(
ReplyTypeEnum
.
TEXT
.
value
);
}
if
(
ItemTypeEnum
.
LINK
.
value
.
equals
(
selfPushItem
.
getItemType
())){
selfPushItem
.
setReplyType
(
ReplyTypeEnum
.
LINK
.
value
);
}
if
(
ItemTypeEnum
.
APP
.
value
.
equals
(
selfPushItem
.
getItemType
())){
selfPushItem
.
setReplyType
(
ReplyTypeEnum
.
APP
.
value
);
}
if
(
ItemTypeEnum
.
IMAGE
.
value
.
equals
(
selfPushItem
.
getItemType
())){
selfPushItem
.
setReplyType
(
ReplyTypeEnum
.
IMAGE
.
value
);
}
}
}
@Override
public
void
sendSelfMsgQuartz
(
Long
pushId
)
{
SelfPush
selfPush
=
selfPushDao
.
getById
(
pushId
);
...
...
pcloud-service-book/src/main/java/com/pcloud/book/push/check/PushCheck.java
View file @
ea8cb2cd
package
com
.
pcloud
.
book
.
push
.
check
;
import
com.pcloud.book.base.dto.ReplyParamDTO
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.keywords.enums.ReplyTypeEnum
;
import
com.pcloud.book.push.dto.SelfPushAddParamDTO
;
import
com.pcloud.book.push.entity.MorningEveningNews
;
import
com.pcloud.book.push.entity.Push
;
...
...
@@ -334,41 +336,87 @@ public class PushCheck {
}
if
(
ListUtils
.
isEmpty
(
addParamDTO
.
get
PushItemList
()))
{
if
(
ListUtils
.
isEmpty
(
addParamDTO
.
get
ReplyParamDTOS
()))
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"发送消息为空"
);
}
if
(
addParamDTO
.
get
PushItemList
().
size
()
>
4
)
{
if
(
addParamDTO
.
get
ReplyParamDTOS
().
size
()
>
4
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"发送消息数量不能超过4条"
);
}
if
(!
ListUtils
.
isEmpty
(
addParamDTO
.
getUserIdList
())
&&
addParamDTO
.
getUserIdList
().
size
()
>
100
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"好友数量不能超过100"
);
}
for
(
SelfPushItem
pushItem
:
addParamDTO
.
getPushItemList
())
{
if
(
pushItem
==
null
)
{
for
(
ReplyParamDTO
replyParamDTO
:
addParamDTO
.
getReplyParamDTOS
())
{
if
(
replyParamDTO
==
null
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"发送消息项不能为空!"
);
}
if
(
pushItem
.
getItem
Type
()
==
null
)
{
if
(
replyParamDTO
.
getReply
Type
()
==
null
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"发送消息项内容类型不能为空!"
);
}
if
(
ItemTypeEnum
.
TEXT
.
value
.
equals
(
pushItem
.
getItemType
())
&&
StringUtil
.
isEmpty
(
pushItem
.
getTex
tContent
()))
{
if
(
ReplyTypeEnum
.
TEXT
.
value
.
equals
(
replyParamDTO
.
getReplyType
())
&&
StringUtil
.
isEmpty
(
replyParamDTO
.
ge
tContent
()))
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"发送消息项内容类型为文本时,文本不能为空!"
);
}
if
(
ItemTypeEnum
.
LINK
.
value
.
equals
(
pushItem
.
getItemType
())
&&
StringUtil
.
isEmpty
(
pushItem
.
getLinkUrl
()))
{
if
(
ReplyTypeEnum
.
LINK
.
value
.
equals
(
replyParamDTO
.
getReplyType
())
&&
StringUtil
.
isEmpty
(
replyParamDTO
.
getLinkUrl
()))
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"发送消息项内容类型为链接时,链接不能为空!"
);
}
if
(
ItemTypeEnum
.
APP
.
value
.
equals
(
pushItem
.
getItemType
())
&&
(
pushItem
.
getAppId
()
==
null
&&
pushItem
.
getProductId
()
==
null
))
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"发送消息项内容类型为应用或作品时,应用id或作品id不能为空!"
);
if
(
ReplyTypeEnum
.
APP
.
value
.
equals
(
replyParamDTO
.
getReplyType
())){
if
(
StringUtil
.
isEmpty
(
replyParamDTO
.
getServeType
())
||
null
==
replyParamDTO
.
getServeId
()
||
StringUtil
.
isEmpty
(
replyParamDTO
.
getLinkUrl
())){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"发送消息项内容类型为应用或作品时,id或链接不能为空!"
);
}
if
(
ItemTypeEnum
.
APP
.
value
.
equals
(
pushItem
.
getItemType
())
&&
pushItem
.
getAppId
()
!=
null
&&
StringUtil
.
isEmpty
(
pushItem
.
getAppUrl
()))
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"发送消息项内容类型为应用时,应用链接不能为空!"
);
}
if
(
ItemTypeEnum
.
APP
.
value
.
equals
(
pushItem
.
getItemType
())
&&
pushItem
.
getProductId
()
!=
null
&&
StringUtil
.
isEmpty
(
pushItem
.
getProductUrl
()))
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"发送消息项内容类型为作品时,作品链接不能为空!"
);
}
if
(
ItemTypeEnum
.
IMAGE
.
value
.
equals
(
pushItem
.
getItemType
())
&&
StringUtil
.
isEmpty
(
pushItem
.
getImage
Url
()))
{
if
(
ReplyTypeEnum
.
IMAGE
.
value
.
equals
(
replyParamDTO
.
getReplyType
())
&&
StringUtil
.
isEmpty
(
replyParamDTO
.
getPic
Url
()))
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"发送消息项内容类型为图片时,图片不能为空!"
);
}
if
(
ReplyTypeEnum
.
RESOURCE
.
value
.
equals
(
replyParamDTO
.
getReplyType
())
&&
null
==
replyParamDTO
.
getResourceId
())
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"发送消息项内容类型为文件时,文件id不能为空!"
);
}
//参数转换
List
<
SelfPushItem
>
items
=
paramChange
(
addParamDTO
.
getReplyParamDTOS
());
addParamDTO
.
setPushItemList
(
items
);
}
}
/**
* 参数转换
* @param paramDTOS
* @return
*/
List
<
SelfPushItem
>
paramChange
(
List
<
ReplyParamDTO
>
paramDTOS
){
List
<
SelfPushItem
>
itemList
=
new
ArrayList
<>();
for
(
ReplyParamDTO
paramDTO
:
paramDTOS
){
SelfPushItem
item
=
new
SelfPushItem
();
if
(
ReplyTypeEnum
.
TEXT
.
value
.
equals
(
paramDTO
.
getReplyType
())){
item
.
setTextContent
(
paramDTO
.
getContent
());
item
.
setItemType
(
ItemTypeEnum
.
TEXT
.
value
);
}
if
(
ReplyTypeEnum
.
LINK
.
value
.
equals
(
paramDTO
.
getReplyType
())){
item
.
setLinkUrl
(
paramDTO
.
getLinkUrl
());
item
.
setLinkTitle
(
paramDTO
.
getContent
());
item
.
setLinkDescription
(
paramDTO
.
getDescription
());
item
.
setLinkImageUrl
(
paramDTO
.
getPicUrl
());
item
.
setItemType
(
ItemTypeEnum
.
LINK
.
value
);
}
if
(
ReplyTypeEnum
.
IMAGE
.
value
.
equals
(
paramDTO
.
getReplyType
())){
item
.
setImageUrl
(
paramDTO
.
getPicUrl
());
item
.
setItemType
(
ItemTypeEnum
.
IMAGE
.
value
);
}
if
(
ReplyTypeEnum
.
RESOURCE
.
value
.
equals
(
paramDTO
.
getReplyType
())){
item
.
setResourceId
(
paramDTO
.
getResourceId
());
item
.
setItemType
(
ItemTypeEnum
.
RESOURCE
.
value
);
}
if
(
ReplyTypeEnum
.
APP
.
value
.
equals
(
paramDTO
.
getReplyType
())){
if
(
"APP"
.
equalsIgnoreCase
(
paramDTO
.
getServeType
()))
{
item
.
setAppId
(
paramDTO
.
getServeId
());
item
.
setAppUrl
(
paramDTO
.
getLinkUrl
());
}
if
(
"PRODUCT"
.
equalsIgnoreCase
(
paramDTO
.
getServeType
())){
item
.
setProductId
(
paramDTO
.
getServeId
());
item
.
setProductUrl
(
paramDTO
.
getLinkUrl
());
}
}
itemList
.
add
(
item
);
}
return
itemList
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/push/dto/SelfPushAddParamDTO.java
View file @
ea8cb2cd
package
com
.
pcloud
.
book
.
push
.
dto
;
import
com.pcloud.book.base.dto.ReplyParamDTO
;
import
com.pcloud.book.push.entity.SelfPushItem
;
import
lombok.Data
;
...
...
@@ -27,8 +28,10 @@ public class SelfPushAddParamDTO {
private
List
<
String
>
userIdList
;
/**
*
推送信息
*
统一入参
*/
private
List
<
ReplyParamDTO
>
replyParamDTOS
;
private
List
<
SelfPushItem
>
pushItemList
;
/**
* 立即发送
...
...
pcloud-service-book/src/main/java/com/pcloud/book/push/dto/SelfPushRecordDTO.java
View file @
ea8cb2cd
...
...
@@ -124,7 +124,8 @@ public class SelfPushRecordDTO extends BaseDto{
@ApiModelProperty
(
"小号编号"
)
private
String
uniqueNumber
;
@ApiModelProperty
(
"资源id"
)
private
Long
resourceId
;
}
pcloud-service-book/src/main/java/com/pcloud/book/push/entity/SelfPushItem.java
View file @
ea8cb2cd
...
...
@@ -4,20 +4,27 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import
com.pcloud.common.entity.BaseEntity
;
import
java.util.Date
;
import
java.util.List
;
import
com.pcloud.contentcenter.resource.dto.ResourceOfficeItemDTO
;
import
com.pcloud.contentcenter.resource.dto.ResourcePdfItemDTO
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@ApiModel
(
"个人号群发项"
)
@Data
public
class
SelfPushItem
extends
BaseEntity
{
@ApiModelProperty
(
"推送id"
)
private
Long
pushId
;
@ApiModelProperty
(
"推送内容项类型:1文本,2链接,3应用,4图片"
)
@ApiModelProperty
(
"推送内容项类型:1文本,2链接,3应用,4图片
5素材
"
)
private
Integer
itemType
;
@ApiModelProperty
(
"类型 1 文字 2 图片 3 链接 4应用 5素材"
)
private
Integer
replyType
;
@ApiModelProperty
(
"文本内容"
)
private
String
textContent
;
...
...
@@ -69,151 +76,33 @@ public class SelfPushItem extends BaseEntity{
@ApiModelProperty
(
"发送时间"
)
private
Date
sendTime
;
public
Long
getPushId
()
{
return
pushId
;
}
@ApiModelProperty
(
"资源id"
)
private
Long
resourceId
;
public
void
setPushId
(
Long
pushId
)
{
this
.
pushId
=
pushId
;
}
@ApiModelProperty
(
"资源链接"
)
private
String
resourceUrl
;
public
Integer
getItemType
()
{
return
itemType
;
}
@ApiModelProperty
(
"资源名称"
)
private
String
resourceName
;
public
void
setItemType
(
Integer
itemType
)
{
this
.
itemType
=
itemType
;
}
@ApiModelProperty
(
"资源类型编码"
)
private
String
resourceTypeCode
;
public
String
getTextContent
()
{
return
textContent
;
}
@ApiModelProperty
(
"资源类型名称"
)
private
String
resourceTypeName
;
public
void
setTextContent
(
String
textContent
)
{
this
.
textContent
=
textContent
;
}
@ApiModelProperty
(
"文件类型"
)
private
String
fileType
;
public
String
getLinkUrl
()
{
return
linkUrl
;
}
@ApiModelProperty
(
"pdf转码后的单张图片集合"
)
private
List
<
ResourcePdfItemDTO
>
resourcePdfItems
;
public
void
setLinkUrl
(
String
linkUrl
)
{
this
.
linkUrl
=
linkUrl
;
}
@ApiModelProperty
(
"文件转码后的单张图片集合"
)
private
List
<
ResourceOfficeItemDTO
>
resourceOfficeItemDTOs
;
public
String
getLinkTitle
()
{
return
linkTitle
;
}
@ApiModelProperty
(
"文件大小"
)
private
Long
fileSize
;
public
void
setLinkTitle
(
String
linkTitle
)
{
this
.
linkTitle
=
linkTitle
;
}
public
String
getLinkDescription
()
{
return
linkDescription
;
}
public
void
setLinkDescription
(
String
linkDescription
)
{
this
.
linkDescription
=
linkDescription
;
}
public
String
getLinkImageUrl
()
{
return
linkImageUrl
;
}
public
void
setLinkImageUrl
(
String
linkImageUrl
)
{
this
.
linkImageUrl
=
linkImageUrl
;
}
public
String
getImageUrl
()
{
return
imageUrl
;
}
public
void
setImageUrl
(
String
imageUrl
)
{
this
.
imageUrl
=
imageUrl
;
}
public
Long
getAppId
()
{
return
appId
;
}
public
void
setAppId
(
Long
appId
)
{
this
.
appId
=
appId
;
}
public
Long
getProductId
()
{
return
productId
;
}
public
void
setProductId
(
Long
productId
)
{
this
.
productId
=
productId
;
}
public
String
getAppUrl
()
{
return
appUrl
;
}
public
void
setAppUrl
(
String
appUrl
)
{
this
.
appUrl
=
appUrl
;
}
public
String
getProductUrl
()
{
return
productUrl
;
}
public
void
setProductUrl
(
String
productUrl
)
{
this
.
productUrl
=
productUrl
;
}
public
Integer
getPushStatus
()
{
return
pushStatus
;
}
public
void
setPushStatus
(
Integer
pushStatus
)
{
this
.
pushStatus
=
pushStatus
;
}
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
Date
getSendTime
()
{
return
sendTime
;
}
public
void
setSendTime
(
Date
sendTime
)
{
this
.
sendTime
=
sendTime
;
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/push/enums/ItemTypeEnum.java
View file @
ea8cb2cd
...
...
@@ -22,7 +22,11 @@ public enum ItemTypeEnum {
/**
* 图片
*/
IMAGE
(
4
);
IMAGE
(
4
),
/**
* 资源
*/
RESOURCE
(
5
);
public
final
Integer
value
;
...
...
pcloud-service-book/src/main/java/com/pcloud/book/skill/check/PcloudSkillCheck.java
View file @
ea8cb2cd
...
...
@@ -43,9 +43,10 @@ public class PcloudSkillCheck {
if
(
null
==
reply
.
getSubType
())
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"订阅类型不能为空!"
);
}
if
(
null
==
reply
.
getType
())
{
if
(
null
==
reply
.
get
Reply
Type
())
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"回复类型不能为空!"
);
}
reply
.
setType
(
reply
.
getReplyType
());
Integer
type
=
reply
.
getType
();
if
(
ReplyTypeEnum
.
TEXT
.
value
.
equals
(
type
)
&&
StringUtil
.
isEmpty
(
reply
.
getContent
()))
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"内容不能为空!"
);
...
...
pcloud-service-book/src/main/java/com/pcloud/book/skill/entity/PcloudSubReply.java
View file @
ea8cb2cd
...
...
@@ -22,6 +22,9 @@ public class PcloudSubReply extends BaseEntity {
@ApiModelProperty
(
"类型 1 文字 2 图片 3 链接 4应用 5素材"
)
private
Integer
type
;
@ApiModelProperty
(
"类型 1 文字 2 图片 3 链接 4应用 5素材"
)
private
Integer
replyType
;
@ApiModelProperty
(
"内容"
)
private
String
content
;
...
...
pcloud-service-book/src/main/java/com/pcloud/book/timecontrol/biz/impl/TaskSubscribeBizImpl.java
View file @
ea8cb2cd
...
...
@@ -328,9 +328,15 @@ public class TaskSubscribeBizImpl implements TaskSubscribeBiz {
break
;
case
"file"
:
// 发送文件
String
fileUrl
=
replyMessage
.
getFileUrl
();
String
fileName
=
replyMessage
.
getFileName
();
String
fileType
=
fileUrl
.
substring
(
fileUrl
.
lastIndexOf
(
"."
),
fileUrl
.
length
());
if
(!
StringUtil
.
isEmpty
(
fileType
)
&&
fileName
.
contains
(
fileType
))
{
//去掉后缀
fileName
=
fileName
.
substring
(
0
,
fileName
.
indexOf
(
fileType
)
-
1
);
}
SendFileVO
sendFileVO
=
new
SendFileVO
();
sendFileVO
.
setFileUrl
(
replyMessage
.
getFileUrl
()
);
sendFileVO
.
setFileName
(
replyMessage
.
getFileName
()
);
sendFileVO
.
setFileUrl
(
fileUrl
);
sendFileVO
.
setFileName
(
fileName
);
sendFileVO
.
setIp
(
ip
);
sendFileVO
.
setAltId
(
robotWxId
);
sendFileVO
.
setWxId
(
wxUserId
);
...
...
pcloud-service-book/src/main/resources/mapper/guide/PcloudGuideMapper.xml
View file @
ea8cb2cd
...
...
@@ -153,7 +153,7 @@
) s
</select>
<select
id=
"listPcloudGuide"
resultType=
"com.pcloud.book.guide.
vo.PcloudGuideV
O"
>
<select
id=
"listPcloudGuide"
resultType=
"com.pcloud.book.guide.
dto.PcloudGuideDT
O"
>
SELECT
a.id pcloudGuideId,
a.type,
...
...
pcloud-service-book/src/main/resources/mapper/guide/PcloudGuideMessageMapper.xml
View file @
ea8cb2cd
...
...
@@ -9,9 +9,10 @@
<result
column=
"pic_url"
property=
"picUrl"
jdbcType=
"VARCHAR"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"resource_id"
property=
"resourceId"
jdbcType=
"BIGINT"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, pcloud_guide_id, reply_type, content, pic_url, create_time, update_time
id, pcloud_guide_id, reply_type, content, pic_url, create_time, update_time
, resource_id
</sql>
<select
id=
"selectByPrimaryKey"
resultMap=
"BaseResultMap"
parameterType=
"java.lang.Integer"
>
select
...
...
@@ -26,10 +27,10 @@
<insert
id=
"insert"
parameterType=
"com.pcloud.book.guide.entity.PcloudGuideMessage"
>
insert into pcloud_guide_message (id, pcloud_guide_id, reply_type,
content, pic_url, create_time,
update_time)
update_time
, resource_id
)
values (#{id,jdbcType=INTEGER}, #{pcloudGuideId,jdbcType=INTEGER}, #{replyType,jdbcType=INTEGER},
#{content,jdbcType=VARCHAR}, #{picUrl,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP},
#{updateTime,jdbcType=TIMESTAMP})
#{updateTime,jdbcType=TIMESTAMP}
, #{resourceId}
)
</insert>
<insert
id=
"insertSelective"
parameterType=
"com.pcloud.book.guide.entity.PcloudGuideMessage"
>
insert into pcloud_guide_message
...
...
@@ -111,16 +112,17 @@
content = #{content,jdbcType=VARCHAR},
pic_url = #{picUrl,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
update_time = #{updateTime,jdbcType=TIMESTAMP},
resource_id = #{resourceId}
where id = #{id,jdbcType=INTEGER}
</update>
<insert
id=
"batchInsert"
parameterType=
"com.pcloud.book.guide.entity.PcloudGuideMessage"
>
insert into pcloud_guide_message (pcloud_guide_id, reply_type,
content, pic_url, create_time)
content, pic_url, create_time
, resource_id
)
values
<foreach
collection=
"list"
item=
"item"
separator=
","
>
(#{item.pcloudGuideId}, #{item.replyType}, #{item.content}, #{item.picUrl}, now())
(#{item.pcloudGuideId}, #{item.replyType}, #{item.content}, #{item.picUrl}, now()
, #{item.resourceId}
)
</foreach>
</insert>
...
...
@@ -132,7 +134,8 @@
SELECT
reply_type replyType,
content,
pic_url picUrl
pic_url picUrl,
resource_id resourceId
FROM
`pcloud_guide_message`
WHERE
...
...
@@ -143,7 +146,8 @@
SELECT
reply_type replyType,
content,
pic_url picUrl
pic_url picUrl,
resource_id resourceId
FROM
pcloud_guide a
LEFT JOIN pcloud_guide_message b ON a.id = b.pcloud_guide_id
...
...
pcloud-service-book/src/main/resources/mapper/push/SelfPushItemMapper.xml
View file @
ea8cb2cd
...
...
@@ -21,12 +21,13 @@
<result
column=
"update_user"
property=
"updateUser"
jdbcType=
"BIGINT"
/>
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"send_time"
property=
"sendTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"resource_id"
property=
"resourceId"
jdbcType=
"BIGINT"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, push_id, item_type, text_content, link_url, link_title, link_description,
link_image_url, image_url, app_id, app_url, product_id, product_url, push_status,
create_user, create_time, update_user, update_time, send_time
create_user, create_time, update_user, update_time, send_time
, resource_id
</sql>
<insert
id=
"insert"
parameterType=
"com.pcloud.book.push.entity.SelfPushItem"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
...
...
@@ -35,14 +36,14 @@
link_description, link_image_url, image_url,
app_id, app_url, product_id,
product_url, push_status, create_user,
create_time, update_user, update_time, send_time
create_time, update_user, update_time, send_time
, resource_id
)
values (#{pushId,jdbcType=BIGINT}, #{itemType,jdbcType=INTEGER},
#{textContent,jdbcType=VARCHAR}, #{linkUrl,jdbcType=VARCHAR}, #{linkTitle,jdbcType=VARCHAR},
#{linkDescription,jdbcType=VARCHAR}, #{linkImageUrl,jdbcType=VARCHAR}, #{imageUrl,jdbcType=VARCHAR},
#{appId,jdbcType=BIGINT}, #{appUrl,jdbcType=VARCHAR}, #{productId,jdbcType=BIGINT},
#{productUrl,jdbcType=VARCHAR}, #{pushStatus,jdbcType=INTEGER}, #{createUser,jdbcType=BIGINT},
now(), #{updateUser,jdbcType=BIGINT}, now(), #{sendTime}
now(), #{updateUser,jdbcType=BIGINT}, now(), #{sendTime}
, #{resourceId}
)
</insert>
...
...
@@ -66,7 +67,8 @@
create_time,
update_user,
update_time,
send_time
send_time,
resource_id
) values
<foreach
collection=
"list"
item=
"item"
index=
"index"
separator=
","
>
(
...
...
@@ -87,7 +89,8 @@
NOW(),
#{item.updateUser,jdbcType=BIGINT},
NOW(),
#{item.sendTime}
#{item.sendTime},
#{item.resourceId}
)
</foreach>
</insert>
...
...
@@ -119,7 +122,8 @@
p.end_time endTime,
p.push_send_time pushSendTime,
p.week_days weekDays,
p.push_type pushType
p.push_type pushType,
i.resource_id resourceId
FROM
self_push_item i
LEFT JOIN self_push p ON i.push_id = p.id
...
...
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