Commit 56b7a37b by 郑永强

feat: [1003657] ERP新增样书拍照数据导出功能

parent 678e80bc
......@@ -57,11 +57,13 @@ import com.pcloud.book.group.vo.UserBookInfoVO;
import com.pcloud.book.group.vo.WxGroupStatisticVO;
import com.pcloud.book.keywords.vo.ListKeywordVO;
import com.pcloud.book.skill.entity.PcloudGroupActivity;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.dto.StoreFlowInfoDto;
import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.page.PageBean;
import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.page.PageParam;
import com.pcloud.wechatgroup.group.dto.GroupUserCountDTO;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
......@@ -968,4 +970,6 @@ public interface BookGroupBiz {
* * @param null
*/
BookGroupDTO getRayBookByBookGroupId(Long bookGroupId);
List<BookGroupDTO> getBookGroupsByBookIds(List<Long> bookIds, List<Long> adviserIds, List<Long> channelIds);
}
......@@ -5817,4 +5817,28 @@ public class BookGroupBizImpl implements BookGroupBiz {
return list.get(new Random().nextInt(list.size()));
}
}
@Override
public List<BookGroupDTO> getBookGroupsByBookIds(List<Long> bookIds, List<Long> adviserIds, List<Long> channelIds) {
if(CollectionUtils.isEmpty(bookIds)){
return new ArrayList<>();
}
List<BookGroupDTO> bookGroupDTOList = bookGroupDao.getDTOByBookIds(bookIds, adviserIds, channelIds);
if(CollectionUtils.isEmpty(bookGroupDTOList)){
return new ArrayList<>();
}
List<Long> bookGroupIds = bookGroupDTOList.stream().map(x -> x.getId()).collect(Collectors.toList());
Map<Long, GroupUserCountDTO> groupUserCountDTOMap = wechatGroupConsr.getScanCountByGroup(bookGroupIds, null);
if(MapUtils.isEmpty(groupUserCountDTOMap)){
return new ArrayList<>();
}
for (BookGroupDTO bookGroupDTO : bookGroupDTOList) {
GroupUserCountDTO groupUserCountDTO = groupUserCountDTOMap.get(bookGroupDTO.getId());
bookGroupDTO.setScanCount(groupUserCountDTO == null ? 0 : groupUserCountDTO.getCount());
bookGroupDTO.setUserCount(groupUserCountDTO == null ? 0 : groupUserCountDTO.getUserCount());
}
return bookGroupDTOList;
}
}
......@@ -59,6 +59,8 @@ public interface BookGroupDao extends BaseDao<BookGroup> {
List<BookGroupDTO> getDTOByBookIdsAdviserIdsChannelIds(List<Long> bookIds, List<Long> adviserIds, List<Long> channelIds);
List<BookGroupDTO> getDTOByBookIds(List<Long> bookIds, List<Long> adviserIds, List<Long> channelIds);
/**
* 根据书刊ID删除
* @param bookId 书刊ID
......
......@@ -79,6 +79,15 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou
return super.getSqlSession().selectList(getStatement("getDTOByBookIdsAdviserIdsChannelIds"),paramMap);
}
@Override
public List<BookGroupDTO> getDTOByBookIds(List<Long> bookIds, List<Long> adviserIds, List<Long> channelIds) {
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("bookIds",bookIds);
paramMap.put("adviserIds",adviserIds);
paramMap.put("channelIds",channelIds);
return super.getSqlSession().selectList(getStatement("getDTOByBookIds"),paramMap);
}
/**
* 根据书刊ID删除
*/
......
......@@ -293,6 +293,28 @@ public class BookGroupDTO extends BaseDto {
*/
private String qrcodeType;
// 浏览量、扫码量
private Integer scanCount;
// 读者量、扫码人数
private Integer userCount;
public Integer getScanCount() {
return scanCount;
}
public void setScanCount(Integer scanCount) {
this.scanCount = scanCount;
}
public Integer getUserCount() {
return userCount;
}
public void setUserCount(Integer userCount) {
this.userCount = userCount;
}
public String getQrcodeType() {
return qrcodeType;
}
......
package com.pcloud.book.group.facade;
import com.pcloud.book.book.dto.MapResourceTotalCountDTO;
import com.pcloud.book.group.dto.BookAppletSceneDTO;
import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.ChangeQrCodeTypeDto;
......@@ -790,4 +791,8 @@ public interface BookGroupFacade {
@ApiOperation("根据bookgroupId查小睿书")
@GetMapping("getRayBookByBookGroupId")
ResponseDto<?> getRayBookByBookGroupId(@RequestParam("bookGroupId") Long bookGroupId);
@RequestMapping(value = "getBookGroupsByBookIds", method = RequestMethod.POST)
ResponseDto<?> getBookGroupsByBookIds(@RequestBody MapResourceTotalCountDTO requestDTO)
throws BizException, PermissionException;
}
package com.pcloud.book.group.facade.impl;
import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.book.dto.MapResourceTotalCountDTO;
import com.pcloud.book.group.biz.BookGroupBiz;
import com.pcloud.book.group.biz.BookGroupClassifyBiz;
import com.pcloud.book.group.dao.BookGroupDao;
......@@ -52,6 +53,7 @@ import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.codehaus.jackson.JsonParseException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.GetMapping;
......@@ -1296,4 +1298,11 @@ public class BookGroupFacadeImpl implements BookGroupFacade {
public ResponseDto<?> getRayBookByBookGroupId(@RequestParam("bookGroupId") Long bookGroupId){
return new ResponseDto<>(bookGroupBiz.getRayBookByBookGroupId(bookGroupId));
}
@Override
public ResponseDto<?> getBookGroupsByBookIds(@RequestBody MapResourceTotalCountDTO requestDTO) throws BizException, PermissionException {
if(CollectionUtils.isEmpty(requestDTO.getBookIds())){
return new ResponseDto<>(new ArrayList<>());
}
return new ResponseDto<>(bookGroupBiz.getBookGroupsByBookIds(requestDTO.getBookIds(), requestDTO.getAdviserIds(), requestDTO.getChannelIds()));
}
}
......@@ -162,6 +162,28 @@
</foreach>
</select>
<select id="getDTOByBookIds" resultMap="BookGroupDTO" parameterType="map">
select
<include refid="Base_Column_List"/>
from book_group
where book_id in
<foreach collection="bookIds" open="(" close=")" item="item" separator=",">
${item}
</foreach>
<if test="adviserIds != null and adviserIds.size()>0">
and create_user in
<foreach collection="adviserIds" open="(" close=")" item="item" separator=",">
${item}
</foreach>
</if>
<if test="channelIds != null and channelIds.size()>0">
and channel_id in
<foreach collection="channelIds" open="(" close=")" item="item" separator=",">
${item}
</foreach>
</if>
</select>
<select id="getBookGroupCount" resultType="Integer" parameterType="Long">
SELECT
COUNT(DISTINCT G.id)
......
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