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
17fec208
Commit
17fec208
authored
Jun 04, 2021
by
朱亚洁
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:[1004835]H5本书服务直接弹出关注公众号
parent
2e83a418
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
113 additions
and
64 deletions
+113
-64
AnswerSubscribeBiz.java
...n/java/com/pcloud/book/applet/biz/AnswerSubscribeBiz.java
+16
-0
AnswerSubscribeBizImpl.java
...m/pcloud/book/applet/biz/impl/AnswerSubscribeBizImpl.java
+64
-56
AppletHomeFacade.java
.../java/com/pcloud/book/applet/facade/AppletHomeFacade.java
+23
-0
AppletServiceImpl.java
...om/pcloud/book/applet/service/impl/AppletServiceImpl.java
+3
-3
ResourcePageBizImpl.java
...a/com/pcloud/book/group/biz/impl/ResourcePageBizImpl.java
+7
-5
No files found.
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/AnswerSubscribeBiz.java
View file @
17fec208
...
...
@@ -15,6 +15,7 @@ public interface AnswerSubscribeBiz {
*/
AnswerSubscribeDTO
answerSubscribe
(
AnswerSubscribeDTO
answerSubscribeDTO
);
/**
* 查询是否订阅
* @author:zhuyajie
...
...
@@ -52,4 +53,19 @@ public interface AnswerSubscribeBiz {
* * @param null
*/
AnswerSubscribeUserDTO
getUserSubscribeInfo
(
Long
wechatUserId
);
/**
* 查公众号是否关注
* @author:zhuyajie
* @date:2021/6/3 14:36
* * @param null
*/
AnswerSubscribeDTO
getSubscribeQrcodeState
(
Long
wechatUserId
,
Long
accountSettingId
);
/**
* 添加推送书刊埋点
* @author:zhuyajie
* @date:2021/6/3 14:43
* * @param null
*/
void
addSubscribePushRecord
(
AnswerSubscribeDTO
answerSubscribeDTO
);
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/impl/AnswerSubscribeBizImpl.java
View file @
17fec208
...
...
@@ -90,37 +90,10 @@ public class AnswerSubscribeBizImpl implements AnswerSubscribeBiz {
}
answerSubscribe
.
setResourceCount
(
resourcePageBiz
.
getResourceCounts
(
answerSubscribeDTO
.
getBookId
(),
answerSubscribeDTO
.
getAdviserId
(),
answerSubscribeDTO
.
getChannelId
()));
answerSubscribeDao
.
insert
(
answerSubscribe
);
return
getSubscribeQrcode
(
answerSubscribeDTO
);
}
/**
* 查询公众号关注情况
* @author:zhuyajie
* @date:2021/5/14 16:34
* * @param null
*/
private
AnswerSubscribeDTO
getSubscribeQrcode
(
AnswerSubscribeDTO
answerSubscribeDTO
)
{
AnswerSubscribeDTO
dto
=
new
AnswerSubscribeDTO
();
Long
wechatUserId
=
answerSubscribeDTO
.
getWechatUserId
();
Long
accountSettingId
=
answerSubscribeDTO
.
getAccountSettingId
();
//是否关注
String
openId
=
readerConsr
.
getOpenIdByWechatUserIdAndOfficialAccountsId
(
wechatUserId
,
accountSettingId
);
WechatUserOfficialAccounts
accounts
=
readerConsr
.
getOfficialAccounts
(
accountSettingId
,
openId
,
wechatUserId
);
Boolean
isSubscribe
=
false
;
if
(
null
!=
accounts
)
{
isSubscribe
=
accounts
.
getIsSubscribe
()
==
1
?
true
:
false
;
}
AnswerSubscribePopup
popup
=
new
AnswerSubscribePopup
();
popup
.
setWechatUserId
(
wechatUserId
);
popup
.
setAccountSettingId
(
accountSettingId
);
popup
.
setBookId
(
answerSubscribeDTO
.
getBookId
());
popup
.
setChannelId
(
answerSubscribeDTO
.
getChannelId
());
popup
.
setAdviserId
(
answerSubscribeDTO
.
getAdviserId
());
popup
.
setSubscribeType
(
answerSubscribeDTO
.
getSubscribeType
());
answerSubscribePopupDao
.
insert
(
popup
);
GroupQrcodeVO
groupQrcodeVO
=
qrcodeSceneConsr
.
getSubscribeQrcode
(
accountSettingId
);
dto
.
setQrcodeUrl
(
groupQrcodeVO
.
getQrcodeUrl
());
dto
.
setIsSubscribe
(
isSubscribe
);
//推送书刊埋点
this
.
addSubscribePushRecord
(
answerSubscribeDTO
);
//关注公众号状态和公众号二维码
AnswerSubscribeDTO
dto
=
this
.
getSubscribeQrcodeState
(
answerSubscribeDTO
.
getWechatUserId
(),
answerSubscribeDTO
.
getAccountSettingId
());
return
dto
;
}
...
...
@@ -183,7 +156,8 @@ public class AnswerSubscribeBizImpl implements AnswerSubscribeBiz {
this
.
sendAppletTemplateMsg
(
wechatUserId
,
accountSettingId
,
bookName
);
}
else
{
//公众号消息
this
.
sendTemplate4Customer
(
channelId
,
wechatUserId
,
bookName
);
String
url
=
getResourcePageUrl
(
bookId
,
adviserId
,
channelId
);
this
.
sendTemplate4Customer
(
channelId
,
wechatUserId
,
bookName
,
url
);
}
answerSubscribeUser
.
setSendState
(
AnswerSendStateEnum
.
has_send
.
code
);
}
...
...
@@ -282,32 +256,66 @@ public class AnswerSubscribeBizImpl implements AnswerSubscribeBiz {
answerSubscribeUserDTO
.
setBookId
(
popup
.
getBookId
());
answerSubscribeUserDTO
.
setChannelId
(
popup
.
getChannelId
());
answerSubscribeUserDTO
.
setAdviserId
(
popup
.
getAdviserId
());
//已关注公众号
if
(
popup
.
getSubscribeType
()
==
1
)
{
//书刊订阅
ResourcePageVO
resourcePageVO
=
resourcePageBiz
.
getResourcePageByBookId
(
popup
.
getBookId
(),
popup
.
getChannelId
(),
popup
.
getAdviserId
(),
wechatUserId
);
answerSubscribeUserDTO
.
setBookName
(
null
==
resourcePageVO
?
null
:
resourcePageVO
.
getBookName
());
//小睿书流程有推送链接
if
(
null
!=
resourcePageVO
&&
resourcePageVO
.
getOpenRays
()
==
1
)
{
String
host
=
BookProps
.
getWechatDomain
();
if
(
"uat"
.
equals
(
BookProps
.
getSystemEnv
()))
{
host
=
host
.
replace
(
"wechat666"
,
"weixin35515"
);
}
else
{
host
=
host
.
replace
(
"wechat666"
,
"weixin23"
);
}
String
url
=
""
;
if
(
null
!=
resourcePageVO
.
getSceneId
())
{
url
=
host
+
"/rayh5/book?sceneId="
+
resourcePageVO
.
getSceneId
();
}
else
if
(
null
!=
resourcePageVO
.
getBookGroupId
())
{
url
=
host
+
"/rayh5/book?bookGroupId="
+
resourcePageVO
.
getId
();
}
answerSubscribeUserDTO
.
setUrl
(
url
);
//推送链接
answerSubscribeUserDTO
.
setUrl
(
getResourcePageUrl
(
popup
.
getBookId
(),
popup
.
getAdviserId
(),
popup
.
getChannelId
()));
}
BookDto
bookDto
=
bookBiz
.
getBaseById
(
popup
.
getBookId
());
answerSubscribeUserDTO
.
setBookName
(
null
==
bookDto
?
null
:
bookDto
.
getBookName
());
return
answerSubscribeUserDTO
;
}
/**
* 书刊开启小睿的资源页链接
* @author:zhuyajie
* @date:2021/6/3 15:06
* * @param null
*/
private
String
getResourcePageUrl
(
Long
bookId
,
Long
adviserId
,
Long
channelId
)
{
String
url
=
null
;
ResourcePageVO
resourcePageVO
=
resourcePageBiz
.
getResourcePageByBookId
(
bookId
,
channelId
,
adviserId
,
null
);
if
(
null
!=
resourcePageVO
&&
resourcePageVO
.
getOpenRays
()
==
1
)
{
String
host
=
BookProps
.
getWechatDomain
();
if
(
"uat"
.
equals
(
BookProps
.
getSystemEnv
()))
{
host
=
host
.
replace
(
"wechat666"
,
"weixin35515"
);
}
else
{
host
=
host
.
replace
(
"wechat666"
,
"weixin23"
);
}
if
(
null
!=
resourcePageVO
.
getSceneId
())
{
url
=
host
+
"/rayh5/book?sceneId="
+
resourcePageVO
.
getSceneId
();
}
else
if
(
null
!=
resourcePageVO
.
getBookGroupId
())
{
url
=
host
+
"/rayh5/book?bookGroupId="
+
resourcePageVO
.
getId
();
}
}
if
(
StringUtil
.
isEmpty
(
answerSubscribeUserDTO
.
getBookName
()))
{
BookDto
bookDto
=
bookBiz
.
getBaseById
(
popup
.
getBookId
());
answerSubscribeUserDTO
.
setBookName
(
null
==
bookDto
?
null
:
bookDto
.
getBookName
());
return
url
;
}
@Override
public
AnswerSubscribeDTO
getSubscribeQrcodeState
(
Long
wechatUserId
,
Long
accountSettingId
)
{
String
openId
=
readerConsr
.
getOpenIdByWechatUserIdAndOfficialAccountsId
(
wechatUserId
,
accountSettingId
);
WechatUserOfficialAccounts
accounts
=
readerConsr
.
getOfficialAccounts
(
accountSettingId
,
openId
,
wechatUserId
);
Boolean
isSubscribe
=
false
;
if
(
null
!=
accounts
)
{
isSubscribe
=
accounts
.
getIsSubscribe
()
==
1
?
true
:
false
;
}
return
answerSubscribeUserDTO
;
GroupQrcodeVO
groupQrcodeVO
=
qrcodeSceneConsr
.
getSubscribeQrcode
(
accountSettingId
);
AnswerSubscribeDTO
dto
=
new
AnswerSubscribeDTO
();
dto
.
setQrcodeUrl
(
groupQrcodeVO
.
getQrcodeUrl
());
dto
.
setIsSubscribe
(
isSubscribe
);
return
dto
;
}
@Override
public
void
addSubscribePushRecord
(
AnswerSubscribeDTO
answerSubscribeDTO
)
{
AnswerSubscribePopup
popup
=
new
AnswerSubscribePopup
();
popup
.
setWechatUserId
(
answerSubscribeDTO
.
getWechatUserId
());
popup
.
setAccountSettingId
(
answerSubscribeDTO
.
getAccountSettingId
());
popup
.
setBookId
(
answerSubscribeDTO
.
getBookId
());
popup
.
setChannelId
(
answerSubscribeDTO
.
getChannelId
());
popup
.
setAdviserId
(
answerSubscribeDTO
.
getAdviserId
());
popup
.
setSubscribeType
(
answerSubscribeDTO
.
getSubscribeType
());
answerSubscribePopupDao
.
insert
(
popup
);
}
private
void
sendAppletTemplateMsg
(
Long
wechatUserId
,
Long
accountSettingId
,
String
bookName
)
{
...
...
@@ -340,12 +348,12 @@ public class AnswerSubscribeBizImpl implements AnswerSubscribeBiz {
templateConsr
.
sendManage
(
SceneCode
.
PROJECT_TASK_SCENE
.
value
,
agentId
,
adviserId
,
SystemCode
.
adviser
.
code
,
null
,
temParam
,
SendType
.
SEND_BY_PARTY_ID
.
value
,
false
);
}
private
void
sendTemplate4Customer
(
Long
channelId
,
Long
wechatUserId
,
String
bookName
)
{
private
void
sendTemplate4Customer
(
Long
channelId
,
Long
wechatUserId
,
String
bookName
,
String
url
)
{
Map
<
String
,
String
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"first"
,
"本书有新的资源服务上架,看看是不是你想要的?"
);
paramMap
.
put
(
"keyword1"
,
StringUtil
.
addBracket
(
bookName
));
paramMap
.
put
(
"keyword2"
,
"书刊配套资源服务"
);
paramMap
.
put
(
"remark"
,
"再次扫描书上二维码,即可查看更新内容"
);
templateConsr
.
sendOperate
(
SceneCode
.
PROJECT_TASK_SCENE
.
value
,
channelId
,
wechatUserId
,
nul
l
,
paramMap
,
SendType
.
SEND_BY_WECHAT_USER_ID
.
value
,
false
);
templateConsr
.
sendOperate
(
SceneCode
.
PROJECT_TASK_SCENE
.
value
,
channelId
,
wechatUserId
,
ur
l
,
paramMap
,
SendType
.
SEND_BY_WECHAT_USER_ID
.
value
,
false
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/facade/AppletHomeFacade.java
View file @
17fec208
...
...
@@ -1300,6 +1300,29 @@ public class AppletHomeFacade {
Cookie
.
getId
(
userInfo
,
Cookie
.
_WECHAT_USER_ID
);
return
new
ResponseDto
<>(
appletNewsBiz
.
getStayOnlineAppClickCount
());
}
@ApiOperation
(
"查公众号是否关注"
)
@GetMapping
(
"getSubscribeQrcodeState"
)
public
ResponseDto
<?>
getSubscribeQrcodeState
(
@CookieValue
(
"userInfo"
)
String
userInfo
)
{
Long
wechatUserId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_WECHAT_USER_ID
);
Long
accountSettingId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_OFFICIAL_ACCOUNTS_ID
);
return
new
ResponseDto
<>(
answerSubscribeBiz
.
getSubscribeQrcodeState
(
wechatUserId
,
accountSettingId
));
}
@ApiOperation
(
"添加推送书刊埋点"
)
@PostMapping
(
"addSubscribePushRecord"
)
public
ResponseDto
<?>
addSubscribePushRecord
(
@CookieValue
(
"userInfo"
)
String
userInfo
,
@RequestBody
AnswerSubscribeDTO
answerSubscribeDTO
)
{
Long
wechatUserId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_WECHAT_USER_ID
);
Long
accountSettingId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_OFFICIAL_ACCOUNTS_ID
);
if
(
null
==
answerSubscribeDTO
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少参数"
);
}
answerSubscribeDTO
.
setWechatUserId
(
wechatUserId
);
answerSubscribeDTO
.
setAccountSettingId
(
accountSettingId
);
answerSubscribeBiz
.
addSubscribePushRecord
(
answerSubscribeDTO
);
return
new
ResponseDto
<>();
}
}
...
...
pcloud-service-book/src/main/java/com/pcloud/book/applet/service/impl/AppletServiceImpl.java
View file @
17fec208
...
...
@@ -41,8 +41,8 @@ import org.springframework.web.bind.annotation.GetMapping;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.bind.annotation.RestController
;
import
io.swagger.annotations.ApiParam
;
...
...
@@ -254,12 +254,12 @@ public class AppletServiceImpl implements AppletService {
}
@Override
@RequestMapping
(
"getLastReadBookInfo"
)
@RequestMapping
(
value
=
"getLastReadBookInfo"
,
method
=
RequestMethod
.
POST
)
public
ResponseEntity
<
ResponseDto
<
BaseTempletClassifyDTO
>>
getLastReadBookInfo
(
@RequestBody
List
<
Long
>
wechatUserIds
)
{
return
ResponseHandleUtil
.
toResponse
(
appletUserBookcaseBiz
.
getLastReadBookInfo
(
wechatUserIds
));
}
@RequestMapping
(
"getSameClassifyUserIds"
)
@RequestMapping
(
value
=
"getSameClassifyUserIds"
,
method
=
RequestMethod
.
POST
)
@Override
public
ResponseEntity
<
ResponseDto
<
List
<
Long
>>>
getSameClassifyUserIds
(
@RequestBody
List
<
Long
>
wechatUserIds
){
return
ResponseHandleUtil
.
toResponse
(
appletUserBookcaseBiz
.
getSameClassifyUserIds
(
wechatUserIds
));
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/impl/ResourcePageBizImpl.java
View file @
17fec208
...
...
@@ -920,13 +920,15 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
if
(!
MapUtils
.
isEmpty
(
agentMap
))
{
resourcePageVO
.
setAgentName
(
agentMap
.
get
(
adviserId
).
getAgentName
());
}
Integer
collectState
=
0
;
if
(
null
!=
resourcePageVO
&&
null
!=
resourcePageVO
.
getId
())
{
if
(
null
!=
wechatUserId
)
{
//查收藏状态
ResourcePageCollect
collect
=
resourcePageCollectDao
.
getCollectRecordByUser
(
wechatUserId
,
resourcePageVO
.
getId
());
collectState
=
null
==
collect
?
0
:
1
;
Integer
collectState
=
0
;
if
(
null
!=
resourcePageVO
&&
null
!=
resourcePageVO
.
getId
())
{
ResourcePageCollect
collect
=
resourcePageCollectDao
.
getCollectRecordByUser
(
wechatUserId
,
resourcePageVO
.
getId
());
collectState
=
null
==
collect
?
0
:
1
;
}
resourcePageVO
.
setCollectState
(
collectState
);
}
resourcePageVO
.
setCollectState
(
collectState
);
return
resourcePageVO
;
}
...
...
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