Commit 2af562d2 by daixing

添加内部接口

parent 316d3bc9
package com.pcloud.book.group.dto;
import java.io.Serializable;
import java.util.List;
/**
* @author 戴兴
* @description TODO
* @date 2019/8/8 20:37
*/
public class ResourceBrowseParamDto implements Serializable {
private Long bookGroupId;
private Long classifyId;
private Long qrcodeId;
private String typeCode;
private List<Long> Ids;
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 getQrcodeId() {
return qrcodeId;
}
public void setQrcodeId(Long qrcodeId) {
this.qrcodeId = qrcodeId;
}
public String getTypeCode() {
return typeCode;
}
public void setTypeCode(String typeCode) {
this.typeCode = typeCode;
}
public List<Long> getIds() {
return Ids;
}
public void setIds(List<Long> ids) {
Ids = ids;
}
@Override
public String toString() {
return "ResourceBrowseParamDto{" +
"bookGroupId=" + bookGroupId +
", classifyId=" + classifyId +
", qrcodeId=" + qrcodeId +
", typeCode='" + typeCode + '\'' +
", Ids=" + Ids +
'}';
}
}
\ No newline at end of file
......@@ -2,12 +2,11 @@ package com.pcloud.book.group.service;
import java.util.List;
import java.util.Map;
import com.pcloud.book.group.dto.ResourceBrowseParamDto;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.*;
import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException;
......@@ -34,4 +33,8 @@ public interface BookGroupService {
@RequestMapping(value = "getBaseInfoBySceneId",method = RequestMethod.GET)
ResponseEntity<ResponseDto<BookGroupDTO>> getBaseInfoBySceneId(@RequestParam("sceneId")Long sceneId) throws BizException;
@ApiOperation("获取资源浏览数据")
@PostMapping("getResourcesBrowseCount")
ResponseEntity<ResponseDto<Map<Long, Long>>> getResourcesBrowseCount(@RequestBody ResourceBrowseParamDto resourceBrowseParamDto);
}
......@@ -154,4 +154,16 @@ public class TradeConsr {
return groupMoneyDtoMap;
}
@ParamLog("查询社群码下购买应用或作品的总销售额")
public BigDecimal getTotalSale(Long bookGroupId, Long classifyId, Long qrcodeId, String type) throws BizException {
BigDecimal totalSale = BigDecimal.ZERO;
try {
ResponseEntity<ResponseDto<BigDecimal>> responseEntity = orderFormService.getSaleAmount4Group(bookGroupId,classifyId,qrcodeId,type);
totalSale = ResponseHandleUtil.parseResponse(responseEntity, BigDecimal.class);
} catch (Exception e) {
LOGGER.error("查询社区码下购买应用详情:" + e.getMessage(), e);
}
return totalSale;
}
}
......@@ -280,7 +280,12 @@ public interface BookGroupBiz {
/**
* 资源数据导出
*/
void exportRescourceData(Long bookGroupId,Long adviserId, Long classifyId, Long qrcodeId, String type);
void exportRescourceIncomeData(Long bookGroupId,Long adviserId, Long classifyId, Long qrcodeId, String type);
/**
* 获取资源浏览数据
*/
Map<Long, Long> getResourcesBrowseCount(ResourceBrowseParamDto resourceBrowseParamDto);
......
......@@ -86,8 +86,6 @@ import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.stream.Collectors;
/**
......@@ -1304,15 +1302,44 @@ public class BookGroupBizImpl implements BookGroupBiz {
groupRescourceIncomeParamDTO.setRescourceIds(rescourceIds);
BigDecimal rescourceTotalIncome = bookConsr.getRescourceTotalIncome(groupRescourceIncomeParamDTO);
totalRescourceDataVO.setTotalIncome(rescourceTotalIncome == null?BigDecimal.ZERO:rescourceTotalIncome);
BigDecimal totalSale = tradeConsr.getTotalSale(bookGroupId, classifyId, qrcodeId, type);
totalRescourceDataVO.setTotalSale(totalSale);
return totalRescourceDataVO;
}
@Override
public void exportRescourceData(Long bookGroupId, Long adviserId, Long classifyId, Long qrcodeId, String type) {
public void exportRescourceIncomeData(Long bookGroupId, Long adviserId, Long classifyId, Long qrcodeId, String type) {
List<ResourcesStatisticVO> clickStatistics = appClickRecordDao.getClickStatistics(bookGroupId, classifyId, qrcodeId, type);
setInfo(clickStatistics,bookGroupId,classifyId,qrcodeId,type);
}
@Override
public Map<Long, Long> getResourcesBrowseCount(ResourceBrowseParamDto resourceBrowseParamDto) {
Map<Long, Long> resultMap = new HashMap<>();
Long bookGroupId = resourceBrowseParamDto.getBookGroupId();
Long classifyId = resourceBrowseParamDto.getClassifyId();
Long qrcodeId = resourceBrowseParamDto.getQrcodeId();
String typeCode = resourceBrowseParamDto.getTypeCode();
List<Long> ids = resourceBrowseParamDto.getIds();
if (ListUtils.isEmpty(ids)){
return resultMap;
}
Map<String, Object> map = new HashMap<>();
map.put("bookGroupId", bookGroupId);
map.put("classifyId", classifyId);
map.put("qrcodeId", qrcodeId);
map.put("type", typeCode);
map.put("rescourceIds", ids);
Map<Long, ResourceClickVO> resourceClick = appClickRecordDao.getResourceClick(map);
if (MapUtils.isEmpty(resourceClick)){
return resultMap;
}
resourceClick.forEach((k,v) ->{
resultMap.put(k,v.getClickCount());
});
return resultMap;
}
}
......@@ -313,8 +313,8 @@ public interface BookGroupFacade {
@ApiImplicitParam(name = "qrcodeId",value = "qrcodeId",required = false,dataType = "Long",paramType = "query"),
@ApiImplicitParam(name = "type",value = "type",required = true,dataType = "String",paramType = "query")
})
@RequestMapping(value ="exportRescourceData",method = RequestMethod.GET)
public ResponseDto<?> exportRescourceData(@RequestHeader("token") String token, @RequestParam(value = "bookGroupId",required = true) Long bookGroupId,
@RequestMapping(value ="exportRescourceIncomeData",method = RequestMethod.GET)
public ResponseDto<?> exportRescourceIncomeData(@RequestHeader("token") String token, @RequestParam(value = "bookGroupId",required = true) Long bookGroupId,
@RequestParam(value = "classifyId",required = false) Long classifyId, @RequestParam(value = "qrcodeId",required = false) Long qrcodeId,
@RequestParam("type") String type) throws BizException, PermissionException;
......
......@@ -432,13 +432,13 @@ public class BookGroupFacadeImpl implements BookGroupFacade {
}
@Override
@RequestMapping(value ="exportRescourceData",method = RequestMethod.GET)
public ResponseDto<?> exportRescourceData(@RequestHeader("token") String token, @RequestParam(value = "bookGroupId",required = true) Long bookGroupId,
@RequestMapping(value ="exportRescourceIncomeData",method = RequestMethod.GET)
public ResponseDto<?> exportRescourceIncomeData(@RequestHeader("token") String token, @RequestParam(value = "bookGroupId",required = true) Long bookGroupId,
@RequestParam(value = "classifyId",required = false) Long classifyId, @RequestParam(value = "qrcodeId",required = false) Long qrcodeId,
@RequestParam("type") String type) throws BizException, PermissionException {
Map<String, Object> map = SessionUtil.getToken4Redis(token);
Long adviserId = (Long) map.get(SessionUtil.PARTY_ID);
bookGroupBiz.exportRescourceData(bookGroupId, adviserId, classifyId, qrcodeId, type);
bookGroupBiz.exportRescourceIncomeData(bookGroupId, adviserId, classifyId, qrcodeId, type);
return new ResponseDto<>();
}
}
......@@ -2,13 +2,11 @@ package com.pcloud.book.group.service.impl;
import java.util.List;
import java.util.Map;
import com.pcloud.book.group.dto.ResourceBrowseParamDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.pcloud.book.group.biz.BookGroupBiz;
import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.service.BookGroupService;
......@@ -54,4 +52,15 @@ public class BookGroupServiceImpl implements BookGroupService {
return ResponseHandleUtil.toResponse(bookGroupBiz.getBaseInfoBySceneId(sceneId));
}
/**
* @description 获取资源浏览数据
* @author 戴兴
* @date 2019/8/8 20:45
*/
@Override
@PostMapping("getResourcesBrowseCount")
public ResponseEntity<ResponseDto<Map<Long, Long>>> getResourcesBrowseCount(@RequestBody ResourceBrowseParamDto resourceBrowseParamDto) {
return ResponseHandleUtil.toResponse(bookGroupBiz.getResourcesBrowseCount(resourceBrowseParamDto));
}
}
......@@ -131,9 +131,9 @@
AND t.book_group_id = #{bookGroupId}
</if>
<if test="classifyId!=null">
AND t.qrcode_id = #{qrcodeId}
AND t.classify_id = #{classifyId}
</if>
<if test="classifyId!=null">
<if test="qrcodeId!=null">
AND t.qrcode_id = #{qrcodeId}
</if>
<if test="type!=null">
......@@ -147,9 +147,9 @@
select count(1) FROM app_click_record t
WHERE t.book_group_id = #{bookGroupId}
<if test="classifyId!=null">
AND t.qrcode_id = #{qrcodeId}
AND t.classify_id = #{classifyId}
</if>
<if test="classifyId!=null">
<if test="qrcodeId!=null">
AND t.qrcode_id = #{qrcodeId}
</if>
<if test="type!=null">
......@@ -161,9 +161,9 @@
select t.serve_id FROM app_click_record t
WHERE t.book_group_id = #{bookGroupId}
<if test="classifyId!=null">
AND t.qrcode_id = #{qrcodeId}
AND t.classify_id = #{classifyId}
</if>
<if test="classifyId!=null">
<if test="qrcodeId!=null">
AND t.qrcode_id = #{qrcodeId}
</if>
<if test="type!=null">
......
......@@ -104,8 +104,8 @@
<spring-cloud.version>Dalston.SR1</spring-cloud.version>
<pcloud-common-web.version>2.1.0-RELEASE</pcloud-common-web.version>
<!-- book -->
<pcloud-facade-book.version>2.0.0-SNAPSHOT</pcloud-facade-book.version>
<pcloud-service-book.version>2.0.0-SNAPSHOT</pcloud-service-book.version>
<pcloud-facade-book.version>2.1.0-SNAPSHOT</pcloud-facade-book.version>
<pcloud-service-book.version>2.1.0-SNAPSHOT</pcloud-service-book.version>
<pcloud-facade-usercenter.version>2.1.0-RELEASE</pcloud-facade-usercenter.version>
<pcloud-facade-channelcenter.version>2.1.0-RELEASE</pcloud-facade-channelcenter.version>
......@@ -120,10 +120,10 @@
<pcloud-facade-voicemessage.version>2.1.0-RELEASE</pcloud-facade-voicemessage.version>
<pcloud-facade-raystask.version>2.1.0-RELEASE</pcloud-facade-raystask.version>
<pcloud-facade-contentcenter.version>2.1.0-SNAPSHOT</pcloud-facade-contentcenter.version>
<pcloud-facade-tradecenter.version>2.0.0-SNAPSHOT</pcloud-facade-tradecenter.version>
<pcloud-facade-tradecenter.version>2.1.0-SNAPSHOT</pcloud-facade-tradecenter.version>
<pcloud-facade-readercenter.version>2.1.0-RELEASE</pcloud-facade-readercenter.version>
<pcloud-facade-labelcenter.version>2.1.0-RELEASE</pcloud-facade-labelcenter.version>
<pcloud-facade-wechatgroup.version>2.0.0-SNAPSHOT</pcloud-facade-wechatgroup.version>
<pcloud-facade-wechatgroup.version>2.1.0-SNAPSHOT</pcloud-facade-wechatgroup.version>
<pcloud-facade-promotion.version>2.1.0-RELEASE</pcloud-facade-promotion.version>
<pcloud-facade-audioapp.version>2.1.0-RELEASE</pcloud-facade-audioapp.version>
<pcloud-facade-videolesson.version>2.1.0-RELEASE</pcloud-facade-videolesson.version>
......
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