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;
import com.pcloud.book.group.dto.SelfRobotBookGroupDTO;
import com.pcloud.book.group.dto.SelfRobotUserDTO;
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.StoreFlowInfoDto;
import com.pcloud.common.exceptions.BizException;
......@@ -179,7 +180,7 @@ public interface BookGroupService {
@ApiOperation("用户扫码书刊名称")
@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("获取关联社群书数量和名字")
@GetMapping("getAssocBookGroupByServeInfo")
......@@ -197,6 +198,10 @@ public interface BookGroupService {
@PostMapping("getAssocBookGroupCount")
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获取个人号信息")
@GetMapping("getSelfRobotBookGroupInfoByUser")
ResponseEntity<ResponseDto<SelfRobotBookGroupDTO>> getSelfRobotBookGroupInfoByUser(@RequestParam("wxUserId") String wxUserId, @RequestParam("bookGroupId") Long bookGroupId);
......
package com.pcloud.book.group.biz;
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.AppStatisticsDTO;
import com.pcloud.book.group.dto.BookGroupCountDTO;
......@@ -27,6 +28,7 @@ import com.pcloud.book.group.dto.SelfRobotBookGroupDTO;
import com.pcloud.book.group.dto.SelfRobotUserDTO;
import com.pcloud.book.group.dto.SelfRobtParamDTO;
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.entity.BookGroup;
import com.pcloud.book.group.entity.BookGroupServe;
......@@ -680,7 +682,7 @@ public interface BookGroupBiz {
* @param wxUserIdList
* @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 {
List<BookGroupCountDTO> getAssocBookGroupCount(List<BookGroupCountDTO> dtos);
/**
* 用户最近关联的社群书
*/
Long getLatestCipherBookGroup(String altId, String wxUserId);
/**
* 出版社根据bookId获取社群码统计信息
* @param bookId
* @return
......
......@@ -84,6 +84,7 @@ import com.pcloud.book.group.dto.SelfRobotUserDTO;
import com.pcloud.book.group.dto.SelfRobtParamDTO;
import com.pcloud.book.group.dto.StatisticsIncomeDto;
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.entity.BookGroup;
import com.pcloud.book.group.entity.BookGroupAgentRecord;
......@@ -4094,19 +4095,32 @@ public class BookGroupBizImpl implements BookGroupBiz {
}
@Override
public Map<String, List<String>> mapUserScanBook(String altId, List<String> wxUserIdList) {
Map<String, List<String>> map = new HashMap<>();
public Map<String, List<UserBookBaseInfoDTO>> mapUserScanBook(String altId, List<String> wxUserIdList) {
Map<String, List<UserBookBaseInfoDTO>> map = new HashMap<>();
if (ListUtils.isEmpty(wxUserIdList)) {
return new HashMap<>();
}
for (String wxUserId : wxUserIdList) {
List<UserBookInfoItemVO> bookList = bookGroupCipherUserDao.getScanBookInfoByUser(wxUserId, altId);
List<String> bookNameList = new ArrayList<>();
List<UserBookBaseInfoDTO> bookInfoList = new ArrayList<>();
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());
}
bookInfoList.add(baseInfoDTO);
}
}
if (!ListUtils.isEmpty(bookNameList)) {
map.put(wxUserId, bookNameList);
if (!ListUtils.isEmpty(bookInfoList)) {
map.put(wxUserId, bookInfoList);
}
}
return map;
......@@ -4118,6 +4132,12 @@ public class BookGroupBizImpl implements BookGroupBiz {
}
@Override
public Long getLatestCipherBookGroup(String altId, String wxUserId) {
Long bookGroupId = bookGroupCipherUserDao.getLatestCipherBookGroup(altId, wxUserId);
return bookGroupId;
}
@Override
public BookGroupStatistic4AgentDTO getBookGroupStatisticsByAgent(Long bookId) {
BookGroupStatistic4AgentDTO groupStatistic4AgentDTO = bookGroupDao.getBaseInfoByBookId(bookId);
if (null == groupStatistic4AgentDTO) {
......
......@@ -144,6 +144,11 @@ public interface BookGroupCipherUserDao extends BaseDao<BookGroupCipherUser> {
public List<String> getFriendIdListByBookAndRobot(String altId, List<Long> bookIds);
/**
* 用户最近关联的社群书
*/
Long getLatestCipherBookGroup(String altId, String wxUserId);
/**
* 获取与社群书关联的小号数量
* @param bookGroupId
* @return
......
......@@ -166,6 +166,14 @@ public class BookGroupCipherUserDaoImpl extends BaseDaoImpl<BookGroupCipherUser>
}
@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) {
return getSessionTemplate().selectOne(getStatement("getAltCountByBookGroup"), bookGroupId);
}
......
......@@ -14,6 +14,7 @@ import com.pcloud.book.group.dto.ResourceBrowseParamDto;
import com.pcloud.book.group.dto.SelfRobotBookGroupDTO;
import com.pcloud.book.group.dto.SelfRobotUserDTO;
import com.pcloud.book.group.dto.SelfRobtParamDTO;
import com.pcloud.book.group.dto.UserBookBaseInfoDTO;
import com.pcloud.book.group.service.BookGroupService;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.dto.StoreFlowInfoDto;
......@@ -312,8 +313,8 @@ public class BookGroupServiceImpl implements BookGroupService {
@ApiOperation("1v1用户扫码书刊名称")
@PostMapping("mapUserScanBook")
@Override
public ResponseEntity<ResponseDto<Map<String, List<String>>>> mapUserScanBook(@RequestParam("altId") String altId, @RequestBody @ApiParam List<String> wxUserIdList) {
Map<String, List<String>> map = bookGroupBiz.mapUserScanBook(altId, wxUserIdList);
public ResponseEntity<ResponseDto<Map<String, List<UserBookBaseInfoDTO>>>> mapUserScanBook(@RequestParam("altId") String altId, @RequestBody @ApiParam List<String> wxUserIdList) {
Map<String, List<UserBookBaseInfoDTO>> map = bookGroupBiz.mapUserScanBook(altId, wxUserIdList);
return ResponseHandleUtil.toResponse(map);
}
......@@ -337,6 +338,12 @@ public class BookGroupServiceImpl implements BookGroupService {
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获取个人号信息")
......
......@@ -14,6 +14,10 @@ import lombok.Data;
public class UserBookInfoItemVO extends BaseDto{
/**
* bookId
*/
private Long bookId;
/**
* 书名
*/
private String bookName;
......@@ -37,4 +41,8 @@ public class UserBookInfoItemVO extends BaseDto{
* 深度标签名称
*/
private String depLabelName;
/**
* 编辑id
*/
private Long adviserId;
}
......@@ -449,10 +449,13 @@
<select id="getScanBookInfoByUser" parameterType="map" resultType="com.pcloud.book.group.vo.UserBookInfoItemVO">
SELECT
MAX(u.id) max,
u.book_group_id bookGroupId,
b.BOOK_NAME bookName,
g.pro_label_id proLabelId,
g.dep_label_id depLabelId
g.dep_label_id depLabelId,
g.create_user adviserId,
g.book_id bookId
FROM
book_group_cipher_user u
LEFT JOIN book_group g ON u.book_group_id = g.id
......@@ -463,7 +466,7 @@
GROUP BY
u.book_group_id
ORDER BY
g.id DESC
max DESC
</select>
<select id="getFriendIdListByBookAndRobot" parameterType="map" resultType="string">
......@@ -482,6 +485,19 @@
</if>
</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获取-->
<select id="getByWxUserId" parameterType="string" resultMap="BaseResultMap">
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