Commit eb6d1dd8 by daixing

添加接口

parent 9a12d2af
......@@ -181,4 +181,9 @@ public interface BookGroupClassifyBiz {
* 获取群分类学习报告相关列表
*/
PageBeanNew<ClassifyLearningReportDto> listClassifyForLearningReport(Integer currentPage, Integer numPerPage, String keyword, Long partyId);
/**
* 埋点记录点击群分类次数
*/
void clickClassify(Long wechatUserId, Long bookGroupId, Long classifyId);
}
......@@ -1242,6 +1242,10 @@ public class BookGroupBizImpl implements BookGroupBiz {
return new ArrayList<>();
}
List<Long> classifyIds = listClassifyVOS.stream().map(ListClassifyVO::getId).collect(Collectors.toList());
if (ListUtils.isEmpty(classifyIds)){
return new ArrayList<>();
}
Map<Long, ClickClassifyDTO> longClickClassifyDTOMap = bookGroupClassifyDao.mapClickClassify(classifyIds);
GetGroupClassifyIncomeDTO getGroupClassifyIncomeDTO = new GetGroupClassifyIncomeDTO();
getGroupClassifyIncomeDTO.setClassifyIds(classifyIds);
getGroupClassifyIncomeDTO.setPartyId(adviserId);
......@@ -1250,7 +1254,12 @@ public class BookGroupBizImpl implements BookGroupBiz {
List<GroupStatisticVO> groupStatisticVOS = new ArrayList<>();
Map<Long, Long> mapMemberCount = wechatGroupConsr.getclassifyMemberCount(classifyIds);
listClassifyVOS.forEach(e ->{
GroupStatisticVO groupStatisticVO = new GroupStatisticVO();
if (longClickClassifyDTOMap.get(e.getId()) != null){
Long count = longClickClassifyDTOMap.get(e.getId()).getCount()==null?0L:longClickClassifyDTOMap.get(e.getId()).getCount();
groupStatisticVO.setClickCount(count);
}
groupStatisticVO.setClassifyId(e.getId());
groupStatisticVO.setClassifyName(e.getClassify());
groupStatisticVO.setCreatedTime(e.getCreatedTime());
......
......@@ -977,4 +977,9 @@ public class BookGroupClassifyBizImpl implements BookGroupClassifyBiz {
}
@Override
public void clickClassify(Long wechatUserId, Long bookGroupId, Long classifyId) {
bookGroupClassifyDao.addClickClassify(wechatUserId,bookGroupId,classifyId);
}
}
......@@ -238,4 +238,7 @@ public interface BookGroupClassifyDao extends BaseDao<BookGroupClassify> {
*/
void updateHasOpenLearningReport(Long classifyId, Boolean hasOpenLearningReport, Long partyId);
void addClickClassify(Long wechatUserId, Long bookGroupId, Long classifyId);
Map<Long, ClickClassifyDTO> mapClickClassify(List<Long> classifyId);
}
......@@ -211,4 +211,20 @@ public class BookGroupClassifyDaoImpl extends BaseDaoImpl<BookGroupClassify> imp
this.getSqlSession().update(this.getStatement("updateHasOpenLearningReport"), paramMap);
}
@Override
public void addClickClassify(Long wechatUserId, Long bookGroupId, Long classifyId) {
Map<String, Object> paramMap = new HashMap();
paramMap.put("classifyId", classifyId);
paramMap.put("wechatUserId", wechatUserId);
paramMap.put("bookGroupId", bookGroupId);
this.getSqlSession().insert(this.getStatement("addClickClassify"), paramMap);
}
@Override
public Map<Long, ClickClassifyDTO> mapClickClassify(List<Long> classifyIds) {
Map<String, Object> paramMap = new HashMap();
paramMap.put("classifyId", classifyIds);
return this.getSqlSession().selectMap(this.getStatement("mapClickClassify"), paramMap,"classifyId");
}
}
package com.pcloud.book.group.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
/**
* @author 戴兴
* @description TODO
* @date 2019/8/22 21:49
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ClickClassifyDTO implements Serializable {
@ApiModelProperty("社群码标识")
private Long bookGroupId;
@ApiModelProperty("分类标识")
private Long classifyId;
@ApiModelProperty("点击次数")
private Long count;
public Long getBookGroupId() {
return bookGroupId;
}
public void setBookGroupId(Long bookGroupId) {
this.bookGroupId = bookGroupId;
}
public Long getClassifyId() {
return classifyId;
}
public void setClassifyId(Long classifyId) {
this.classifyId = classifyId;
}
public Long getCount() {
return count;
}
public void setCount(Long count) {
this.count = count;
}
@Override
public String toString() {
return "ClickClassifyDTO{" +
"bookGroupId=" + bookGroupId +
", classifyId=" + classifyId +
", count=" + count +
'}';
}
}
\ No newline at end of file
......@@ -172,6 +172,13 @@ public interface BookGroupClassifyFacade {
@RequestParam(value = "keyword", required = false) @ApiParam("关键词") String keyword
) throws BizException, PermissionException;
@ApiOperation("埋点记录点击分类次数")
@GetMapping("clickClassify")
ResponseDto<?> clickClassify(
@CookieValue("userinfo") @ApiParam("cookie信息") String userInfo,
@RequestParam("bookGroupId") @ApiParam("社群码id") Long bookGroupId,
@RequestParam("classifyId") @ApiParam("群分类id") Long classifyId) throws BizException, PermissionException;
}
......@@ -184,4 +184,13 @@ public class BookGroupClassifyFacadeImpl implements BookGroupClassifyFacade {
return new ResponseDto<>(bookGroupClassifyBiz.listClassifyForLearningReport(currentPage,numPerPage,keyword,partyId));
}
@Override
@GetMapping("clickClassify")
public ResponseDto<?> clickClassify(@CookieValue("userInfo") String userInfo, @RequestParam("bookGroupId") Long bookGroupId,
@RequestParam("classifyId") Long classifyId) throws BizException, PermissionException {
Long wechatUserId = Cookie.getId(userInfo, Cookie._WECHAT_USER_ID);
bookGroupClassifyBiz.clickClassify(wechatUserId,bookGroupId,classifyId);
return new ResponseDto<>();
}
}
......@@ -805,6 +805,20 @@
where id=#{classifyId}
</update>
<insert id="addClickClassify" parameterType="map">
insert into book_group_classify_click(book_group_id, classify_id,create_user, create_time)
values(#{bookGroupId},#{classifyId},#{wechatUserId},now())
</insert>
<select id="mapClickClassify" parameterType="map" resultType="com.pcloud.book.group.dto.ClickClassifyDTO">
select classify_id classifyId, count(1) count from book_group_classify_click
where classify_id in
<foreach collection="classifyIds" open="(" close=")" separator="," item="id">
#{id}
</foreach>
group by classify_id
</select>
<!--获取群分类学习报告相关列表-->
<select id="listClassifyForLearningReport" parameterType="map" resultType="com.pcloud.book.group.dto.ClassifyLearningReportDto">
SELECT
......
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