Commit 86baa3d8 by 朱亚洁

feat:[1004309]上分MVP课程模块

parent ca6c2513
package com.pcloud.book.group.dto;
import java.util.List;
import lombok.Data;
/**
* @ClassName com.pcloud.book.group.dto.BookServeQueryDTO
* @Author zhuyajie
* @Description 书刊资源
* @Date 2021/3/9 16:16
* @Version 1.0
**/
@Data
public class BookServeQueryDTO {
private Long bookId;
private Long channelId;
private Long adviserId;
private List<String> typeCodes;
private String gradeLabelName;
private String subjectLabelName;
private Integer currentPage;
private Integer numPerPage;
/**
* 上分mvp-课程类型
*/
private Integer moduleType;
}
......@@ -9,6 +9,7 @@ import com.pcloud.book.group.dto.BookGroupScanStatisticsRespDTO;
import com.pcloud.book.group.dto.BookGroupScanStatisticsRequestDTO;
import com.pcloud.book.group.dto.BookGroupServeCountDTO;
import com.pcloud.book.group.dto.BookGroupServeDTO;
import com.pcloud.book.group.dto.BookServeQueryDTO;
import com.pcloud.book.group.dto.ErpBookGroupDTO;
import com.pcloud.book.group.dto.ErpGroupQrcodeDTO;
import com.pcloud.book.group.dto.GroupCipherDTO;
......@@ -255,4 +256,8 @@ public interface BookGroupService {
@ApiOperation("获取社群书的扫码统计信息")
@PostMapping("getBookGroupScanStatistics")
ResponseEntity<ResponseDto<List<BookGroupScanStatisticsRespDTO>>> getBookGroupScanStatistics(@RequestBody BookGroupScanStatisticsRequestDTO reqDTO);
@ApiOperation("获取书刊资源配置集合")
@RequestMapping(value = "/getBookGroupServeListByBook", method = RequestMethod.POST)
ResponseEntity<ResponseDto<List<BookGroupServeDTO>>> getBookGroupServeListByBook(@RequestBody BookServeQueryDTO bookServeQueryDTO);
}
......@@ -223,6 +223,13 @@
<version>${pcloud-facade.version}</version>
</dependency>
<dependency>
<groupId>com.pcloud.facade</groupId>
<artifactId>pcloud-facade-exercisebook</artifactId>
<version>${pcloud-facade.version}</version>
</dependency>
<dependency>
<groupId>fakepath</groupId>
<artifactId>jbarcode</artifactId>
......
package com.pcloud.book.consumer.content;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -10,11 +11,15 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.ResponseHandleUtil;
import com.pcloud.contentcenter.resource.dto.ResourceDTO;
import com.pcloud.contentcenter.resource.service.ResourceService;
import com.pcloud.resourcecenter.product.dto.ProductVideoScheduleDTO;
import com.pcloud.resourcecenter.product.dto.ProductVideoScheduleQueryDTO;
import com.pcloud.resourcecenter.product.service.ProductVideoScheduleService;
/**
......@@ -33,6 +38,8 @@ public class ResourceConsr {
@Autowired
private ResourceService resourceService;
@Autowired
private ProductVideoScheduleService productVideoScheduleService;
/**
......@@ -78,4 +85,14 @@ public class ResourceConsr {
return resourceDtos;
}
@ParamLog("查视频课-上分mvp")
public List<ProductVideoScheduleDTO> getProductVideoCourseList4ExerciseBook(ProductVideoScheduleQueryDTO productVideoScheduleQueryDTO) {
List<ProductVideoScheduleDTO> list = new ArrayList<>();
try {
list = ResponseHandleUtil.parseList(productVideoScheduleService.getProductVideoCourseList4ExerciseBook(productVideoScheduleQueryDTO), ProductVideoScheduleDTO.class);
} catch (Exception e) {
LOGGER.error("调用失败" +e.getMessage(), e);
}
return list;
}
}
package com.pcloud.book.consumer.exercisebook;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.utils.ResponseHandleUtil;
import com.pcloud.exercisebook.dto.CourseModuleDTO;
import com.pcloud.exercisebook.service.ExerciseBookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.Map;
import lombok.extern.slf4j.Slf4j;
/**
* @ClassName com.pcloud.book.consumer.exercisebook.ExerciseBookConsr
* @Author zhuyajie
* @Description 作业本
* @Date 2021/3/10 10:23
* @Version 1.0
**/
@Slf4j
@Component
public class ExerciseBookConsr {
@Autowired
private ExerciseBookService exerciseBookService;
@ParamLog("查课程模块类型")
public Map<Integer, CourseModuleDTO> getCourseModuleMap() {
Map<Integer, CourseModuleDTO> moduleDTOMap = new HashMap<>();
try {
moduleDTOMap = ResponseHandleUtil.parseMap(exerciseBookService.getCourseModuleMap(), Integer.class, CourseModuleDTO.class);
} catch (Exception e) {
log.error("调用exerciseBookService.getCourseModuleMap失败" + e.getMessage(), e);
}
return moduleDTOMap;
}
}
......@@ -16,9 +16,11 @@ import com.pcloud.book.group.dto.BookGroupScanStatisticsRespDTO;
import com.pcloud.book.group.dto.BookGroupScanStatisticsRequestDTO;
import com.pcloud.book.group.dto.BookGroupSceneDTO;
import com.pcloud.book.group.dto.BookGroupServeCountDTO;
import com.pcloud.book.group.dto.BookGroupServeDTO;
import com.pcloud.book.group.dto.BookGroupStatistic4AgentDTO;
import com.pcloud.book.group.dto.BookGroupStatisticsDTO;
import com.pcloud.book.group.dto.BookServeDTO;
import com.pcloud.book.group.dto.BookServeQueryDTO;
import com.pcloud.book.group.dto.BookServeResourceDTO;
import com.pcloud.book.group.dto.ChangeQrCodeTypeDto;
import com.pcloud.book.group.dto.ClassifyKeywordDTO;
......@@ -50,6 +52,7 @@ import com.pcloud.book.group.entity.BookGroupServe;
import com.pcloud.book.group.entity.WxWechatUserCorrelation;
import com.pcloud.book.group.vo.BookGroupAnalysisParam;
import com.pcloud.book.group.vo.BookGroupAnalysisVO;
import com.pcloud.book.group.vo.ExerciseBookCourseVO;
import com.pcloud.book.group.vo.FriendsVO;
import com.pcloud.book.group.vo.GroupIncomeStaticParamVO;
import com.pcloud.book.group.vo.GroupScanTrendParamVO;
......@@ -1053,4 +1056,27 @@ public interface BookGroupBiz {
List<BookServeDTO> getBookAndBookGroupRaysApps(Long adviserId, Long bookId, Long channelId);
List<BookGroupScanStatisticsRespDTO> getBookGroupScanStatistics(BookGroupScanStatisticsRequestDTO reqDTO);
/**
* 获取书刊资源配置集合
* @author:zhuyajie
* @date:2021/3/9 16:20
* * @param null
*/
List<BookGroupServeDTO> getBookGroupServeListByBook(BookServeQueryDTO bookServeQueryDTO);
/**
* 上分MVP-课程资源列表
* @author:zhuyajie
* @date:2021/3/9 16:42
* * @param null
*/
PageBeanNew<BookServeDTO> listPageCourse4ExerciseBook(BookServeQueryDTO bookServeQueryDTO);
/**
* 上分MVP-课程资源列表
* @author:zhuyajie
* @date:2021/3/11 16:37
* * @param null
*/
List<ExerciseBookCourseVO> listCourse4ExerciseBook(BookServeQueryDTO bookServeQueryDTO);
}
......@@ -112,4 +112,11 @@ public interface BookGroupServeDao extends BaseDao<BookGroupServe> {
* * @param null
*/
List<BookGroupServe> getServeListByBookAndType(Long bookId, Long channelId, Long adviserId, List<String> typeCodes);
/**
* 查资源配置
* @author:zhuyajie
* @date:2021/3/11 16:59
* * @param null
*/
List<BookGroupServe> getServeListByBookList(List<Long> bookIds, List<String> typeCodes);
}
......@@ -223,4 +223,12 @@ public class BookGroupServeDaoImpl extends BaseDaoImpl<BookGroupServe> implement
map.put("typeCodes", typeCodes);
return getSessionTemplate().selectList(getStatement("getServeListByBookAndType"), map);
}
@Override
public List<BookGroupServe> getServeListByBookList(List<Long> bookIds, List<String> typeCodes) {
Map<String,Object> map = new HashMap<>();
map.put("bookIds", bookIds);
map.put("typeCodes", typeCodes);
return getSessionTemplate().selectList(getStatement("getServeListByBookList"), map);
}
}
......@@ -57,5 +57,8 @@ public class BookAppletSceneDTO extends BaseDto {
* 现代纸书自建码的id
*/
private Long sceneId;
/**
*权益id
*/
private Long rightsSettingId;
}
......@@ -51,4 +51,9 @@ public class BookServeDTO extends BaseDto {
@ApiModelProperty("跳转结果链接")
private String resultUrl;
@ApiModelProperty("课程数量")
private Integer courseNum;
private Long bookId;
}
......@@ -66,4 +66,6 @@ public class BookGroupServe extends BaseEntity {
@ApiModelProperty("类型")
private String typeCode;
private Long bookId;
}
......@@ -13,6 +13,7 @@ import com.pcloud.book.group.dto.BackgroundGroupQrcodeDTO;
import com.pcloud.book.group.dto.BookAppletSceneDTO;
import com.pcloud.book.group.dto.BookGroupCreateDTO;
import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.BookServeQueryDTO;
import com.pcloud.book.group.dto.ChangeQrCodeTypeDto;
import com.pcloud.book.group.dto.GroupStoreMyPayDto;
import com.pcloud.book.group.dto.HotAppDTO;
......@@ -1406,4 +1407,16 @@ public class BookGroupFacadeImpl implements BookGroupFacade {
@RequestParam("adviserId") Long adviserId, @RequestParam("bookId")Long bookId, @RequestParam("channelId") Long channelId){
return new ResponseDto<>(bookGroupBiz.getBookAndBookGroupRaysApps(adviserId, bookId, channelId));
}
@ApiOperation("上分MVP-根据模块查课程资源列表")
@PostMapping("listPageCourse4ExerciseBook")
public ResponseDto<?> listPageCourse4ExerciseBook(@RequestBody BookServeQueryDTO bookServeQueryDTO) {
return new ResponseDto<>(bookGroupBiz.listPageCourse4ExerciseBook(bookServeQueryDTO));
}
@ApiOperation("上分MVP-课程列表")
@PostMapping("listCourse4ExerciseBook")
public ResponseDto<?> listCourse4ExerciseBook(@RequestBody BookServeQueryDTO bookServeQueryDTO) {
return new ResponseDto<>(bookGroupBiz.listCourse4ExerciseBook(bookServeQueryDTO));
}
}
......@@ -11,6 +11,7 @@ import com.pcloud.book.group.dto.BookGroupScanStatisticsRespDTO;
import com.pcloud.book.group.dto.BookGroupScanStatisticsRequestDTO;
import com.pcloud.book.group.dto.BookGroupServeCountDTO;
import com.pcloud.book.group.dto.BookGroupServeDTO;
import com.pcloud.book.group.dto.BookServeQueryDTO;
import com.pcloud.book.group.dto.ErpBookGroupDTO;
import com.pcloud.book.group.dto.ErpGroupQrcodeDTO;
import com.pcloud.book.group.dto.GroupCipherDTO;
......@@ -444,4 +445,11 @@ public class BookGroupServiceImpl implements BookGroupService {
public ResponseEntity<ResponseDto<List<BookGroupScanStatisticsRespDTO>>> getBookGroupScanStatistics(@RequestBody BookGroupScanStatisticsRequestDTO reqDTO) {
return ResponseHandleUtil.toResponse(bookGroupBiz.getBookGroupScanStatistics(reqDTO));
}
@Override
@RequestMapping(value = "/getBookGroupServeListByBook", method = RequestMethod.POST)
public ResponseEntity<ResponseDto<List<BookGroupServeDTO>>> getBookGroupServeListByBook(@RequestBody BookServeQueryDTO bookServeQueryDTO) {
List<BookGroupServeDTO> bookGroupServeDTOS = bookGroupBiz.getBookGroupServeListByBook(bookServeQueryDTO);
return ResponseHandleUtil.toResponse(bookGroupServeDTOS);
}
}
package com.pcloud.book.group.vo;
import com.pcloud.book.group.dto.BookServeDTO;
import com.pcloud.common.dto.BaseDto;
import java.util.List;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @ClassName com.pcloud.book.group.vo.ExerciseBookCourseVO
* @Author zhuyajie
* @Description 上分mvp课程
* @Date 2021/3/16 9:52
* @Version 1.0
**/
@Data
public class ExerciseBookCourseVO extends BaseDto {
@ApiModelProperty("模块类型")
private Integer moduleType;
@ApiModelProperty("模块名称")
private String moduleName;
@ApiModelProperty("资源")
private List<BookServeDTO> bookServeDTOS;
@ApiModelProperty("资源总数")
private Integer serveCount;
}
......@@ -377,4 +377,64 @@
GROUP BY bookId, channelId, adviserId
</select>
<select id="listServeListByBook" parameterType="map" resultMap="BaseResultMap">
SELECT
s.id,
s.serve_id,
s.serve_type,
s.serve_url,
s.short_url,
s.book_group_id,
s.create_user,
s.create_time,
s.type_code
FROM
book_group_serve s
LEFT JOIN book_group g ON s.book_group_id = g.id
WHERE
g.book_id = #{bookId}
AND g.channel_id = #{channelId}
AND g.create_user = #{adviserId}
<if test="serveIds != null and serveIds.size>0">
AND s.serve_id in
<foreach collection="serveIds" index="index" item="serveId" close=")" open="(" separator=",">
${serveId}
</foreach>
</if>
GROUP BY
s.serve_id
ORDER BY
s.id
</select>
<select id="getServeListByBookList" parameterType="map" resultMap="BaseResultMap">
SELECT
s.id,
s.serve_id,
s.serve_type,
s.serve_url,
s.short_url,
s.book_group_id,
s.create_user,
s.create_time,
s.type_code,
g.book_id bookId
FROM
book_group_serve s
LEFT JOIN book_group g ON s.book_group_id = g.id
WHERE 1=1
<if test="bookIds != null and bookIds.size>0">
AND g.book_id in
<foreach collection="bookIds" index="index" close=")" open="(" separator="," item = "bookId">
#{bookId}
</foreach>
</if>
<if test="typeCodes != null and typeCodes.size>0">
AND s.type_code IN
<foreach collection="typeCodes" open="(" close=")" item="typeCode" index="index" separator=",">
#{typeCode}
</foreach>
</if>
ORDER BY
s.id
</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