Commit 3f3334da by 田超

Merge branch 'feature/1006362' into 'master'

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

See merge request rays/pcloud-book!1498
parents b398245d a6f73f35
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 @@ ...@@ -4,6 +4,8 @@
package com.pcloud.book.book.service; package com.pcloud.book.book.service;
import com.pcloud.book.book.dto.AdviserBookInfoDTO; 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.AviserBookInfoParam;
import com.pcloud.book.book.dto.BookAdviserDto; import com.pcloud.book.book.dto.BookAdviserDto;
import com.pcloud.book.book.dto.BookCountAndAdviserIdDTO; import com.pcloud.book.book.dto.BookCountAndAdviserIdDTO;
...@@ -213,4 +215,9 @@ public interface BookAdviserService { ...@@ -213,4 +215,9 @@ public interface BookAdviserService {
@ApiOperation("编辑是否有立项书") @ApiOperation("编辑是否有立项书")
@GetMapping("hasApprovalBook4Adviser") @GetMapping("hasApprovalBook4Adviser")
ResponseEntity<ResponseDto<Boolean>> hasApprovalBook4Adviser(@RequestParam("adviserId") Long adviserId); 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 { ...@@ -498,4 +498,9 @@ public interface BookAdviserBiz {
* 批量获取图书扫码量和扫码用户量 * 批量获取图书扫码量和扫码用户量
*/ */
Map<String, BookScanCountVO> multiGetBookScanCount(List<BookScanCountParamDTO> param); Map<String, BookScanCountVO> multiGetBookScanCount(List<BookScanCountParamDTO> param);
/**
* 获取编辑的立项书数量和非立项书数量
*/
Map<Long, AdviserBookStatisDto> getAdviserBookStatis(AdviserBookStatisRequestDto requestDto);
} }
...@@ -3501,4 +3501,13 @@ public class BookAdviserBizImpl implements BookAdviserBiz { ...@@ -3501,4 +3501,13 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
public Map<String, BookScanCountVO> multiGetBookScanCount(List<BookScanCountParamDTO> param) { public Map<String, BookScanCountVO> multiGetBookScanCount(List<BookScanCountParamDTO> param) {
return dataConsr.multiGetBookScanCount(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 @@ ...@@ -4,6 +4,8 @@
package com.pcloud.book.book.dao; package com.pcloud.book.book.dao;
import com.pcloud.book.book.dto.AdviserBookInfoDTO; 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.AdviserManageDto;
import com.pcloud.book.book.dto.AviserBookInfoParam; import com.pcloud.book.book.dto.AviserBookInfoParam;
import com.pcloud.book.book.dto.BookAdviserDto; import com.pcloud.book.book.dto.BookAdviserDto;
...@@ -353,4 +355,6 @@ public interface BookAdviserDao extends BaseDao<BookAdviser> { ...@@ -353,4 +355,6 @@ public interface BookAdviserDao extends BaseDao<BookAdviser> {
List<Long> getSelfBookIds(Long adviserId, List<Long> selectBookIds); List<Long> getSelfBookIds(Long adviserId, List<Long> selectBookIds);
void batchUpdateIsPrint(List<BookRequestVO> bookRequestVOS); void batchUpdateIsPrint(List<BookRequestVO> bookRequestVOS);
List<AdviserBookStatisDto> getAdviserBookStatis(AdviserBookStatisRequestDto requestDto);
} }
...@@ -9,6 +9,8 @@ import cn.hutool.core.util.StrUtil; ...@@ -9,6 +9,8 @@ import cn.hutool.core.util.StrUtil;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.pcloud.book.book.dao.BookAdviserDao; import com.pcloud.book.book.dao.BookAdviserDao;
import com.pcloud.book.book.dto.AdviserBookInfoDTO; 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.AdviserManageDto;
import com.pcloud.book.book.dto.AviserBookInfoParam; import com.pcloud.book.book.dto.AviserBookInfoParam;
import com.pcloud.book.book.dto.BookAdviserDto; import com.pcloud.book.book.dto.BookAdviserDto;
...@@ -540,4 +542,9 @@ public class BookAdviserDaoImpl extends BaseDaoImpl<BookAdviser> implements Book ...@@ -540,4 +542,9 @@ public class BookAdviserDaoImpl extends BaseDaoImpl<BookAdviser> implements Book
paramMap.put("bookRequestVOS", bookRequestVOS); paramMap.put("bookRequestVOS", bookRequestVOS);
getSessionTemplate().update(getStatement("batchUpdateIsPrint"), paramMap); 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; ...@@ -6,6 +6,8 @@ package com.pcloud.book.book.service.impl;
import com.pcloud.book.book.biz.BookAdviserBiz; import com.pcloud.book.book.biz.BookAdviserBiz;
import com.pcloud.book.book.biz.BookRaysClassifyBiz; import com.pcloud.book.book.biz.BookRaysClassifyBiz;
import com.pcloud.book.book.dto.AdviserBookInfoDTO; 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.AviserBookInfoParam;
import com.pcloud.book.book.dto.BookAdviserDto; import com.pcloud.book.book.dto.BookAdviserDto;
import com.pcloud.book.book.dto.BookCountAndAdviserIdDTO; import com.pcloud.book.book.dto.BookCountAndAdviserIdDTO;
...@@ -254,4 +256,10 @@ public class BookAdviserServiceImpl implements BookAdviserService { ...@@ -254,4 +256,10 @@ public class BookAdviserServiceImpl implements BookAdviserService {
public ResponseEntity<ResponseDto<Boolean>> hasApprovalBook4Adviser(@RequestParam("adviserId") Long adviserId) { public ResponseEntity<ResponseDto<Boolean>> hasApprovalBook4Adviser(@RequestParam("adviserId") Long adviserId) {
return ResponseHandleUtil.toResponse(bookAdviserBiz.hasApprovalBook4Adviser(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 @@ ...@@ -1384,4 +1384,26 @@
</foreach> </foreach>
</update> </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> </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