Commit c6089402 by 田超

Merge branch 'feature/1004556' into 'master'

feat: [1004556] 分码和总码

See merge request rays/pcloud-book!1261
parents 83cc9a78 b7094e00
......@@ -139,4 +139,8 @@ public class BookAdviserDto extends BaseDto {
* 目的
*/
private Long purLabelId;
/**
* 是否开启书籍目录功能
*/
private Integer isOpenCatalog;
}
......@@ -795,6 +795,30 @@ public class BookDto extends BaseDto {
* 书刊销售额
*/
private BigDecimal bookGmv;
/**
* 是否开启书籍目录功能
*/
private Integer isOpenCatalog;
/**
* 排序值
*/
private Integer seq;
public Integer getSeq() {
return seq;
}
public void setSeq(Integer seq) {
this.seq = seq;
}
public Integer getIsOpenCatalog() {
return isOpenCatalog;
}
public void setIsOpenCatalog(Integer isOpenCatalog) {
this.isOpenCatalog = isOpenCatalog;
}
public BigDecimal getBookGmv() {
return bookGmv;
......@@ -2323,6 +2347,8 @@ public class BookDto extends BaseDto {
", groupQrcodeLink='" + groupQrcodeLink + '\'' +
", secondTempletId=" + secondTempletId +
", secondTempletName='" + secondTempletName + '\'' +
", thirdTempletId=" + thirdTempletId +
", thirdTempletName='" + thirdTempletName + '\'' +
", secondTypeCode='" + secondTypeCode + '\'' +
", registerNum=" + registerNum +
", registerRate=" + registerRate +
......@@ -2387,6 +2413,11 @@ public class BookDto extends BaseDto {
", rightsSettingId=" + rightsSettingId +
", bookMinimumSupports=" + bookMinimumSupports +
", minimumSupport=" + minimumSupport +
", isSendMiniUrl=" + isSendMiniUrl +
", xiaoRuiEducation=" + xiaoRuiEducation +
", bookGmv=" + bookGmv +
", isOpenCatalog=" + isOpenCatalog +
", seq=" + seq +
", bookAdviserDto=" + bookAdviserDto +
'}';
}
......
......@@ -190,4 +190,10 @@ public interface BookAdviserService {
@PostMapping("getBookRightsCount")
@ApiOperation("获取权益数量")
ResponseEntity<ResponseDto<Map<String, BookStatisticsResultDto>>> getBookRightsCount(@RequestBody List<BookRequestVO> requestVOS);
@ApiOperation("是否开启书籍目录功能")
@GetMapping("getBookIsOpenCatalog")
ResponseEntity<ResponseDto<Integer>> getBookIsOpenCatalog(@RequestParam("bookId") Long bookId,
@RequestParam("channelId") Long channelId,
@RequestParam("adviserId") Long adviserId) throws BizException;
}
package com.pcloud.book.group.dto;
import com.pcloud.common.dto.BaseDto;
import lombok.Data;
/**
* @ClassName com.pcloud.book.group.dto.BookGroup4CatalogDTO
* @Author zhuyajie
* @Description 书籍目录
* @Date 2021/4/8 15:21
* @Version 1.0
**/
@Data
public class BookGroup4CatalogDTO extends BaseDto {
private Long bookGroupId;
private String groupQrcodeName;
private String typeCode;
private String serveType;
private String serveUrl;
}
......@@ -2,6 +2,7 @@ package com.pcloud.book.group.service;
import com.pcloud.book.group.dto.AltAndCountDTO;
import com.pcloud.book.group.dto.BookAppletSceneDTO;
import com.pcloud.book.group.dto.BookGroup4CatalogDTO;
import com.pcloud.book.group.dto.BookGroupCountDTO;
import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.BookGroupKeywordResourceDTO;
......@@ -260,4 +261,11 @@ public interface BookGroupService {
@ApiOperation("获取书刊资源配置集合")
@RequestMapping(value = "/getBookGroupServeListByBook", method = RequestMethod.POST)
ResponseEntity<ResponseDto<List<BookGroupServeDTO>>> getBookGroupServeListByBook(@RequestBody BookServeQueryDTO bookServeQueryDTO);
@ApiOperation("书籍目录社群码查询")
@GetMapping("listBookGroup4BookCatalog")
ResponseEntity<ResponseDto<List<BookGroup4CatalogDTO>>> listBookGroup4BookCatalog(
@RequestParam("bookId") Long bookId, @RequestParam("adviserId") Long adviserId,
@RequestParam("channelId") Long channelId, @RequestParam(value = "name", required = false) String name,
@RequestParam(value = "rank", required = false) Integer rank);
}
......@@ -396,4 +396,12 @@ public interface BookAdviserBiz {
* 编辑端 - 分页获取图书下二维码列表
*/
PageBeanNew<BookQrcodeVO> qrList4AdviserBookNew(Long bookId, Long channelId, Long adviserId, String sceneName, Integer currentPage, Integer numPerPage);
/**
* 更新开启书刊目录状态
* @author:zhuyajie
* @date:2021/4/7 15:17
* * @param null
*/
void updateOpenCatalogState(Long bookId, Long adviserId, Long channelId, Integer isOpenCatalog);
}
......@@ -2827,9 +2827,10 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
bookQrcodeList.addAll(qrcodeSceneList);
int totalCount = bookQrcodeList.size();
// 对结果进行排序
// 对结果进行排序 序号正序,时间倒序
// TODO 是否对结果进行缓存?
bookQrcodeList.sort(Comparator.nullsFirst(Comparator.comparing(BookQrcodeVO::getLastModifiedDate).reversed()));
bookQrcodeList.sort(Comparator.nullsFirst(Comparator.comparing(BookQrcodeVO::getSeq, Comparator.nullsLast(Integer::compareTo)))
.thenComparing(Comparator.nullsFirst(Comparator.comparing(BookQrcodeVO::getLastModifiedDate)).reversed()));
// 手动分页
List<BookQrcodeVO> pageList = CollUtil.page(currentPage, numPerPage, bookQrcodeList);
......@@ -3054,4 +3055,9 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
}
@Override
public void updateOpenCatalogState(Long bookId, Long adviserId, Long channelId, Integer isOpenCatalog) {
bookAdviserDao.updateOpenCatalogState(bookId, adviserId, channelId, isOpenCatalog);
}
}
......@@ -2471,6 +2471,12 @@ public class BookBizImpl implements BookBiz {
AssistTempletDTO templetDTO = assistTempletDTOMap.get(templetId);
bookDto.setTempletName(Optional.ofNullable(templetDTO).map(AssistTempletDTO::getTempletName).orElse(null));
}
Map<Long, AdviserBaseInfoDto> adviserInfoDtoMap = adviserConsr.getAdviserId2AdviserInfoDtoMap(Arrays.asList(adviserId));
if (adviserInfoDtoMap != null) {
AdviserBaseInfoDto adviserBaseInfoDto = adviserInfoDtoMap.get(adviserId);
bookDto.setAgentId(adviserBaseInfoDto==null?null:adviserBaseInfoDto.getAgentId());
bookDto.setAgentName(adviserBaseInfoDto==null?null:adviserBaseInfoDto.getAgentName());
}
return bookDto;
}
......
......@@ -322,4 +322,6 @@ public interface BookAdviserDao extends BaseDao<BookAdviser> {
List<BookServesListDTO> listBookServes4Book(Long cursor, Integer limit);
List<ERPPublishNumDTO> getErpPublishNumQueryParamsByMonth(List<Long> adviserIds, int month);
void updateOpenCatalogState(Long bookId, Long adviserId, Long channelId, Integer isOpenCatalog);
}
......@@ -357,7 +357,6 @@ public class BookAdviserDaoImpl extends BaseDaoImpl<BookAdviser> implements Book
return super.getSqlSession().selectList(getStatement("getErpPublishNumQueryParamsByMonth"),paramMap);
}
@Override
public List<AgentBookStatsDetailVO> getAgentBookStatsDetail(List<ErpBookInfoDTO> raysBookIds, Integer isRay, String name, List<Long> advisers) {
Map<String, Object> map = new HashMap<>();
......@@ -419,4 +418,14 @@ public class BookAdviserDaoImpl extends BaseDaoImpl<BookAdviser> implements Book
params.put("limit", limit);
return getSessionTemplate().selectList(getStatement("listBookServes4Book"), params);
}
@Override
public void updateOpenCatalogState(Long bookId, Long adviserId, Long channelId, Integer isOpenCatalog) {
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("bookId",bookId);
paramMap.put("channelId", channelId);
paramMap.put("adviserId", adviserId);
paramMap.put("isOpenCatalog", isOpenCatalog);
getSessionTemplate().update(getStatement("updateOpenCatalogState"), paramMap);
}
}
......@@ -421,4 +421,16 @@ public class BookAdviserFacadeImpl implements BookAdviserFacade {
Long adviserId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
return new ResponseDto<>(bookAdviserBiz.qrList4AdviserBookNew(bookId,channelId,adviserId,sceneName,currentPage,numPerPage));
}
@ApiOperation("更新开启书刊目录状态")
@GetMapping("updateOpenCatalogState")
public ResponseDto<?> updateOpenCatalogState(@RequestHeader("token") String token,
@RequestParam(value = "bookId") Long bookId,
@RequestParam(value = "channelId") Long channelId,
@RequestParam(value = "isOpenCatalog") Integer isOpenCatalog)
throws PermissionException {
Long adviserId = (Long)SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
bookAdviserBiz.updateOpenCatalogState(bookId, adviserId, channelId, isOpenCatalog);
return new ResponseDto<>();
}
}
......@@ -214,4 +214,17 @@ public class BookAdviserServiceImpl implements BookAdviserService {
public ResponseEntity<ResponseDto<Map<String, BookStatisticsResultDto>>> getBookRightsCount(@RequestBody List<BookRequestVO> requestVOS){
return ResponseHandleUtil.toResponse(bookAdviserBiz.getBookRightsCount(requestVOS));
}
@Override
@GetMapping("getBookIsOpenCatalog")
public ResponseEntity<ResponseDto<Integer>> getBookIsOpenCatalog(@RequestParam("bookId") Long bookId,
@RequestParam("channelId") Long channelId,
@RequestParam("adviserId") Long adviserId) throws BizException {
Integer isOpenCatalog = 0;
BookAdviserDto base = bookAdviserBiz.getBase(bookId, channelId, adviserId);
if (null != base) {
isOpenCatalog = base.getIsOpenCatalog();
}
return ResponseHandleUtil.toResponse(isOpenCatalog);
}
}
......@@ -7,6 +7,7 @@ import com.pcloud.book.group.dto.AltAndCountDTO;
import com.pcloud.book.group.dto.AppStatisticsDTO;
import com.pcloud.book.group.dto.BackgroundGroupQrcodeDTO;
import com.pcloud.book.group.dto.BookAppletSceneDTO;
import com.pcloud.book.group.dto.BookGroup4CatalogDTO;
import com.pcloud.book.group.dto.BookGroupClassifyDTO;
import com.pcloud.book.group.dto.BookGroupCountDTO;
import com.pcloud.book.group.dto.BookGroupCreateDTO;
......@@ -1073,4 +1074,18 @@ public interface BookGroupBiz {
* * @param null
*/
List<ExerciseBookCourseVO> listCourse4ExerciseBook(BookServeQueryDTO bookServeQueryDTO);
/**
* 书籍目录社群码查询
* @author:zhuyajie
* @date:2021/4/8 15:40
* * @param null
*/
List<BookGroup4CatalogDTO> listBookGroup4BookCatalog(Long bookId, Long adviserId, Long channelId, String name, Integer rank);
/**
* 更新社群码排序值
* @author:zhuyajie
* @date:2021/4/9 9:31
* * @param null
*/
void updateBookGroupSeq(Long bookGroupId, Integer seq);
}
......@@ -80,6 +80,7 @@ import com.pcloud.book.group.dao.CopyCipherRecordDao;
import com.pcloud.book.group.dao.GroupQrcodeDao;
import com.pcloud.book.group.dao.GroupQrcodeStyleDao;
import com.pcloud.book.group.dao.JoinGroupCipherDao;
import com.pcloud.book.group.dto.BookGroup4CatalogDTO;
import com.pcloud.book.group.dto.BookGroupServeDTO;
import com.pcloud.book.group.dto.BookServeQueryDTO;
import com.pcloud.book.group.dto.BookGroupScanStatisticsRespDTO;
......@@ -6800,4 +6801,14 @@ public class BookGroupBizImpl implements BookGroupBiz {
return list;
}
@Override
public List<BookGroup4CatalogDTO> listBookGroup4BookCatalog(Long bookId, Long adviserId, Long channelId, String name, Integer rank) {
return bookGroupServeDao.listBookGroup4BookCatalog(bookId, adviserId, channelId, name, rank);
}
@Override
public void updateBookGroupSeq(Long bookGroupId, Integer seq) {
bookGroupDao.updateBookGroupSeq(bookGroupId, seq);
}
}
......@@ -394,4 +394,6 @@ public interface BookGroupDao extends BaseDao<BookGroup> {
List<BookQrcodeVO> listBookQrcodeVOByIds(List<Long> bookGroupIds);
List<ServeIdTypeDTO> listServeIdAndType4Book(Long bookId, Long channelId, Long adviserId);
void updateBookGroupSeq(Long bookGroupId, Integer seq);
}
package com.pcloud.book.group.dao;
import com.pcloud.book.book.vo.BookResourceNumDTO;
import com.pcloud.book.group.dto.BookGroup4CatalogDTO;
import com.pcloud.book.group.dto.BookGroupCountDTO;
import com.pcloud.book.group.dto.BookGroupServeCountDTO;
import com.pcloud.book.group.entity.BookGroupApp;
......@@ -119,4 +120,12 @@ public interface BookGroupServeDao extends BaseDao<BookGroupServe> {
* * @param null
*/
List<BookGroupServe> getServeListByBookList(List<Long> bookIds, List<String> typeCodes);
/**
*书籍目录下的社群码列表
* @author:zhuyajie
* @date:2021/4/8 15:42
* * @param null
*/
List<BookGroup4CatalogDTO> listBookGroup4BookCatalog(Long bookId, Long adviserId, Long channelId, String name, Integer rank);
}
......@@ -549,4 +549,12 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou
paramMap.put("adviserId", adviserId);
return getSqlSession().selectList(getStatement("listServeIdAndType4Book"), paramMap);
}
@Override
public void updateBookGroupSeq(Long bookGroupId, Integer seq) {
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("id", bookGroupId);
paramMap.put("seq", seq);
getSessionTemplate().update(getStatement("updateBookGroupSeq"), paramMap);
}
}
......@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.map.MapUtil;
import com.pcloud.book.book.vo.BookResourceNumDTO;
import com.pcloud.book.group.dao.BookGroupServeDao;
import com.pcloud.book.group.dto.BookGroup4CatalogDTO;
import com.pcloud.book.group.dto.BookGroupCountDTO;
import com.pcloud.book.group.dto.BookGroupServeCountDTO;
import com.pcloud.book.group.entity.BookGroupApp;
......@@ -231,4 +232,15 @@ public class BookGroupServeDaoImpl extends BaseDaoImpl<BookGroupServe> implement
map.put("typeCodes", typeCodes);
return getSessionTemplate().selectList(getStatement("getServeListByBookList"), map);
}
@Override
public List<BookGroup4CatalogDTO> listBookGroup4BookCatalog(Long bookId, Long adviserId, Long channelId, String name, Integer rank) {
Map<String,Object> map = new HashMap<>();
map.put("adviserId", adviserId);
map.put("bookId", bookId);
map.put("channelId", channelId);
map.put("name", name);
map.put("rank", rank);
return getSessionTemplate().selectList(getStatement("listBookGroup4BookCatalog"), map);
}
}
......@@ -231,6 +231,18 @@ public class BookGroup extends BaseEntity {
* 关注公众号后小睿入口文案内容
*/
private String entranceContent;
/**
* 排序值
*/
private Integer seq;
public Integer getSeq() {
return seq;
}
public void setSeq(Integer seq) {
this.seq = seq;
}
public String getEntranceTitle() {
return entranceTitle;
......@@ -598,6 +610,7 @@ public class BookGroup extends BaseEntity {
", originUrl='" + originUrl + '\'' +
", entranceTitle='" + entranceTitle + '\'' +
", entranceContent='" + entranceContent + '\'' +
", seq=" + seq +
'}';
}
}
\ No newline at end of file
......@@ -1413,4 +1413,14 @@ public class BookGroupFacadeImpl implements BookGroupFacade {
public ResponseDto<?> listCourse4ExerciseBook(@RequestBody BookServeQueryDTO bookServeQueryDTO) {
return new ResponseDto<>(bookGroupBiz.listCourse4ExerciseBook(bookServeQueryDTO));
}
@ApiOperation("更新社群码排序值")
@GetMapping("updateBookGroupSeq")
public ResponseDto<?> updateBookGroupSeq(@RequestHeader("token") String token,
@RequestParam("bookGroupId") Long bookGroupId,
@RequestParam("seq") Integer seq) {
SessionUtil.getToken4Redis(token);
bookGroupBiz.updateBookGroupSeq(bookGroupId, seq);
return new ResponseDto<>();
}
}
......@@ -4,6 +4,7 @@ import com.pcloud.book.group.biz.BookGroupAppBiz;
import com.pcloud.book.group.biz.BookGroupBiz;
import com.pcloud.book.group.dto.AltAndCountDTO;
import com.pcloud.book.group.dto.BookAppletSceneDTO;
import com.pcloud.book.group.dto.BookGroup4CatalogDTO;
import com.pcloud.book.group.dto.BookGroupCountDTO;
import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.BookGroupKeywordResourceDTO;
......@@ -452,4 +453,13 @@ public class BookGroupServiceImpl implements BookGroupService {
List<BookGroupServeDTO> bookGroupServeDTOS = bookGroupBiz.getBookGroupServeListByBook(bookServeQueryDTO);
return ResponseHandleUtil.toResponse(bookGroupServeDTOS);
}
@Override
@GetMapping("listBookGroup4BookCatalog")
public ResponseEntity<ResponseDto<List<BookGroup4CatalogDTO>>> listBookGroup4BookCatalog(
@RequestParam("bookId") Long bookId, @RequestParam("adviserId") Long adviserId,
@RequestParam("channelId") Long channelId, @RequestParam(value = "name", required = false) String name,
@RequestParam(value = "rank", required = false) Integer rank) {
return ResponseHandleUtil.toResponse(bookGroupBiz.listBookGroup4BookCatalog(bookId, adviserId, channelId, name, rank));
}
}
......@@ -72,6 +72,7 @@
<result column="minimumSupport" property="minimumSupport" jdbcType="BIT" />
<result column="third_templet_id" property="thirdTempletId" jdbcType="BIGINT" />
<result column="is_send_mini_url" property="isSendMiniUrl" jdbcType="BIT" />
<result column="is_open_catalog" property="isOpenCatalog" jdbcType="BIT" />
</resultMap>
<resultMap id="bookListPageMap" type="bookDto" extends ="bookMap">
......@@ -315,7 +316,8 @@
IF(ISNULL(BF.BOOK_FUND_ID),0,1) IS_FUND_SUPPORT,START_TIME,END_TIME,BA.TEMPLET_ID,BA.SECOND_TEMPLET_ID,BA.third_templet_id,
BA.GRA_LABEL_ID,BA.SUB_LABEL_ID,BA.VER_LABEL_ID,BA.AREA_LABEL_ID, BA.IS_PRINT isPrint,
BA.pro_label_id, BA.dep_label_id,BA.pur_label_id,BA.vol_label_id,if(G.ID IS NULL, 0, 1) isBookGroup, G.id BOOK_GROUP_ID,G.join_group_type,
BA.is_open_robot_process,BA.vol_label_id,b.unique_number,BA.CREATED_DATE,b.edition,BA.is_send_mini_url
BA.is_open_robot_process,BA.vol_label_id,b.unique_number,BA.CREATED_DATE,b.edition,BA.is_send_mini_url,
BA.is_open_catalog
FROM
BOOK_ADVISER BA
INNER JOIN
......@@ -529,7 +531,7 @@
A.BOOK_ADVISER_ID,I.BOOK_STATUS, CONCAT('BK',A.BOOK_ID) uniqueNumber, if(G.ID IS NULL, 0, 1) isBookGroup, A.IS_PRINT isPrint,
G.id BOOK_GROUP_ID, G.group_qrcode_url groupQrcodeUrl,G.group_qrcode_name groupQrcodeName,
G.join_group_type,a.is_open_robot_process,G.single_group singleGroup, G.related_book_group_id relatedBookGroupId,
IF(ISNULL(s.id),0,1) minimumSupport
IF(ISNULL(s.id),0,1) minimumSupport, A.is_open_catalog
FROM
BOOK_ADVISER A
INNER JOIN BOOK B ON A.BOOK_ID = B.BOOK_ID AND A.ADVISER_ID = #{adviserId} AND A.IS_DELETE = 0 AND B.IS_DELETE = 0
......@@ -690,7 +692,7 @@
WHEN 4 THEN bgs.id
else null END,0)=0,0,1)as has_serve, A.IS_PRINT isPrint, G.open_weapp openWeapp,
G.single_group singleGroup, G.related_book_group_id relatedBookGroupId, G.group_qrcode_link groupQrcodeLink,
G.jump_type jumpType, G.jump_url jumpUrl
G.jump_type jumpType, G.jump_url jumpUrl, G.seq
FROM
book_group G
LEFT JOIN BOOK_ADVISER A ON G.BOOK_ID = A.BOOK_ID AND G.CHANNEL_ID = A.CHANNEL_ID AND G.CREATE_USER = A.ADVISER_ID
......
......@@ -26,6 +26,7 @@
<result column="dep_label_id" property="depLabelId" jdbcType="BIGINT" />
<result column="pro_label_id" property="proLabelId" jdbcType="BIGINT" />
<result column="pur_label_id" property="purLabelId" jdbcType="BIGINT" />
<result column="is_open_catalog" property="isOpenCatalog" jdbcType="BIT" />
</resultMap>
<resultMap id="manageAdviserMap" type="adviserManageDto" >
......@@ -123,7 +124,8 @@
SELECT
BOOK_ADVISER_ID, BOOK_ID, TEMPLET_ID, CHANNEL_ID, ADVISER_ID, IS_DELETE,
TEMPLET_ID,SECOND_TEMPLET_ID,third_templet_id,
GRA_LABEL_ID,SUB_LABEL_ID,VER_LABEL_ID,AREA_LABEL_ID,is_open_robot_process,vol_label_id
GRA_LABEL_ID,SUB_LABEL_ID,VER_LABEL_ID,AREA_LABEL_ID,is_open_robot_process,vol_label_id,
is_open_catalog
FROM
BOOK_ADVISER
WHERE
......@@ -1157,4 +1159,19 @@
ORDER BY BOOK_ADVISER_ID
limit ${limit}
</select>
<update id="updateOpenCatalogState" parameterType="map">
update
book_adviser
set
is_open_catalog = #{isOpenCatalog},
LAST_MODIFIED_DATE = NOW()
where
BOOK_ID = #{bookId, jdbcType=BIGINT}
and
ADVISER_ID = #{adviserId, jdbcType=BIGINT}
and
CHANNEL_ID = #{channelId, jdbcType=BIGINT}
</update>
</mapper>
......@@ -42,6 +42,7 @@
<result column="jump_url" property="jumpUrl" jdbcType="VARCHAR"/>
<result column="entrance_title" property="entranceTitle" jdbcType="VARCHAR"/>
<result column="entrance_content" property="entranceContent" jdbcType="VARCHAR"/>
<result column="seq" property="seq" jdbcType="INTEGER"/>
</resultMap>
<resultMap id="BookGroupDTO" type="com.pcloud.book.group.dto.BookGroupDTO">
......@@ -1299,7 +1300,7 @@
</select>
<select id="listBookQrcodes" resultType="com.pcloud.channelcenter.qrcode.vo.BookQrcodeVO" parameterType="map">
SELECT id sceneId, update_time lastModifiedDate, 'bookGroup' source
SELECT id sceneId, update_time lastModifiedDate, 'bookGroup' source, seq
FROM book_group
WHERE
book_id = ${bookId}
......@@ -1330,6 +1331,7 @@
<result column="join_group_type" property="joinGroupType" jdbcType="INTEGER"/>
<result column="jump_type" property="jumpType" jdbcType="INTEGER"/>
<result column="source" property="source" jdbcType="VARCHAR"/>
<result column="seq" property="seq" jdbcType="INTEGER"/>
<collection property="qrcodeLocations" ofType="com.pcloud.channelcenter.qrcode.dto.QrcodeLocationDto">
<id column="group_qrcode_location_id" property="locationId" jdbcType="BIGINT"/>
</collection>
......@@ -1350,7 +1352,8 @@
join_group_type,
jump_type,
group_qrcode_location_id,
'bookGroup' source
'bookGroup' source,
seq
FROM book_group
WHERE id IN <foreach collection="bookGroupIds" open="(" item="it" separator="," close=")"> ${it} </foreach>
</select>
......@@ -1364,4 +1367,11 @@
AND b.channel_id = ${channelId}
AND b.create_user = ${adviserId}
</select>
<update id="updateBookGroupSeq" parameterType="map">
UPDATE book_group
SET seq = #{seq}
WHERE
id = #{id}
</update>
</mapper>
......@@ -439,4 +439,41 @@
ORDER BY
s.id
</select>
<select id="listBookGroup4BookCatalog" parameterType="map" resultType="com.pcloud.book.group.dto.BookGroup4CatalogDTO">
SELECT
g.id bookGroupId,
g.group_qrcode_name groupQrcodeName,
s.type_code typeCode,
s.serve_type serveType,
s.serve_url serveUrl
FROM
book_group g
LEFT JOIN book_group_serve s ON s.book_group_id = g.id
WHERE
g.is_delete = 0
AND g.book_id = #{bookId}
AND g.channel_id = #{channelId}
AND g.create_user = #{adviserId}
<if test="name != null">
AND g.group_qrcode_name LIKE CONCAT("%", #{name},"%")
</if>
GROUP BY
s.book_group_id
HAVING
COUNT(s.id) = 1
AND s.serve_type IN ("APP", "PRODUCT")
ORDER BY
<choose>
<when test="rank == 1">
IFNULL(g.seq, 1000) DESC,
g.update_time ASC
</when>
<otherwise>
IFNULL(g.seq, 1000) ASC,
g.update_time DESC
</otherwise>
</choose>
</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