Commit 5d9a6342 by 田超

Merge branch 'fixbug/1028974' into 'master'

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

See merge request rays/pcloud-book!1284
parents 62fb117c e6db006b
......@@ -177,4 +177,12 @@ public interface ResourcePageBiz {
* * @param null
*/
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;
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.Maps;
import com.alibaba.fastjson.JSONObject;
import com.pcloud.analysisengine.browse.dto.GroupBrowseStatisticVO;
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.assist.dto.AssistTempletDTO;
import com.pcloud.appcenter.app.dto.AppRaysDTO;
import com.pcloud.appcenter.base.dto.AppPriceCacheDTO;
import com.pcloud.appcenter.cache.service.AppPriceCacheService;
import com.pcloud.audioapp.audioLesson.service.AudioLessonService;
......@@ -80,14 +75,6 @@ import com.pcloud.book.group.dao.CopyCipherRecordDao;
import com.pcloud.book.group.dao.GroupQrcodeDao;
import com.pcloud.book.group.dao.GroupQrcodeStyleDao;
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.TempletRelevanceDao;
import com.pcloud.book.group.dao.WeixinQrcodeDao;
......@@ -100,18 +87,23 @@ import com.pcloud.book.group.dto.AltIdAndNameDTO;
import com.pcloud.book.group.dto.AppStatisticsDTO;
import com.pcloud.book.group.dto.BackgroundGroupQrcodeDTO;
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.BookGroupCountDTO;
import com.pcloud.book.group.dto.BookGroupCreateDTO;
import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.BookGroupIdAndCountDTO;
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.BookGroupServeCountDTO;
import com.pcloud.book.group.dto.BookGroupServeDTO;
import com.pcloud.book.group.dto.BookGroupStatistic4AgentDTO;
import com.pcloud.book.group.dto.BookGroupStatisticDTO;
import com.pcloud.book.group.dto.BookGroupStatisticsDTO;
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.ChangeQrCodeTypeDto;
import com.pcloud.book.group.dto.ClassifyDTO;
......@@ -125,6 +117,7 @@ import com.pcloud.book.group.dto.GroupCipherDTO;
import com.pcloud.book.group.dto.GroupQrcodeDTO;
import com.pcloud.book.group.dto.GroupStoreMyPayDto;
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.LabelUserCountDTO;
import com.pcloud.book.group.dto.LargeTempletDTO;
......@@ -155,6 +148,7 @@ import com.pcloud.book.group.entity.GroupQrcodeStyle;
import com.pcloud.book.group.entity.JoinGroupCipher;
import com.pcloud.book.group.entity.PushBookGroupUpdate;
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.WeixinQrcodeGeneration;
import com.pcloud.book.group.entity.WxUserWechatRelevance;
......@@ -167,6 +161,7 @@ import com.pcloud.book.group.enums.LargeTempletEnum;
import com.pcloud.book.group.enums.QrcodeJumpType;
import com.pcloud.book.group.enums.UseTypeEnum;
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.tools.BookExcelReader;
import com.pcloud.book.group.tools.SendWeixinRequestTools;
......@@ -338,6 +333,11 @@ import java.util.concurrent.TimeUnit;
import java.util.function.Function;
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.ZipUtil;
import lombok.SneakyThrows;
......@@ -1428,29 +1428,48 @@ public class BookGroupBizImpl implements BookGroupBiz {
}
@Override
public BookGroupDTO getBaseInfoBySceneId( Long sceneId ) {
BookGroupDTO bookGroupDTO = bookGroupDao.getBaseInfoBySceneId(sceneId);
if (bookGroupDTO != null) {
BookAppletScene byBookGroupId = bookAppletSceneDao.getByBookGroupId(bookGroupDTO.getId());
bookGroupDTO.setAppletUrl(byBookGroupId == null ? "" : byBookGroupId.getAppletUrl());
bookGroupDTO.setUrl(bookGroupDTO.getGroupQrcodeLink());
bookGroupDTO.setAppletId(byBookGroupId == null ? "" : byBookGroupId.getAppletId());
//H5落地页是否开启小睿流程
Integer resourcePageOpenRays = 0;
ResourcePage resourcePage = resourcePageBiz.getPageByBookGroupId(bookGroupDTO.getId());
public BookGroupDTO getBaseInfoBySceneId(Long sceneId) {
BookGroupDTO bookGroupDTO = new BookGroupDTO();
//自有码H5落地页配置公众号
ResourcePage resourcePage = resourcePageBiz.getPageByOfficialScene(sceneId);
if (null != resourcePage) {
resourcePageOpenRays = resourcePage.getOpenRays();
}
bookGroupDTO.setResourcePageOpenRays(resourcePageOpenRays);
if (QrcodeJumpType.H5_OFFICIAL_ACCOUNTS.getCode().equals(bookGroupDTO.getJumpType())
|| resourcePageOpenRays == 1) {
if (null != resourcePage.getBookGroupId()) {
BookAppletScene appletScene = bookAppletSceneDao.getByBookGroupId(resourcePage.getBookGroupId());
bookGroupDTO.setAppletId(null == appletScene ? null : appletScene.getAppletId());
BookGroupDTO groupDTO = bookGroupDao.getDTOById(resourcePage.getBookGroupId());
bookGroupDTO.setUrl(null == groupDTO ? null : groupDTO.getGroupQrcodeLink());
bookGroupDTO.setEntranceTitle(null == groupDTO ? null :groupDTO.getEntranceTitle());
bookGroupDTO.setEntranceContent(null == groupDTO ? null :groupDTO.getEntranceContent());
bookGroupDTO.setBookId(null == groupDTO ? null :groupDTO.getBookId());
bookGroupDTO.setId(resourcePage.getBookGroupId());
} else if (null != resourcePage.getSceneId()) {
BookAppletScene appletScene = bookAppletSceneDao.getBySceneId(resourcePage.getSceneId());
bookGroupDTO.setAppletId(null == appletScene ? null : appletScene.getAppletId());
QrcodeSceneDto qrcodeSceneDto = qrcodeSceneConsr.getById(resourcePage.getSceneId());
bookGroupDTO.setUrl(null == qrcodeSceneDto ? null : qrcodeSceneDto.getUrl());
bookGroupDTO.setBookId(null == qrcodeSceneDto ? null : qrcodeSceneDto.getAdviserBookId());
bookGroupDTO.setSceneId(resourcePage.getSceneId());
}
//H5资源页均设为小睿类型
bookGroupDTO.setJoinGroupType(JoinGroupTypeEnum.XIAORUI.getCode());
bookGroupDTO.setResourcePageOpenRays(resourcePage.getOpenRays());
//关注公众号后小睿入口默认文案
if (StringUtil.isEmpty(bookGroupDTO.getEntranceTitle())) {
bookGroupDTO.setEntranceTitle("领取「完整版」本书服务");
}
if (StringUtil.isEmpty(bookGroupDTO.getEntranceContent())) {
bookGroupDTO.setEntranceContent("我是书僮小睿,你的专属伴读助手,我将为你提供本书配套服务,定制本书阅读计划");
}
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;
......
......@@ -156,19 +156,13 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
Long sceneId = updateResourcePageVO.getSceneId();
ResourcePage resourcePage = resourcePageDao.getBySceneId(sceneId);
updateResourcePageVO.setOpenRays(updateResourcePageVO.getOpenRays() == null ? 0 : updateResourcePageVO.getOpenRays());
//预览二维码
String qrcodeLink = BookProps.getWechatDomain()+"/rayh5/book?sceneId="+sceneId;
if (null == resourcePage) {
resourcePage = new ResourcePage();
BeanUtils.copyProperties(updateResourcePageVO, resourcePage);
String qrcodeUrl = QrcodeUtils.createWithMargin(qrcodeLink, 1);
resourcePage.setQrcodeUrl(qrcodeUrl);
QrcodeSceneDto qrcodeSceneDto = qrcodeSceneConsr.getById(sceneId);
resourcePage.setQrcodeUrl(null == qrcodeSceneDto?null:qrcodeSceneDto.getQrcodeUrl());
resourcePageDao.insert(resourcePage);
} else {
if (StringUtil.isEmpty(resourcePage.getQrcodeUrl())) {
String qrcodeUrl = QrcodeUtils.createWithMargin(qrcodeLink, 1);
resourcePage.setQrcodeUrl(qrcodeUrl);
}
resourcePage.setStyle(updateResourcePageVO.getStyle());
resourcePage.setOpenRays(updateResourcePageVO.getOpenRays());
resourcePage.setShowBook(updateResourcePageVO.getShowBook());
......@@ -192,19 +186,13 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
Long bookGroupId = updateResourcePageVO.getBookGroupId();
ResourcePage resourcePage = resourcePageDao.getByBookGroupId(bookGroupId);
updateResourcePageVO.setOpenRays(updateResourcePageVO.getOpenRays() == null ? 0 : updateResourcePageVO.getOpenRays());
//预览二维码
String qrcodeLink = BookProps.getWechatDomain()+"/rayh5/book?bookGroupId="+bookGroupId;
if (null == resourcePage) {
resourcePage = new ResourcePage();
BeanUtils.copyProperties(updateResourcePageVO, resourcePage);
String qrcodeUrl = QrcodeUtils.createWithMargin(qrcodeLink, 1);
resourcePage.setQrcodeUrl(qrcodeUrl);
BookGroupDTO dto = bookGroupDao.getDTOById(bookGroupId);
resourcePage.setQrcodeUrl(null == dto? null: dto.getGroupQrcodeUrl());
resourcePageDao.insert(resourcePage);
} else {
if (StringUtil.isEmpty(resourcePage.getQrcodeUrl())) {
String qrcodeUrl = QrcodeUtils.createWithMargin(qrcodeLink, 1);
resourcePage.setQrcodeUrl(qrcodeUrl);
}
resourcePage.setStyle(updateResourcePageVO.getStyle());
resourcePage.setOpenRays(updateResourcePageVO.getOpenRays());
resourcePage.setShowBook(updateResourcePageVO.getShowBook());
......@@ -243,19 +231,15 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
resourcePage.setShowBook(1);
resourcePage.setCreateUser(adviserId);
resourcePage.setSceneId(sceneId);
//预览二维码
String qrcodeLink;
//预览二维码,取原有二维码
if (null != bookGroupId) {
qrcodeLink = BookProps.getWechatDomain()+"/rayh5/book?bookGroupId="+bookGroupId;
} else {
qrcodeLink = BookProps.getWechatDomain()+"/rayh5/book?sceneId="+sceneId;
BookGroupDTO dto = bookGroupDao.getDTOById(bookGroupId);
resourcePage.setQrcodeUrl(null == dto?null:dto.getGroupQrcodeUrl());
} else if (null != sceneId) {
QrcodeSceneDto qrcodeSceneDto = qrcodeSceneConsr.getById(sceneId);
resourcePage.setQrcodeUrl(null == qrcodeSceneDto?null:qrcodeSceneDto.getQrcodeUrl());
}
resourcePageDao.insert(resourcePage);
ThreadPoolUtils.OTHER_POOL.execute(()->{
String qrcodeUrl = QrcodeUtils.createWithMargin(qrcodeLink, 1);
resourcePage.setQrcodeUrl(qrcodeUrl);
resourcePageDao.update(resourcePage);
});
return resourcePage;
}
......@@ -1472,4 +1456,9 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
return map;
}
@Override
public ResourcePage getPageByOfficialScene(Long officialSceneId) {
return resourcePageDao.getPageByOfficialScene(officialSceneId);
}
}
......@@ -54,4 +54,12 @@ public interface ResourcePageDao extends BaseDao<ResourcePage>{
* * @param null
*/
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
public ResourcePage getBySceneId(Long sceneId) {
return getSessionTemplate().selectOne(getStatement("getBySceneId"), sceneId);
}
@Override
public ResourcePage getPageByOfficialScene(Long officialSceneId) {
return getSessionTemplate().selectOne(getStatement("getPageByOfficialScene"), officialSceneId);
}
}
......@@ -125,4 +125,12 @@
limit 1
</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>
\ 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