Commit cc1c79fa by 阮思源

Merge branch 'zyj-1002204' into 'master'

待回复用户

See merge request rays/pcloud-book!318
parents 4d38a224 fe419a81
package com.pcloud.book.group.dto;
import com.pcloud.common.dto.BaseDto;
import lombok.Data;
/**
* @描述:书刊信息
* @作者:zhuyajie
* @创建时间:16:51 2019/11/26
* @版本:1.0
*/
@Data
public class UserBookBaseInfoDTO extends BaseDto{
/**
* 社群书id
*/
private Long bookGroupId;
/**
* bookId
*/
private Long bookId;
/**
* 书名
*/
private String bookName;
/**
* 编辑id
*/
private Long adviserId;
/**
* 编辑名称
*/
private String adviserName;
/**
* 代理标识
*/
private Long agentId;
/**
* 代理名称
*/
private String agentName;
/**
* 编辑联系方式
*/
private String phoneNum;
}
...@@ -12,6 +12,7 @@ import com.pcloud.book.group.dto.ResourceBrowseParamDto; ...@@ -12,6 +12,7 @@ import com.pcloud.book.group.dto.ResourceBrowseParamDto;
import com.pcloud.book.group.dto.SelfRobotBookGroupDTO; import com.pcloud.book.group.dto.SelfRobotBookGroupDTO;
import com.pcloud.book.group.dto.SelfRobotUserDTO; 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.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;
...@@ -179,7 +180,7 @@ public interface BookGroupService { ...@@ -179,7 +180,7 @@ public interface BookGroupService {
@ApiOperation("用户扫码书刊名称") @ApiOperation("用户扫码书刊名称")
@PostMapping("mapUserScanBook") @PostMapping("mapUserScanBook")
ResponseEntity<ResponseDto<Map<String, List<String>>>> mapUserScanBook(@RequestParam("altId") String altId, @RequestBody @ApiParam List<String> wxUserIdList); ResponseEntity<ResponseDto<Map<String, List<UserBookBaseInfoDTO>>>> mapUserScanBook(@RequestParam("altId") String altId, @RequestBody @ApiParam List<String> wxUserIdList);
@ApiOperation("获取关联社群书数量和名字") @ApiOperation("获取关联社群书数量和名字")
@GetMapping("getAssocBookGroupByServeInfo") @GetMapping("getAssocBookGroupByServeInfo")
...@@ -197,6 +198,10 @@ public interface BookGroupService { ...@@ -197,6 +198,10 @@ public interface BookGroupService {
@PostMapping("getAssocBookGroupCount") @PostMapping("getAssocBookGroupCount")
ResponseEntity<ResponseDto<List<BookGroupCountDTO>>> getAssocBookGroupCount(@RequestBody List<BookGroupCountDTO> bookGroupCountDTOS); ResponseEntity<ResponseDto<List<BookGroupCountDTO>>> getAssocBookGroupCount(@RequestBody List<BookGroupCountDTO> bookGroupCountDTOS);
@ApiOperation("用户最近关联的社群书")
@GetMapping("getLatestCipherBookGroup")
ResponseEntity<ResponseDto<Long>> getLatestCipherBookGroup(@RequestParam("altId") String altId, @RequestParam("wxUserId") String wxUserId);
@ApiOperation("根据用户和社群书id获取个人号信息") @ApiOperation("根据用户和社群书id获取个人号信息")
@GetMapping("getSelfRobotBookGroupInfoByUser") @GetMapping("getSelfRobotBookGroupInfoByUser")
ResponseEntity<ResponseDto<SelfRobotBookGroupDTO>> getSelfRobotBookGroupInfoByUser(@RequestParam("wxUserId") String wxUserId, @RequestParam("bookGroupId") Long bookGroupId); ResponseEntity<ResponseDto<SelfRobotBookGroupDTO>> getSelfRobotBookGroupInfoByUser(@RequestParam("wxUserId") String wxUserId, @RequestParam("bookGroupId") Long bookGroupId);
......
package com.pcloud.book.group.biz; package com.pcloud.book.group.biz;
import com.pcloud.book.book.dto.BookDto; import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.group.dto.AgentStatisticsInfoDTO;
import com.pcloud.book.group.dto.AltAndCountDTO; import com.pcloud.book.group.dto.AltAndCountDTO;
import com.pcloud.book.group.dto.AppStatisticsDTO; import com.pcloud.book.group.dto.AppStatisticsDTO;
import com.pcloud.book.group.dto.BookGroupCountDTO; import com.pcloud.book.group.dto.BookGroupCountDTO;
...@@ -27,6 +28,7 @@ import com.pcloud.book.group.dto.SelfRobotBookGroupDTO; ...@@ -27,6 +28,7 @@ import com.pcloud.book.group.dto.SelfRobotBookGroupDTO;
import com.pcloud.book.group.dto.SelfRobotUserDTO; 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.TopAgentBookGroupDTO; import com.pcloud.book.group.dto.TopAgentBookGroupDTO;
import com.pcloud.book.group.dto.UserBookBaseInfoDTO;
import com.pcloud.book.group.dto.UserSelectParamDTO; import com.pcloud.book.group.dto.UserSelectParamDTO;
import com.pcloud.book.group.entity.BookGroup; import com.pcloud.book.group.entity.BookGroup;
import com.pcloud.book.group.entity.BookGroupServe; import com.pcloud.book.group.entity.BookGroupServe;
...@@ -680,7 +682,7 @@ public interface BookGroupBiz { ...@@ -680,7 +682,7 @@ public interface BookGroupBiz {
* @param wxUserIdList * @param wxUserIdList
* @return * @return
*/ */
Map<String,List<String>> mapUserScanBook(String altId, List<String> wxUserIdList); Map<String,List<UserBookBaseInfoDTO>> mapUserScanBook(String altId, List<String> wxUserIdList);
/** /**
* 转换二维码 * 转换二维码
...@@ -719,6 +721,11 @@ public interface BookGroupBiz { ...@@ -719,6 +721,11 @@ public interface BookGroupBiz {
List<BookGroupCountDTO> getAssocBookGroupCount(List<BookGroupCountDTO> dtos); List<BookGroupCountDTO> getAssocBookGroupCount(List<BookGroupCountDTO> dtos);
/** /**
* 用户最近关联的社群书
*/
Long getLatestCipherBookGroup(String altId, String wxUserId);
/**
* 出版社根据bookId获取社群码统计信息 * 出版社根据bookId获取社群码统计信息
* @param bookId * @param bookId
* @return * @return
......
...@@ -84,6 +84,7 @@ import com.pcloud.book.group.dto.SelfRobotUserDTO; ...@@ -84,6 +84,7 @@ 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.StatisticsIncomeDto; import com.pcloud.book.group.dto.StatisticsIncomeDto;
import com.pcloud.book.group.dto.TopAgentBookGroupDTO; import com.pcloud.book.group.dto.TopAgentBookGroupDTO;
import com.pcloud.book.group.dto.UserBookBaseInfoDTO;
import com.pcloud.book.group.dto.UserSelectParamDTO; import com.pcloud.book.group.dto.UserSelectParamDTO;
import com.pcloud.book.group.entity.BookGroup; import com.pcloud.book.group.entity.BookGroup;
import com.pcloud.book.group.entity.BookGroupAgentRecord; import com.pcloud.book.group.entity.BookGroupAgentRecord;
...@@ -4094,19 +4095,32 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -4094,19 +4095,32 @@ public class BookGroupBizImpl implements BookGroupBiz {
} }
@Override @Override
public Map<String, List<String>> mapUserScanBook(String altId, List<String> wxUserIdList) { public Map<String, List<UserBookBaseInfoDTO>> mapUserScanBook(String altId, List<String> wxUserIdList) {
Map<String, List<String>> map = new HashMap<>(); Map<String, List<UserBookBaseInfoDTO>> map = new HashMap<>();
if (ListUtils.isEmpty(wxUserIdList)) { if (ListUtils.isEmpty(wxUserIdList)) {
return new HashMap<>(); return new HashMap<>();
} }
for (String wxUserId : wxUserIdList) { for (String wxUserId : wxUserIdList) {
List<UserBookInfoItemVO> bookList = bookGroupCipherUserDao.getScanBookInfoByUser(wxUserId, altId); List<UserBookInfoItemVO> bookList = bookGroupCipherUserDao.getScanBookInfoByUser(wxUserId, altId);
List<String> bookNameList = new ArrayList<>(); List<UserBookBaseInfoDTO> bookInfoList = new ArrayList<>();
if (!ListUtils.isEmpty(bookList)) { if (!ListUtils.isEmpty(bookList)) {
bookNameList = bookList.stream().filter(s -> s.getBookName() != null).map(UserBookInfoItemVO::getBookName).distinct().collect(Collectors.toList()); List<Long> adviserIds = bookList.stream().filter(s -> s.getAdviserId() != null).map(UserBookInfoItemVO::getAdviserId).distinct().collect(Collectors.toList());
Map<Long, AdviserBaseInfoDto> adviserBaseInfoDtoMap = adviserConsr.getAdviserId2AdviserInfoDtoMap(adviserIds);
for (UserBookInfoItemVO infoItemVO : bookList) {
UserBookBaseInfoDTO baseInfoDTO = new UserBookBaseInfoDTO();
BeanUtils.copyProperties(infoItemVO, baseInfoDTO);
if (!MapUtils.isEmpty(adviserBaseInfoDtoMap) && adviserBaseInfoDtoMap.containsKey(infoItemVO.getAdviserId())) {
AdviserBaseInfoDto adviserBaseInfoDto = adviserBaseInfoDtoMap.get(infoItemVO.getAdviserId());
baseInfoDTO.setAdviserName(adviserBaseInfoDto.getPartyName());
baseInfoDTO.setAgentId(adviserBaseInfoDto.getAgentId());
baseInfoDTO.setAgentName(adviserBaseInfoDto.getAgentName());
baseInfoDTO.setPhoneNum(adviserBaseInfoDto.getPhoneNum());
} }
if (!ListUtils.isEmpty(bookNameList)) { bookInfoList.add(baseInfoDTO);
map.put(wxUserId, bookNameList); }
}
if (!ListUtils.isEmpty(bookInfoList)) {
map.put(wxUserId, bookInfoList);
} }
} }
return map; return map;
...@@ -4118,6 +4132,12 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -4118,6 +4132,12 @@ public class BookGroupBizImpl implements BookGroupBiz {
} }
@Override @Override
public Long getLatestCipherBookGroup(String altId, String wxUserId) {
Long bookGroupId = bookGroupCipherUserDao.getLatestCipherBookGroup(altId, wxUserId);
return bookGroupId;
}
@Override
public BookGroupStatistic4AgentDTO getBookGroupStatisticsByAgent(Long bookId) { public BookGroupStatistic4AgentDTO getBookGroupStatisticsByAgent(Long bookId) {
BookGroupStatistic4AgentDTO groupStatistic4AgentDTO = bookGroupDao.getBaseInfoByBookId(bookId); BookGroupStatistic4AgentDTO groupStatistic4AgentDTO = bookGroupDao.getBaseInfoByBookId(bookId);
if (null == groupStatistic4AgentDTO) { if (null == groupStatistic4AgentDTO) {
......
...@@ -144,6 +144,11 @@ public interface BookGroupCipherUserDao extends BaseDao<BookGroupCipherUser> { ...@@ -144,6 +144,11 @@ public interface BookGroupCipherUserDao extends BaseDao<BookGroupCipherUser> {
public List<String> getFriendIdListByBookAndRobot(String altId, List<Long> bookIds); public List<String> getFriendIdListByBookAndRobot(String altId, List<Long> bookIds);
/** /**
* 用户最近关联的社群书
*/
Long getLatestCipherBookGroup(String altId, String wxUserId);
/**
* 获取与社群书关联的小号数量 * 获取与社群书关联的小号数量
* @param bookGroupId * @param bookGroupId
* @return * @return
......
...@@ -166,6 +166,14 @@ public class BookGroupCipherUserDaoImpl extends BaseDaoImpl<BookGroupCipherUser> ...@@ -166,6 +166,14 @@ public class BookGroupCipherUserDaoImpl extends BaseDaoImpl<BookGroupCipherUser>
} }
@Override @Override
public Long getLatestCipherBookGroup(String altId, String wxUserId) {
Map<String, Object> map = new HashMap<>();
map.put("wxUserId", wxUserId);
map.put("altId", altId);
return getSessionTemplate().selectOne(getStatement("getLatestCipherBookGroup"), map);
}
@Override
public Integer getAltCountByBookGroup(Long bookGroupId) { public Integer getAltCountByBookGroup(Long bookGroupId) {
return getSessionTemplate().selectOne(getStatement("getAltCountByBookGroup"), bookGroupId); return getSessionTemplate().selectOne(getStatement("getAltCountByBookGroup"), bookGroupId);
} }
......
...@@ -14,6 +14,7 @@ import com.pcloud.book.group.dto.ResourceBrowseParamDto; ...@@ -14,6 +14,7 @@ import com.pcloud.book.group.dto.ResourceBrowseParamDto;
import com.pcloud.book.group.dto.SelfRobotBookGroupDTO; import com.pcloud.book.group.dto.SelfRobotBookGroupDTO;
import com.pcloud.book.group.dto.SelfRobotUserDTO; 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.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;
...@@ -312,8 +313,8 @@ public class BookGroupServiceImpl implements BookGroupService { ...@@ -312,8 +313,8 @@ public class BookGroupServiceImpl implements BookGroupService {
@ApiOperation("1v1用户扫码书刊名称") @ApiOperation("1v1用户扫码书刊名称")
@PostMapping("mapUserScanBook") @PostMapping("mapUserScanBook")
@Override @Override
public ResponseEntity<ResponseDto<Map<String, List<String>>>> mapUserScanBook(@RequestParam("altId") String altId, @RequestBody @ApiParam List<String> wxUserIdList) { public ResponseEntity<ResponseDto<Map<String, List<UserBookBaseInfoDTO>>>> mapUserScanBook(@RequestParam("altId") String altId, @RequestBody @ApiParam List<String> wxUserIdList) {
Map<String, List<String>> map = bookGroupBiz.mapUserScanBook(altId, wxUserIdList); Map<String, List<UserBookBaseInfoDTO>> map = bookGroupBiz.mapUserScanBook(altId, wxUserIdList);
return ResponseHandleUtil.toResponse(map); return ResponseHandleUtil.toResponse(map);
} }
...@@ -337,6 +338,12 @@ public class BookGroupServiceImpl implements BookGroupService { ...@@ -337,6 +338,12 @@ public class BookGroupServiceImpl implements BookGroupService {
return ResponseHandleUtil.toResponse(dtos); return ResponseHandleUtil.toResponse(dtos);
} }
@Override
@GetMapping("getLatestCipherBookGroup")
public ResponseEntity<ResponseDto<Long>> getLatestCipherBookGroup(@RequestParam("altId") String altId, @RequestParam("wxUserId") String wxUserId) {
Long bookGroupId = bookGroupBiz.getLatestCipherBookGroup(altId, wxUserId);
return ResponseHandleUtil.toResponse(bookGroupId);
}
@ApiOperation("根据用户和社群书id获取个人号信息") @ApiOperation("根据用户和社群书id获取个人号信息")
......
...@@ -14,6 +14,10 @@ import lombok.Data; ...@@ -14,6 +14,10 @@ import lombok.Data;
public class UserBookInfoItemVO extends BaseDto{ public class UserBookInfoItemVO extends BaseDto{
/** /**
* bookId
*/
private Long bookId;
/**
* 书名 * 书名
*/ */
private String bookName; private String bookName;
...@@ -37,4 +41,8 @@ public class UserBookInfoItemVO extends BaseDto{ ...@@ -37,4 +41,8 @@ public class UserBookInfoItemVO extends BaseDto{
* 深度标签名称 * 深度标签名称
*/ */
private String depLabelName; private String depLabelName;
/**
* 编辑id
*/
private Long adviserId;
} }
...@@ -449,10 +449,13 @@ ...@@ -449,10 +449,13 @@
<select id="getScanBookInfoByUser" parameterType="map" resultType="com.pcloud.book.group.vo.UserBookInfoItemVO"> <select id="getScanBookInfoByUser" parameterType="map" resultType="com.pcloud.book.group.vo.UserBookInfoItemVO">
SELECT SELECT
MAX(u.id) max,
u.book_group_id bookGroupId, u.book_group_id bookGroupId,
b.BOOK_NAME bookName, b.BOOK_NAME bookName,
g.pro_label_id proLabelId, g.pro_label_id proLabelId,
g.dep_label_id depLabelId g.dep_label_id depLabelId,
g.create_user adviserId,
g.book_id bookId
FROM FROM
book_group_cipher_user u book_group_cipher_user u
LEFT JOIN book_group g ON u.book_group_id = g.id LEFT JOIN book_group g ON u.book_group_id = g.id
...@@ -463,7 +466,7 @@ ...@@ -463,7 +466,7 @@
GROUP BY GROUP BY
u.book_group_id u.book_group_id
ORDER BY ORDER BY
g.id DESC max DESC
</select> </select>
<select id="getFriendIdListByBookAndRobot" parameterType="map" resultType="string"> <select id="getFriendIdListByBookAndRobot" parameterType="map" resultType="string">
...@@ -482,6 +485,19 @@ ...@@ -482,6 +485,19 @@
</if> </if>
</select> </select>
<select id="getLatestCipherBookGroup" parameterType="map" resultType="long">
SELECT
book_group_id
FROM
book_group_cipher_user
WHERE
alt_id = #{altId}
AND wx_user_id = #{wxUserId}
ORDER BY
id DESC
LIMIT 1
</select>
<!--根据wxUserId获取--> <!--根据wxUserId获取-->
<select id="getByWxUserId" parameterType="string" resultMap="BaseResultMap"> <select id="getByWxUserId" parameterType="string" resultMap="BaseResultMap">
select <include refid="Base_Column_List"/> select <include refid="Base_Column_List"/>
......
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