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
3c1fe36c
Commit
3c1fe36c
authored
Mar 16, 2020
by
曾迫
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
个人号发送小程序基础
parent
edc35b01
Show whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
847 additions
and
48 deletions
+847
-48
ReplyParamDTO.java
...src/main/java/com/pcloud/book/base/dto/ReplyParamDTO.java
+4
-1
ReplyTypeEnum.java
...in/java/com/pcloud/book/keywords/enums/ReplyTypeEnum.java
+6
-1
PcloudRobotBizImpl.java
...cloud/book/pcloudkeyword/biz/impl/PcloudRobotBizImpl.java
+36
-0
PcloudRobotWelcome.java
.../pcloud/book/pcloudkeyword/entity/PcloudRobotWelcome.java
+11
-1
WelcomeReplyTypeEnum.java
...pcloud/book/pcloudkeyword/enums/WelcomeReplyTypeEnum.java
+5
-1
PcloudRobotSet.java
...ava/com/pcloud/book/pcloudkeyword/set/PcloudRobotSet.java
+10
-0
PersonalStageBizImpl.java
...oud/book/personalstage/biz/impl/PersonalStageBizImpl.java
+52
-7
PersonalStageJumpBizImpl.java
...book/personalstage/biz/impl/PersonalStageJumpBizImpl.java
+51
-12
PersonalStageJumpLinkup.java
...ud/book/personalstage/entity/PersonalStageJumpLinkup.java
+12
-1
PersonalStageReplyItem.java
...oud/book/personalstage/entity/PersonalStageReplyItem.java
+11
-1
BaseStageJumpRequestVO.java
...book/personalstage/vo/request/BaseStageJumpRequestVO.java
+1
-0
SelfPushBiz.java
...k/src/main/java/com/pcloud/book/push/biz/SelfPushBiz.java
+16
-0
SelfPushBizImpl.java
...n/java/com/pcloud/book/push/biz/impl/SelfPushBizImpl.java
+190
-2
PersonalAppletsDao.java
...ain/java/com/pcloud/book/push/dao/PersonalAppletsDao.java
+19
-0
PersonalAppletsDaoImpl.java
...com/pcloud/book/push/dao/impl/PersonalAppletsDaoImpl.java
+31
-0
PersonalAppletsRecordDTO.java
...va/com/pcloud/book/push/dto/PersonalAppletsRecordDTO.java
+110
-0
PersonalApplets.java
...ain/java/com/pcloud/book/push/entity/PersonalApplets.java
+27
-0
SelfPushItem.java
...c/main/java/com/pcloud/book/push/entity/SelfPushItem.java
+6
-2
ItemTypeEnum.java
...rc/main/java/com/pcloud/book/push/enums/ItemTypeEnum.java
+6
-1
SelfPushFacade.java
...main/java/com/pcloud/book/push/facade/SelfPushFacade.java
+85
-0
PcloudRobotWelcome.Mapper.xml
...ources/mapper/pcloudkeyword/PcloudRobotWelcome.Mapper.xml
+6
-3
PersonalStageJumpLinkup.xml
...esources/mapper/personalstage/PersonalStageJumpLinkup.xml
+10
-5
PersonalStageReplyItem.xml
...resources/mapper/personalstage/PersonalStageReplyItem.xml
+10
-5
PersonalAppletsMapper.xml
.../src/main/resources/mapper/push/PersonalAppletsMapper.xml
+74
-0
SelfPushItemMapper.xml
...ook/src/main/resources/mapper/push/SelfPushItemMapper.xml
+58
-5
No files found.
pcloud-facade-book/src/main/java/com/pcloud/book/base/dto/ReplyParamDTO.java
View file @
3c1fe36c
...
@@ -9,7 +9,7 @@ import lombok.Data;
...
@@ -9,7 +9,7 @@ import lombok.Data;
@ApiModel
(
"回复统一参数"
)
@ApiModel
(
"回复统一参数"
)
public
class
ReplyParamDTO
extends
BaseDto
{
public
class
ReplyParamDTO
extends
BaseDto
{
@ApiModelProperty
(
"类型 1 文字 2 图片 3 链接 4应用 5素材"
)
@ApiModelProperty
(
"类型 1 文字 2 图片 3 链接 4应用 5素材
7小程序
"
)
private
Integer
replyType
;
private
Integer
replyType
;
@ApiModelProperty
(
"内容"
)
@ApiModelProperty
(
"内容"
)
...
@@ -30,6 +30,9 @@ public class ReplyParamDTO extends BaseDto {
...
@@ -30,6 +30,9 @@ public class ReplyParamDTO extends BaseDto {
@ApiModelProperty
(
"资源id"
)
@ApiModelProperty
(
"资源id"
)
private
Long
resourceId
;
private
Long
resourceId
;
@ApiModelProperty
(
"小程序主键id"
)
private
Long
personalAppletsId
;
@ApiModelProperty
(
"描述"
)
@ApiModelProperty
(
"描述"
)
private
String
description
;
private
String
description
;
...
...
pcloud-service-book/src/main/java/com/pcloud/book/keywords/enums/ReplyTypeEnum.java
View file @
3c1fe36c
...
@@ -30,7 +30,12 @@ public enum ReplyTypeEnum {
...
@@ -30,7 +30,12 @@ public enum ReplyTypeEnum {
/**
/**
* 语音
* 语音
*/
*/
AUDIO
(
6
);
AUDIO
(
6
),
/**
* 小程序
*/
PERSONALAPPLETS
(
7
);
/**
/**
* 值
* 值
*/
*/
...
...
pcloud-service-book/src/main/java/com/pcloud/book/pcloudkeyword/biz/impl/PcloudRobotBizImpl.java
View file @
3c1fe36c
...
@@ -42,6 +42,8 @@ import com.pcloud.book.pcloudkeyword.facade.response.PcloudRobotClassifyResponse
...
@@ -42,6 +42,8 @@ import com.pcloud.book.pcloudkeyword.facade.response.PcloudRobotClassifyResponse
import
com.pcloud.book.pcloudkeyword.facade.response.PcloudRobotResponseVO
;
import
com.pcloud.book.pcloudkeyword.facade.response.PcloudRobotResponseVO
;
import
com.pcloud.book.pcloudkeyword.set.PcloudRobotSet
;
import
com.pcloud.book.pcloudkeyword.set.PcloudRobotSet
;
import
com.pcloud.book.push.biz.SelfPushBiz
;
import
com.pcloud.book.push.biz.SelfPushBiz
;
import
com.pcloud.book.push.dao.PersonalAppletsDao
;
import
com.pcloud.book.push.entity.PersonalApplets
;
import
com.pcloud.book.skill.biz.PcloudSkillBiz
;
import
com.pcloud.book.skill.biz.PcloudSkillBiz
;
import
com.pcloud.book.skill.entity.PcloudSkill
;
import
com.pcloud.book.skill.entity.PcloudSkill
;
import
com.pcloud.book.util.common.ThreadPoolUtils
;
import
com.pcloud.book.util.common.ThreadPoolUtils
;
...
@@ -132,6 +134,11 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz {
...
@@ -132,6 +134,11 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz {
@Autowired
@Autowired
private
QrcodeService
qrcodeService
;
private
QrcodeService
qrcodeService
;
@Autowired
private
PersonalAppletsDao
personalAppletsDao
;
@ParamLog
(
value
=
"[changeRobotRealStatus]"
,
isAfterReturn
=
false
)
@ParamLog
(
value
=
"[changeRobotRealStatus]"
,
isAfterReturn
=
false
)
@Override
@Override
@Transactional
(
rollbackFor
=
{
Exception
.
class
})
@Transactional
(
rollbackFor
=
{
Exception
.
class
})
...
@@ -373,6 +380,35 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz {
...
@@ -373,6 +380,35 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz {
sendMomentsDTO
.
setCounts
(
count
);
sendMomentsDTO
.
setCounts
(
count
);
sendMomentsDTO
.
setIndex
(
index
);
sendMomentsDTO
.
setIndex
(
index
);
sendMomentsDTO
.
setRobotProcessType
(
RobotProcessTypeEnum
.
WELCOME
);
sendMomentsDTO
.
setRobotProcessType
(
RobotProcessTypeEnum
.
WELCOME
);
WxGroupSDK
.
sendMessageToPhone
(
sendMomentsDTO
);
}
else
if
(
WelcomeReplyTypeEnum
.
APPLETS
.
value
.
equals
(
replyType
)){
SendMomentsDTO
sendMomentsDTO
=
new
SendMomentsDTO
();
List
<
String
>
userWxIds
=
new
ArrayList
<>();
userWxIds
.
add
(
userWxId
);
//发送的小程序
PersonalApplets
byId
=
personalAppletsDao
.
getById
(
robotWelcome
.
getPersonalAppletsId
());
if
(
byId
==
null
){
return
;
}
GroupRobotDTO
info
=
wechatGroupConsr
.
getGroupRobotByRobotId
(
robotWxId
);
if
(
info
!=
null
){
sendMomentsDTO
.
setIsMasterWx
(
info
.
getMasterWx
());
sendMomentsDTO
.
setReceiveAccount
(
info
.
getMac
());
}
sendMomentsDTO
.
setMomentType
(
BusinessConstant
.
MomentTypeEnum
.
SEND_WX_MINI
);
sendMomentsDTO
.
setContent
(
byId
.
getAppletsId
());
//小程序id
sendMomentsDTO
.
setLink
(
byId
.
getAppletsUrl
());
//小程序访问地址
sendMomentsDTO
.
setImages
(
userWxIds
);
//发送人
sendMomentsDTO
.
setLinkTitle
(
byId
.
getSlogan
());
//小程序宣传语
sendMomentsDTO
.
setLinkDesc
(
byId
.
getSloganImgUrl
());
//小程序宣传图
sendMomentsDTO
.
setIp
(
ip
);
sendMomentsDTO
.
setMessageGroupId
(
messageGroup
);
sendMomentsDTO
.
setCounts
(
count
);
sendMomentsDTO
.
setIndex
(
index
);
sendMomentsDTO
.
setCode
(
SendMessageTypeEnum
.
SELF
.
getCode
());
sendMomentsDTO
.
setRobotProcessType
(
RobotProcessTypeEnum
.
WELCOME
);
sendMomentsDTO
.
setAltId
(
robotWxId
);
sendMomentsDTO
.
setWxId
(
userWxId
);
wechatGroupConsr
.
sendMessage
(
JSON
.
toJSONString
(
sendMomentsDTO
));
wechatGroupConsr
.
sendMessage
(
JSON
.
toJSONString
(
sendMomentsDTO
));
}
}
index
++;
index
++;
...
...
pcloud-service-book/src/main/java/com/pcloud/book/pcloudkeyword/entity/PcloudRobotWelcome.java
View file @
3c1fe36c
...
@@ -19,7 +19,7 @@ public class PcloudRobotWelcome extends BaseEntity {
...
@@ -19,7 +19,7 @@ public class PcloudRobotWelcome extends BaseEntity {
@ApiModelProperty
(
"全平台分类id"
)
@ApiModelProperty
(
"全平台分类id"
)
private
Long
pcloudClassifyId
;
private
Long
pcloudClassifyId
;
@ApiModelProperty
(
"类型 1 文字 2 图片 3 链接 4应用 5素材"
)
@ApiModelProperty
(
"类型 1 文字 2 图片 3 链接 4应用 5素材
6小程序
"
)
private
Integer
replyType
;
private
Integer
replyType
;
@ApiModelProperty
(
"内容"
)
@ApiModelProperty
(
"内容"
)
...
@@ -61,6 +61,16 @@ public class PcloudRobotWelcome extends BaseEntity {
...
@@ -61,6 +61,16 @@ public class PcloudRobotWelcome extends BaseEntity {
@ApiModelProperty
(
"文件转码后的单张图片集合"
)
@ApiModelProperty
(
"文件转码后的单张图片集合"
)
private
List
<
ResourceOfficeItemDTO
>
resourceOfficeItemDTOs
;
private
List
<
ResourceOfficeItemDTO
>
resourceOfficeItemDTOs
;
@ApiModelProperty
(
"小程序主键id"
)
private
Integer
personalAppletsId
;
@ApiModelProperty
(
"小程序宣传语"
)
private
String
slogan
;
@ApiModelProperty
(
"小程序宣传图片"
)
private
String
sloganImgUrl
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/pcloudkeyword/enums/WelcomeReplyTypeEnum.java
View file @
3c1fe36c
...
@@ -18,7 +18,11 @@ public enum WelcomeReplyTypeEnum {
...
@@ -18,7 +18,11 @@ public enum WelcomeReplyTypeEnum {
/**
/**
* 语音
* 语音
*/
*/
AUDIO
(
6
);
AUDIO
(
6
),
/**
* 值
*/
APPLETS
(
7
);
/**
/**
* 值
* 值
*/
*/
...
...
pcloud-service-book/src/main/java/com/pcloud/book/pcloudkeyword/set/PcloudRobotSet.java
View file @
3c1fe36c
...
@@ -12,6 +12,8 @@ import com.pcloud.book.group.tools.SendWeixinRequestTools;
...
@@ -12,6 +12,8 @@ import com.pcloud.book.group.tools.SendWeixinRequestTools;
import
com.pcloud.book.keywords.enums.ReplyTypeEnum
;
import
com.pcloud.book.keywords.enums.ReplyTypeEnum
;
import
com.pcloud.book.pcloudkeyword.entity.PcloudRobotWelcome
;
import
com.pcloud.book.pcloudkeyword.entity.PcloudRobotWelcome
;
import
com.pcloud.book.pcloudkeyword.enums.WelcomeReplyTypeEnum
;
import
com.pcloud.book.pcloudkeyword.enums.WelcomeReplyTypeEnum
;
import
com.pcloud.book.push.dao.PersonalAppletsDao
;
import
com.pcloud.book.push.entity.PersonalApplets
;
import
com.pcloud.book.skill.dto.AppOrProductReplyDTO
;
import
com.pcloud.book.skill.dto.AppOrProductReplyDTO
;
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
;
...
@@ -44,6 +46,9 @@ public class PcloudRobotSet {
...
@@ -44,6 +46,9 @@ public class PcloudRobotSet {
@Autowired
@Autowired
private
WechatGroupConsr
wechatGroupConsr
;
private
WechatGroupConsr
wechatGroupConsr
;
@Autowired
private
PersonalAppletsDao
personalAppletsDao
;
@ParamLog
(
"填充欢迎语回复"
)
@ParamLog
(
"填充欢迎语回复"
)
public
void
fillRobotWelcome
(
List
<
PcloudRobotWelcome
>
robotWelcomeList
)
{
public
void
fillRobotWelcome
(
List
<
PcloudRobotWelcome
>
robotWelcomeList
)
{
if
(
ListUtils
.
isEmpty
(
robotWelcomeList
)){
if
(
ListUtils
.
isEmpty
(
robotWelcomeList
)){
...
@@ -75,6 +80,11 @@ public class PcloudRobotSet {
...
@@ -75,6 +80,11 @@ public class PcloudRobotSet {
robotWelcome
.
setResourceOfficeItemDTOs
(
resourceDTO
.
getResourceOfficeItemDTOs
());
robotWelcome
.
setResourceOfficeItemDTOs
(
resourceDTO
.
getResourceOfficeItemDTOs
());
}
}
}
}
if
(
WelcomeReplyTypeEnum
.
APPLETS
.
value
.
equals
(
type
)){
PersonalApplets
byId
=
personalAppletsDao
.
getById
(
robotWelcome
.
getPersonalAppletsId
());
robotWelcome
.
setSlogan
(
byId
.
getSlogan
());
robotWelcome
.
setSloganImgUrl
(
byId
.
getSloganImgUrl
());
}
}
}
}
}
public
void
sendAppOrProductReply
(
AppOrProductReplyDTO
replyDTO
)
{
public
void
sendAppOrProductReply
(
AppOrProductReplyDTO
replyDTO
)
{
...
...
pcloud-service-book/src/main/java/com/pcloud/book/personalstage/biz/impl/PersonalStageBizImpl.java
View file @
3c1fe36c
...
@@ -47,6 +47,8 @@ import com.pcloud.book.personalstage.enums.StageReplyRelevEnum;
...
@@ -47,6 +47,8 @@ import com.pcloud.book.personalstage.enums.StageReplyRelevEnum;
import
com.pcloud.book.personalstage.utils.CacheUtils
;
import
com.pcloud.book.personalstage.utils.CacheUtils
;
import
com.pcloud.book.personalstage.vo.request.AddScoreRequestVO
;
import
com.pcloud.book.personalstage.vo.request.AddScoreRequestVO
;
import
com.pcloud.book.personlstage.dto.UserReplaceCodeDTO
;
import
com.pcloud.book.personlstage.dto.UserReplaceCodeDTO
;
import
com.pcloud.book.push.dao.PersonalAppletsDao
;
import
com.pcloud.book.push.entity.PersonalApplets
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.core.mq.DelayQueueDTO
;
import
com.pcloud.common.core.mq.DelayQueueDTO
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.exceptions.BizException
;
...
@@ -135,6 +137,10 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
...
@@ -135,6 +137,10 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
@Autowired
@Autowired
private
ReplaceCodeDao
replaceCodeDao
;
private
ReplaceCodeDao
replaceCodeDao
;
@Autowired
private
PersonalAppletsDao
personalAppletsDao
;
@Value
(
"${wechat.group.link.prefix}"
)
@Value
(
"${wechat.group.link.prefix}"
)
private
String
wechatLinkPrefix
;
private
String
wechatLinkPrefix
;
...
@@ -230,15 +236,13 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
...
@@ -230,15 +236,13 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
}
}
List
<
Long
>
resourceIds
=
replyItems
.
stream
().
filter
(
s
->(
ReplyTypeEnum
.
RESOURCE
.
value
.
equals
(
s
.
getReplyType
())
List
<
Long
>
resourceIds
=
replyItems
.
stream
().
filter
(
s
->(
ReplyTypeEnum
.
RESOURCE
.
value
.
equals
(
s
.
getReplyType
())
||
ReplyTypeEnum
.
AUDIO
.
value
.
equals
(
s
.
getReplyType
()))&&
s
.
getResourceId
()!=
null
).
map
(
PersonalStageReplyItem:
:
getResourceId
).
collect
(
Collectors
.
toList
());
||
ReplyTypeEnum
.
AUDIO
.
value
.
equals
(
s
.
getReplyType
()))&&
s
.
getResourceId
()!=
null
).
map
(
PersonalStageReplyItem:
:
getResourceId
).
collect
(
Collectors
.
toList
());
if
(
ListUtils
.
isEmpty
(
resourceIds
)){
if
(!
ListUtils
.
isEmpty
(
resourceIds
)){
return
;
}
Map
<
Long
,
ResourceDTO
>
resourceDTOMap
=
resourceConsr
.
mapByIds
(
resourceIds
);
Map
<
Long
,
ResourceDTO
>
resourceDTOMap
=
resourceConsr
.
mapByIds
(
resourceIds
);
for
(
PersonalStageReplyItem
item:
replyItems
)
{
for
(
PersonalStageReplyItem
item:
replyItems
)
{
Integer
type
=
item
.
getReplyType
();
Integer
type
=
item
.
getReplyType
();
if
(
ReplyTypeEnum
.
RESOURCE
.
value
.
equals
(
type
)||
ReplyTypeEnum
.
AUDIO
.
value
.
equals
(
type
))
{
if
(
ReplyTypeEnum
.
RESOURCE
.
value
.
equals
(
type
)
||
ReplyTypeEnum
.
AUDIO
.
value
.
equals
(
type
))
{
ResourceDTO
resourceDTO
=
resourceDTOMap
.
get
(
item
.
getResourceId
());
ResourceDTO
resourceDTO
=
resourceDTOMap
.
get
(
item
.
getResourceId
());
if
(
resourceDTO
!=
null
)
{
if
(
resourceDTO
!=
null
)
{
item
.
setResourceName
(
resourceDTO
.
getResourceName
());
item
.
setResourceName
(
resourceDTO
.
getResourceName
());
item
.
setResourceUrl
(
resourceDTO
.
getFileUrl
());
item
.
setResourceUrl
(
resourceDTO
.
getFileUrl
());
item
.
setResourceTypeCode
(
resourceDTO
.
getTypeCode
());
item
.
setResourceTypeCode
(
resourceDTO
.
getTypeCode
());
...
@@ -251,6 +255,15 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
...
@@ -251,6 +255,15 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
}
}
}
}
}
}
for
(
PersonalStageReplyItem
item:
replyItems
){
Integer
type
=
item
.
getReplyType
();
if
(
ReplyTypeEnum
.
PERSONALAPPLETS
.
value
.
equals
(
type
))
{
PersonalApplets
byId
=
personalAppletsDao
.
getById
(
item
.
getPersonalAppletsId
());
item
.
setSlogan
(
byId
.
getSlogan
());
item
.
setSloganImgUrl
(
byId
.
getSloganImgUrl
());
}
}
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@ParamLog
(
"修改排序值"
)
@ParamLog
(
"修改排序值"
)
...
@@ -999,6 +1012,38 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
...
@@ -999,6 +1012,38 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
wechatGroupConsr
.
sendMessage
(
JSON
.
toJSONString
(
sendMomentsDTO
));
wechatGroupConsr
.
sendMessage
(
JSON
.
toJSONString
(
sendMomentsDTO
));
}
}
}
}
if
(
ReplyTypeEnum
.
PERSONALAPPLETS
.
value
.
equals
(
type
))
{
SendMomentsDTO
sendMomentsDTO
=
new
SendMomentsDTO
();
List
<
String
>
userWxIds
=
new
ArrayList
<>();
userWxIds
.
add
(
userWxId
);
//发送的小程序
PersonalApplets
byId
=
personalAppletsDao
.
getById
(
item
.
getPersonalAppletsId
());
if
(
byId
==
null
){
return
;
}
GroupRobotDTO
info
=
wechatGroupConsr
.
getGroupRobotByRobotId
(
robotId
);
if
(
info
!=
null
)
{
sendMomentsDTO
.
setIsMasterWx
(
info
.
getMasterWx
());
sendMomentsDTO
.
setReceiveAccount
(
info
.
getMac
());
}
sendMomentsDTO
.
setMomentType
(
BusinessConstant
.
MomentTypeEnum
.
SEND_WX_MINI
);
sendMomentsDTO
.
setContent
(
byId
.
getAppletsId
());
//小程序id
sendMomentsDTO
.
setLink
(
byId
.
getAppletsUrl
());
//小程序访问地址
sendMomentsDTO
.
setImages
(
userWxIds
);
//发送人
sendMomentsDTO
.
setLinkTitle
(
byId
.
getSlogan
());
//小程序宣传语
sendMomentsDTO
.
setLinkDesc
(
byId
.
getSloganImgUrl
());
//小程序宣传图
sendMomentsDTO
.
setIp
(
ip
);
sendMomentsDTO
.
setMessageGroupId
(
uuid
);
sendMomentsDTO
.
setCounts
(
replyItems
.
size
());
sendMomentsDTO
.
setIndex
(
replyItems
.
indexOf
(
item
));
sendMomentsDTO
.
setCode
(
SendMessageTypeEnum
.
SELF
.
getCode
());
sendMomentsDTO
.
setRobotProcessType
(
robotProcessType
);
sendMomentsDTO
.
setAltId
(
robotId
);
sendMomentsDTO
.
setWxId
(
userWxId
);
wechatGroupConsr
.
sendMessage
(
JSON
.
toJSONString
(
sendMomentsDTO
));
}
}
}
}
}
...
...
pcloud-service-book/src/main/java/com/pcloud/book/personalstage/biz/impl/PersonalStageJumpBizImpl.java
View file @
3c1fe36c
...
@@ -28,6 +28,8 @@ import com.pcloud.book.personalstage.enums.PersonalStageUserStateEnum;
...
@@ -28,6 +28,8 @@ import com.pcloud.book.personalstage.enums.PersonalStageUserStateEnum;
import
com.pcloud.book.personalstage.vo.request.BaseStageJumpRequestVO
;
import
com.pcloud.book.personalstage.vo.request.BaseStageJumpRequestVO
;
import
com.pcloud.book.personalstage.vo.request.CreateStageJumpRequestVO
;
import
com.pcloud.book.personalstage.vo.request.CreateStageJumpRequestVO
;
import
com.pcloud.book.personalstage.vo.request.UpdateStageJumpRequestVO
;
import
com.pcloud.book.personalstage.vo.request.UpdateStageJumpRequestVO
;
import
com.pcloud.book.push.dao.PersonalAppletsDao
;
import
com.pcloud.book.push.entity.PersonalApplets
;
import
com.pcloud.book.util.common.YesOrNoEnums
;
import
com.pcloud.book.util.common.YesOrNoEnums
;
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.biz.MessageBiz
;
...
@@ -46,11 +48,7 @@ import com.pcloud.contentcenter.resource.dto.ResourceDTO;
...
@@ -46,11 +48,7 @@ import com.pcloud.contentcenter.resource.dto.ResourceDTO;
import
com.pcloud.feedback.paper.dto.PaperAndQuestionDto
;
import
com.pcloud.feedback.paper.dto.PaperAndQuestionDto
;
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.group.dto.GroupUserDTO
;
import
com.sdk.wxgroup.BaseVO
;
import
com.sdk.wxgroup.*
;
import
com.sdk.wxgroup.RobotProcessTypeEnum
;
import
com.sdk.wxgroup.SendMessageTypeEnum
;
import
com.sdk.wxgroup.SendPicMessageVO
;
import
com.sdk.wxgroup.SendTextMessageVO
;
import
com.sdk.wxgroup.im.mimc.BusinessConstant
;
import
com.sdk.wxgroup.im.mimc.BusinessConstant
;
import
com.sdk.wxgroup.im.mimc.dto.SendMomentsDTO
;
import
com.sdk.wxgroup.im.mimc.dto.SendMomentsDTO
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -114,6 +112,11 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz {
...
@@ -114,6 +112,11 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz {
@Autowired
@Autowired
private
CustomPlanBiz
customPlanBiz
;
private
CustomPlanBiz
customPlanBiz
;
@Autowired
private
PersonalAppletsDao
personalAppletsDao
;
@Value
(
"${wechat.group.link.prefix}"
)
@Value
(
"${wechat.group.link.prefix}"
)
private
String
wechatLinkPrefix
;
private
String
wechatLinkPrefix
;
//需求单链接替换符
//需求单链接替换符
...
@@ -260,15 +263,13 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz {
...
@@ -260,15 +263,13 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz {
}
}
List
<
Long
>
resourceIds
=
linkups
.
stream
().
filter
(
s
->(
ReplyTypeEnum
.
RESOURCE
.
value
.
equals
(
s
.
getReplyType
())
List
<
Long
>
resourceIds
=
linkups
.
stream
().
filter
(
s
->(
ReplyTypeEnum
.
RESOURCE
.
value
.
equals
(
s
.
getReplyType
())
||
ReplyTypeEnum
.
AUDIO
.
value
.
equals
(
s
.
getReplyType
()))&&
s
.
getResourceId
()!=
null
).
map
(
PersonalStageJumpLinkup:
:
getResourceId
).
collect
(
Collectors
.
toList
());
||
ReplyTypeEnum
.
AUDIO
.
value
.
equals
(
s
.
getReplyType
()))&&
s
.
getResourceId
()!=
null
).
map
(
PersonalStageJumpLinkup:
:
getResourceId
).
collect
(
Collectors
.
toList
());
if
(
ListUtils
.
isEmpty
(
resourceIds
)){
if
(!
ListUtils
.
isEmpty
(
resourceIds
)){
return
;
}
Map
<
Long
,
ResourceDTO
>
resourceDTOMap
=
resourceConsr
.
mapByIds
(
resourceIds
);
Map
<
Long
,
ResourceDTO
>
resourceDTOMap
=
resourceConsr
.
mapByIds
(
resourceIds
);
for
(
PersonalStageJumpLinkup
item:
linkups
)
{
for
(
PersonalStageJumpLinkup
item:
linkups
)
{
Integer
type
=
item
.
getReplyType
();
Integer
type
=
item
.
getReplyType
();
if
(
ReplyTypeEnum
.
RESOURCE
.
value
.
equals
(
type
)||
ReplyTypeEnum
.
AUDIO
.
value
.
equals
(
type
))
{
if
(
ReplyTypeEnum
.
RESOURCE
.
value
.
equals
(
type
)
||
ReplyTypeEnum
.
AUDIO
.
value
.
equals
(
type
))
{
ResourceDTO
resourceDTO
=
resourceDTOMap
.
get
(
item
.
getResourceId
());
ResourceDTO
resourceDTO
=
resourceDTOMap
.
get
(
item
.
getResourceId
());
if
(
resourceDTO
!=
null
)
{
if
(
resourceDTO
!=
null
)
{
item
.
setResourceName
(
resourceDTO
.
getResourceName
());
item
.
setResourceName
(
resourceDTO
.
getResourceName
());
item
.
setResourceUrl
(
resourceDTO
.
getFileUrl
());
item
.
setResourceUrl
(
resourceDTO
.
getFileUrl
());
item
.
setResourceTypeCode
(
resourceDTO
.
getTypeCode
());
item
.
setResourceTypeCode
(
resourceDTO
.
getTypeCode
());
...
@@ -281,6 +282,17 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz {
...
@@ -281,6 +282,17 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz {
}
}
}
}
}
}
for
(
PersonalStageJumpLinkup
item:
linkups
){
Integer
type
=
item
.
getReplyType
();
if
(
ReplyTypeEnum
.
PERSONALAPPLETS
.
value
.
equals
(
type
)){
if
(
item
.
getPersonalAppletsId
()!=
null
)
{
PersonalApplets
byId
=
personalAppletsDao
.
getById
(
item
.
getPersonalAppletsId
());
item
.
setSlogan
(
byId
.
getSlogan
());
item
.
setSloganImgUrl
(
byId
.
getSloganImgUrl
());
}
}
}
}
@ParamLog
(
"填充跳转关键字列表"
)
@ParamLog
(
"填充跳转关键字列表"
)
private
void
fillJumpKeywords
(
List
<
PersonalStageJumpDto
>
recordList
)
{
private
void
fillJumpKeywords
(
List
<
PersonalStageJumpDto
>
recordList
)
{
...
@@ -558,6 +570,33 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz {
...
@@ -558,6 +570,33 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz {
fillMessageBaseInfo
(
sendMomentsDTO
,
linkupDelayDTO
);
fillMessageBaseInfo
(
sendMomentsDTO
,
linkupDelayDTO
);
wechatGroupConsr
.
sendMessage
(
JSON
.
toJSONString
(
sendMomentsDTO
));
wechatGroupConsr
.
sendMessage
(
JSON
.
toJSONString
(
sendMomentsDTO
));
}
}
}
else
if
(
ReplyTypeEnum
.
PERSONALAPPLETS
.
value
.
equals
(
jumpLinkup
.
getReplyType
())){
SendMomentsDTO
sendMomentsDTO
=
new
SendMomentsDTO
();
List
<
String
>
userWxIds
=
new
ArrayList
<>();
userWxIds
.
add
(
dto
.
getKey
());
//发送的小程序
PersonalApplets
byId
=
personalAppletsDao
.
getById
(
jumpLinkup
.
getPersonalAppletsId
());
if
(
byId
==
null
){
return
;
}
GroupRobotDTO
info
=
wechatGroupConsr
.
getGroupRobotByRobotId
(
linkupDelayDTO
.
getRobotId
());
if
(
info
!=
null
)
{
sendMomentsDTO
.
setIsMasterWx
(
info
.
getMasterWx
());
sendMomentsDTO
.
setReceiveAccount
(
info
.
getMac
());
}
sendMomentsDTO
.
setMomentType
(
BusinessConstant
.
MomentTypeEnum
.
SEND_WX_MINI
);
sendMomentsDTO
.
setContent
(
byId
.
getAppletsId
());
//小程序id
sendMomentsDTO
.
setLink
(
byId
.
getAppletsUrl
());
//小程序访问地址
sendMomentsDTO
.
setImages
(
userWxIds
);
//发送人
sendMomentsDTO
.
setLinkTitle
(
byId
.
getSlogan
());
//小程序宣传语
sendMomentsDTO
.
setLinkDesc
(
byId
.
getSloganImgUrl
());
//小程序宣传图
sendMomentsDTO
.
setIp
(
linkupDelayDTO
.
getIp
());
sendMomentsDTO
.
setCode
(
SendMessageTypeEnum
.
SELF
.
getCode
());
fillMessageBaseInfo
(
sendMomentsDTO
,
linkupDelayDTO
);
sendMomentsDTO
.
setAltId
(
linkupDelayDTO
.
getRobotId
());
sendMomentsDTO
.
setWxId
(
dto
.
getKey
());
wechatGroupConsr
.
sendMessage
(
JSON
.
toJSONString
(
sendMomentsDTO
));
}
}
}
}
...
...
pcloud-service-book/src/main/java/com/pcloud/book/personalstage/entity/PersonalStageJumpLinkup.java
View file @
3c1fe36c
...
@@ -22,7 +22,7 @@ public class PersonalStageJumpLinkup extends BaseEntity {
...
@@ -22,7 +22,7 @@ public class PersonalStageJumpLinkup extends BaseEntity {
@ApiModelProperty
(
"距离阶段开始时间"
)
@ApiModelProperty
(
"距离阶段开始时间"
)
private
Integer
toStageStartTime
;
private
Integer
toStageStartTime
;
@ApiModelProperty
(
"类型:1:文字;2:图片;6语音"
)
@ApiModelProperty
(
"类型:1:文字;2:图片;6语音
7小程序
"
)
private
Integer
replyType
;
private
Integer
replyType
;
@ApiModelProperty
(
"图片链接"
)
@ApiModelProperty
(
"图片链接"
)
...
@@ -55,4 +55,14 @@ public class PersonalStageJumpLinkup extends BaseEntity {
...
@@ -55,4 +55,14 @@ public class PersonalStageJumpLinkup extends BaseEntity {
@ApiModelProperty
(
"文件大小"
)
@ApiModelProperty
(
"文件大小"
)
private
Long
fileSize
;
private
Long
fileSize
;
@ApiModelProperty
(
"小程序主键id"
)
private
Long
personalAppletsId
;
@ApiModelProperty
(
"小程序宣传语"
)
private
String
slogan
;
@ApiModelProperty
(
"小程序宣传图"
)
private
String
sloganImgUrl
;
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/personalstage/entity/PersonalStageReplyItem.java
View file @
3c1fe36c
...
@@ -16,7 +16,7 @@ public class PersonalStageReplyItem extends BaseEntity {
...
@@ -16,7 +16,7 @@ public class PersonalStageReplyItem extends BaseEntity {
@ApiModelProperty
(
"定制化阶段回复id"
)
@ApiModelProperty
(
"定制化阶段回复id"
)
private
Long
personalStageReplyId
;
private
Long
personalStageReplyId
;
@ApiModelProperty
(
"回复类型 1 文字 2 图片 3 链接 4应用 5素材 6语音"
)
@ApiModelProperty
(
"回复类型 1 文字 2 图片 3 链接 4应用 5素材 6语音
7小程序
"
)
private
Integer
replyType
;
private
Integer
replyType
;
@ApiModelProperty
(
"内容"
)
@ApiModelProperty
(
"内容"
)
...
@@ -52,4 +52,13 @@ public class PersonalStageReplyItem extends BaseEntity {
...
@@ -52,4 +52,13 @@ public class PersonalStageReplyItem extends BaseEntity {
@ApiModelProperty
(
"文件大小"
)
@ApiModelProperty
(
"文件大小"
)
private
Long
fileSize
;
private
Long
fileSize
;
@ApiModelProperty
(
"小程序主键id"
)
private
Long
personalAppletsId
;
@ApiModelProperty
(
"小程序宣传语"
)
private
String
slogan
;
@ApiModelProperty
(
"小程序宣传图片"
)
private
String
sloganImgUrl
;
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/personalstage/vo/request/BaseStageJumpRequestVO.java
View file @
3c1fe36c
...
@@ -85,6 +85,7 @@ public abstract class BaseStageJumpRequestVO extends BaseRequestVO {
...
@@ -85,6 +85,7 @@ public abstract class BaseStageJumpRequestVO extends BaseRequestVO {
jumpLinkup
.
setReplyType
((
null
==
linkup
.
getReplyType
()
||
linkup
.
getReplyType
()
==
0
?
1
:
linkup
.
getReplyType
()));
jumpLinkup
.
setReplyType
((
null
==
linkup
.
getReplyType
()
||
linkup
.
getReplyType
()
==
0
?
1
:
linkup
.
getReplyType
()));
jumpLinkup
.
setPicUrl
(
linkup
.
getPicUrl
());
jumpLinkup
.
setPicUrl
(
linkup
.
getPicUrl
());
jumpLinkup
.
setResourceId
(
linkup
.
getResourceId
());
jumpLinkup
.
setResourceId
(
linkup
.
getResourceId
());
jumpLinkup
.
setPersonalAppletsId
(
linkup
.
getPersonalAppletsId
());
jumpLinkups
.
add
(
jumpLinkup
);
jumpLinkups
.
add
(
jumpLinkup
);
}
}
return
jumpLinkups
;
return
jumpLinkups
;
...
...
pcloud-service-book/src/main/java/com/pcloud/book/push/biz/SelfPushBiz.java
View file @
3c1fe36c
package
com
.
pcloud
.
book
.
push
.
biz
;
package
com
.
pcloud
.
book
.
push
.
biz
;
import
com.pcloud.book.group.vo.UserBookInfoVO
;
import
com.pcloud.book.group.vo.UserBookInfoVO
;
import
com.pcloud.book.push.dto.PersonalAppletsRecordDTO
;
import
com.pcloud.book.push.dto.SelfPushAddParamDTO
;
import
com.pcloud.book.push.dto.SelfPushAddParamDTO
;
import
com.pcloud.book.push.dto.SelfPushRecordDTO
;
import
com.pcloud.book.push.dto.SelfPushRecordDTO
;
import
com.pcloud.book.push.entity.PersonalApplets
;
import
com.pcloud.book.push.entity.SelfPush
;
import
com.pcloud.book.push.entity.SelfPush
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageBeanNew
;
import
java.util.List
;
/**
/**
* @描述:个人号群发
* @描述:个人号群发
* @作者:zhuyajie
* @作者:zhuyajie
...
@@ -62,4 +66,16 @@ public interface SelfPushBiz {
...
@@ -62,4 +66,16 @@ public interface SelfPushBiz {
void
updateSelfPush
(
Long
partyId
,
SelfPushAddParamDTO
addParamDTO
);
void
updateSelfPush
(
Long
partyId
,
SelfPushAddParamDTO
addParamDTO
);
SelfPush
getSelfPush
(
Long
pushId
);
SelfPush
getSelfPush
(
Long
pushId
);
void
createPersonalApplets
(
PersonalApplets
applets
);
void
deleteAppletsById
(
Long
id
);
void
updatePersonalApplets
(
PersonalApplets
applets
);
PageBeanNew
<
PersonalApplets
>
getAllApplets
(
String
appletsId
,
Integer
currentPage
,
Integer
numPerPage
);
PageBeanNew
<
PersonalAppletsRecordDTO
>
getSendAppletsRecords
(
Integer
currentPage
,
Integer
numPerPage
,
String
startTime
,
String
endTime
,
Integer
status
,
Long
partyId
);
PersonalApplets
getAppletsById
(
Long
id
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/push/biz/impl/SelfPushBizImpl.java
View file @
3c1fe36c
...
@@ -21,15 +21,19 @@ import com.pcloud.book.keywords.enums.ReplyTypeEnum;
...
@@ -21,15 +21,19 @@ import com.pcloud.book.keywords.enums.ReplyTypeEnum;
import
com.pcloud.book.pcloudKeyword.dto.RobotClassifyDTO
;
import
com.pcloud.book.pcloudKeyword.dto.RobotClassifyDTO
;
import
com.pcloud.book.pcloudkeyword.biz.PcloudRobotBiz
;
import
com.pcloud.book.pcloudkeyword.biz.PcloudRobotBiz
;
import
com.pcloud.book.pcloudkeyword.entity.PcloudRobot
;
import
com.pcloud.book.pcloudkeyword.entity.PcloudRobot
;
import
com.pcloud.book.pcloudkeyword.enums.WelcomeReplyTypeEnum
;
import
com.pcloud.book.pcloudkeyword.set.PcloudRobotSet
;
import
com.pcloud.book.pcloudkeyword.set.PcloudRobotSet
;
import
com.pcloud.book.push.biz.SelfPushBiz
;
import
com.pcloud.book.push.biz.SelfPushBiz
;
import
com.pcloud.book.push.constant.PushConstant
;
import
com.pcloud.book.push.constant.PushConstant
;
import
com.pcloud.book.push.dao.PersonalAppletsDao
;
import
com.pcloud.book.push.dao.SelfPushDao
;
import
com.pcloud.book.push.dao.SelfPushDao
;
import
com.pcloud.book.push.dao.SelfPushItemDao
;
import
com.pcloud.book.push.dao.SelfPushItemDao
;
import
com.pcloud.book.push.dao.SelfPushUserDao
;
import
com.pcloud.book.push.dao.SelfPushUserDao
;
import
com.pcloud.book.push.dto.PersonalAppletsRecordDTO
;
import
com.pcloud.book.push.dto.SelfPushAddParamDTO
;
import
com.pcloud.book.push.dto.SelfPushAddParamDTO
;
import
com.pcloud.book.push.dto.SelfPushRecordDTO
;
import
com.pcloud.book.push.dto.SelfPushRecordDTO
;
import
com.pcloud.book.push.dto.UserCountAndPushDTO
;
import
com.pcloud.book.push.dto.UserCountAndPushDTO
;
import
com.pcloud.book.push.entity.PersonalApplets
;
import
com.pcloud.book.push.entity.SelfPush
;
import
com.pcloud.book.push.entity.SelfPush
;
import
com.pcloud.book.push.entity.SelfPushItem
;
import
com.pcloud.book.push.entity.SelfPushItem
;
import
com.pcloud.book.push.entity.SelfPushUser
;
import
com.pcloud.book.push.entity.SelfPushUser
;
...
@@ -55,6 +59,8 @@ import com.pcloud.wechatgroup.group.dto.GroupRobotDTO;
...
@@ -55,6 +59,8 @@ import com.pcloud.wechatgroup.group.dto.GroupRobotDTO;
import
com.pcloud.wechatgroup.group.dto.GroupUserDTO
;
import
com.pcloud.wechatgroup.group.dto.GroupUserDTO
;
import
com.pcloud.wechatgroup.selfrobot.dto.RobotBaseInfoDTO
;
import
com.pcloud.wechatgroup.selfrobot.dto.RobotBaseInfoDTO
;
import
com.sdk.wxgroup.*
;
import
com.sdk.wxgroup.*
;
import
com.sdk.wxgroup.im.mimc.BusinessConstant
;
import
com.sdk.wxgroup.im.mimc.dto.SendMomentsDTO
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections.MapUtils
;
import
org.apache.commons.collections.MapUtils
;
import
org.apache.commons.lang3.ArrayUtils
;
import
org.apache.commons.lang3.ArrayUtils
;
...
@@ -106,6 +112,8 @@ public class SelfPushBizImpl implements SelfPushBiz {
...
@@ -106,6 +112,8 @@ public class SelfPushBizImpl implements SelfPushBiz {
private
ResourceConsr
resourceConsr
;
private
ResourceConsr
resourceConsr
;
@Autowired
@Autowired
private
PcloudRobotSet
pcloudRobotSet
;
private
PcloudRobotSet
pcloudRobotSet
;
@Autowired
private
PersonalAppletsDao
personalAppletsDao
;
private
static
final
String
self_push_SCHEDULE_PRE
=
"self_push_"
;
private
static
final
String
self_push_SCHEDULE_PRE
=
"self_push_"
;
...
@@ -113,6 +121,12 @@ public class SelfPushBizImpl implements SelfPushBiz {
...
@@ -113,6 +121,12 @@ public class SelfPushBizImpl implements SelfPushBiz {
@Override
@Override
public
void
createSelfPush
(
Long
partyId
,
SelfPushAddParamDTO
addParamDTO
)
{
public
void
createSelfPush
(
Long
partyId
,
SelfPushAddParamDTO
addParamDTO
)
{
Boolean
sendNow
=
addParamDTO
.
getSendNow
();
Boolean
sendNow
=
addParamDTO
.
getSendNow
();
Integer
itemType
=
0
;
Long
personalAppletsId
=
0L
;
if
(
addParamDTO
.
getReplyParamDTOS
()!=
null
&&
addParamDTO
.
getReplyParamDTOS
().
get
(
0
)!=
null
)
{
personalAppletsId
=
addParamDTO
.
getReplyParamDTOS
().
get
(
0
).
getPersonalAppletsId
();
itemType
=
addParamDTO
.
getReplyParamDTOS
().
get
(
0
).
getReplyType
();
}
//群发
//群发
SelfPush
selfPush
=
new
SelfPush
();
SelfPush
selfPush
=
new
SelfPush
();
selfPush
.
setCreateUser
(
partyId
);
selfPush
.
setCreateUser
(
partyId
);
...
@@ -145,7 +159,7 @@ public class SelfPushBizImpl implements SelfPushBiz {
...
@@ -145,7 +159,7 @@ public class SelfPushBizImpl implements SelfPushBiz {
Long
pushId
=
selfPush
.
getId
();
Long
pushId
=
selfPush
.
getId
();
//群发项
//群发项
List
<
SelfPushItem
>
itemList
=
addParamDTO
.
getPushItemList
();
List
<
SelfPushItem
>
itemList
=
addParamDTO
.
getPushItemList
();
setSelfPushItem
(
pushId
,
sendNow
,
partyId
,
itemList
,
selfPush
.
getSendTime
());
setSelfPushItem
(
pushId
,
sendNow
,
partyId
,
itemList
,
selfPush
.
getSendTime
()
,
personalAppletsId
,
itemType
);
//群发用户
//群发用户
List
<
String
>
userIdList
=
addParamDTO
.
getUserIdList
();
List
<
String
>
userIdList
=
addParamDTO
.
getUserIdList
();
setSelfPushUser
(
userIdList
,
partyId
,
pushId
);
setSelfPushUser
(
userIdList
,
partyId
,
pushId
);
...
@@ -304,6 +318,12 @@ public class SelfPushBizImpl implements SelfPushBiz {
...
@@ -304,6 +318,12 @@ public class SelfPushBizImpl implements SelfPushBiz {
List
<
String
>
sendUserIds
=
new
ArrayList
<>();
List
<
String
>
sendUserIds
=
new
ArrayList
<>();
sendUserIds
.
addAll
(
userIdList
);
sendUserIds
.
addAll
(
userIdList
);
ThreadPoolUtils
.
SEND_MESSAGE_THREAD_POOL
.
execute
(()
->
{
ThreadPoolUtils
.
SEND_MESSAGE_THREAD_POOL
.
execute
(()
->
{
if
(
itemList
.
size
()==
1
&&
itemList
.
get
(
0
).
getPersonalAppletsId
()!=
null
){
for
(
SelfPushItem
pushItem
:
itemList
)
{
String
uuid1
=
UUID
.
randomUUID
().
toString
();
sendSelfMsgNew
(
sendUserIds
,
altId
,
pushItem
,
uuid1
,
itemList
.
indexOf
(
pushItem
),
itemList
.
size
());
}
}
for
(
String
userId
:
sendUserIds
)
{
for
(
String
userId
:
sendUserIds
)
{
String
uuid
=
UUID
.
randomUUID
().
toString
();
String
uuid
=
UUID
.
randomUUID
().
toString
();
for
(
SelfPushItem
pushItem
:
itemList
)
{
for
(
SelfPushItem
pushItem
:
itemList
)
{
...
@@ -338,10 +358,12 @@ public class SelfPushBizImpl implements SelfPushBiz {
...
@@ -338,10 +358,12 @@ public class SelfPushBizImpl implements SelfPushBiz {
}
}
/**
/**
* 群发项设置
* 群发项设置
*/
*/
private
void
setSelfPushItem
(
Long
pushId
,
Boolean
sendNow
,
Long
partyId
,
List
<
SelfPushItem
>
itemList
,
Date
sendTime
)
{
private
void
setSelfPushItem
(
Long
pushId
,
Boolean
sendNow
,
Long
partyId
,
List
<
SelfPushItem
>
itemList
,
Date
sendTime
,
Long
personalAppletsId
,
Integer
itemType
)
{
Integer
status
;
Integer
status
;
if
(
sendNow
)
{
if
(
sendNow
)
{
status
=
PushStatusEnum
.
PUSHING
.
value
;
status
=
PushStatusEnum
.
PUSHING
.
value
;
...
@@ -354,6 +376,10 @@ public class SelfPushBizImpl implements SelfPushBiz {
...
@@ -354,6 +376,10 @@ public class SelfPushBizImpl implements SelfPushBiz {
selfPushItem
.
setPushId
(
pushId
);
selfPushItem
.
setPushId
(
pushId
);
selfPushItem
.
setPushStatus
(
status
);
selfPushItem
.
setPushStatus
(
status
);
selfPushItem
.
setSendTime
(
sendTime
);
selfPushItem
.
setSendTime
(
sendTime
);
selfPushItem
.
setItemType
(
itemType
);
if
(
personalAppletsId
!=
null
&&
personalAppletsId
!=
0L
)
{
selfPushItem
.
setPersonalAppletsId
(
personalAppletsId
);
}
});
});
selfPushItemDao
.
insert
(
itemList
);
selfPushItemDao
.
insert
(
itemList
);
}
}
...
@@ -486,7 +512,51 @@ public class SelfPushBizImpl implements SelfPushBiz {
...
@@ -486,7 +512,51 @@ public class SelfPushBizImpl implements SelfPushBiz {
sendFileVO
.
setCounts
(
counts
);
sendFileVO
.
setCounts
(
counts
);
wechatGroupConsr
.
sendMessage
(
JSON
.
toJSONString
(
sendFileVO
));
wechatGroupConsr
.
sendMessage
(
JSON
.
toJSONString
(
sendFileVO
));
}
}
}
/**
* 小程序群发
* @param userWxIds
* @param altId
* @param selfPushItem
*/
public
void
sendSelfMsgNew
(
List
<
String
>
userWxIds
,
String
altId
,
SelfPushItem
selfPushItem
,
String
uuid
,
Integer
index
,
Integer
counts
)
{
if
(
ListUtils
.
isEmpty
(
userWxIds
)
||
StringUtil
.
isEmpty
(
altId
)){
return
;
}
RobotProcessTypeEnum
robotProcessType
=
RobotProcessTypeEnum
.
SELF_PUSH
;
Integer
code
=
SendMessageTypeEnum
.
SELF
.
getCode
();
Integer
itemType
=
selfPushItem
.
getItemType
();
if
(
ItemTypeEnum
.
PERSANALAPPLETS
.
value
.
equals
(
itemType
)){
SendMomentsDTO
sendMomentsDTO
=
new
SendMomentsDTO
();
//发送的小程序
PersonalApplets
byId
=
personalAppletsDao
.
getById
(
selfPushItem
.
getPersonalAppletsId
());
if
(
byId
==
null
){
return
;
}
}
GroupRobotDTO
info
=
wechatGroupConsr
.
getGroupRobotByRobotId
(
altId
);
if
(
info
!=
null
){
sendMomentsDTO
.
setIsMasterWx
(
info
.
getMasterWx
());
sendMomentsDTO
.
setReceiveAccount
(
info
.
getMac
());
}
sendMomentsDTO
.
setMomentType
(
BusinessConstant
.
MomentTypeEnum
.
SEND_WX_MINI
);
sendMomentsDTO
.
setContent
(
byId
.
getAppletsId
());
//小程序id
sendMomentsDTO
.
setLink
(
byId
.
getAppletsUrl
());
//小程序访问地址
sendMomentsDTO
.
setImages
(
userWxIds
);
//发送人
sendMomentsDTO
.
setLinkTitle
(
byId
.
getSlogan
());
//小程序宣传语
sendMomentsDTO
.
setLinkDesc
(
byId
.
getSloganImgUrl
());
//小程序宣传图
sendMomentsDTO
.
setIp
(
getIpByRobot
(
altId
));
sendMomentsDTO
.
setMessageGroupId
(
uuid
);
sendMomentsDTO
.
setCounts
(
counts
);
sendMomentsDTO
.
setIndex
(
index
);
sendMomentsDTO
.
setCode
(
code
);
sendMomentsDTO
.
setRobotProcessType
(
robotProcessType
);
sendMomentsDTO
.
setAltId
(
altId
);
sendMomentsDTO
.
setWxId
(
userWxIds
.
get
(
0
));
wechatGroupConsr
.
sendMessage
(
JSON
.
toJSONString
(
sendMomentsDTO
));
}
}
/**
/**
* 获取ip
* 获取ip
...
@@ -829,4 +899,122 @@ public class SelfPushBizImpl implements SelfPushBiz {
...
@@ -829,4 +899,122 @@ public class SelfPushBizImpl implements SelfPushBiz {
selfPush
.
setAltTypeName
(
altTypeName
);
selfPush
.
setAltTypeName
(
altTypeName
);
return
selfPush
;
return
selfPush
;
}
}
@Override
public
void
createPersonalApplets
(
PersonalApplets
applets
)
{
personalAppletsDao
.
insert
(
applets
);
}
@Override
public
void
deleteAppletsById
(
Long
id
)
{
personalAppletsDao
.
deleteById
(
id
);
}
@Override
public
void
updatePersonalApplets
(
PersonalApplets
applets
)
{
personalAppletsDao
.
update
(
applets
);
}
@Override
public
PageBeanNew
<
PersonalApplets
>
getAllApplets
(
String
appletsId
,
Integer
currentPage
,
Integer
numPerPage
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"appletsId"
,
appletsId
);
return
personalAppletsDao
.
listPageNew
(
new
PageParam
(
currentPage
,
numPerPage
),
map
,
"getAllApplets"
);
}
@Override
public
PageBeanNew
<
PersonalAppletsRecordDTO
>
getSendAppletsRecords
(
Integer
currentPage
,
Integer
numPerPage
,
String
startTime
,
String
endTime
,
Integer
status
,
Long
partyId
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"startTime"
,
startTime
);
map
.
put
(
"endTime"
,
endTime
);
map
.
put
(
"pushStatus"
,
status
);
map
.
put
(
"partyId"
,
partyId
);
PageBeanNew
<
PersonalAppletsRecordDTO
>
pageBeanNew
=
selfPushItemDao
.
listPageNew
(
new
PageParam
(
currentPage
,
numPerPage
),
map
,
"getSendAppletsRecords"
);
if
(
null
==
pageBeanNew
||
ListUtils
.
isEmpty
(
pageBeanNew
.
getRecordList
()))
{
return
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
0
,
new
ArrayList
<>());
}
for
(
PersonalAppletsRecordDTO
dto:
pageBeanNew
.
getRecordList
())
{
String
realSendTime
=
""
;
if
(
dto
.
getPushType
()!=
null
&&
dto
.
getPushType
()==
1
){
realSendTime
=
DateUtils
.
formatDate
(
dto
.
getStartTime
(),
"yyyy-MM-dd"
)+
"至"
+
DateUtils
.
formatDate
(
dto
.
getEndTime
(),
"yyyy-MM-dd"
)+
";"
;
realSendTime
=
realSendTime
+
"每天;"
+
dto
.
getPushSendTime
();
dto
.
setRealSendTime
(
realSendTime
);
}
else
if
(
dto
.
getPushType
()!=
null
&&
dto
.
getPushType
()==
2
){
String
weekDays
=
dto
.
getWeekDays
();
realSendTime
=
DateUtils
.
formatDate
(
dto
.
getStartTime
(),
"yyyy-MM-dd"
)+
"至"
+
DateUtils
.
formatDate
(
dto
.
getEndTime
(),
"yyyy-MM-dd"
)+
";"
;
if
(
weekDays
.
contains
(
"1"
)){
weekDays
=
weekDays
.
replace
(
"1"
,
"周一"
);
}
if
(
weekDays
.
contains
(
"2"
)){
weekDays
=
weekDays
.
replace
(
"2"
,
"周二"
);
}
if
(
weekDays
.
contains
(
"3"
)){
weekDays
=
weekDays
.
replace
(
"3"
,
"周三"
);
}
if
(
weekDays
.
contains
(
"4"
)){
weekDays
=
weekDays
.
replace
(
"4"
,
"周四"
);
}
if
(
weekDays
.
contains
(
"5"
)){
weekDays
=
weekDays
.
replace
(
"5"
,
"周五"
);
}
if
(
weekDays
.
contains
(
"6"
)){
weekDays
=
weekDays
.
replace
(
"6"
,
"周六"
);
}
if
(
weekDays
.
contains
(
"7"
)){
weekDays
=
weekDays
.
replace
(
"7"
,
"周日"
);
}
realSendTime
=
realSendTime
+
weekDays
+
";"
+
dto
.
getPushSendTime
();
dto
.
setRealSendTime
(
realSendTime
);
}
else
{
dto
.
setRealSendTime
(
DateUtils
.
formatDate
(
dto
.
getSendTime
(),
"yyyy-MM-dd HH:mm:ss"
));
}
}
List
<
String
>
wxIds
=
pageBeanNew
.
getRecordList
().
stream
().
filter
(
s
->
!
StringUtil
.
isEmpty
(
s
.
getAltId
())).
map
(
PersonalAppletsRecordDTO:
:
getAltId
).
distinct
().
collect
(
Collectors
.
toList
());
Map
<
String
,
GroupUserDTO
>
robotMap
=
new
HashMap
<>();
Map
<
String
,
RobotClassifyDTO
>
robotClassifyDTOMap
=
new
HashMap
<>();
if
(!
ListUtils
.
isEmpty
(
wxIds
)){
robotMap
=
wechatGroupConsr
.
mapRobotInfoByIdList
(
wxIds
);
robotClassifyDTOMap
=
pcloudRobotBiz
.
mapByIds4Classify
(
wxIds
);
}
List
<
Long
>
pcloudPartyIds
=
pageBeanNew
.
getRecordList
().
stream
().
filter
(
s
->!
StringUtil
.
isEmpty
(
s
.
getAltId
())).
map
(
PersonalAppletsRecordDTO:
:
getCreateUser
).
distinct
().
collect
(
Collectors
.
toList
());
Map
<
Long
,
UserLogin
>
loginMap
=
new
HashMap
<>();
if
(!
ListUtils
.
isEmpty
(
pcloudPartyIds
)){
for
(
Long
id
:
pcloudPartyIds
){
if
(
id
==
0L
){
continue
;
}
UserLogin
userLogin
=
partyConsr
.
getUserLoginInfoByPartyId
(
id
,
SystemCode
.
pcloud
.
code
,
"0"
);
loginMap
.
put
(
id
,
userLogin
);
}
}
for
(
PersonalAppletsRecordDTO
dto
:
pageBeanNew
.
getRecordList
())
{
if
(!
MapUtils
.
isEmpty
(
robotMap
)
&&
!
StringUtil
.
isEmpty
(
dto
.
getAltId
())
&&
robotMap
.
containsKey
(
dto
.
getAltId
()))
{
GroupUserDTO
userDTO
=
robotMap
.
get
(
dto
.
getAltId
());
dto
.
setRobotName
(
userDTO
.
getNickName
());
}
if
(!
MapUtils
.
isEmpty
(
robotClassifyDTOMap
)
&&
!
StringUtil
.
isEmpty
(
dto
.
getAltId
())
&&
robotClassifyDTOMap
.
containsKey
(
dto
.
getAltId
()))
{
RobotClassifyDTO
robotClassifyDTO
=
robotClassifyDTOMap
.
get
(
dto
.
getAltId
());
dto
.
setClassifyId
(
null
!=
robotClassifyDTO
?
robotClassifyDTO
.
getClassifyId
():
null
);
dto
.
setClassifyName
(
null
!=
robotClassifyDTO
?
robotClassifyDTO
.
getClassifyName
():
null
);
dto
.
setUniqueNumber
(
null
!=
robotClassifyDTO
?
robotClassifyDTO
.
getUniqueNumber
():
null
);
}
if
(!
StringUtil
.
isEmpty
(
dto
.
getAltId
())){
//平台端登录账号
if
(
dto
.
getCreateUser
()
==
0L
){
dto
.
setUserName
(
"pcloud"
);
}
else
if
(!
MapUtils
.
isEmpty
(
loginMap
)
&&
loginMap
.
containsKey
(
dto
.
getCreateUser
())){
UserLogin
userLogin
=
loginMap
.
get
(
dto
.
getCreateUser
());
dto
.
setUserName
(
null
==
userLogin
?
""
:
userLogin
.
getUserName
());
}
}
}
return
pageBeanNew
;
}
@Override
public
PersonalApplets
getAppletsById
(
Long
id
)
{
return
personalAppletsDao
.
getById
(
id
);
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/push/dao/PersonalAppletsDao.java
0 → 100644
View file @
3c1fe36c
package
com
.
pcloud
.
book
.
push
.
dao
;
import
com.pcloud.book.push.entity.PersonalApplets
;
import
com.pcloud.book.push.entity.SelfPush
;
import
com.pcloud.common.core.dao.BaseDao
;
import
java.util.List
;
/**
* @描述:小程序
* @作者:zengpo
* @创建时间:18:57 2020/03/16
* @版本:1.0
*/
public
interface
PersonalAppletsDao
extends
BaseDao
<
PersonalApplets
>{
List
<
PersonalApplets
>
getAllApplets
(
String
appletsId
);
}
pcloud-service-book/src/main/java/com/pcloud/book/push/dao/impl/PersonalAppletsDaoImpl.java
0 → 100644
View file @
3c1fe36c
package
com
.
pcloud
.
book
.
push
.
dao
.
impl
;
import
com.pcloud.book.push.dao.PersonalAppletsDao
;
import
com.pcloud.book.push.dao.SelfPushDao
;
import
com.pcloud.book.push.entity.PersonalApplets
;
import
com.pcloud.book.push.entity.SelfPush
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
org.springframework.stereotype.Component
;
import
java.lang.reflect.MalformedParameterizedTypeException
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @描述:个人号群发
* @作者:zhuyajie
* @创建时间:18:57 2019/11/26
* @版本:1.0
*/
@Component
(
"personalAppletsDao"
)
public
class
PersonalAppletsDaoImpl
extends
BaseDaoImpl
<
PersonalApplets
>
implements
PersonalAppletsDao
{
@Override
public
List
<
PersonalApplets
>
getAllApplets
(
String
appletsId
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"appletsId"
,
appletsId
);
return
getSessionTemplate
().
selectList
(
getStatement
(
"getAllApplets"
),
map
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/push/dto/PersonalAppletsRecordDTO.java
0 → 100644
View file @
3c1fe36c
package
com
.
pcloud
.
book
.
push
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.pcloud.book.push.entity.SelfPushItem
;
import
com.pcloud.common.dto.BaseDto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.List
;
/**
* @描述:个人号群发记录
* @作者:zhuyajie
* @创建时间:16:50 2019/11/27
* @版本:1.0
*/
@Data
public
class
PersonalAppletsRecordDTO
extends
BaseDto
{
@ApiModelProperty
(
"群发小号id"
)
private
String
altId
;
@ApiModelProperty
(
"小号名称"
)
private
String
robotName
;
@ApiModelProperty
(
"推送id"
)
private
Long
pushId
;
@ApiModelProperty
(
"推送项id"
)
private
Long
pushItemId
;
@ApiModelProperty
(
"推送内容项类型:1文本,2链接,3应用,4图片"
)
private
Integer
itemType
;
@ApiModelProperty
(
"发送状态(0发送中1发送成功2发送失败)"
)
private
Integer
pushStatus
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"创建时间"
)
private
Date
createTime
;
@ApiModelProperty
(
"发送好友数量"
)
private
Integer
userCount
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"发送时间"
)
private
Date
sendTime
;
@ApiModelProperty
(
"创建人"
)
private
Long
createUser
;
@ApiModelProperty
(
"创建人账号"
)
private
String
userName
;
@ApiModelProperty
(
"计划发送时间"
)
private
String
pushSendTime
;
@ApiModelProperty
(
"周几"
)
private
String
weekDays
;
@ApiModelProperty
(
"时间推送类型"
)
private
Integer
pushType
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"开始时间"
)
private
Date
startTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"结束时间"
)
private
Date
endTime
;
@ApiModelProperty
(
"发送时间拼接"
)
private
String
realSendTime
;
@ApiModelProperty
(
"分类名称"
)
private
String
classifyName
;
@ApiModelProperty
(
"小号分类id"
)
private
Integer
classifyId
;
@ApiModelProperty
(
"小号编号"
)
private
String
uniqueNumber
;
@ApiModelProperty
(
"小程序主键id"
)
private
Long
personalAppletsId
;
@ApiModelProperty
(
"小程序id"
)
private
String
appletsId
;
@ApiModelProperty
(
"小程序访问地址"
)
private
String
appletsUrl
;
@ApiModelProperty
(
"小程序宣传语"
)
private
String
slogan
;
@ApiModelProperty
(
"小程序宣图片"
)
private
String
sloganImgUrl
;
}
pcloud-service-book/src/main/java/com/pcloud/book/push/entity/PersonalApplets.java
0 → 100644
View file @
3c1fe36c
package
com
.
pcloud
.
book
.
push
.
entity
;
import
com.pcloud.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* @Description
* @Author zengpo
* @Date 2020/03/16 16:46
**/
@ApiModel
(
"消息推送项模型"
)
@Data
public
class
PersonalApplets
extends
BaseEntity
{
@ApiModelProperty
(
"小程序id"
)
private
String
appletsId
;
@ApiModelProperty
(
"小程序宣传语"
)
private
String
slogan
;
@ApiModelProperty
(
"小程序宣传图片"
)
private
String
sloganImgUrl
;
@ApiModelProperty
(
"小程序访问地址"
)
private
String
appletsUrl
;
}
pcloud-service-book/src/main/java/com/pcloud/book/push/entity/SelfPushItem.java
View file @
3c1fe36c
...
@@ -19,10 +19,10 @@ public class SelfPushItem extends BaseEntity{
...
@@ -19,10 +19,10 @@ public class SelfPushItem extends BaseEntity{
@ApiModelProperty
(
"推送id"
)
@ApiModelProperty
(
"推送id"
)
private
Long
pushId
;
private
Long
pushId
;
@ApiModelProperty
(
"推送内容项类型:1文本,2链接,3应用,4图片5素材"
)
@ApiModelProperty
(
"推送内容项类型:1文本,2链接,3应用,4图片5素材
,6小程序
"
)
private
Integer
itemType
;
private
Integer
itemType
;
@ApiModelProperty
(
"类型 1 文字 2 图片 3 链接 4应用 5素材"
)
@ApiModelProperty
(
"类型 1 文字 2 图片 3 链接 4应用 5素材
6小程序
"
)
private
Integer
replyType
;
private
Integer
replyType
;
@ApiModelProperty
(
"文本内容"
)
@ApiModelProperty
(
"文本内容"
)
...
@@ -79,6 +79,10 @@ public class SelfPushItem extends BaseEntity{
...
@@ -79,6 +79,10 @@ public class SelfPushItem extends BaseEntity{
@ApiModelProperty
(
"资源id"
)
@ApiModelProperty
(
"资源id"
)
private
Long
resourceId
;
private
Long
resourceId
;
@ApiModelProperty
(
"小程序主键id"
)
private
Long
personalAppletsId
;
@ApiModelProperty
(
"资源链接"
)
@ApiModelProperty
(
"资源链接"
)
private
String
resourceUrl
;
private
String
resourceUrl
;
...
...
pcloud-service-book/src/main/java/com/pcloud/book/push/enums/ItemTypeEnum.java
View file @
3c1fe36c
...
@@ -26,7 +26,12 @@ public enum ItemTypeEnum {
...
@@ -26,7 +26,12 @@ public enum ItemTypeEnum {
/**
/**
* 资源
* 资源
*/
*/
RESOURCE
(
5
);
RESOURCE
(
5
),
/**
* 小程序
*/
PERSANALAPPLETS
(
7
);
public
final
Integer
value
;
public
final
Integer
value
;
...
...
pcloud-service-book/src/main/java/com/pcloud/book/push/facade/SelfPushFacade.java
View file @
3c1fe36c
...
@@ -4,8 +4,10 @@ import com.pcloud.book.base.exception.BookBizException;
...
@@ -4,8 +4,10 @@ import com.pcloud.book.base.exception.BookBizException;
import
com.pcloud.book.group.vo.UserBookInfoVO
;
import
com.pcloud.book.group.vo.UserBookInfoVO
;
import
com.pcloud.book.push.biz.SelfPushBiz
;
import
com.pcloud.book.push.biz.SelfPushBiz
;
import
com.pcloud.book.push.check.PushCheck
;
import
com.pcloud.book.push.check.PushCheck
;
import
com.pcloud.book.push.dto.PersonalAppletsRecordDTO
;
import
com.pcloud.book.push.dto.SelfPushAddParamDTO
;
import
com.pcloud.book.push.dto.SelfPushAddParamDTO
;
import
com.pcloud.book.push.dto.SelfPushRecordDTO
;
import
com.pcloud.book.push.dto.SelfPushRecordDTO
;
import
com.pcloud.book.push.entity.PersonalApplets
;
import
com.pcloud.common.core.constant.SystemCode
;
import
com.pcloud.common.core.constant.SystemCode
;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageBeanNew
;
...
@@ -132,4 +134,87 @@ public class SelfPushFacade {
...
@@ -132,4 +134,87 @@ public class SelfPushFacade {
SessionUtil
.
getInfoToken4Redis
(
token
);
SessionUtil
.
getInfoToken4Redis
(
token
);
return
new
ResponseDto
<>(
selfPushBiz
.
getSelfPush
(
pushId
));
return
new
ResponseDto
<>(
selfPushBiz
.
getSelfPush
(
pushId
));
}
}
@ApiOperation
(
"创建小程序"
)
@PostMapping
(
"createPersonalApplets"
)
public
ResponseDto
<?>
createPersonalApplets
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
@ApiParam
PersonalApplets
applets
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
if
(
applets
!=
null
&&
applets
.
getAppletsId
()==
null
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺失小程序id"
);
}
selfPushBiz
.
createPersonalApplets
(
applets
);
return
new
ResponseDto
<>();
}
@ApiOperation
(
"删除小程序"
)
@GetMapping
(
"deleteAppletsById"
)
public
ResponseDto
<?>
deleteAppletsById
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
"id"
)
Long
id
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
selfPushBiz
.
deleteAppletsById
(
id
);
return
new
ResponseDto
<>();
}
@ApiOperation
(
"更新小程序"
)
@PostMapping
(
"updatePersonalApplets"
)
public
ResponseDto
<?>
updatePersonalApplets
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
@ApiParam
PersonalApplets
applets
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
if
(
applets
!=
null
&&
applets
.
getId
()==
null
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺失小程序主键id"
);
}
selfPushBiz
.
updatePersonalApplets
(
applets
);
return
new
ResponseDto
<>();
}
@ApiOperation
(
"查询所有小程序"
)
@GetMapping
(
"getAllApplets"
)
public
ResponseDto
<?>
getAllApplets
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"appletsId"
,
required
=
false
)
@ApiParam
(
"小程序id"
)
String
appletsId
,
@RequestParam
(
"currentPage"
)
@ApiParam
(
"当前页"
)
Integer
currentPage
,
@RequestParam
(
"numPerPage"
)
@ApiParam
(
"每页数量"
)
Integer
numPerPage
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
if
(
null
==
currentPage
||
null
==
numPerPage
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少分页参数"
);
}
PageBeanNew
<
PersonalApplets
>
pageBeanNew
=
selfPushBiz
.
getAllApplets
(
appletsId
,
currentPage
,
numPerPage
);
return
new
ResponseDto
<>(
pageBeanNew
);
}
@ApiOperation
(
"根据小程序主键id获取小程序信息"
)
@GetMapping
(
"getAppletsById"
)
public
ResponseDto
<?>
getAppletsById
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"id"
,
required
=
true
)
@ApiParam
(
"小程序主键id"
)
Long
id
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
PersonalApplets
personalApplets
=
selfPushBiz
.
getAppletsById
(
id
);
return
new
ResponseDto
<>(
personalApplets
);
}
@ApiOperation
(
"查询小程序发送记录"
)
@GetMapping
(
"getSendAppletsRecords"
)
public
ResponseDto
<
PageBeanNew
<
PersonalAppletsRecordDTO
>>
getSendAppletsRecords
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
"currentPage"
)
@ApiParam
(
"当前页"
)
Integer
currentPage
,
@RequestParam
(
"numPerPage"
)
@ApiParam
(
"每页数量"
)
Integer
numPerPage
,
@RequestParam
(
value
=
"startTime"
,
required
=
false
)
@ApiParam
(
"开始时间"
)
String
startTime
,
@RequestParam
(
value
=
"endTime"
,
required
=
false
)
@ApiParam
(
"结束时间"
)
String
endTime
,
@RequestParam
(
value
=
"status"
,
required
=
false
)
@ApiParam
(
"发送状态(1发送中2发送成功3发送失败)"
)
Integer
status
)
throws
PermissionException
{
Map
<
String
,
Object
>
map
=
SessionUtil
.
getToken4Redis
(
token
);
if
(
null
==
currentPage
||
null
==
numPerPage
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少分页参数"
);
}
Long
partyId
=
(
Long
)
map
.
get
(
SessionUtil
.
PARTY_ID
);
if
(
partyId
==
0
){
String
isSystem
=
(
String
)
map
.
get
(
SessionUtil
.
IS_SYSTEM
);
if
(
"0"
.
equals
(
isSystem
))
{
partyId
=
(
Long
)
map
.
get
(
SessionUtil
.
MEMBER_ID
);
}
}
PageBeanNew
<
PersonalAppletsRecordDTO
>
pageBeanNew
=
selfPushBiz
.
getSendAppletsRecords
(
currentPage
,
numPerPage
,
startTime
,
endTime
,
status
,
partyId
);
return
new
ResponseDto
<>(
pageBeanNew
);
}
}
}
pcloud-service-book/src/main/resources/mapper/pcloudkeyword/PcloudRobotWelcome.Mapper.xml
View file @
3c1fe36c
...
@@ -14,11 +14,12 @@
...
@@ -14,11 +14,12 @@
<result
column=
"file_size"
property=
"fileSize"
jdbcType=
"BIGINT"
/>
<result
column=
"file_size"
property=
"fileSize"
jdbcType=
"BIGINT"
/>
<result
column=
"resource_id"
property=
"resourceId"
jdbcType=
"INTEGER"
/>
<result
column=
"resource_id"
property=
"resourceId"
jdbcType=
"INTEGER"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"personal_applets_id"
property=
"personalAppletsId"
jdbcType=
"BIGINT"
/>
</resultMap>
</resultMap>
<sql
id=
"Base_Column_List"
>
<sql
id=
"Base_Column_List"
>
id, pcloud_robot_id, pcloud_classify_id, reply_type, content, pic_url, file_name, file_type, file_url,
id, pcloud_robot_id, pcloud_classify_id, reply_type, content, pic_url, file_name, file_type, file_url,
file_size, resource_id, create_time
file_size, resource_id, create_time
,personal_applets_id
</sql>
</sql>
<!--批量插入-->
<!--批量插入-->
...
@@ -34,7 +35,8 @@
...
@@ -34,7 +35,8 @@
file_url,
file_url,
file_size,
file_size,
resource_id,
resource_id,
create_time
create_time,
personal_applets_id
) values
) values
<foreach
collection=
"list"
item=
"item"
index=
"index"
separator=
","
>
<foreach
collection=
"list"
item=
"item"
index=
"index"
separator=
","
>
(
(
...
@@ -48,7 +50,8 @@
...
@@ -48,7 +50,8 @@
#{item.fileUrl,jdbcType=VARCHAR},
#{item.fileUrl,jdbcType=VARCHAR},
#{item.fileSize,jdbcType=BIGINT},
#{item.fileSize,jdbcType=BIGINT},
#{item.resourceId,jdbcType=BIGINT},
#{item.resourceId,jdbcType=BIGINT},
NOW()
NOW(),
#{item.personalAppletsId,jdbcType=BIGINT}
)
)
</foreach>
</foreach>
</insert>
</insert>
...
...
pcloud-service-book/src/main/resources/mapper/personalstage/PersonalStageJumpLinkup.xml
View file @
3c1fe36c
...
@@ -10,10 +10,11 @@
...
@@ -10,10 +10,11 @@
<result
property=
"replyType"
column=
"reply_type"
jdbcType=
"INTEGER"
/>
<result
property=
"replyType"
column=
"reply_type"
jdbcType=
"INTEGER"
/>
<result
property=
"picUrl"
column=
"pic_url"
jdbcType=
"VARCHAR"
/>
<result
property=
"picUrl"
column=
"pic_url"
jdbcType=
"VARCHAR"
/>
<result
property=
"resourceId"
column=
"resource_id"
jdbcType=
"BIGINT"
/>
<result
property=
"resourceId"
column=
"resource_id"
jdbcType=
"BIGINT"
/>
<result
column=
"personal_applets_id"
property=
"personalAppletsId"
jdbcType=
"BIGINT"
/>
</resultMap>
</resultMap>
<sql
id=
"Base_Column_List"
>
<sql
id=
"Base_Column_List"
>
id, personal_stage_jump_id, linkup_content, to_stage_start_time, reply_type, pic_url, resource_id
id, personal_stage_jump_id, linkup_content, to_stage_start_time, reply_type, pic_url, resource_id
,personal_applets_id
</sql>
</sql>
<select
id=
"getById"
resultMap=
"BaseResultMap"
parameterType=
"java.lang.Long"
>
<select
id=
"getById"
resultMap=
"BaseResultMap"
parameterType=
"java.lang.Long"
>
...
@@ -58,7 +59,8 @@
...
@@ -58,7 +59,8 @@
to_stage_start_time,
to_stage_start_time,
reply_type,
reply_type,
pic_url,
pic_url,
resource_id
resource_id,
personal_applets_id
</trim>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
#{personalStageJumpId,jdbcType=BIGINT},
#{personalStageJumpId,jdbcType=BIGINT},
...
@@ -66,7 +68,8 @@
...
@@ -66,7 +68,8 @@
#{toStageStartTime,jdbcType=INTEGER},
#{toStageStartTime,jdbcType=INTEGER},
#{replyType,jdbcType=INTEGER},
#{replyType,jdbcType=INTEGER},
#{picUrl,jdbcType=VARCHAR},
#{picUrl,jdbcType=VARCHAR},
#{resourceId,jdbcType=BIGINT}
#{resourceId,jdbcType=BIGINT},
#{personalAppletsId,jdbcType=BIGINT}
</trim>
</trim>
</insert>
</insert>
...
@@ -78,7 +81,8 @@
...
@@ -78,7 +81,8 @@
to_stage_start_time,
to_stage_start_time,
reply_type,
reply_type,
pic_url,
pic_url,
resource_id
resource_id,
personal_applets_id
</trim>
</trim>
values
values
<foreach
collection=
"list"
item=
"item"
separator=
","
>
<foreach
collection=
"list"
item=
"item"
separator=
","
>
...
@@ -88,7 +92,8 @@
...
@@ -88,7 +92,8 @@
#{item.toStageStartTime,jdbcType=INTEGER},
#{item.toStageStartTime,jdbcType=INTEGER},
#{item.replyType,jdbcType=INTEGER},
#{item.replyType,jdbcType=INTEGER},
#{item.picUrl,jdbcType=VARCHAR},
#{item.picUrl,jdbcType=VARCHAR},
#{item.resourceId,jdbcType=BIGINT}
#{item.resourceId,jdbcType=BIGINT},
#{item.personalAppletsId,jdbcType=BIGINT}
</trim>
</trim>
</foreach>
</foreach>
</insert>
</insert>
...
...
pcloud-service-book/src/main/resources/mapper/personalstage/PersonalStageReplyItem.xml
View file @
3c1fe36c
...
@@ -10,10 +10,11 @@
...
@@ -10,10 +10,11 @@
<result
property=
"picUrl"
column=
"pic_url"
jdbcType=
"VARCHAR"
/>
<result
property=
"picUrl"
column=
"pic_url"
jdbcType=
"VARCHAR"
/>
<result
property=
"resourceId"
column=
"resource_id"
jdbcType=
"BIGINT"
/>
<result
property=
"resourceId"
column=
"resource_id"
jdbcType=
"BIGINT"
/>
<result
property=
"createTime"
column=
"create_time"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"createTime"
column=
"create_time"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"personal_applets_id"
property=
"personalAppletsId"
jdbcType=
"BIGINT"
/>
</resultMap>
</resultMap>
<sql
id=
"Base_Column_List"
>
<sql
id=
"Base_Column_List"
>
id, personal_stage_reply_id, reply_type, content, pic_url, resource_id, create_time
id, personal_stage_reply_id, reply_type, content, pic_url, resource_id, create_time
,personal_applets_id
</sql>
</sql>
<select
id=
"getById"
resultMap=
"BaseResultMap"
parameterType=
"java.lang.Long"
>
<select
id=
"getById"
resultMap=
"BaseResultMap"
parameterType=
"java.lang.Long"
>
...
@@ -36,7 +37,8 @@
...
@@ -36,7 +37,8 @@
content,
content,
pic_url,
pic_url,
resource_id,
resource_id,
create_time
create_time,
personal_applets_id
</trim>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
#{personalStageReplyId,jdbcType=BIGINT},
#{personalStageReplyId,jdbcType=BIGINT},
...
@@ -44,7 +46,8 @@
...
@@ -44,7 +46,8 @@
#{content,jdbcType=VARCHAR},
#{content,jdbcType=VARCHAR},
#{picUrl,jdbcType=VARCHAR},
#{picUrl,jdbcType=VARCHAR},
#{resourceId,jdbcType=BIGINT},
#{resourceId,jdbcType=BIGINT},
NOW()
NOW(),
#{personalAppletsId,jdbcType=BIGINT}
</trim>
</trim>
</insert>
</insert>
...
@@ -55,7 +58,8 @@
...
@@ -55,7 +58,8 @@
content,
content,
pic_url,
pic_url,
resource_id,
resource_id,
create_time
create_time,
personal_applets_id
) values
) values
<foreach
collection=
"list"
item=
"item"
index=
"index"
separator=
","
>
<foreach
collection=
"list"
item=
"item"
index=
"index"
separator=
","
>
(
(
...
@@ -64,7 +68,8 @@
...
@@ -64,7 +68,8 @@
#{item.content,jdbcType=VARCHAR},
#{item.content,jdbcType=VARCHAR},
#{item.picUrl,jdbcType=VARCHAR},
#{item.picUrl,jdbcType=VARCHAR},
#{item.resourceId,jdbcType=BIGINT},
#{item.resourceId,jdbcType=BIGINT},
NOW()
NOW(),
#{item.personalAppletsId,jdbcType=BIGINT}
)
)
</foreach>
</foreach>
</insert>
</insert>
...
...
pcloud-service-book/src/main/resources/mapper/push/PersonalAppletsMapper.xml
0 → 100644
View file @
3c1fe36c
<?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.push.dao.impl.PersonalAppletsDaoImpl"
>
<resultMap
id=
"BaseResultMap"
type=
"com.pcloud.book.push.entity.PersonalApplets"
>
<id
column=
"id"
property=
"id"
jdbcType=
"BIGINT"
/>
<result
column=
"applets_id"
property=
"appletsId"
jdbcType=
"VARCHAR"
/>
<result
column=
"slogan"
property=
"slogan"
jdbcType=
"VARCHAR"
/>
<result
column=
"slogan_img_url"
property=
"sloganImgUrl"
jdbcType=
"VARCHAR"
/>
<result
column=
"applets_url"
property=
"appletsUrl"
jdbcType=
"VARCHAR"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, applets_id, slogan, slogan_img_url, applets_url, create_time, update_time
</sql>
<insert
id=
"insert"
parameterType=
"com.pcloud.book.push.entity.PersonalApplets"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into personal_applets ( applets_id,
slogan, slogan_img_url, applets_url,
create_time, update_time
)
values (#{appletsId,jdbcType=VARCHAR}, #{slogan,jdbcType=VARCHAR},
#{sloganImgUrl,jdbcType=VARCHAR}, #{appletsUrl,jdbcType=VARCHAR},
now(), now()
)
</insert>
<select
id=
"selectById"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from personal_applets where id=#{id}
</select>
<select
id=
"getAllApplets"
parameterType=
"map"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from personal_applets
where 1=1
<if
test=
"appletsId!=null"
>
and applets_id=#{appletsId}
</if>
order by create_time desc
</select>
<update
id=
"update"
parameterType=
"com.pcloud.book.push.entity.PersonalApplets"
>
update personal_applets
<set>
<if
test=
"appletsId != null"
>
applets_id = #{appletsId,jdbcType=VARCHAR},
</if>
<if
test=
"slogan != null"
>
slogan = #{slogan,jdbcType=VARCHAR},
</if>
<if
test=
"sloganImgUrl != null"
>
slogan_img_url = #{sloganImgUrl,jdbcType=VARCHAR},
</if>
<if
test=
"appletsUrl != null"
>
applets_url = #{appletsUrl,jdbcType=VARCHAR},
</if>
update_time = NOW(),
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<delete
id=
"deleteById"
>
delete from personal_applets where id=#{id}
</delete>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/push/SelfPushItemMapper.xml
View file @
3c1fe36c
...
@@ -22,12 +22,13 @@
...
@@ -22,12 +22,13 @@
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"send_time"
property=
"sendTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"send_time"
property=
"sendTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"resource_id"
property=
"resourceId"
jdbcType=
"BIGINT"
/>
<result
column=
"resource_id"
property=
"resourceId"
jdbcType=
"BIGINT"
/>
<result
column=
"personal_applets_id"
property=
"personalAppletsId"
jdbcType=
"BIGINT"
/>
</resultMap>
</resultMap>
<sql
id=
"Base_Column_List"
>
<sql
id=
"Base_Column_List"
>
id, push_id, item_type, text_content, link_url, link_title, link_description,
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,
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, resource_id
create_user, create_time, update_user, update_time, send_time, resource_id
,personal_applets_id
</sql>
</sql>
<insert
id=
"insert"
parameterType=
"com.pcloud.book.push.entity.SelfPushItem"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
<insert
id=
"insert"
parameterType=
"com.pcloud.book.push.entity.SelfPushItem"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
...
@@ -36,14 +37,14 @@
...
@@ -36,14 +37,14 @@
link_description, link_image_url, image_url,
link_description, link_image_url, image_url,
app_id, app_url, product_id,
app_id, app_url, product_id,
product_url, push_status, create_user,
product_url, push_status, create_user,
create_time, update_user, update_time, send_time, resource_id
create_time, update_user, update_time, send_time, resource_id
,personal_applets_id
)
)
values (#{pushId,jdbcType=BIGINT}, #{itemType,jdbcType=INTEGER},
values (#{pushId,jdbcType=BIGINT}, #{itemType,jdbcType=INTEGER},
#{textContent,jdbcType=VARCHAR}, #{linkUrl,jdbcType=VARCHAR}, #{linkTitle,jdbcType=VARCHAR},
#{textContent,jdbcType=VARCHAR}, #{linkUrl,jdbcType=VARCHAR}, #{linkTitle,jdbcType=VARCHAR},
#{linkDescription,jdbcType=VARCHAR}, #{linkImageUrl,jdbcType=VARCHAR}, #{imageUrl,jdbcType=VARCHAR},
#{linkDescription,jdbcType=VARCHAR}, #{linkImageUrl,jdbcType=VARCHAR}, #{imageUrl,jdbcType=VARCHAR},
#{appId,jdbcType=BIGINT}, #{appUrl,jdbcType=VARCHAR}, #{productId,jdbcType=BIGINT},
#{appId,jdbcType=BIGINT}, #{appUrl,jdbcType=VARCHAR}, #{productId,jdbcType=BIGINT},
#{productUrl,jdbcType=VARCHAR}, #{pushStatus,jdbcType=INTEGER}, #{createUser,jdbcType=BIGINT},
#{productUrl,jdbcType=VARCHAR}, #{pushStatus,jdbcType=INTEGER}, #{createUser,jdbcType=BIGINT},
now(), #{updateUser,jdbcType=BIGINT}, now(), #{sendTime}, #{resourceId}
now(), #{updateUser,jdbcType=BIGINT}, now(), #{sendTime}, #{resourceId}
,#{personalAppletsId}
)
)
</insert>
</insert>
...
@@ -68,7 +69,8 @@
...
@@ -68,7 +69,8 @@
update_user,
update_user,
update_time,
update_time,
send_time,
send_time,
resource_id
resource_id,
personal_applets_id
) values
) values
<foreach
collection=
"list"
item=
"item"
index=
"index"
separator=
","
>
<foreach
collection=
"list"
item=
"item"
index=
"index"
separator=
","
>
(
(
...
@@ -90,7 +92,8 @@
...
@@ -90,7 +92,8 @@
#{item.updateUser,jdbcType=BIGINT},
#{item.updateUser,jdbcType=BIGINT},
NOW(),
NOW(),
#{item.sendTime},
#{item.sendTime},
#{item.resourceId}
#{item.resourceId},
#{item.personalAppletsId}
)
)
</foreach>
</foreach>
</insert>
</insert>
...
@@ -151,6 +154,56 @@
...
@@ -151,6 +154,56 @@
i.create_time DESC, i.id DESC
i.create_time DESC, i.id DESC
</select>
</select>
<select
id=
"getSendAppletsRecords"
parameterType=
"map"
resultType=
"com.pcloud.book.push.dto.PersonalAppletsRecordDTO"
>
SELECT
p.alt_id altId,
p.id pushId,
i.id pushItemId,
i.item_type itemType,
i.push_status pushStatus,
i.create_time createTime,
min(i.send_time) sendTime,
p.create_user createUser,
p.start_time startTime,
p.end_time endTime,
p.push_send_time pushSendTime,
p.week_days weekDays,
p.push_type pushType,
a.id personalAppletsId,
a.applets_id appletsId,
a.applets_url appletsUrl,
a.slogan ,
a.slogan_img_url sloganImgUrl,
(select count(1) from self_push_user where push_id=p.id) userCount
FROM
self_push_item i
LEFT JOIN self_push p ON i.push_id = p.id
LEFT JOIN personal_applets a ON a.id=i.personal_applets_id
WHERE
1 = 1
and i.personal_applets_id is not null
<if
test=
"startTime != null and endTime != null"
>
AND (
(i.send_time BETWEEN #{startTime} AND #{endTime} )
OR (p.start_time >= #{startTime} AND p.end_time
<
= #{endTime})
)
</if>
<if
test=
"pushStatus != null"
>
AND i.push_status = #{pushStatus}
</if>
<choose>
<when
test=
"partyId == 0"
>
AND p.alt_id IS NOT NULL AND p.alt_id !=""
</when>
<otherwise>
AND p.create_user = #{partyId}
</otherwise>
</choose>
group by push_id
ORDER BY
i.create_time DESC, i.id DESC
</select>
<update
id=
"updatePushStatusByPushId"
parameterType=
"map"
>
<update
id=
"updatePushStatusByPushId"
parameterType=
"map"
>
UPDATE self_push_item
UPDATE self_push_item
SET push_status = #{pushStatus}
SET push_status = #{pushStatus}
...
...
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