Commit 42aa9b8c by 田超

Merge branch 'feature/1003371' into 'master'

feat: [1003371] 体验网站动效以及合作伙伴扫码体验

See merge request rays/pcloud-book!866
parents a8313c37 9d74f1e7
...@@ -238,4 +238,8 @@ public interface BookGroupService { ...@@ -238,4 +238,8 @@ public interface BookGroupService {
@ApiOperation(value = "获取资源配置集合",httpMethod = "POST") @ApiOperation(value = "获取资源配置集合",httpMethod = "POST")
@RequestMapping(value = "/getBookGroupServeList", method = RequestMethod.GET) @RequestMapping(value = "/getBookGroupServeList", method = RequestMethod.GET)
ResponseEntity<ResponseDto<List<BookGroupServeDTO>>> getBookGroupServeList(@RequestParam("bookGroupId") Long bookGroupId); ResponseEntity<ResponseDto<List<BookGroupServeDTO>>> getBookGroupServeList(@RequestParam("bookGroupId") Long bookGroupId);
@ApiOperation("体验网站获取出版社下小睿社群码")
@GetMapping("getRayGroupQrcode4Website")
ResponseEntity<ResponseDto<String>>getRayGroupQrcode4Website(@RequestParam(value = "agentId", required = false) Long agentId);
} }
...@@ -25,7 +25,14 @@ import com.pcloud.wechatgroup.message.dto.LinkGroupParamDTO; ...@@ -25,7 +25,14 @@ import com.pcloud.wechatgroup.message.dto.LinkGroupParamDTO;
import com.pcloud.wechatgroup.message.dto.UserChatCountDTO; import com.pcloud.wechatgroup.message.dto.UserChatCountDTO;
import com.pcloud.wechatgroup.message.service.MessageService; import com.pcloud.wechatgroup.message.service.MessageService;
import com.pcloud.wechatgroup.monitor.service.MonitorService; import com.pcloud.wechatgroup.monitor.service.MonitorService;
import com.pcloud.wechatgroup.selfrobot.dto.*; import com.pcloud.wechatgroup.selfrobot.dto.AltAndUserDTO;
import com.pcloud.wechatgroup.selfrobot.dto.AltAndUserResultDTO;
import com.pcloud.wechatgroup.selfrobot.dto.AvailableRobotParamDTO;
import com.pcloud.wechatgroup.selfrobot.dto.FriendParamDTO;
import com.pcloud.wechatgroup.selfrobot.dto.RobotBaseInfoDTO;
import com.pcloud.wechatgroup.selfrobot.dto.SelfRobotDTO;
import com.pcloud.wechatgroup.selfrobot.dto.SendMessageDTO;
import com.pcloud.wechatgroup.selfrobot.dto.UserRobotDTO;
import com.pcloud.wechatgroup.selfrobot.service.SelfRobotService; import com.pcloud.wechatgroup.selfrobot.service.SelfRobotService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -759,4 +766,15 @@ public class WechatGroupConsr { ...@@ -759,4 +766,15 @@ public class WechatGroupConsr {
log.error("给指定分类小程序用户发送站内信失败.[sendMessage]:" + e.getMessage(), e); log.error("给指定分类小程序用户发送站内信失败.[sendMessage]:" + e.getMessage(), e);
} }
} }
public Long getMaxScanCountBookGroup(List<Long> bookGroupIds) {
Long bookGroupId = null;
try {
bookGroupId = ResponseHandleUtil.parseResponse(groupMemberService.getMaxScanCountBookGroup(bookGroupIds), Long.class);
} catch (Exception e) {
log.error("调用getMaxScanCountBookGroup失败" + e.getMessage(), e);
}
return bookGroupId;
}
} }
...@@ -923,4 +923,12 @@ public interface BookGroupBiz { ...@@ -923,4 +923,12 @@ public interface BookGroupBiz {
String updateMediaId4Activity(String url, PcloudGroupActivity pcloudGroupActivity); String updateMediaId4Activity(String url, PcloudGroupActivity pcloudGroupActivity);
List<GroupQrcodeDTO> getMigrateGroup(List<String> groups); List<GroupQrcodeDTO> getMigrateGroup(List<String> groups);
/**
* 出版社下扫码量最多的社群码
* @author:zhuyajie
* @date:2020/8/6 9:32
* * @param null
*/
BookGroupDTO getMaxScanCountBookGroup(Long agentId, Integer joinGroupType);
} }
package com.pcloud.book.group.biz.impl; package com.pcloud.book.group.biz.impl;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.util.ZipUtil;
import com.alibaba.fastjson.JSONObject;
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.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.base.dto.AppPriceCacheDTO; import com.pcloud.appcenter.base.dto.AppPriceCacheDTO;
...@@ -254,7 +253,7 @@ import com.pcloud.wechatgroup.selfrobot.dto.SelfRobotDTO; ...@@ -254,7 +253,7 @@ import com.pcloud.wechatgroup.selfrobot.dto.SelfRobotDTO;
import com.pcloud.wechatgroup.selfrobot.dto.UserRobotDTO; import com.pcloud.wechatgroup.selfrobot.dto.UserRobotDTO;
import com.pcloud.wechatgroup.selfrobot.enums.SelfRobotTypeEnum; import com.pcloud.wechatgroup.selfrobot.enums.SelfRobotTypeEnum;
import com.sdk.wxgroup.SendMessageTypeEnum; import com.sdk.wxgroup.SendMessageTypeEnum;
import lombok.SneakyThrows;
import org.apache.commons.collections.MapUtils; import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -285,6 +284,10 @@ import java.util.concurrent.ThreadPoolExecutor; ...@@ -285,6 +284,10 @@ import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.util.ZipUtil;
import lombok.SneakyThrows;
/** /**
* Description 社群书群二维码业务逻辑层接口实现类 Created by PENG on 2019/4/17. * Description 社群书群二维码业务逻辑层接口实现类 Created by PENG on 2019/4/17.
*/ */
...@@ -5414,4 +5417,38 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -5414,4 +5417,38 @@ public class BookGroupBizImpl implements BookGroupBiz {
} }
return null; return null;
} }
@Override
public BookGroupDTO getMaxScanCountBookGroup(Long agentId, Integer joinGroupType) {
if (null != agentId) {
List<Long> bookGroupIds = bookGroupDao.getBookGroupIdsByAgent(agentId, joinGroupType);
if (!ListUtils.isEmpty(bookGroupIds)) {
Long bookGroupId = wechatGroupConsr.getMaxScanCountBookGroup(bookGroupIds);
if (null == bookGroupId) {
bookGroupId = bookGroupIds.get(0);
}
BookGroupDTO bookGroupDTO = bookGroupDao.getDTOById(bookGroupId);
return bookGroupDTO;
}
} //编辑账号下随机取一个
Long adviserId = 0L;
switch (BookProps.getSystemEnv()) {
case "test":
adviserId = 1404L;
break;
case "uat":
adviserId = 12829L;
break;
case "pro":
adviserId = 1000026494L;
break;
}
List<BookGroupDTO> list = bookGroupDao.getBookGroupByAdviser(adviserId, joinGroupType);
if (ListUtils.isEmpty(list)) {
return new BookGroupDTO();
} else {
return list.get(new Random().nextInt(list.size()));
}
}
} }
...@@ -338,4 +338,18 @@ public interface BookGroupDao extends BaseDao<BookGroup> { ...@@ -338,4 +338,18 @@ public interface BookGroupDao extends BaseDao<BookGroup> {
Map<Long,BookGroupDTO> mapDTOByIds(List<Long> ids); Map<Long,BookGroupDTO> mapDTOByIds(List<Long> ids);
Map<Long, BookGroupDTO> getBookBaseInfoByAdviserBookIds(List<Long> bookAdviserId); Map<Long, BookGroupDTO> getBookBaseInfoByAdviserBookIds(List<Long> bookAdviserId);
/**
* 出版社下社群书id
* @author:zhuyajie
* @date:2020/8/6 9:27
* * @param null
*/
List<Long> getBookGroupIdsByAgent(Long agentId, Integer joinGroupType);
/**
* 编辑下社群书
* @author:zhuyajie
* @date:2020/8/6 11:03
* * @param null
*/
List<BookGroupDTO> getBookGroupByAdviser(Long adviserId, Integer joinGroupType);
} }
...@@ -421,4 +421,20 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou ...@@ -421,4 +421,20 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou
public Map<Long, BookGroupDTO> getBookBaseInfoByAdviserBookIds(List<Long> bookAdviserIds) { public Map<Long, BookGroupDTO> getBookBaseInfoByAdviserBookIds(List<Long> bookAdviserIds) {
return getSessionTemplate().selectMap(getStatement("getBookBaseInfoByAdviserBookIds"),bookAdviserIds,"bookAdviserId"); return getSessionTemplate().selectMap(getStatement("getBookBaseInfoByAdviserBookIds"),bookAdviserIds,"bookAdviserId");
} }
@Override
public List<Long> getBookGroupIdsByAgent(Long agentId, Integer joinGroupType) {
Map<String, Object> map = new HashMap<>();
map.put("agentId", agentId);
map.put("joinGroupType", joinGroupType);
return getSessionTemplate().selectList(getStatement("getBookGroupIdsByAgent"), map);
}
@Override
public List<BookGroupDTO> getBookGroupByAdviser(Long adviserId, Integer joinGroupType) {
Map<String, Object> map = new HashMap<>();
map.put("adviserId", adviserId);
map.put("joinGroupType", joinGroupType);
return getSessionTemplate().selectList(getStatement("getBookGroupByAdviser"), map);
}
} }
...@@ -22,18 +22,19 @@ import com.pcloud.book.group.dto.SelfRobotUserDTO; ...@@ -22,18 +22,19 @@ import com.pcloud.book.group.dto.SelfRobotUserDTO;
import com.pcloud.book.group.dto.SelfRobtParamDTO; import com.pcloud.book.group.dto.SelfRobtParamDTO;
import com.pcloud.book.group.dto.UserBookBaseInfoDTO; import com.pcloud.book.group.dto.UserBookBaseInfoDTO;
import com.pcloud.book.group.entity.BookGroupServe; import com.pcloud.book.group.entity.BookGroupServe;
import com.pcloud.book.group.enums.JoinGroupTypeEnum;
import com.pcloud.book.group.service.BookGroupService; import com.pcloud.book.group.service.BookGroupService;
import com.pcloud.common.dto.ResponseDto; import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.dto.StoreFlowInfoDto; import com.pcloud.common.dto.StoreFlowInfoDto;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.page.PageBeanNew; import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.utils.BeanUtils;
import com.pcloud.common.utils.ListUtils; import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.ResponseHandleUtil; import com.pcloud.common.utils.ResponseHandleUtil;
import com.pcloud.common.utils.cache.redis.JedisClusterUtils; import com.pcloud.common.utils.cache.redis.JedisClusterUtils;
import com.pcloud.common.utils.string.StringUtil; import com.pcloud.common.utils.string.StringUtil;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import org.apache.commons.beanutils.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
...@@ -408,15 +409,16 @@ public class BookGroupServiceImpl implements BookGroupService { ...@@ -408,15 +409,16 @@ public class BookGroupServiceImpl implements BookGroupService {
List<BookGroupServeDTO> newList = new ArrayList<BookGroupServeDTO>(); List<BookGroupServeDTO> newList = new ArrayList<BookGroupServeDTO>();
list.forEach(item->{ list.forEach(item->{
BookGroupServeDTO newItme = new BookGroupServeDTO(); BookGroupServeDTO newItme = new BookGroupServeDTO();
try {
BeanUtils.copyProperties(newItme,item); BeanUtils.copyProperties(newItme,item);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
newList.add(newItme); newList.add(newItme);
}); });
return ResponseHandleUtil.toResponse(newList); return ResponseHandleUtil.toResponse(newList);
} }
@Override
@GetMapping("getRayGroupQrcode4Website")
public ResponseEntity<ResponseDto<String>>getRayGroupQrcode4Website(@RequestParam(value = "agentId", required = false) Long agentId){
BookGroupDTO bookGroupDTO = bookGroupBiz.getMaxScanCountBookGroup(agentId, JoinGroupTypeEnum.XIAORUI.getCode());
return ResponseHandleUtil.toResponse(bookGroupDTO==null?"":bookGroupDTO.getGroupQrcodeUrl());
}
} }
...@@ -1070,4 +1070,30 @@ ...@@ -1070,4 +1070,30 @@
</foreach> </foreach>
</select> </select>
<select id="getBookGroupIdsByAgent" resultType="long" parameterType="map">
SELECT DISTINCT
id
FROM
book_group
WHERE
agent_id = #{agentId}
AND join_group_type = #{joinGroupType}
AND is_delete = 0
</select>
<select id="getBookGroupByAdviser" resultType="com.pcloud.book.group.dto.BookGroupDTO" parameterType="map">
SELECT
id,
group_qrcode_name groupQrcodeName,
group_qrcode_url groupQrcodeUrl,
create_time createTime
FROM
book_group
WHERE
is_delete = 0
AND join_group_type = #{joinGroupType}
AND create_user = #{adviserId}
ORDER BY create_time DESC, id DESC
</select>
</mapper> </mapper>
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