Commit a6f73f35 by 郑永强

feat: [1006362] 疑似流失编辑访谈后优化(查看数据入口优化、编辑召回)

parent b398245d
package com.pcloud.book.book.dto;
import lombok.Data;
@Data
public class AdviserBookStatisDto {
private Long adviserId;
private Integer bookCount;
private Integer approvalBookCount;
private Integer unApprovalBookCount;
}
package com.pcloud.book.book.dto;
import lombok.Data;
@Data
public class AdviserBookStatisRequestDto {
private Long templetId;
private Long secondTempletId;
private Long thirdTempletId;
private Integer bookCount;
}
......@@ -4,6 +4,8 @@
package com.pcloud.book.book.service;
import com.pcloud.book.book.dto.AdviserBookInfoDTO;
import com.pcloud.book.book.dto.AdviserBookStatisDto;
import com.pcloud.book.book.dto.AdviserBookStatisRequestDto;
import com.pcloud.book.book.dto.AviserBookInfoParam;
import com.pcloud.book.book.dto.BookAdviserDto;
import com.pcloud.book.book.dto.BookCountAndAdviserIdDTO;
......@@ -213,4 +215,9 @@ public interface BookAdviserService {
@ApiOperation("编辑是否有立项书")
@GetMapping("hasApprovalBook4Adviser")
ResponseEntity<ResponseDto<Boolean>> hasApprovalBook4Adviser(@RequestParam("adviserId") Long adviserId);
@ApiOperation("编辑立项书数量、非立项书数量")
@PostMapping("getAdviserBookStatis")
ResponseEntity<ResponseDto<Map<Long, AdviserBookStatisDto>>> getAdviserBookStatis(@RequestBody AdviserBookStatisRequestDto requestDto);
}
......@@ -498,4 +498,9 @@ public interface BookAdviserBiz {
* 批量获取图书扫码量和扫码用户量
*/
Map<String, BookScanCountVO> multiGetBookScanCount(List<BookScanCountParamDTO> param);
/**
* 获取编辑的立项书数量和非立项书数量
*/
Map<Long, AdviserBookStatisDto> getAdviserBookStatis(AdviserBookStatisRequestDto requestDto);
}
......@@ -3501,4 +3501,13 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
public Map<String, BookScanCountVO> multiGetBookScanCount(List<BookScanCountParamDTO> param) {
return dataConsr.multiGetBookScanCount(param);
}
@Override
public Map<Long, AdviserBookStatisDto> getAdviserBookStatis(AdviserBookStatisRequestDto requestDto) {
List<AdviserBookStatisDto> adviserBookStatisList = bookAdviserDao.getAdviserBookStatis(requestDto);
if(CollUtil.isEmpty(adviserBookStatisList)){
return new HashMap<>();
}
return adviserBookStatisList.stream().collect(Collectors.toMap(x->x.getAdviserId(), Function.identity(), (v1, v2)->v1));
}
}
......@@ -4,6 +4,8 @@
package com.pcloud.book.book.dao;
import com.pcloud.book.book.dto.AdviserBookInfoDTO;
import com.pcloud.book.book.dto.AdviserBookStatisDto;
import com.pcloud.book.book.dto.AdviserBookStatisRequestDto;
import com.pcloud.book.book.dto.AdviserManageDto;
import com.pcloud.book.book.dto.AviserBookInfoParam;
import com.pcloud.book.book.dto.BookAdviserDto;
......@@ -353,4 +355,6 @@ public interface BookAdviserDao extends BaseDao<BookAdviser> {
List<Long> getSelfBookIds(Long adviserId, List<Long> selectBookIds);
void batchUpdateIsPrint(List<BookRequestVO> bookRequestVOS);
List<AdviserBookStatisDto> getAdviserBookStatis(AdviserBookStatisRequestDto requestDto);
}
......@@ -9,6 +9,8 @@ import cn.hutool.core.util.StrUtil;
import com.google.common.collect.Maps;
import com.pcloud.book.book.dao.BookAdviserDao;
import com.pcloud.book.book.dto.AdviserBookInfoDTO;
import com.pcloud.book.book.dto.AdviserBookStatisDto;
import com.pcloud.book.book.dto.AdviserBookStatisRequestDto;
import com.pcloud.book.book.dto.AdviserManageDto;
import com.pcloud.book.book.dto.AviserBookInfoParam;
import com.pcloud.book.book.dto.BookAdviserDto;
......@@ -540,4 +542,9 @@ public class BookAdviserDaoImpl extends BaseDaoImpl<BookAdviser> implements Book
paramMap.put("bookRequestVOS", bookRequestVOS);
getSessionTemplate().update(getStatement("batchUpdateIsPrint"), paramMap);
}
@Override
public List<AdviserBookStatisDto> getAdviserBookStatis(AdviserBookStatisRequestDto requestDto) {
return getSessionTemplate().selectList(getStatement("getAdviserBookStatis"), requestDto);
}
}
......@@ -6,6 +6,8 @@ package com.pcloud.book.book.service.impl;
import com.pcloud.book.book.biz.BookAdviserBiz;
import com.pcloud.book.book.biz.BookRaysClassifyBiz;
import com.pcloud.book.book.dto.AdviserBookInfoDTO;
import com.pcloud.book.book.dto.AdviserBookStatisDto;
import com.pcloud.book.book.dto.AdviserBookStatisRequestDto;
import com.pcloud.book.book.dto.AviserBookInfoParam;
import com.pcloud.book.book.dto.BookAdviserDto;
import com.pcloud.book.book.dto.BookCountAndAdviserIdDTO;
......@@ -254,4 +256,10 @@ public class BookAdviserServiceImpl implements BookAdviserService {
public ResponseEntity<ResponseDto<Boolean>> hasApprovalBook4Adviser(@RequestParam("adviserId") Long adviserId) {
return ResponseHandleUtil.toResponse(bookAdviserBiz.hasApprovalBook4Adviser(adviserId));
}
@Override
@PostMapping("getAdviserBookStatis")
public ResponseEntity<ResponseDto<Map<Long, AdviserBookStatisDto>>> getAdviserBookStatis(AdviserBookStatisRequestDto requestDto) {
return ResponseHandleUtil.toResponse(bookAdviserBiz.getAdviserBookStatis(requestDto));
}
}
......@@ -1384,4 +1384,26 @@
</foreach>
</update>
<select id="getAdviserBookStatis" parameterType="com.pcloud.book.book.dto.AdviserBookStatisRequestDto" resultType="com.pcloud.book.book.dto.AdviserBookStatisDto">
SELECT
CREATED_USER adviserId,
COUNT(1) bookCount,
COUNT(CASE WHEN is_approval=1 THEN 1 ELSE NULL END) approvalBookCount,
COUNT(CASE WHEN is_approval=0 THEN 1 ELSE NULL END) unApprovalBookCount
FROM book_adviser
WHERE IS_DELETE = 0
<if test="templetId != null">
AND TEMPLET_ID = #{templetId}
</if>
<if test="secondTempletId != null">
AND SECOND_TEMPLET_ID = #{secondTempletId}
</if>
<if test="thirdTempletId != null">
AND third_templet_id = #{thirdTempletId}
</if>
GROUP BY CREATED_USER
<if test="bookCount != null">
HAVING bookCount >= #{bookCount}
</if>
</select>
</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