Commit e30ee959 by 朱亚洁

feat:[1003936]自建码灵活配置方案

parent 27b75ceb
......@@ -749,6 +749,31 @@ public class BookDto extends BaseDto {
@ApiModelProperty("版次")
private String edition;
/**
* 小睿码跳转类型(默认进小睿小程序)
*/
private Integer jumpType;
/**
* 小睿码自定义跳转链接
*/
private String jumpUrl;
public Integer getJumpType() {
return jumpType;
}
public void setJumpType(Integer jumpType) {
this.jumpType = jumpType;
}
public String getJumpUrl() {
return jumpUrl;
}
public void setJumpUrl(String jumpUrl) {
this.jumpUrl = jumpUrl;
}
public String getEdition() {
return edition;
}
......@@ -2254,6 +2279,10 @@ public class BookDto extends BaseDto {
", desc='" + desc + '\'' +
", hasAnswer=" + hasAnswer +
", subscribeState=" + subscribeState +
", edition='" + edition + '\'' +
", jumpType=" + jumpType +
", jumpUrl='" + jumpUrl + '\'' +
", bookAdviserDto=" + bookAdviserDto +
'}';
}
}
......@@ -139,6 +139,18 @@ public class BookGroupDTO implements Serializable {
private String appletUrl;
private String appletId;
/**
* 小睿码跳转类型(默认进小睿小程序)
*/
private Integer jumpType;
public Integer getJumpType() {
return jumpType;
}
public void setJumpType(Integer jumpType) {
this.jumpType = jumpType;
}
public String getAppletId() {
return appletId;
......@@ -385,6 +397,9 @@ public class BookGroupDTO implements Serializable {
", joinGroupType=" + joinGroupType +
", sceneId=" + sceneId +
", bookName='" + bookName + '\'' +
", appletUrl='" + appletUrl + '\'' +
", appletId='" + appletId + '\'' +
", jumpType=" + jumpType +
'}';
}
}
\ No newline at end of file
package com.pcloud.book.group.enums;
/**
* 自建码跳转类型
* @author:zhuyajie
* @date:2020/12/1 15:29
* * @param null
*/
public enum QrcodeJumpType {
/**
* 进小程序-书僮小睿
*/
APPLET_XIAORUI(1, "书僮小睿"),
/**
* 进小程序-书晓
*/
APPLET_SHUXIAO(2, "书晓"),
/**
* 进h5-书僮小睿小程序码/跳转按钮
*/
H5_XIAORUI(3, "书僮小睿小程序码/跳转按钮"),
/**
* 进h5-企业微信活码
*/
H5_ENTERPRISE_WECHAT(4,"企业微信活码"),
/**
* 进h5-出版社公众号二维码
*/
H5_OFFICIAL_ACCOUNTS(5,"出版社公众号二维码"),
/**
* 进h5-自定义链接
*/
H5_SELF_URL(6,"自定义链接");
private final Integer code;
private final String name;
public Integer getCode() {
return code;
}
public String getName() {
return name;
}
private QrcodeJumpType(Integer code, String name) {
this.code = code;
this.name = name;
}
public static final Integer[] XIAORUI_JUMP_TYPES = {APPLET_XIAORUI.code, H5_XIAORUI.code};
}
......@@ -242,4 +242,8 @@ public interface BookGroupService {
@ApiOperation("体验网站获取出版社下小睿社群码")
@GetMapping("getRayGroupQrcode4Website")
ResponseEntity<ResponseDto<String>>getRayGroupQrcode4Website(@RequestParam(value = "agentId", required = false) Long agentId);
@ApiOperation("获取社群书信息-渠道用")
@GetMapping("getBookNameByBookGroupId4Channel")
ResponseEntity<ResponseDto<Map<String, Object>>> getBookNameByBookGroupId4Channel(@RequestParam("bookGroupId") Long bookGroupId);
}
......@@ -327,7 +327,7 @@ public class BookAppealBizImpl implements BookAppealBiz {
// 社群书申诉创建社群码
if (null != bookAppealDto && bookAppealDto.getIsBookGroup()) {
bookGroupBiz.recoverByBookId(bookId, channelId, appealAdviserId);
bookGroupBiz.getBookGroupInfoByBookId(bookId, channelId, appealAdviserId, bookAppealDto.getAddType(), null, null);
bookGroupBiz.getBookGroupInfoByBookId(bookId, channelId, appealAdviserId, bookAppealDto.getAddType(), null, null, null,null);
}
// 修改申诉状态
this.updateAppealState(auditUser, bookMainAdviserDto.getAppealState(), bookMainAdviserDto.getVersion(),
......
......@@ -2530,11 +2530,12 @@ public class BookBizImpl implements BookBiz {
appletId = createOneAppletId();
applet = bookAppletSceneDao.getByAppletId(appletId);
}
String url = wechatConsr.create4MiniApp(accoutnSettingId, appletId, null, page);
//直接跳小程序,不创建小程序码
// String url = wechatConsr.create4MiniApp(accoutnSettingId, appletId, null, page);
BookAppletScene bookAppletScene = new BookAppletScene();
bookAppletScene.setRaysClassifyId(raysClassifyId);
bookAppletScene.setAppletId(appletId);
bookAppletScene.setAppletUrl(url);
bookAppletScene.setAppletUrl(null);
bookAppletScene.setSceneId(sceneId);
bookAppletScene.setAccountSettingId(accoutnSettingId);
list.add(bookAppletScene);
......@@ -2715,7 +2716,7 @@ public class BookBizImpl implements BookBiz {
if(null != bookAdviserErp.getIsOpenRobotProcess() && bookAdviserErp.getIsOpenRobotProcess() == 1){
// 小睿书
BookGroupDTO bookGroupDTO = bookGroupBiz.getBookGroupInfoByBookId(book.getBookId(), book.getChannelId(), book.getCreatedUser(), null, null, 4);
BookGroupDTO bookGroupDTO = bookGroupBiz.getBookGroupInfoByBookId(book.getBookId(), book.getChannelId(), book.getCreatedUser(), null, null, 4, null,null);
BookGroup bookGroup = new BookGroup();
bookGroup.setId(bookGroupDTO.getId());
bookGroup.setAddFriendGuide("嗨,你好!我是您的专属学习助手。我会根据您的需求量身定制学习计划与学习内容,提高您的学习效率,提升您的语文学习能力");
......@@ -2805,7 +2806,7 @@ public class BookBizImpl implements BookBiz {
// 正常创建二维码
if(book.getIsBookGroup()){
// 小睿二维码
BookGroupDTO bookGroupDTO = bookGroupBiz.getBookGroupInfoByBookId(book.getBookId(), book.getChannelId(), book.getCreatedUser(), null, null, 4);
BookGroupDTO bookGroupDTO = bookGroupBiz.getBookGroupInfoByBookId(book.getBookId(), book.getChannelId(), book.getCreatedUser(), null, null, 4,null,null);
BookGroup bookGroup = new BookGroup();
bookGroup.setId(bookGroupDTO.getId());
......@@ -3659,7 +3660,7 @@ public class BookBizImpl implements BookBiz {
if (book.getIsBookGroup() != null && book.getIsBookGroup()) {
// 自动创建二维码
// 小睿二维码
BookGroupDTO bookGroupDTO = bookGroupBiz.getBookGroupInfoByBookId(book.getBookId(), book.getChannelId(), book.getCreatedUser(), null, null, 4);
BookGroupDTO bookGroupDTO = bookGroupBiz.getBookGroupInfoByBookId(book.getBookId(), book.getChannelId(), book.getCreatedUser(), null, null, 4,null,null);
BookGroup bookGroup = new BookGroup();
bookGroup.setId(bookGroupDTO.getId());
......
......@@ -91,7 +91,8 @@ public interface BookGroupBiz {
* @param adviserId 编辑ID
* @throws BizException
*/
BookGroup createBookGroupAfterCreateBook(Long bookId, Long channelId, Long adviserId, Integer addType, Long sceneId, Integer joinGroupType) throws BizException;
BookGroup createBookGroupAfterCreateBook(Long bookId, Long channelId, Long adviserId, Integer addType, Long sceneId, Integer joinGroupType,
Integer jumpType, String jumpUrl) throws BizException;
/**
* 获取社群书群二维码信息
......@@ -138,7 +139,8 @@ public interface BookGroupBiz {
* @return
* @throws BizException
*/
BookGroupDTO getBookGroupInfoByBookId(Long bookId, Long channelId, Long adviserId, Integer addType, Long sceneId, Integer joinGroupType) throws BizException;
BookGroupDTO getBookGroupInfoByBookId(Long bookId, Long channelId, Long adviserId, Integer addType, Long sceneId, Integer joinGroupType,
Integer jumpType, String jumpUrl) throws BizException;
/**
* 更新群二维码信息
......
......@@ -141,6 +141,7 @@ import com.pcloud.book.group.enums.ChangeOriginTypeEnum;
import com.pcloud.book.group.enums.CipherTypeEnum;
import com.pcloud.book.group.enums.JoinGroupTypeEnum;
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.set.GroupSet;
......@@ -539,7 +540,11 @@ public class BookGroupBizImpl implements BookGroupBiz {
@Override
@ParamLog("创建社群书时生成群二维码")
@Transactional(rollbackFor = Exception.class)
public BookGroup createBookGroupAfterCreateBook( Long bookId, Long channelId, Long adviserId, Integer addType, Long sceneId, Integer joinGroupType ) throws BizException {
public BookGroup createBookGroupAfterCreateBook( Long bookId, Long channelId, Long adviserId, Integer addType, Long sceneId, Integer joinGroupType,
Integer jumpType, String jumpUrl) throws BizException {
if (QrcodeJumpType.H5_SELF_URL.getCode().equals(jumpType) && StringUtil.isEmpty(jumpUrl)){
throw new BookBizException(BookBizException.PARAM_IS_NULL,"请配置自定义链接");
}
BookGroup bookGroup = new BookGroup();
bookGroup.setBookId(bookId);
bookGroup.setChannelId(channelId);
......@@ -554,7 +559,14 @@ public class BookGroupBizImpl implements BookGroupBiz {
if (JoinGroupTypeEnum.ROBOT.getCode().equals(joinGroupType)) {
bookGroup.setBookGroupCipher(getBookGroupCipher());
}
if (addType != null && addType == 1) {
if (JoinGroupTypeEnum.XIAORUI.getCode().equals(joinGroupType)){
jumpType = null == jumpType ? QrcodeJumpType.APPLET_XIAORUI.getCode():jumpType;
bookGroup.setJumpType(jumpType);
bookGroup.setJumpUrl(jumpUrl);
}
//小睿码创建公众号二维码
Boolean bookGroupAccountsQrcode = JoinGroupTypeEnum.XIAORUI.getCode().equals(joinGroupType) && QrcodeJumpType.H5_OFFICIAL_ACCOUNTS.getCode().equals(jumpType);
if ((addType != null && addType == 1) || bookGroupAccountsQrcode) {
GroupQrcodeVO groupQrcodeVO;
if (sceneId != null) {
//将图书下某个二维码替换成社群码
......@@ -571,14 +583,14 @@ public class BookGroupBizImpl implements BookGroupBiz {
bookGroupDao.insert(bookGroup);
BookGroup group = new BookGroup();
group.setId(bookGroup.getId());
group.setGroupQrcodeLink(this.getGroupQrcodeLink(bookGroup.getId(), adviserId, joinGroupType));
group.setGroupQrcodeLink(this.getGroupQrcodeLink(bookGroup.getId(), adviserId, joinGroupType, jumpType, jumpUrl));
if (joinGroupType != null) {
group.setJoinGroupType(joinGroupType);
}
bookGroupDao.update(group);
} else {
bookGroupDao.insert(bookGroup);
String groupQrcodeLink = this.getGroupQrcodeLink(bookGroup.getId(), adviserId, joinGroupType);
String groupQrcodeLink = this.getGroupQrcodeLink(bookGroup.getId(), adviserId, joinGroupType, jumpType, jumpUrl);
String groupQrcodeUrl = QrcodeUtils.createWithMargin(groupQrcodeLink, 1);
BookGroup group = new BookGroup();
group.setId(bookGroup.getId());
......@@ -741,13 +753,14 @@ public class BookGroupBizImpl implements BookGroupBiz {
* 获取社群书群二维码信息
*/
@Override
public BookGroupDTO getBookGroupInfoByBookId( Long bookId, Long channelId, Long adviserId, Integer addType, Long sceneId, Integer joinGroupType ) throws BizException {
public BookGroupDTO getBookGroupInfoByBookId( Long bookId, Long channelId, Long adviserId, Integer addType, Long sceneId, Integer joinGroupType,
Integer jumpType, String jumpUrl) throws BizException {
BookGroupDTO bookGroupDTO = null;
if (!bookId.equals(0L)) {
bookGroupDTO = bookGroupDao.getDTOByBookId(bookId, channelId, adviserId);
}
if (null == bookGroupDTO) {
BookGroup bookGroup = this.createBookGroupAfterCreateBook(bookId, channelId, adviserId, addType, sceneId, joinGroupType);
BookGroup bookGroup = this.createBookGroupAfterCreateBook(bookId, channelId, adviserId, addType, sceneId, joinGroupType, jumpType, jumpUrl);
bookGroupDTO = new BookGroupDTO();
bookGroupDTO.setId(bookGroup.getId());
bookGroupDTO.setBookId(bookId);
......@@ -767,7 +780,7 @@ public class BookGroupBizImpl implements BookGroupBiz {
}
group.setSceneId(groupQrcodeVO.getSceneId());
group.setGroupQrcodeUrl(groupQrcodeVO.getQrcodeUrl());
group.setGroupQrcodeLink(this.getGroupQrcodeLink(bookGroupDTO.getId(), adviserId, joinGroupType));
group.setGroupQrcodeLink(this.getGroupQrcodeLink(bookGroupDTO.getId(), adviserId, joinGroupType, jumpType, jumpUrl));
bookGroupDao.update(group);
// 展示返回最新生成的
bookGroupDTO.setGroupQrcodeUrl(groupQrcodeVO.getQrcodeUrl());
......@@ -780,7 +793,7 @@ public class BookGroupBizImpl implements BookGroupBiz {
final Boolean haveQrcode = this.isHaveQrcode(bookId, channelId, adviserId);
// 如果之前是公众号二维码则要重新生成自有码
if (!haveQrcode) {
String groupQrcodeLink = this.getGroupQrcodeLink(bookGroupDTO.getId(), adviserId, joinGroupType);
String groupQrcodeLink = this.getGroupQrcodeLink(bookGroupDTO.getId(), adviserId, joinGroupType, jumpType, jumpUrl);
String groupQrcodeUrl = QrcodeUtils.createWithMargin(groupQrcodeLink, 1);
group.setGroupQrcodeUrl(groupQrcodeUrl);
group.setGroupQrcodeLink(groupQrcodeLink);
......@@ -840,12 +853,23 @@ public class BookGroupBizImpl implements BookGroupBiz {
t-1,自建码,sceneId
t-2,社群码,bookGroupId
*/
private String getGroupQrcodeLink(Long bookGroupId, Long adviserId, Integer joinGroupType) {
private String getGroupQrcodeLink(Long bookGroupId, Long adviserId, Integer joinGroupType, Integer jumpType, String jumpUrl) {
Long agentId = adviserConsr.getAgentIdByAdviser(adviserId);
String url;
if (JoinGroupTypeEnum.XIAORUI.getCode().equals(joinGroupType)){
//小睿码t-3
url = bookGroupQrcodeDomain + "/t-3/" + agentId + "/" + bookGroupId;
if (QrcodeJumpType.APPLET_SHUXIAO.getCode().equals(jumpType)) {
//书晓t-4
url = bookGroupQrcodeDomain + "/t-4/" + agentId + "/" + bookGroupId;
} else if (QrcodeJumpType.H5_SELF_URL.getCode().equals(jumpType)) {
//自定义链接
url = UrlUtils.getShortUrl4Own(jumpUrl);
} else if (QrcodeJumpType.H5_XIAORUI.getCode().equals(jumpType)) {
//书僮小睿小程序码/跳转按钮
url = bookGroupQrcodeDomain + "/t-5/" + agentId + "/" + bookGroupId;
} else {
//小睿码t-3
url = bookGroupQrcodeDomain + "/t-3/" + agentId + "/" + bookGroupId;
}
} else {
url = bookGroupQrcodeDomain + "/t-2/" + agentId + "/" + bookGroupId;
}
......@@ -926,40 +950,62 @@ public class BookGroupBizImpl implements BookGroupBiz {
if (!bookGroup.getJoinGroupType().equals(group.getJoinGroupType())) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "社群码前后类型不一致!!");
}
checkShortBookName(bookGroup);
Long productId = group.getProductId();
if (null == group.getProductId()) {
AddAppProductParamDTO addAppProductParamDTO = new AddAppProductParamDTO();
addAppProductParamDTO.setAppProCode(ProductTypeConstant.BOOK_GROUP);
addAppProductParamDTO.setAppProName(bookGroup.getGroupQrcodeName());
addAppProductParamDTO.setCoverImg(DEFAULT_PRODUCT_COVER_IMG);
addAppProductParamDTO.setPartyId(group.getCreateUser());
addAppProductParamDTO.setChannelId(group.getChannelId());
Long agentId = adviserConsr.getAgentIdByAdviser(group.getCreateUser());
addAppProductParamDTO.setAgentId(agentId);
Product product = ResponseHandleUtil.parseResponse(productService.postAddBookGroupProduct(addAppProductParamDTO), Product.class);
if (null == product) {
throw new BookBizException(BookBizException.DB_DML_FAIL, "操作失败!");
}
bookGroup.setProductId(product.getProductId());
productId = product.getProductId();
} else {
UpdateAppProductParamDTO updateAppProductParamDTO = new UpdateAppProductParamDTO();
updateAppProductParamDTO.setProductId(group.getProductId());
updateAppProductParamDTO.setChannelId(group.getChannelId());
updateAppProductParamDTO.setAppProName(bookGroup.getGroupQrcodeName());
ResponseHandleUtil.parseResponse(productService.postUpdateBookGroupProduct(updateAppProductParamDTO), Product.class);
if (JoinGroupTypeEnum.ROBOT.getCode().equals(bookGroup.getJoinGroupType())
|| JoinGroupTypeEnum.AI_ROBOT.getCode().equals(bookGroup.getJoinGroupType())) {
checkShortBookName(bookGroup);
}
if (JoinGroupTypeEnum.AI_ROBOT.getCode().equals(bookGroup.getJoinGroupType())) {
this.updateFriendGuide(bookGroup.getId(), bookGroup.getFriendGuideList(), group.getCreateUser());
}
if (JoinGroupTypeEnum.GROUP_QRCODE.getCode().equals(bookGroup.getJoinGroupType())) {
Long productId = group.getProductId();
if (null == group.getProductId()) {
AddAppProductParamDTO addAppProductParamDTO = new AddAppProductParamDTO();
addAppProductParamDTO.setAppProCode(ProductTypeConstant.BOOK_GROUP);
addAppProductParamDTO.setAppProName(bookGroup.getGroupQrcodeName());
addAppProductParamDTO.setCoverImg(DEFAULT_PRODUCT_COVER_IMG);
addAppProductParamDTO.setPartyId(group.getCreateUser());
addAppProductParamDTO.setChannelId(group.getChannelId());
Long agentId = adviserConsr.getAgentIdByAdviser(group.getCreateUser());
addAppProductParamDTO.setAgentId(agentId);
Product product = ResponseHandleUtil.parseResponse(productService.postAddBookGroupProduct(addAppProductParamDTO), Product.class);
if (null == product) {
throw new BookBizException(BookBizException.DB_DML_FAIL, "操作失败!");
}
bookGroup.setProductId(product.getProductId());
productId = product.getProductId();
} else {
UpdateAppProductParamDTO updateAppProductParamDTO = new UpdateAppProductParamDTO();
updateAppProductParamDTO.setProductId(group.getProductId());
updateAppProductParamDTO.setChannelId(group.getChannelId());
updateAppProductParamDTO.setAppProName(bookGroup.getGroupQrcodeName());
ResponseHandleUtil.parseResponse(productService.postUpdateBookGroupProduct(updateAppProductParamDTO), Product.class);
}
//上架
if (null != productId) {
Long channelId = bookGroup.getChannelId() == null ? group.getChannelId() : bookGroup.getChannelId();
productConsr.productAutoOnShelves(channelId, Arrays.asList(productId));
}
}
//二维码跳转链接
String groupQrcodeLink = group.getGroupQrcodeLink();
//链接是公众号,从渠道中心取原始跳转链接
if (null != group.getSceneId()){
QrcodeSceneDto qrcodeSceneDto = qrcodeSceneConsr.getById(group.getSceneId());
if (null != qrcodeSceneDto && !StringUtil.isEmpty(qrcodeSceneDto.getUrl())) {
groupQrcodeLink = qrcodeSceneDto.getUrl();
}
}
//设置社群码样式
//每次更新之前都重新生成
String qrcode=QrcodeUtils.createWithMargin(group.getGroupQrcodeLink(), 1);
String qrcode = QrcodeUtils.createWithMargin(groupQrcodeLink, 1);
groupQrcodeStyleDao.delQrcodeStyle(bookGroup.getId());
if(null!=bookGroup.getGroupQrcodeStyle()){
GroupQrcodeStyle groupQrcodeStyle = bookGroup.getGroupQrcodeStyle();
groupQrcodeStyle.setBookGroupId(bookGroup.getId());
groupQrcodeStyleDao.insert(groupQrcodeStyle);
//如果有颜色样式
qrcode = createQrcode(groupQrcodeStyle, group.getGroupQrcodeLink());
qrcode = createQrcode(groupQrcodeStyle, groupQrcodeLink);
}
//如果有图片样式
if(null!=bookGroup.getBackgroundType() && bookGroup.getBackgroundType()>0){
......@@ -968,14 +1014,6 @@ public class BookGroupBizImpl implements BookGroupBiz {
bookGroup.setGroupQrcodeUrl(qrcode);
bookGroup.setBackgroundType(bookGroup.getBackgroundType());
bookGroupDao.update(bookGroup);
//上架
if (null != productId) {
Long channelId = bookGroup.getChannelId() == null ? group.getChannelId() : bookGroup.getChannelId();
productConsr.productAutoOnShelves(channelId, Arrays.asList(productId));
}
if (JoinGroupTypeEnum.AI_ROBOT.getCode().equals(bookGroup.getJoinGroupType())) {
this.updateFriendGuide(bookGroup.getId(), bookGroup.getFriendGuideList(), group.getCreateUser());
}
}
/**
......@@ -4466,8 +4504,7 @@ public class BookGroupBizImpl implements BookGroupBiz {
String qrCodeUrl = qrcodeSceneDto.getQrcodeUrl();
String qrcodeType = qrcodeSceneDto.getQrcodeType();
//先创建
BookGroup bookGroup = this.createBookGroupAfterCreateBook(qrcodeSceneDto.getAdviserBookId(), qrcodeSceneDto.getChannelPartyId(), qrcodeSceneDto.getCreatedByUserLogin(), 2, sceneId,
JoinGroupTypeEnum.ROBOT.getCode());
BookGroup bookGroup = this.createBookGroupAfterCreateBook(qrcodeSceneDto.getAdviserBookId(), qrcodeSceneDto.getChannelPartyId(), qrcodeSceneDto.getCreatedByUserLogin(), 2, sceneId, JoinGroupTypeEnum.ROBOT.getCode(), null, null);
//公众号码才需要覆盖sceneId
bookGroup.setGroupQrcodeUrl(qrCodeUrl);
if (ChannelConstants.QrCodeType.WECHAT.getName().equals(qrcodeType)) {
......@@ -4513,7 +4550,7 @@ public class BookGroupBizImpl implements BookGroupBiz {
return null;
}
//创建新的社群码
BookGroup bookGroup = this.createBookGroupAfterCreateBook(bookInfo.getBookId(), bookInfo.getChannelId(), bookInfo.getCreateUser(), 2, sceneId, JoinGroupTypeEnum.ROBOT.getCode());
BookGroup bookGroup = this.createBookGroupAfterCreateBook(bookInfo.getBookId(), bookInfo.getChannelId(), bookInfo.getCreateUser(), 2, sceneId, JoinGroupTypeEnum.ROBOT.getCode(), null, null);
//替换qrCodeUrl
bookGroup.setGroupQrcodeUrl(bookInfo.getGroupQrcodeUrl());
bookGroup.setSceneId(sceneId);
......@@ -4637,7 +4674,7 @@ public class BookGroupBizImpl implements BookGroupBiz {
return bookGroupDTO;
}
BookGroup bookGroup = this.createBookGroupAfterCreateBook(bookId, channelId, adviserId, addType, null, joinGroupType);
BookGroup bookGroup = this.createBookGroupAfterCreateBook(bookId, channelId, adviserId, addType, null, joinGroupType, null, null);
bookGroup.setGroupQrcodeName(erpGroupQrcodeDTO.getGroupQrcodeName());
bookGroup.setIsInviteGroup(true);
if (JoinGroupTypeEnum.ROBOT.getCode().equals(joinGroupType)) {
......@@ -4908,7 +4945,7 @@ public class BookGroupBizImpl implements BookGroupBiz {
@ParamLog("生成小程序码")
@Override
public void createBookGroupAppletUrl( Long bookGroupId, Long bookId, Long channelId, Long adviserId ) {
public void createBookGroupAppletUrl(Long bookGroupId, Long bookId, Long channelId, Long adviserId ) {
BookAppletScene appletScene = bookAppletSceneDao.getByBookGroupId(bookGroupId);
if (null != appletScene) {
LOGGER.info("小程序码已存在, bookGroupId"+bookGroupId);
......@@ -4930,12 +4967,13 @@ public class BookGroupBizImpl implements BookGroupBiz {
applet = bookAppletSceneDao.getByAppletId(appletId);
}
Long accoutnSettingId = getAccountSettingByAdviser(adviserId);
String url = wechatConsr.create4MiniApp(accoutnSettingId, appletId, null, page);
//直接跳小程序,不创建小程序码
// String url = wechatConsr.create4MiniApp(accoutnSettingId, appletId, null, page);
BookAppletScene bookAppletScene = new BookAppletScene();
bookAppletScene.setBookGroupId(bookGroupId);
bookAppletScene.setRaysClassifyId(raysClassifyId);
bookAppletScene.setAppletId(appletId);
bookAppletScene.setAppletUrl(url);
bookAppletScene.setAppletUrl(null);
bookAppletScene.setAccountSettingId(accoutnSettingId);
bookAppletSceneDao.insert(bookAppletScene);
}
......@@ -5386,7 +5424,7 @@ public class BookGroupBizImpl implements BookGroupBiz {
@Override
public Long createSingleBookGroup(BookGroup bookGroup, Long adviserId) {
BookGroup bookGroupNew = this.createBookGroupAfterCreateBook(0L, 0L, adviserId, 2, null,
JoinGroupTypeEnum.GROUP_QRCODE.getCode());
JoinGroupTypeEnum.GROUP_QRCODE.getCode(), null, null);
bookGroup.setId(bookGroupNew.getId());
bookGroup.setSingleGroup(true);
this.updateBookGroup(bookGroup);
......
......@@ -301,6 +301,30 @@ public class BookGroupDTO extends BaseDto {
// 读者量、扫码人数
private Integer userCount;
/**
* 小睿码跳转类型(默认进小睿小程序)
*/
private Integer jumpType;
/**
* 小睿码自定义跳转链接
*/
private String jumpUrl;
public Integer getJumpType() {
return jumpType;
}
public void setJumpType(Integer jumpType) {
this.jumpType = jumpType;
}
public String getJumpUrl() {
return jumpUrl;
}
public void setJumpUrl(String jumpUrl) {
this.jumpUrl = jumpUrl;
}
/**
* 社群码样式
......@@ -934,8 +958,23 @@ public class BookGroupDTO extends BaseDto {
", areaLabelName='" + areaLabelName + '\'' +
", friendGuideList=" + friendGuideList +
", appletUrl='" + appletUrl + '\'' +
", singleGroup=" + singleGroup +
", relatedBookGroupId=" + relatedBookGroupId +
", groupQrcodeLink='" + groupQrcodeLink + '\'' +
", groupQrcodePageNum=" + groupQrcodePageNum +
", groupQrcodeLocationId=" + groupQrcodeLocationId +
", groupQrcodeRemark='" + groupQrcodeRemark + '\'' +
", locationName='" + locationName + '\'' +
", qrcodeType='" + qrcodeType + '\'' +
", scanCount=" + scanCount +
", userCount=" + userCount +
", jumpType=" + jumpType +
", jumpUrl='" + jumpUrl + '\'' +
", openWeapp=" + openWeapp +
", adviserId=" + adviserId +
", adviserPhone='" + adviserPhone + '\'' +
", bookAdviserId=" + bookAdviserId +
", appletId='" + appletId + '\'' +
'}';
}
}
......@@ -184,6 +184,30 @@ public class BookGroup extends BaseEntity {
* 社群码链接
*/
private String groupQrcodeLink;
/**
* 小睿码跳转类型(默认进小睿小程序)
*/
private Integer jumpType;
/**
* 小睿码自定义跳转链接
*/
private String jumpUrl;
public Integer getJumpType() {
return jumpType;
}
public void setJumpType(Integer jumpType) {
this.jumpType = jumpType;
}
public String getJumpUrl() {
return jumpUrl;
}
public void setJumpUrl(String jumpUrl) {
this.jumpUrl = jumpUrl;
}
/**
* 社群码样式
......@@ -530,6 +554,8 @@ public class BookGroup extends BaseEntity {
", groupQrcodeLocationId=" + groupQrcodeLocationId +
", groupQrcodeRemark='" + groupQrcodeRemark + '\'' +
", groupQrcodeLink='" + groupQrcodeLink + '\'' +
", jumpType=" + jumpType +
", jumpUrl='" + jumpUrl + '\'' +
'}';
}
}
\ No newline at end of file
......@@ -88,10 +88,16 @@ public interface BookGroupFacade {
@ApiImplicitParam(name = "channelId", value = "运营ID", dataType = "long", paramType = "query")
})
@RequestMapping(value = "getBookGroupInfoByBookId", method = RequestMethod.GET)
ResponseDto<?> getBookGroupInfoByBookId(@RequestHeader("token") String token, @RequestParam(value = "bookId", required = false) Long bookId,
ResponseDto<?> getBookGroupInfoByBookId(
@RequestHeader("token") String token,
@RequestParam(value = "bookId", required = false) Long bookId,
@RequestParam(value = "channelId", required = false) Long channelId,
@RequestParam(value = "addType", required = false) Integer addType, @RequestParam(value = "sceneId", required = false) Long sceneId,
@RequestParam(value = "joinGroupType", required = false) Integer joinGroupType) throws BizException, PermissionException, JsonParseException;
@RequestParam(value = "addType", required = false) Integer addType,
@RequestParam(value = "sceneId", required = false) Long sceneId,
@RequestParam(value = "joinGroupType", required = false) Integer joinGroupType,
@RequestParam(value = "jumpType", required = false) Integer jumpType,
@RequestParam(value = "jumpUrl", required = false) String jumpUrl
) throws BizException, PermissionException, JsonParseException;
@ApiOperation(value = "是否有社群码", httpMethod = "GET")
@ApiImplicitParams({
......
......@@ -152,7 +152,9 @@ public class BookGroupFacadeImpl implements BookGroupFacade {
@RequestParam(value = "channelId", required = false) Long channelId,
@RequestParam(value = "addType", required = false) Integer addType,
@RequestParam(value = "sceneId", required = false) Long sceneId,
@RequestParam(value = "joinGroupType", required = false) Integer joinGroupType
@RequestParam(value = "joinGroupType", required = false) Integer joinGroupType,
@RequestParam(value = "jumpType", required = false) Integer jumpType,
@RequestParam(value = "jumpUrl", required = false) String jumpUrl
) throws BizException, PermissionException, JsonParseException {
if (null == bookId || null == channelId) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "参数有误!");
......@@ -161,7 +163,7 @@ public class BookGroupFacadeImpl implements BookGroupFacade {
return new ResponseDto<>();
}
Long adviserId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
return new ResponseDto<>(bookGroupBiz.getBookGroupInfoByBookId(bookId, channelId, adviserId, addType, sceneId, joinGroupType));
return new ResponseDto<>(bookGroupBiz.getBookGroupInfoByBookId(bookId, channelId, adviserId, addType, sceneId, joinGroupType, jumpType, jumpUrl));
}
/**
......
......@@ -423,4 +423,10 @@ public class BookGroupServiceImpl implements BookGroupService {
BookGroupDTO bookGroupDTO = bookGroupBiz.getMaxScanCountBookGroup(agentId, JoinGroupTypeEnum.XIAORUI.getCode());
return ResponseHandleUtil.toResponse(bookGroupDTO==null?"":bookGroupDTO.getGroupQrcodeUrl());
}
@Override
@GetMapping("getBookNameByBookGroupId4Channel")
public ResponseEntity<ResponseDto<Map<String, Object>>> getBookNameByBookGroupId4Channel(@RequestParam("bookGroupId") Long bookGroupId){
return ResponseHandleUtil.toResponse(bookGroupBiz.getBookNameByBookGroupId(bookGroupId));
}
}
......@@ -638,7 +638,8 @@
WHEN 3 THEN srk.id
WHEN 4 THEN bgs.id
else null END,0)=0,0,1)as has_serve, A.IS_PRINT isPrint, G.open_weapp openWeapp,
G.single_group singleGroup, G.related_book_group_id relatedBookGroupId, G.group_qrcode_link groupQrcodeLink
G.single_group singleGroup, G.related_book_group_id relatedBookGroupId, G.group_qrcode_link groupQrcodeLink,
G.jump_type jumpType, G.jump_url jumpUrl
FROM
book_group G
LEFT JOIN BOOK_ADVISER A ON G.BOOK_ID = A.BOOK_ID AND G.CHANNEL_ID = A.CHANNEL_ID AND G.CREATE_USER = A.ADVISER_ID
......
......@@ -37,6 +37,8 @@
<result column="group_qrcode_remark" property="groupQrcodeRemark" jdbcType="VARCHAR"/>
<result column="group_qrcode_link" property="groupQrcodeLink" jdbcType="VARCHAR"/>
<result column="back_ground_type" property="backgroundType" jdbcType="INTEGER" />
<result column="jump_type" property="jumpType" jdbcType="INTEGER"/>
<result column="jump_url" property="jumpUrl" jdbcType="VARCHAR"/>
</resultMap>
<resultMap id="BookGroupDTO" type="com.pcloud.book.group.dto.BookGroupDTO">
......@@ -80,6 +82,8 @@
<result column="group_qrcode_remark" property="groupQrcodeRemark" jdbcType="VARCHAR"/>
<result column="group_qrcode_link" property="groupQrcodeLink" jdbcType="VARCHAR"/>
<result column="back_ground_type" property="backgroundType" jdbcType="INTEGER" />
<result column="jump_type" property="jumpType" jdbcType="INTEGER"/>
<result column="jump_url" property="jumpUrl" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
......@@ -89,7 +93,7 @@
update_time, is_delete, is_show_book_name,join_group_type,add_friend_guide,customer_service_name,
is_invite_group,book_group_cipher, last_push_update_time, is_some_update, agent_id, belong_special_agent,
short_book_name, open_weapp, single_group, related_book_group_id,group_qrcode_page_num,group_qrcode_location_id,group_qrcode_remark,
group_qrcode_link,back_ground_type
group_qrcode_link,back_ground_type, jump_type, jump_url
</sql>
<select id="getById" resultMap="BaseResultMap" parameterType="java.lang.Long">
......@@ -269,6 +273,8 @@
is_some_update,
agent_id,
group_qrcode_link,
jump_type,
jump_url,
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
#{bookId,jdbcType=BIGINT},
......@@ -295,6 +301,8 @@
#{isSomeUpdate,jdbcType=BOOLEAN},
#{agentId,jdbcType=BIGINT},
#{groupQrcodeLink},
#{jumpType},
#{jumpUrl},
</trim>
</insert>
......
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