Commit e6db006b by 朱亚洁

bug:[1028974]识别公众号,未推消息

parent 62fb117c
...@@ -177,4 +177,12 @@ public interface ResourcePageBiz { ...@@ -177,4 +177,12 @@ public interface ResourcePageBiz {
* * @param null * * @param null
*/ */
Map<Long, List<BookGroupServeDTO>> mapSceneServeList(List<Long> sceneIds); Map<Long, List<BookGroupServeDTO>> mapSceneServeList(List<Long> sceneIds);
/**
* 根据配置的公众号查资源页
* @author:zhuyajie
* @date:2021/4/26 9:10
* * @param null
*/
ResourcePage getPageByOfficialScene(Long officialSceneId);
} }
\ No newline at end of file
package com.pcloud.book.group.biz.impl; package com.pcloud.book.group.biz.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.RandomUtil;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.pcloud.analysisengine.browse.dto.GroupBrowseStatisticVO; import com.pcloud.analysisengine.browse.dto.GroupBrowseStatisticVO;
import com.pcloud.appcenter.app.dto.AppDto; import com.pcloud.appcenter.app.dto.AppDto;
import com.pcloud.appcenter.app.dto.AppRaysDTO;
import com.pcloud.appcenter.app.dto.AppTypeDto; import com.pcloud.appcenter.app.dto.AppTypeDto;
import com.pcloud.appcenter.assist.dto.AssistTempletDTO; import com.pcloud.appcenter.assist.dto.AssistTempletDTO;
import com.pcloud.appcenter.app.dto.AppRaysDTO;
import com.pcloud.appcenter.base.dto.AppPriceCacheDTO; import com.pcloud.appcenter.base.dto.AppPriceCacheDTO;
import com.pcloud.appcenter.cache.service.AppPriceCacheService; import com.pcloud.appcenter.cache.service.AppPriceCacheService;
import com.pcloud.audioapp.audioLesson.service.AudioLessonService; import com.pcloud.audioapp.audioLesson.service.AudioLessonService;
...@@ -80,14 +75,6 @@ import com.pcloud.book.group.dao.CopyCipherRecordDao; ...@@ -80,14 +75,6 @@ import com.pcloud.book.group.dao.CopyCipherRecordDao;
import com.pcloud.book.group.dao.GroupQrcodeDao; import com.pcloud.book.group.dao.GroupQrcodeDao;
import com.pcloud.book.group.dao.GroupQrcodeStyleDao; import com.pcloud.book.group.dao.GroupQrcodeStyleDao;
import com.pcloud.book.group.dao.JoinGroupCipherDao; import com.pcloud.book.group.dao.JoinGroupCipherDao;
import com.pcloud.book.group.dto.BookGroup4CatalogDTO;
import com.pcloud.book.group.dto.BookGroupServeDTO;
import com.pcloud.book.group.dto.BookServeQueryDTO;
import com.pcloud.book.group.dto.BookGroupScanStatisticsRespDTO;
import com.pcloud.book.group.dto.BookGroupScanStatisticsRequestDTO;
import com.pcloud.book.group.dto.HotAppDTO;
import com.pcloud.book.group.entity.ResourcePage;
import com.pcloud.book.group.mapper.MpServiceMappingMapper;
import com.pcloud.book.group.dao.PushBookGroupUpdateDao; import com.pcloud.book.group.dao.PushBookGroupUpdateDao;
import com.pcloud.book.group.dao.TempletRelevanceDao; import com.pcloud.book.group.dao.TempletRelevanceDao;
import com.pcloud.book.group.dao.WeixinQrcodeDao; import com.pcloud.book.group.dao.WeixinQrcodeDao;
...@@ -100,18 +87,23 @@ import com.pcloud.book.group.dto.AltIdAndNameDTO; ...@@ -100,18 +87,23 @@ import com.pcloud.book.group.dto.AltIdAndNameDTO;
import com.pcloud.book.group.dto.AppStatisticsDTO; import com.pcloud.book.group.dto.AppStatisticsDTO;
import com.pcloud.book.group.dto.BackgroundGroupQrcodeDTO; import com.pcloud.book.group.dto.BackgroundGroupQrcodeDTO;
import com.pcloud.book.group.dto.BookAppletSceneDTO; import com.pcloud.book.group.dto.BookAppletSceneDTO;
import com.pcloud.book.group.dto.BookGroup4CatalogDTO;
import com.pcloud.book.group.dto.BookGroupClassifyDTO; import com.pcloud.book.group.dto.BookGroupClassifyDTO;
import com.pcloud.book.group.dto.BookGroupCountDTO; import com.pcloud.book.group.dto.BookGroupCountDTO;
import com.pcloud.book.group.dto.BookGroupCreateDTO; import com.pcloud.book.group.dto.BookGroupCreateDTO;
import com.pcloud.book.group.dto.BookGroupDTO; import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.BookGroupIdAndCountDTO; import com.pcloud.book.group.dto.BookGroupIdAndCountDTO;
import com.pcloud.book.group.dto.BookGroupKeywordResourceDTO; import com.pcloud.book.group.dto.BookGroupKeywordResourceDTO;
import com.pcloud.book.group.dto.BookGroupScanStatisticsRequestDTO;
import com.pcloud.book.group.dto.BookGroupScanStatisticsRespDTO;
import com.pcloud.book.group.dto.BookGroupSceneDTO; import com.pcloud.book.group.dto.BookGroupSceneDTO;
import com.pcloud.book.group.dto.BookGroupServeCountDTO; import com.pcloud.book.group.dto.BookGroupServeCountDTO;
import com.pcloud.book.group.dto.BookGroupServeDTO;
import com.pcloud.book.group.dto.BookGroupStatistic4AgentDTO; import com.pcloud.book.group.dto.BookGroupStatistic4AgentDTO;
import com.pcloud.book.group.dto.BookGroupStatisticDTO; import com.pcloud.book.group.dto.BookGroupStatisticDTO;
import com.pcloud.book.group.dto.BookGroupStatisticsDTO; import com.pcloud.book.group.dto.BookGroupStatisticsDTO;
import com.pcloud.book.group.dto.BookServeDTO; import com.pcloud.book.group.dto.BookServeDTO;
import com.pcloud.book.group.dto.BookServeQueryDTO;
import com.pcloud.book.group.dto.BookServeResourceDTO; import com.pcloud.book.group.dto.BookServeResourceDTO;
import com.pcloud.book.group.dto.ChangeQrCodeTypeDto; import com.pcloud.book.group.dto.ChangeQrCodeTypeDto;
import com.pcloud.book.group.dto.ClassifyDTO; import com.pcloud.book.group.dto.ClassifyDTO;
...@@ -125,6 +117,7 @@ import com.pcloud.book.group.dto.GroupCipherDTO; ...@@ -125,6 +117,7 @@ import com.pcloud.book.group.dto.GroupCipherDTO;
import com.pcloud.book.group.dto.GroupQrcodeDTO; import com.pcloud.book.group.dto.GroupQrcodeDTO;
import com.pcloud.book.group.dto.GroupStoreMyPayDto; import com.pcloud.book.group.dto.GroupStoreMyPayDto;
import com.pcloud.book.group.dto.GroupUseDTO; import com.pcloud.book.group.dto.GroupUseDTO;
import com.pcloud.book.group.dto.HotAppDTO;
import com.pcloud.book.group.dto.JoinGroupCipherDTO; import com.pcloud.book.group.dto.JoinGroupCipherDTO;
import com.pcloud.book.group.dto.LabelUserCountDTO; import com.pcloud.book.group.dto.LabelUserCountDTO;
import com.pcloud.book.group.dto.LargeTempletDTO; import com.pcloud.book.group.dto.LargeTempletDTO;
...@@ -155,6 +148,7 @@ import com.pcloud.book.group.entity.GroupQrcodeStyle; ...@@ -155,6 +148,7 @@ import com.pcloud.book.group.entity.GroupQrcodeStyle;
import com.pcloud.book.group.entity.JoinGroupCipher; import com.pcloud.book.group.entity.JoinGroupCipher;
import com.pcloud.book.group.entity.PushBookGroupUpdate; import com.pcloud.book.group.entity.PushBookGroupUpdate;
import com.pcloud.book.group.entity.QrChangeRecord; import com.pcloud.book.group.entity.QrChangeRecord;
import com.pcloud.book.group.entity.ResourcePage;
import com.pcloud.book.group.entity.TempletRelevance; import com.pcloud.book.group.entity.TempletRelevance;
import com.pcloud.book.group.entity.WeixinQrcodeGeneration; import com.pcloud.book.group.entity.WeixinQrcodeGeneration;
import com.pcloud.book.group.entity.WxUserWechatRelevance; import com.pcloud.book.group.entity.WxUserWechatRelevance;
...@@ -167,6 +161,7 @@ import com.pcloud.book.group.enums.LargeTempletEnum; ...@@ -167,6 +161,7 @@ import com.pcloud.book.group.enums.LargeTempletEnum;
import com.pcloud.book.group.enums.QrcodeJumpType; import com.pcloud.book.group.enums.QrcodeJumpType;
import com.pcloud.book.group.enums.UseTypeEnum; import com.pcloud.book.group.enums.UseTypeEnum;
import com.pcloud.book.group.mapper.BizMaterialMapper; import com.pcloud.book.group.mapper.BizMaterialMapper;
import com.pcloud.book.group.mapper.MpServiceMappingMapper;
import com.pcloud.book.group.set.GroupSet; import com.pcloud.book.group.set.GroupSet;
import com.pcloud.book.group.tools.BookExcelReader; import com.pcloud.book.group.tools.BookExcelReader;
import com.pcloud.book.group.tools.SendWeixinRequestTools; import com.pcloud.book.group.tools.SendWeixinRequestTools;
...@@ -338,6 +333,11 @@ import java.util.concurrent.TimeUnit; ...@@ -338,6 +333,11 @@ import java.util.concurrent.TimeUnit;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.core.util.ZipUtil; import cn.hutool.core.util.ZipUtil;
import lombok.SneakyThrows; import lombok.SneakyThrows;
...@@ -1428,29 +1428,48 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -1428,29 +1428,48 @@ public class BookGroupBizImpl implements BookGroupBiz {
} }
@Override @Override
public BookGroupDTO getBaseInfoBySceneId( Long sceneId ) { public BookGroupDTO getBaseInfoBySceneId(Long sceneId) {
BookGroupDTO bookGroupDTO = bookGroupDao.getBaseInfoBySceneId(sceneId); BookGroupDTO bookGroupDTO = new BookGroupDTO();
if (bookGroupDTO != null) { //自有码H5落地页配置公众号
BookAppletScene byBookGroupId = bookAppletSceneDao.getByBookGroupId(bookGroupDTO.getId()); ResourcePage resourcePage = resourcePageBiz.getPageByOfficialScene(sceneId);
bookGroupDTO.setAppletUrl(byBookGroupId == null ? "" : byBookGroupId.getAppletUrl()); if (null != resourcePage) {
bookGroupDTO.setUrl(bookGroupDTO.getGroupQrcodeLink()); if (null != resourcePage.getBookGroupId()) {
bookGroupDTO.setAppletId(byBookGroupId == null ? "" : byBookGroupId.getAppletId()); BookAppletScene appletScene = bookAppletSceneDao.getByBookGroupId(resourcePage.getBookGroupId());
//H5落地页是否开启小睿流程 bookGroupDTO.setAppletId(null == appletScene ? null : appletScene.getAppletId());
Integer resourcePageOpenRays = 0; BookGroupDTO groupDTO = bookGroupDao.getDTOById(resourcePage.getBookGroupId());
ResourcePage resourcePage = resourcePageBiz.getPageByBookGroupId(bookGroupDTO.getId()); bookGroupDTO.setUrl(null == groupDTO ? null : groupDTO.getGroupQrcodeLink());
if (null != resourcePage) { bookGroupDTO.setEntranceTitle(null == groupDTO ? null :groupDTO.getEntranceTitle());
resourcePageOpenRays = resourcePage.getOpenRays(); bookGroupDTO.setEntranceContent(null == groupDTO ? null :groupDTO.getEntranceContent());
} bookGroupDTO.setBookId(null == groupDTO ? null :groupDTO.getBookId());
bookGroupDTO.setResourcePageOpenRays(resourcePageOpenRays); bookGroupDTO.setId(resourcePage.getBookGroupId());
if (QrcodeJumpType.H5_OFFICIAL_ACCOUNTS.getCode().equals(bookGroupDTO.getJumpType())
|| resourcePageOpenRays == 1) { } else if (null != resourcePage.getSceneId()) {
//关注公众号后小睿入口默认文案 BookAppletScene appletScene = bookAppletSceneDao.getBySceneId(resourcePage.getSceneId());
if (StringUtil.isEmpty(bookGroupDTO.getEntranceTitle())) { bookGroupDTO.setAppletId(null == appletScene ? null : appletScene.getAppletId());
bookGroupDTO.setEntranceTitle("领取「完整版」本书服务"); QrcodeSceneDto qrcodeSceneDto = qrcodeSceneConsr.getById(resourcePage.getSceneId());
} bookGroupDTO.setUrl(null == qrcodeSceneDto ? null : qrcodeSceneDto.getUrl());
if (StringUtil.isEmpty(bookGroupDTO.getEntranceContent())) { bookGroupDTO.setBookId(null == qrcodeSceneDto ? null : qrcodeSceneDto.getAdviserBookId());
bookGroupDTO.setEntranceContent("我是书僮小睿,你的专属伴读助手,我将为你提供本书配套服务,定制本书阅读计划"); bookGroupDTO.setSceneId(resourcePage.getSceneId());
} }
//H5资源页均设为小睿类型
bookGroupDTO.setJoinGroupType(JoinGroupTypeEnum.XIAORUI.getCode());
bookGroupDTO.setResourcePageOpenRays(resourcePage.getOpenRays());
//关注公众号后小睿入口默认文案
bookGroupDTO.setEntranceTitle(StringUtil.isEmpty(bookGroupDTO.getEntranceTitle()) ?
"领取「完整版」本书服务" : bookGroupDTO.getEntranceTitle());
bookGroupDTO.setEntranceContent(StringUtil.isEmpty(bookGroupDTO.getEntranceContent()) ?
"我是书僮小睿,你的专属伴读助手,我将为你提供本书配套服务,定制本书阅读计划" : bookGroupDTO.getEntranceContent());
} else {
//群码、1v1码
BookGroupDTO groupDTO = bookGroupDao.getBaseInfoBySceneId(sceneId);
if (null != groupDTO) {
bookGroupDTO.setJoinGroupType(groupDTO.getJoinGroupType());
bookGroupDTO.setUrl(groupDTO.getGroupQrcodeLink());
bookGroupDTO.setId(groupDTO.getId());
BookAppletScene appletScene = bookAppletSceneDao.getByBookGroupId(groupDTO.getId());
bookGroupDTO.setAppletUrl(null == appletScene ? null : appletScene.getAppletUrl());
bookGroupDTO.setAppletId(null == appletScene ? null : appletScene.getAppletId());
} }
} }
return bookGroupDTO; return bookGroupDTO;
......
...@@ -156,19 +156,13 @@ public class ResourcePageBizImpl implements ResourcePageBiz { ...@@ -156,19 +156,13 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
Long sceneId = updateResourcePageVO.getSceneId(); Long sceneId = updateResourcePageVO.getSceneId();
ResourcePage resourcePage = resourcePageDao.getBySceneId(sceneId); ResourcePage resourcePage = resourcePageDao.getBySceneId(sceneId);
updateResourcePageVO.setOpenRays(updateResourcePageVO.getOpenRays() == null ? 0 : updateResourcePageVO.getOpenRays()); updateResourcePageVO.setOpenRays(updateResourcePageVO.getOpenRays() == null ? 0 : updateResourcePageVO.getOpenRays());
//预览二维码
String qrcodeLink = BookProps.getWechatDomain()+"/rayh5/book?sceneId="+sceneId;
if (null == resourcePage) { if (null == resourcePage) {
resourcePage = new ResourcePage(); resourcePage = new ResourcePage();
BeanUtils.copyProperties(updateResourcePageVO, resourcePage); BeanUtils.copyProperties(updateResourcePageVO, resourcePage);
String qrcodeUrl = QrcodeUtils.createWithMargin(qrcodeLink, 1); QrcodeSceneDto qrcodeSceneDto = qrcodeSceneConsr.getById(sceneId);
resourcePage.setQrcodeUrl(qrcodeUrl); resourcePage.setQrcodeUrl(null == qrcodeSceneDto?null:qrcodeSceneDto.getQrcodeUrl());
resourcePageDao.insert(resourcePage); resourcePageDao.insert(resourcePage);
} else { } else {
if (StringUtil.isEmpty(resourcePage.getQrcodeUrl())) {
String qrcodeUrl = QrcodeUtils.createWithMargin(qrcodeLink, 1);
resourcePage.setQrcodeUrl(qrcodeUrl);
}
resourcePage.setStyle(updateResourcePageVO.getStyle()); resourcePage.setStyle(updateResourcePageVO.getStyle());
resourcePage.setOpenRays(updateResourcePageVO.getOpenRays()); resourcePage.setOpenRays(updateResourcePageVO.getOpenRays());
resourcePage.setShowBook(updateResourcePageVO.getShowBook()); resourcePage.setShowBook(updateResourcePageVO.getShowBook());
...@@ -192,19 +186,13 @@ public class ResourcePageBizImpl implements ResourcePageBiz { ...@@ -192,19 +186,13 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
Long bookGroupId = updateResourcePageVO.getBookGroupId(); Long bookGroupId = updateResourcePageVO.getBookGroupId();
ResourcePage resourcePage = resourcePageDao.getByBookGroupId(bookGroupId); ResourcePage resourcePage = resourcePageDao.getByBookGroupId(bookGroupId);
updateResourcePageVO.setOpenRays(updateResourcePageVO.getOpenRays() == null ? 0 : updateResourcePageVO.getOpenRays()); updateResourcePageVO.setOpenRays(updateResourcePageVO.getOpenRays() == null ? 0 : updateResourcePageVO.getOpenRays());
//预览二维码
String qrcodeLink = BookProps.getWechatDomain()+"/rayh5/book?bookGroupId="+bookGroupId;
if (null == resourcePage) { if (null == resourcePage) {
resourcePage = new ResourcePage(); resourcePage = new ResourcePage();
BeanUtils.copyProperties(updateResourcePageVO, resourcePage); BeanUtils.copyProperties(updateResourcePageVO, resourcePage);
String qrcodeUrl = QrcodeUtils.createWithMargin(qrcodeLink, 1); BookGroupDTO dto = bookGroupDao.getDTOById(bookGroupId);
resourcePage.setQrcodeUrl(qrcodeUrl); resourcePage.setQrcodeUrl(null == dto? null: dto.getGroupQrcodeUrl());
resourcePageDao.insert(resourcePage); resourcePageDao.insert(resourcePage);
} else { } else {
if (StringUtil.isEmpty(resourcePage.getQrcodeUrl())) {
String qrcodeUrl = QrcodeUtils.createWithMargin(qrcodeLink, 1);
resourcePage.setQrcodeUrl(qrcodeUrl);
}
resourcePage.setStyle(updateResourcePageVO.getStyle()); resourcePage.setStyle(updateResourcePageVO.getStyle());
resourcePage.setOpenRays(updateResourcePageVO.getOpenRays()); resourcePage.setOpenRays(updateResourcePageVO.getOpenRays());
resourcePage.setShowBook(updateResourcePageVO.getShowBook()); resourcePage.setShowBook(updateResourcePageVO.getShowBook());
...@@ -243,19 +231,15 @@ public class ResourcePageBizImpl implements ResourcePageBiz { ...@@ -243,19 +231,15 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
resourcePage.setShowBook(1); resourcePage.setShowBook(1);
resourcePage.setCreateUser(adviserId); resourcePage.setCreateUser(adviserId);
resourcePage.setSceneId(sceneId); resourcePage.setSceneId(sceneId);
//预览二维码 //预览二维码,取原有二维码
String qrcodeLink;
if (null != bookGroupId) { if (null != bookGroupId) {
qrcodeLink = BookProps.getWechatDomain()+"/rayh5/book?bookGroupId="+bookGroupId; BookGroupDTO dto = bookGroupDao.getDTOById(bookGroupId);
} else { resourcePage.setQrcodeUrl(null == dto?null:dto.getGroupQrcodeUrl());
qrcodeLink = BookProps.getWechatDomain()+"/rayh5/book?sceneId="+sceneId; } else if (null != sceneId) {
QrcodeSceneDto qrcodeSceneDto = qrcodeSceneConsr.getById(sceneId);
resourcePage.setQrcodeUrl(null == qrcodeSceneDto?null:qrcodeSceneDto.getQrcodeUrl());
} }
resourcePageDao.insert(resourcePage); resourcePageDao.insert(resourcePage);
ThreadPoolUtils.OTHER_POOL.execute(()->{
String qrcodeUrl = QrcodeUtils.createWithMargin(qrcodeLink, 1);
resourcePage.setQrcodeUrl(qrcodeUrl);
resourcePageDao.update(resourcePage);
});
return resourcePage; return resourcePage;
} }
...@@ -1472,4 +1456,9 @@ public class ResourcePageBizImpl implements ResourcePageBiz { ...@@ -1472,4 +1456,9 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
return map; return map;
} }
@Override
public ResourcePage getPageByOfficialScene(Long officialSceneId) {
return resourcePageDao.getPageByOfficialScene(officialSceneId);
}
} }
...@@ -54,4 +54,12 @@ public interface ResourcePageDao extends BaseDao<ResourcePage>{ ...@@ -54,4 +54,12 @@ public interface ResourcePageDao extends BaseDao<ResourcePage>{
* * @param null * * @param null
*/ */
ResourcePage getBySceneId(Long sceneId); ResourcePage getBySceneId(Long sceneId);
/**
* 根据公众号二维码id查资源页
* @author:zhuyajie
* @date:2021/4/26 9:29
* * @param null
*/
ResourcePage getPageByOfficialScene(Long officialSceneId);
} }
\ No newline at end of file
...@@ -46,4 +46,9 @@ public class ResourcePageDaoImpl extends BaseDaoImpl<ResourcePage> implements Re ...@@ -46,4 +46,9 @@ public class ResourcePageDaoImpl extends BaseDaoImpl<ResourcePage> implements Re
public ResourcePage getBySceneId(Long sceneId) { public ResourcePage getBySceneId(Long sceneId) {
return getSessionTemplate().selectOne(getStatement("getBySceneId"), sceneId); return getSessionTemplate().selectOne(getStatement("getBySceneId"), sceneId);
} }
@Override
public ResourcePage getPageByOfficialScene(Long officialSceneId) {
return getSessionTemplate().selectOne(getStatement("getPageByOfficialScene"), officialSceneId);
}
} }
...@@ -125,4 +125,12 @@ ...@@ -125,4 +125,12 @@
limit 1 limit 1
</select> </select>
<select id="getPageByOfficialScene" parameterType="long" resultMap="ResourcePageMap">
select
id, book_group_id, style, show_book, open_rays, qrcode_url, scene_id, official_scene_id
from book.resource_page
where official_scene_id = #{officialSceneId}
limit 1
</select>
</mapper> </mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment