Commit 768975f2 by zhangdongwei-intern

feat-zdw-1002052: 超级作者门户优化内部接口

parent 507e93a6
package com.pcloud.book.group.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Describe: 社群书数量dto
* @Author: zhangdongwei
* @Date: Create on 14:06 2020/1/2 0002
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("社群书数量dto")
public class BookGroupCountDTO {
/**
* 应用或作品id
*/
@ApiModelProperty("应用或作品id")
private Long serveId;
/**
* 类型(APP或PRODUCT)
*/
@ApiModelProperty("类型(APP或PRODUCT)")
private String serveType;
/**
* 编辑id
*/
@ApiModelProperty("编辑id")
private Long adviserId;
/**
* 社群书数量
*/
@ApiModelProperty("社群书数量")
private Integer bookGroupCount;
}
package com.pcloud.book.group.service; package com.pcloud.book.group.service;
import com.pcloud.book.group.dto.AltAndCountDTO; import com.pcloud.book.group.dto.AltAndCountDTO;
import com.pcloud.book.group.dto.BookGroupCountDTO;
import com.pcloud.book.group.dto.BookGroupDTO; import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.BookGroupKeywordResourceDTO; import com.pcloud.book.group.dto.BookGroupKeywordResourceDTO;
import com.pcloud.book.group.dto.GroupCipherDTO; import com.pcloud.book.group.dto.GroupCipherDTO;
...@@ -186,4 +187,12 @@ public interface BookGroupService { ...@@ -186,4 +187,12 @@ public interface BookGroupService {
@RequestParam("serveId") Long serveId, @RequestParam("serveId") Long serveId,
@RequestParam("serveType") String serveType); @RequestParam("serveType") String serveType);
/**
* 获取作品或应用关联的社群书数量
* @param bookGroupCountDTOS
* @return
*/
@ApiOperation("获取作品或应用关联的社群书数量")
@PostMapping("getAssocBookGroupCount")
ResponseEntity<ResponseDto<List<BookGroupCountDTO>>> getAssocBookGroupCount(@RequestBody List<BookGroupCountDTO> bookGroupCountDTOS);
} }
...@@ -3,6 +3,7 @@ package com.pcloud.book.group.biz; ...@@ -3,6 +3,7 @@ package com.pcloud.book.group.biz;
import com.pcloud.book.book.dto.BookDto; import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.group.dto.AltAndCountDTO; import com.pcloud.book.group.dto.AltAndCountDTO;
import com.pcloud.book.group.dto.AppStatisticsDTO; import com.pcloud.book.group.dto.AppStatisticsDTO;
import com.pcloud.book.group.dto.BookGroupCountDTO;
import com.pcloud.book.group.dto.BookGroupDTO; import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.BookGroupKeywordResourceDTO; import com.pcloud.book.group.dto.BookGroupKeywordResourceDTO;
import com.pcloud.book.group.dto.BookGroupStatisticsDTO; import com.pcloud.book.group.dto.BookGroupStatisticsDTO;
...@@ -688,4 +689,11 @@ public interface BookGroupBiz { ...@@ -688,4 +689,11 @@ public interface BookGroupBiz {
* @param belongSpecialAgent * @param belongSpecialAgent
*/ */
public void updateSpecialState(Long id, Boolean belongSpecialAgent); public void updateSpecialState(Long id, Boolean belongSpecialAgent);
/**
* 获取应用或作品关联的社群书数量
* @param dtos
* @return
*/
List<BookGroupCountDTO> getAssocBookGroupCount(List<BookGroupCountDTO> dtos);
} }
...@@ -51,6 +51,7 @@ import com.pcloud.book.group.dto.AgentStatisticsInfoDTO; ...@@ -51,6 +51,7 @@ import com.pcloud.book.group.dto.AgentStatisticsInfoDTO;
import com.pcloud.book.group.dto.AltAndCountDTO; import com.pcloud.book.group.dto.AltAndCountDTO;
import com.pcloud.book.group.dto.AltIdAndNameDTO; import com.pcloud.book.group.dto.AltIdAndNameDTO;
import com.pcloud.book.group.dto.AppStatisticsDTO; import com.pcloud.book.group.dto.AppStatisticsDTO;
import com.pcloud.book.group.dto.BookGroupCountDTO;
import com.pcloud.book.group.dto.BookGroupDTO; import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.BookGroupIdAndCountDTO; import com.pcloud.book.group.dto.BookGroupIdAndCountDTO;
import com.pcloud.book.group.dto.BookGroupKeywordResourceDTO; import com.pcloud.book.group.dto.BookGroupKeywordResourceDTO;
...@@ -3925,6 +3926,28 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -3925,6 +3926,28 @@ public class BookGroupBizImpl implements BookGroupBiz {
return bookGroupDtos; return bookGroupDtos;
} }
@Override
public List<BookGroupCountDTO> getAssocBookGroupCount(List<BookGroupCountDTO> dtos) {
if (ListUtils.isEmpty(dtos)){
return new ArrayList<>();
}
Long adviserId = dtos.get(0).getAdviserId();
List<Long> appIds = dtos.stream().filter(d -> AppAndProductTypeEnum.APP.value.equals(d.getServeType()))
.map(BookGroupCountDTO::getServeId).collect(Collectors.toList());
List<Long> productIds = dtos.stream().filter(d -> AppAndProductTypeEnum.PRODUCT.value.equals(d.getServeType()))
.map(BookGroupCountDTO::getServeId).collect(Collectors.toList());
List<BookGroupCountDTO> resultDtos = new ArrayList<>();
if (!ListUtils.isEmpty(appIds)){
List<BookGroupCountDTO> countDtos = bookGroupServeDao.getCountByServeIds(appIds, AppAndProductTypeEnum.APP.value, adviserId);
resultDtos.addAll(countDtos);
}
if (!ListUtils.isEmpty(productIds)){
List<BookGroupCountDTO> countDtos = bookGroupServeDao.getCountByServeIds(productIds, AppAndProductTypeEnum.PRODUCT.value, adviserId);
resultDtos.addAll(countDtos);
}
return resultDtos;
}
@ParamLog("填充资源配置名称和链接") @ParamLog("填充资源配置名称和链接")
private void fillBookGroupServe(List<BookGroupDTO> bookGroupDTOList) { private void fillBookGroupServe(List<BookGroupDTO> bookGroupDTOList) {
if (ListUtils.isEmpty(bookGroupDTOList)){ if (ListUtils.isEmpty(bookGroupDTOList)){
......
package com.pcloud.book.group.dao; package com.pcloud.book.group.dao;
import com.pcloud.book.group.dto.BookGroupCountDTO;
import com.pcloud.book.group.entity.BookGroupApp; import com.pcloud.book.group.entity.BookGroupApp;
import com.pcloud.book.group.entity.BookGroupServe; import com.pcloud.book.group.entity.BookGroupServe;
import com.pcloud.common.core.dao.BaseDao; import com.pcloud.common.core.dao.BaseDao;
...@@ -26,4 +27,13 @@ public interface BookGroupServeDao extends BaseDao<BookGroupServe> { ...@@ -26,4 +27,13 @@ public interface BookGroupServeDao extends BaseDao<BookGroupServe> {
List<BookGroupServe> getListByBookGroupIds(List<Long> bookGroupIds); List<BookGroupServe> getListByBookGroupIds(List<Long> bookGroupIds);
void deleteByBookGroupIds(List<Long> bookGroupIds); void deleteByBookGroupIds(List<Long> bookGroupIds);
/**
* 获取应用或作品关联的社群书数量
* @param serveIds
* @param serveType
* @param adviserId
* @return
*/
List<BookGroupCountDTO> getCountByServeIds(List<Long> serveIds, String serveType, Long adviserId);
} }
package com.pcloud.book.group.dao.impl; package com.pcloud.book.group.dao.impl;
import com.pcloud.book.group.dao.BookGroupServeDao; import com.pcloud.book.group.dao.BookGroupServeDao;
import com.pcloud.book.group.dto.BookGroupCountDTO;
import com.pcloud.book.group.entity.BookGroupApp; import com.pcloud.book.group.entity.BookGroupApp;
import com.pcloud.book.group.entity.BookGroupServe; import com.pcloud.book.group.entity.BookGroupServe;
import com.pcloud.common.core.dao.BaseDaoImpl; import com.pcloud.common.core.dao.BaseDaoImpl;
...@@ -73,4 +74,13 @@ public class BookGroupServeDaoImpl extends BaseDaoImpl<BookGroupServe> implement ...@@ -73,4 +74,13 @@ public class BookGroupServeDaoImpl extends BaseDaoImpl<BookGroupServe> implement
map.put("bookGroupIds", bookGroupIds); map.put("bookGroupIds", bookGroupIds);
super.getSqlSession().delete(getStatement("deleteByBookGroupIds"), map); super.getSqlSession().delete(getStatement("deleteByBookGroupIds"), map);
} }
@Override
public List<BookGroupCountDTO> getCountByServeIds(List<Long> serveIds, String serveType, Long adviserId) {
Map<String, Object> map = new HashMap<>();
map.put("serveIds", serveIds);
map.put("serveType", serveType);
map.put("adviserId", adviserId);
return super.getSqlSession().selectList(getStatement("getCountByServeIds"), map);
}
} }
...@@ -3,6 +3,7 @@ package com.pcloud.book.group.service.impl; ...@@ -3,6 +3,7 @@ package com.pcloud.book.group.service.impl;
import com.pcloud.book.group.biz.BookGroupAppBiz; import com.pcloud.book.group.biz.BookGroupAppBiz;
import com.pcloud.book.group.biz.BookGroupBiz; import com.pcloud.book.group.biz.BookGroupBiz;
import com.pcloud.book.group.dto.AltAndCountDTO; import com.pcloud.book.group.dto.AltAndCountDTO;
import com.pcloud.book.group.dto.BookGroupCountDTO;
import com.pcloud.book.group.dto.BookGroupDTO; import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.BookGroupKeywordResourceDTO; import com.pcloud.book.group.dto.BookGroupKeywordResourceDTO;
import com.pcloud.book.group.dto.GroupCipherDTO; import com.pcloud.book.group.dto.GroupCipherDTO;
...@@ -17,6 +18,7 @@ import com.pcloud.common.dto.ResponseDto; ...@@ -17,6 +18,7 @@ import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.dto.StoreFlowInfoDto; import com.pcloud.common.dto.StoreFlowInfoDto;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.page.PageBeanNew; import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.ResponseHandleUtil; import com.pcloud.common.utils.ResponseHandleUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -29,6 +31,7 @@ import org.springframework.web.bind.annotation.RequestMethod; ...@@ -29,6 +31,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -323,4 +326,15 @@ public class BookGroupServiceImpl implements BookGroupService { ...@@ -323,4 +326,15 @@ public class BookGroupServiceImpl implements BookGroupService {
List<BookGroupDTO> bookGroupDTOList =bookGroupBiz.getAssocBookGroupByServeInfo(adviserId,serveId,serveType); List<BookGroupDTO> bookGroupDTOList =bookGroupBiz.getAssocBookGroupByServeInfo(adviserId,serveId,serveType);
return ResponseHandleUtil.toResponse(bookGroupDTOList); return ResponseHandleUtil.toResponse(bookGroupDTOList);
} }
@Override
public ResponseEntity<ResponseDto<List<BookGroupCountDTO>>> getAssocBookGroupCount(@RequestBody List<BookGroupCountDTO> bookGroupCountDTOS) {
if (ListUtils.isEmpty(bookGroupCountDTOS)){
ResponseHandleUtil.toResponse(new ArrayList<>());
}
List<BookGroupCountDTO> dtos = bookGroupBiz.getAssocBookGroupCount(bookGroupCountDTOS);
return ResponseHandleUtil.toResponse(dtos);
}
} }
...@@ -149,4 +149,16 @@ ...@@ -149,4 +149,16 @@
${item} ${item}
</foreach> </foreach>
</delete> </delete>
<select id="getCountByServeIds" parameterType="map" resultType="com.pcloud.book.group.dto.BookGroupCountDTO">
select serve_id serveId, serve_type serveType, create_user adviserId, count(book_group_id) bookGroupCount
from book_group_serve
where serve_id in
<foreach collection="serveIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
and serve_type = #{serveType}
and create_user = #{adviserId}
group by serve_id
</select>
</mapper> </mapper>
\ No newline at end of file
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