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; ...@@ -9,6 +9,7 @@ import com.pcloud.book.group.dto.BookGroupScanStatisticsRespDTO;
import com.pcloud.book.group.dto.BookGroupScanStatisticsRequestDTO; import com.pcloud.book.group.dto.BookGroupScanStatisticsRequestDTO;
import com.pcloud.book.group.dto.BookGroupServeCountDTO; import com.pcloud.book.group.dto.BookGroupServeCountDTO;
import com.pcloud.book.group.dto.BookGroupServeDTO; 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.ErpBookGroupDTO;
import com.pcloud.book.group.dto.ErpGroupQrcodeDTO; import com.pcloud.book.group.dto.ErpGroupQrcodeDTO;
import com.pcloud.book.group.dto.GroupCipherDTO; import com.pcloud.book.group.dto.GroupCipherDTO;
...@@ -255,4 +256,8 @@ public interface BookGroupService { ...@@ -255,4 +256,8 @@ public interface BookGroupService {
@ApiOperation("获取社群书的扫码统计信息") @ApiOperation("获取社群书的扫码统计信息")
@PostMapping("getBookGroupScanStatistics") @PostMapping("getBookGroupScanStatistics")
ResponseEntity<ResponseDto<List<BookGroupScanStatisticsRespDTO>>> getBookGroupScanStatistics(@RequestBody BookGroupScanStatisticsRequestDTO reqDTO); 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 @@ ...@@ -223,6 +223,13 @@
<version>${pcloud-facade.version}</version> <version>${pcloud-facade.version}</version>
</dependency> </dependency>
<dependency>
<groupId>com.pcloud.facade</groupId>
<artifactId>pcloud-facade-exercisebook</artifactId>
<version>${pcloud-facade.version}</version>
</dependency>
<dependency> <dependency>
<groupId>fakepath</groupId> <groupId>fakepath</groupId>
<artifactId>jbarcode</artifactId> <artifactId>jbarcode</artifactId>
......
package com.pcloud.book.consumer.content; package com.pcloud.book.consumer.content;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -10,11 +11,15 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -10,11 +11,15 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import com.pcloud.book.base.exception.BookBizException; import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.utils.ListUtils; import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.ResponseHandleUtil; import com.pcloud.common.utils.ResponseHandleUtil;
import com.pcloud.contentcenter.resource.dto.ResourceDTO; import com.pcloud.contentcenter.resource.dto.ResourceDTO;
import com.pcloud.contentcenter.resource.service.ResourceService; 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 { ...@@ -33,6 +38,8 @@ public class ResourceConsr {
@Autowired @Autowired
private ResourceService resourceService; private ResourceService resourceService;
@Autowired
private ProductVideoScheduleService productVideoScheduleService;
/** /**
...@@ -78,4 +85,14 @@ public class ResourceConsr { ...@@ -78,4 +85,14 @@ public class ResourceConsr {
return resourceDtos; 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; ...@@ -16,9 +16,11 @@ import com.pcloud.book.group.dto.BookGroupScanStatisticsRespDTO;
import com.pcloud.book.group.dto.BookGroupScanStatisticsRequestDTO; import com.pcloud.book.group.dto.BookGroupScanStatisticsRequestDTO;
import com.pcloud.book.group.dto.BookGroupSceneDTO; import com.pcloud.book.group.dto.BookGroupSceneDTO;
import com.pcloud.book.group.dto.BookGroupServeCountDTO; 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.BookGroupStatistic4AgentDTO;
import com.pcloud.book.group.dto.BookGroupStatisticsDTO; import com.pcloud.book.group.dto.BookGroupStatisticsDTO;
import com.pcloud.book.group.dto.BookServeDTO; 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.BookServeResourceDTO;
import com.pcloud.book.group.dto.ChangeQrCodeTypeDto; import com.pcloud.book.group.dto.ChangeQrCodeTypeDto;
import com.pcloud.book.group.dto.ClassifyKeywordDTO; import com.pcloud.book.group.dto.ClassifyKeywordDTO;
...@@ -50,6 +52,7 @@ import com.pcloud.book.group.entity.BookGroupServe; ...@@ -50,6 +52,7 @@ import com.pcloud.book.group.entity.BookGroupServe;
import com.pcloud.book.group.entity.WxWechatUserCorrelation; import com.pcloud.book.group.entity.WxWechatUserCorrelation;
import com.pcloud.book.group.vo.BookGroupAnalysisParam; import com.pcloud.book.group.vo.BookGroupAnalysisParam;
import com.pcloud.book.group.vo.BookGroupAnalysisVO; 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.FriendsVO;
import com.pcloud.book.group.vo.GroupIncomeStaticParamVO; import com.pcloud.book.group.vo.GroupIncomeStaticParamVO;
import com.pcloud.book.group.vo.GroupScanTrendParamVO; import com.pcloud.book.group.vo.GroupScanTrendParamVO;
...@@ -1053,4 +1056,27 @@ public interface BookGroupBiz { ...@@ -1053,4 +1056,27 @@ public interface BookGroupBiz {
List<BookServeDTO> getBookAndBookGroupRaysApps(Long adviserId, Long bookId, Long channelId); List<BookServeDTO> getBookAndBookGroupRaysApps(Long adviserId, Long bookId, Long channelId);
List<BookGroupScanStatisticsRespDTO> getBookGroupScanStatistics(BookGroupScanStatisticsRequestDTO reqDTO); 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> { ...@@ -112,4 +112,11 @@ public interface BookGroupServeDao extends BaseDao<BookGroupServe> {
* * @param null * * @param null
*/ */
List<BookGroupServe> getServeListByBookAndType(Long bookId, Long channelId, Long adviserId, List<String> typeCodes); 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 ...@@ -223,4 +223,12 @@ public class BookGroupServeDaoImpl extends BaseDaoImpl<BookGroupServe> implement
map.put("typeCodes", typeCodes); map.put("typeCodes", typeCodes);
return getSessionTemplate().selectList(getStatement("getServeListByBookAndType"), map); 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 { ...@@ -57,5 +57,8 @@ public class BookAppletSceneDTO extends BaseDto {
* 现代纸书自建码的id * 现代纸书自建码的id
*/ */
private Long sceneId; private Long sceneId;
/**
*权益id
*/
private Long rightsSettingId;
} }
...@@ -51,4 +51,9 @@ public class BookServeDTO extends BaseDto { ...@@ -51,4 +51,9 @@ public class BookServeDTO extends BaseDto {
@ApiModelProperty("跳转结果链接") @ApiModelProperty("跳转结果链接")
private String resultUrl; private String resultUrl;
@ApiModelProperty("课程数量")
private Integer courseNum;
private Long bookId;
} }
...@@ -66,4 +66,6 @@ public class BookGroupServe extends BaseEntity { ...@@ -66,4 +66,6 @@ public class BookGroupServe extends BaseEntity {
@ApiModelProperty("类型") @ApiModelProperty("类型")
private String typeCode; private String typeCode;
private Long bookId;
} }
...@@ -13,6 +13,7 @@ import com.pcloud.book.group.dto.BackgroundGroupQrcodeDTO; ...@@ -13,6 +13,7 @@ import com.pcloud.book.group.dto.BackgroundGroupQrcodeDTO;
import com.pcloud.book.group.dto.BookAppletSceneDTO; import com.pcloud.book.group.dto.BookAppletSceneDTO;
import com.pcloud.book.group.dto.BookGroupCreateDTO; import com.pcloud.book.group.dto.BookGroupCreateDTO;
import com.pcloud.book.group.dto.BookGroupDTO; 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.ChangeQrCodeTypeDto;
import com.pcloud.book.group.dto.GroupStoreMyPayDto; import com.pcloud.book.group.dto.GroupStoreMyPayDto;
import com.pcloud.book.group.dto.HotAppDTO; import com.pcloud.book.group.dto.HotAppDTO;
...@@ -1406,4 +1407,16 @@ public class BookGroupFacadeImpl implements BookGroupFacade { ...@@ -1406,4 +1407,16 @@ public class BookGroupFacadeImpl implements BookGroupFacade {
@RequestParam("adviserId") Long adviserId, @RequestParam("bookId")Long bookId, @RequestParam("channelId") Long channelId){ @RequestParam("adviserId") Long adviserId, @RequestParam("bookId")Long bookId, @RequestParam("channelId") Long channelId){
return new ResponseDto<>(bookGroupBiz.getBookAndBookGroupRaysApps(adviserId, bookId, 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; ...@@ -11,6 +11,7 @@ import com.pcloud.book.group.dto.BookGroupScanStatisticsRespDTO;
import com.pcloud.book.group.dto.BookGroupScanStatisticsRequestDTO; import com.pcloud.book.group.dto.BookGroupScanStatisticsRequestDTO;
import com.pcloud.book.group.dto.BookGroupServeCountDTO; import com.pcloud.book.group.dto.BookGroupServeCountDTO;
import com.pcloud.book.group.dto.BookGroupServeDTO; 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.ErpBookGroupDTO;
import com.pcloud.book.group.dto.ErpGroupQrcodeDTO; import com.pcloud.book.group.dto.ErpGroupQrcodeDTO;
import com.pcloud.book.group.dto.GroupCipherDTO; import com.pcloud.book.group.dto.GroupCipherDTO;
...@@ -444,4 +445,11 @@ public class BookGroupServiceImpl implements BookGroupService { ...@@ -444,4 +445,11 @@ public class BookGroupServiceImpl implements BookGroupService {
public ResponseEntity<ResponseDto<List<BookGroupScanStatisticsRespDTO>>> getBookGroupScanStatistics(@RequestBody BookGroupScanStatisticsRequestDTO reqDTO) { public ResponseEntity<ResponseDto<List<BookGroupScanStatisticsRespDTO>>> getBookGroupScanStatistics(@RequestBody BookGroupScanStatisticsRequestDTO reqDTO) {
return ResponseHandleUtil.toResponse(bookGroupBiz.getBookGroupScanStatistics(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 @@ ...@@ -377,4 +377,64 @@
GROUP BY bookId, channelId, adviserId GROUP BY bookId, channelId, adviserId
</select> </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> </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