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
dd13f423
Commit
dd13f423
authored
Jun 18, 2021
by
朱亚洁
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:[1004889]小蓝书-关注公众号加付费
parent
04c6a23a
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
129 additions
and
16 deletions
+129
-16
AppConsr.java
.../src/main/java/com/pcloud/book/consumer/app/AppConsr.java
+14
-0
QrcodeSceneConsr.java
...va/com/pcloud/book/consumer/channel/QrcodeSceneConsr.java
+13
-0
ResourcePageBiz.java
.../main/java/com/pcloud/book/group/biz/ResourcePageBiz.java
+8
-0
ResourcePageBizImpl.java
...a/com/pcloud/book/group/biz/impl/ResourcePageBizImpl.java
+62
-16
ResourcePageItemDao.java
...n/java/com/pcloud/book/group/dao/ResourcePageItemDao.java
+9
-0
ResourcePageItemDaoImpl.java
...m/pcloud/book/group/dao/impl/ResourcePageItemDaoImpl.java
+5
-0
ResourcePageFacade.java
...com/pcloud/book/group/facade/impl/ResourcePageFacade.java
+7
-0
ResourcePageItemDao.xml
...k/src/main/resources/mapper/group/ResourcePageItemDao.xml
+11
-0
No files found.
pcloud-service-book/src/main/java/com/pcloud/book/consumer/app/AppConsr.java
View file @
dd13f423
...
@@ -279,4 +279,18 @@ public class AppConsr {
...
@@ -279,4 +279,18 @@ public class AppConsr {
return
new
HashMap
<>();
return
new
HashMap
<>();
}
}
}
}
@ParamLog
(
"查应用关联的公众号工具的付费公众号"
)
public
Map
<
Long
,
Long
>
getPayOfficialAccountsToolByAppIds
(
List
<
Long
>
appIds
)
{
if
(
ListUtils
.
isEmpty
(
appIds
))
{
return
new
HashMap
<>();
}
try
{
return
ResponseHandleUtil
.
parseMapResponse
(
appService
.
getPayOfficialAccountsToolByAppIds
(
appIds
),
Long
.
class
,
Long
.
class
);
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"调用appService.getPayOfficialAccountsToolByAppIds失败"
+
e
.
getMessage
(),
e
);
}
return
new
HashMap
<>();
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/consumer/channel/QrcodeSceneConsr.java
View file @
dd13f423
...
@@ -23,6 +23,7 @@ import com.pcloud.channelcenter.wechat.dto.AdviserBookResourceNumReqDTO;
...
@@ -23,6 +23,7 @@ import com.pcloud.channelcenter.wechat.dto.AdviserBookResourceNumReqDTO;
import
com.pcloud.channelcenter.wechat.dto.AdviserBookResourceNumRespDTO
;
import
com.pcloud.channelcenter.wechat.dto.AdviserBookResourceNumRespDTO
;
import
com.pcloud.channelcenter.wechat.dto.BookServeParamVO
;
import
com.pcloud.channelcenter.wechat.dto.BookServeParamVO
;
import
com.pcloud.channelcenter.wechat.dto.ListIsInBookParam
;
import
com.pcloud.channelcenter.wechat.dto.ListIsInBookParam
;
import
com.pcloud.channelcenter.wechat.entity.AccountSetting
;
import
com.pcloud.channelcenter.wechat.service.AccountSettingService
;
import
com.pcloud.channelcenter.wechat.service.AccountSettingService
;
import
com.pcloud.channelcenter.wechat.service.MessageService
;
import
com.pcloud.channelcenter.wechat.service.MessageService
;
import
com.pcloud.channelcenter.wechat.vo.BookServeVO
;
import
com.pcloud.channelcenter.wechat.vo.BookServeVO
;
...
@@ -609,4 +610,16 @@ public class QrcodeSceneConsr {
...
@@ -609,4 +610,16 @@ public class QrcodeSceneConsr {
}
}
return
qrcodeVO
;
return
qrcodeVO
;
}
}
public
AccountSetting
getAppInfo
(
Long
accountSettingId
)
{
AccountSetting
accountSetting
=
new
AccountSetting
();
try
{
accountSetting
=
ResponseHandleUtil
.
parseResponse
(
accountSettingService
.
getAppInfo
(
accountSettingId
),
AccountSetting
.
class
);
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"调用ccountSettingService.getAppInfo失败"
+
e
.
getMessage
(),
e
);
}
return
accountSetting
;
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/ResourcePageBiz.java
View file @
dd13f423
...
@@ -344,4 +344,12 @@ public interface ResourcePageBiz {
...
@@ -344,4 +344,12 @@ public interface ResourcePageBiz {
* @return
* @return
*/
*/
List
<
ResourcePageVO
>
getAllBook4OpenFood
();
List
<
ResourcePageVO
>
getAllBook4OpenFood
();
/**
* 是否配置有使用付费公众号工具的应用
* @author:zhuyajie
* @date:2021/6/10 17:21
* * @param null
*/
Map
<
String
,
Object
>
hasOfficialAccountsTool
(
Long
resourcePageId
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/impl/ResourcePageBizImpl.java
View file @
dd13f423
...
@@ -800,7 +800,13 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
...
@@ -800,7 +800,13 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
}
}
Map
<
Long
,
AppDto
>
appDtoMap
=
appConsr
.
mapBaseByIds
(
appIds
);
Map
<
Long
,
AppDto
>
appDtoMap
=
appConsr
.
mapBaseByIds
(
appIds
);
Map
<
Long
,
ProductDto
>
productDtoMap
=
productConsr
.
getProBasesByIds
(
productIds
);
Map
<
Long
,
ProductDto
>
productDtoMap
=
productConsr
.
getProBasesByIds
(
productIds
);
Map
<
Long
,
AccountSettingDto
>
accountSettingDtoMap
=
new
HashMap
<>();
Map
<
Long
,
AccountSettingDto
>
channelAccountSettingDtoMap
=
new
HashMap
<>();
Map
<
Long
,
AccountSetting
>
accountSettingMap
=
new
HashMap
<>();
//应用配置公众号工具
Map
<
Long
,
Long
>
appOfficialAccountToolMap
=
new
HashMap
<>();
if
(
isWechat
)
{
appOfficialAccountToolMap
=
appConsr
.
getPayOfficialAccountsToolByAppIds
(
appIds
);
}
for
(
ResourcePageItemVO
itemVO
:
itemVOS
)
{
for
(
ResourcePageItemVO
itemVO
:
itemVOS
)
{
Long
serveId
=
itemVO
.
getServeId
();
Long
serveId
=
itemVO
.
getServeId
();
String
serveType
=
itemVO
.
getServeType
();
String
serveType
=
itemVO
.
getServeType
();
...
@@ -839,25 +845,50 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
...
@@ -839,25 +845,50 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
}
}
itemVO
.
setChannelId
(
channelId
);
itemVO
.
setChannelId
(
channelId
);
if
(
isWechat
)
{
if
(
isWechat
)
{
//客户端处理链接
setResourceLink4Wechat
(
itemVO
,
channelAccountSettingDtoMap
,
appOfficialAccountToolMap
,
accountSettingMap
);
if
(
itemVO
.
getLinkUrl
().
startsWith
(
"http"
))
{
}
itemVO
.
setResultUrl
(
itemVO
.
getLinkUrl
());
}
continue
;
}
}
AccountSettingDto
accountSettingDto
=
accountSettingDtoMap
.
get
(
channelId
);
/**
if
(
accountSettingDto
==
null
)
{
* 客户端处理链接
accountSettingDto
=
qrcodeSceneConsr
.
getWechatInfo
(
channelId
);
* @author:zhuyajie
accountSettingDtoMap
.
put
(
channelId
,
accountSettingDto
);
* @date:2021/6/10 11:20
}
* * @param null
if
(
null
==
accountSettingDto
)
{
*/
throw
new
BookBizException
(
BookBizException
.
ERROR
,
itemVO
.
getServeName
()
+
"未设置公众号"
);
private
void
setResourceLink4Wechat
(
ResourcePageItemVO
itemVO
,
Map
<
Long
,
AccountSettingDto
>
channelAccountSettingDtoMap
,
}
Map
<
Long
,
Long
>
appOfficialAccountToolMap
,
Map
<
Long
,
AccountSetting
>
accountSettingMap
)
{
String
resultLinkUrl
=
SendWeixinRequestTools
.
splitUrl
(
accountSettingDto
,
itemVO
.
getLinkUrl
());
if
(
itemVO
.
getLinkUrl
().
startsWith
(
"http"
))
{
itemVO
.
setResultUrl
(
resultLinkUrl
);
itemVO
.
setResultUrl
(
itemVO
.
getLinkUrl
());
return
;
}
AccountSettingDto
accountSettingDto
=
new
AccountSettingDto
();
//有应用配了付费公众号工具,取公众号工具的公众号域名, 没有就根据渠道id取
if
(!
MapUtils
.
isEmpty
(
appOfficialAccountToolMap
)
&&
appOfficialAccountToolMap
.
containsKey
(
itemVO
.
getServeId
()))
{
Long
accountSettingId
=
appOfficialAccountToolMap
.
get
(
itemVO
.
getServeId
());
AccountSetting
accountSetting
=
accountSettingMap
.
get
(
accountSettingId
);
if
(
null
==
accountSetting
)
{
accountSetting
=
qrcodeSceneConsr
.
getAppInfo
(
accountSettingId
);
accountSettingMap
.
put
(
accountSettingId
,
accountSetting
);
}
}
BeanUtils
.
copyProperties
(
accountSetting
,
accountSettingDto
);
}
else
{
Long
channelId
=
itemVO
.
getChannelId
();
accountSettingDto
=
channelAccountSettingDtoMap
.
get
(
channelId
);
if
(
accountSettingDto
==
null
)
{
accountSettingDto
=
qrcodeSceneConsr
.
getWechatInfo
(
channelId
);
channelAccountSettingDtoMap
.
put
(
channelId
,
accountSettingDto
);
}
}
if
(
null
==
accountSettingDto
)
{
throw
new
BookBizException
(
BookBizException
.
ERROR
,
itemVO
.
getServeName
()
+
"未设置公众号"
);
}
}
String
resultLinkUrl
=
SendWeixinRequestTools
.
splitUrl
(
accountSettingDto
,
itemVO
.
getLinkUrl
());
itemVO
.
setResultUrl
(
resultLinkUrl
);
}
}
private
Long
getChannelIdFromUrl
(
String
url
)
{
private
Long
getChannelIdFromUrl
(
String
url
)
{
Long
channelId
=
null
;
Long
channelId
=
null
;
if
(
url
.
contains
(
"/C"
))
{
if
(
url
.
contains
(
"/C"
))
{
...
@@ -1755,4 +1786,19 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
...
@@ -1755,4 +1786,19 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
}
}
return
resourcePageList
;
return
resourcePageList
;
}
}
@Override
public
Map
<
String
,
Object
>
hasOfficialAccountsTool
(
Long
resourcePageId
)
{
//是否有应用配了付费公众号工具
List
<
Long
>
appIds
=
resourcePageItemDao
.
getAppIdsByPageId
(
resourcePageId
);
Boolean
hasOfficialAccountsTool
=
false
;
Map
<
Long
,
Long
>
map
=
appConsr
.
getPayOfficialAccountsToolByAppIds
(
appIds
);
if
(!
MapUtils
.
isEmpty
(
map
))
{
hasOfficialAccountsTool
=
true
;
}
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
result
.
put
(
"hasOfficialAccountsTool"
,
hasOfficialAccountsTool
);
return
result
;
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/ResourcePageItemDao.java
View file @
dd13f423
...
@@ -106,4 +106,12 @@ public interface ResourcePageItemDao extends BaseDao<ResourcePageItem>{
...
@@ -106,4 +106,12 @@ public interface ResourcePageItemDao extends BaseDao<ResourcePageItem>{
* @return
* @return
*/
*/
List
<
Long
>
getHasResourceCode4Erp
(
List
<
Long
>
sceneIds
);
List
<
Long
>
getHasResourceCode4Erp
(
List
<
Long
>
sceneIds
);
/**
* 查码下配置的应用id
* @author:zhuyajie
* @date:2021/6/10 11:13
* * @param null
*/
List
<
Long
>
getAppIdsByPageId
(
Long
resourcePageId
);
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/impl/ResourcePageItemDaoImpl.java
View file @
dd13f423
...
@@ -108,4 +108,9 @@ public class ResourcePageItemDaoImpl extends BaseDaoImpl<ResourcePageItem> imple
...
@@ -108,4 +108,9 @@ public class ResourcePageItemDaoImpl extends BaseDaoImpl<ResourcePageItem> imple
paramMap
.
put
(
"sceneIds"
,
sceneIds
);
paramMap
.
put
(
"sceneIds"
,
sceneIds
);
return
getSessionTemplate
().
selectList
(
getStatement
(
"getHasResourceCode4Erp"
),
paramMap
);
return
getSessionTemplate
().
selectList
(
getStatement
(
"getHasResourceCode4Erp"
),
paramMap
);
}
}
@Override
public
List
<
Long
>
getAppIdsByPageId
(
Long
resourcePageId
)
{
return
getSessionTemplate
().
selectList
(
getStatement
(
"getAppIdsByPageId"
),
resourcePageId
);
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/facade/impl/ResourcePageFacade.java
View file @
dd13f423
...
@@ -238,4 +238,11 @@ public class ResourcePageFacade {
...
@@ -238,4 +238,11 @@ public class ResourcePageFacade {
public
ResponseDto
<
List
<
ResourcePageVO
>>
getAllBook4OpenFood
(){
public
ResponseDto
<
List
<
ResourcePageVO
>>
getAllBook4OpenFood
(){
return
new
ResponseDto
<>(
resourcePageBiz
.
getAllBook4OpenFood
());
return
new
ResponseDto
<>(
resourcePageBiz
.
getAllBook4OpenFood
());
}
}
@ApiOperation
(
"是否配置有使用付费公众号工具的应用"
)
@GetMapping
(
"hasOfficialAccountsTool"
)
public
ResponseDto
<?>
hasOfficialAccountsTool
(
@CookieValue
(
"userInfo"
)
String
userInfo
,
@RequestParam
(
"resourcePageId"
)
Long
resourcePageId
)
{
Cookie
.
getId
(
userInfo
,
Cookie
.
_WECHAT_USER_ID
);
return
new
ResponseDto
<>(
resourcePageBiz
.
hasOfficialAccountsTool
(
resourcePageId
));
}
}
}
pcloud-service-book/src/main/resources/mapper/group/ResourcePageItemDao.xml
View file @
dd13f423
...
@@ -287,4 +287,14 @@
...
@@ -287,4 +287,14 @@
</foreach>
</foreach>
group by p.scene_id having count(i.id)>0
group by p.scene_id having count(i.id)>0
</select>
</select>
<select
id=
"getAppIdsByPageId"
parameterType=
"long"
resultType=
"long"
>
SELECT DISTINCT
serve_id
FROM
resource_page_item
WHERE
resource_page_id = #{resourcePageId}
AND serve_type = "APP"
</select>
</mapper>
</mapper>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment