Commit c155cd38 by 朱亚洁

feat:[1005240]本书服务页加导航

parent 9bf22f1b
......@@ -5,10 +5,12 @@ import com.pcloud.book.group.dto.AddBookGroupServeDTO;
import com.pcloud.book.group.dto.BookGroupServeCountDTO;
import com.pcloud.book.group.dto.BookGroupServeDTO;
import com.pcloud.book.group.dto.BookServeDTO;
import com.pcloud.book.group.dto.NavigationParamDTO;
import com.pcloud.book.group.dto.ResourcePageCourseDTO;
import com.pcloud.book.group.entity.BookGroupServe;
import com.pcloud.book.group.entity.ResourcePage;
import com.pcloud.book.group.entity.ResourcePageCollect;
import com.pcloud.book.group.entity.ResourcePagePic;
import com.pcloud.book.group.entity.ResourcePageTool;
import com.pcloud.book.group.entity.ResourceRecomManage;
import com.pcloud.book.group.vo.ResourceColumnAndServeVO;
......@@ -63,7 +65,7 @@ public interface ResourcePageBiz {
* @date:2021/3/29 11:49
* * @param null
*/
List<ResourceColumnAndServeVO> getColumnAndServeListByPageId(Long resourcePageId, Boolean isWechat, Long bookId, Long adviserId, Long channelId, Integer enableAdverting);
List<ResourceColumnAndServeVO> getColumnAndServeListByPageId(Long resourcePageId, Boolean isWechat, Long bookId, Long adviserId, Long channelId, Integer enableAdverting, Long navigationId);
/**
* 根据书刊查资源页基本配置
* @author:zhuyajie
......@@ -401,4 +403,41 @@ public interface ResourcePageBiz {
* * @param null
*/
List<BookServeDTO> getBookAllServeIdsIncludeUrl(Long adviserId, Long bookId, Long channelId);
/**
* 处理旧数据导航
* @author:zhuyajie
* @date:2021/8/16 10:51
* * @param null
*/
void dealOldNavigation();
/**
* 保存导航
* @author:zhuyajie
* @date:2021/8/17 16:42
* * @param null
*/
void saveNavigation(NavigationParamDTO navigationParamDTO);
/**
* 添加导航图片到图片库
* @author:zhuyajie
* @date:2021/8/24 14:46
* * @param null
*/
void addNavigationPic(ResourcePagePic resourcePagePic);
/**
* 删除导航图片库图片
* @author:zhuyajie
* @date:2021/8/24 14:50
* * @param null
*/
void deleteNavigationPic(Long id);
/**
* 查询导航图片库图片
* @author:zhuyajie
* @date:2021/8/24 14:51
* * @param null
*/
PageBeanNew<ResourcePagePic> listNavigationPic(Long adviserId, Integer currentPage, Integer numPerPage);
}
......@@ -329,4 +329,38 @@ public class ResourcePageConstants {
}
}
/**
* 导航类型
* @author:zhuyajie
* @date:2021/8/16 11:59
* * @param null
*/
public enum NavigationTypeEnum{
BOOK_SERVE(1,"本书配套"),
APPLET_QA(2,"书友社区"),
CUSTOM(3,"自定义");
private Integer code;
private String name;
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
NavigationTypeEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
}
}
......@@ -21,7 +21,7 @@ public interface ResourcePageColumnDao extends BaseDao<ResourcePageColumn> {
* @date:2021/3/29 13:45
* * @param null
*/
Integer getMaxSeq(Long resourcePageId);
Integer getMaxSeq(Long resourcePageId, Long navigationId);
/**
*栏目和资源列表
......@@ -29,7 +29,7 @@ public interface ResourcePageColumnDao extends BaseDao<ResourcePageColumn> {
* @date:2021/3/29 13:45
* * @param null
*/
List<ResourceColumnAndServeVO> getColumnListByPageId(Long resourcePageId);
List<ResourceColumnAndServeVO> getColumnListByPageId(Long resourcePageId, Long navigationId);
/**
* 根据类型查询
......@@ -63,4 +63,8 @@ public interface ResourcePageColumnDao extends BaseDao<ResourcePageColumn> {
void updateSeq4Batch(List<ResourceColumnAndServeVO> list);
void deleteByPageId(Long resourcePageId);
void updateNavigationId(Long navigationId, Long resourcePageId);
List<ResourcePageColumn> getByNavigation(Long navigationId);
}
\ No newline at end of file
......@@ -113,4 +113,12 @@ public interface ResourcePageDao extends BaseDao<ResourcePage>{
List<ResourcePageVO> getAllBook4OpenFood();
void updateBookIdBySceneId(Long bookId, Long sceneId);
/**
* 修改导航样式
* @author:zhuyajie
* @date:2021/8/18 16:46
* * @param null
*/
void updateNavigationFormat(Long resourcePageId, Integer navigationColor, Integer navigationFormat);
}
package com.pcloud.book.group.dao;
import com.pcloud.book.group.entity.ResourcePageNavigation;
import com.pcloud.common.core.dao.BaseDao;
import java.util.List;
/**
* 自有码H5页面导航(ResourcePageNavigation)表数据库访问层
*
* @author makejava
* @since 2021-08-16 10:43:21
*/
public interface ResourcePageNavigationDao extends BaseDao<ResourcePageNavigation>{
List<ResourcePageNavigation> getByPageId(Long resourcePageId);
List<Long> getNoNavigationPages(Integer openRays);
ResourcePageNavigation getByType(Long resourcePageId, Integer type);
Integer getMaxSeq(Long resourcePageId);
void deleteNavigation(Long resourcePageId, Integer type);
ResourcePageNavigation getByName(Long resourcePageId, String navigationName);
void updateSeq4Batch(List<ResourcePageNavigation> navigations);
ResourcePageNavigation getNavigationByMoveType(String moveType, Long resourcePageId, Integer navigationSeq);
void updateNavigationSeqNum(Long navigationId, Integer navigationSeq);
}
\ No newline at end of file
package com.pcloud.book.group.dao;
import com.pcloud.book.group.entity.ResourcePagePic;
import com.pcloud.common.core.dao.BaseDao;
import java.util.List;
/**
* 资源页图片库(ResourcePagePic)表数据库访问层
*
* @author makejava
* @since 2021-08-24 14:36:56
*/
public interface ResourcePagePicDao extends BaseDao<ResourcePagePic>{
List<ResourcePagePic> getByType(Integer type, Long adviserId);
}
\ No newline at end of file
......@@ -21,13 +21,19 @@ import java.util.Map;
@Component
public class ResourcePageColumnDaoImpl extends BaseDaoImpl<ResourcePageColumn> implements ResourcePageColumnDao {
@Override
public Integer getMaxSeq(Long resourcePageId) {
return getSessionTemplate().selectOne(getStatement("getMaxSeq"),resourcePageId);
public Integer getMaxSeq(Long resourcePageId, Long navigationId) {
Map<String, Object> map = new HashMap<>();
map.put("navigationId", navigationId);
map.put("resourcePageId", resourcePageId);
return getSessionTemplate().selectOne(getStatement("getMaxSeq"), map);
}
@Override
public List<ResourceColumnAndServeVO> getColumnListByPageId(Long resourcePageId) {
return getSessionTemplate().selectList(getStatement("getColumnListByPageId"), resourcePageId);
public List<ResourceColumnAndServeVO> getColumnListByPageId(Long resourcePageId, Long navigationId) {
Map<String, Object> map = new HashMap<>();
map.put("navigationId", navigationId);
map.put("resourcePageId", resourcePageId);
return getSessionTemplate().selectList(getStatement("getColumnListByPageId"), map);
}
@Override
......@@ -64,4 +70,17 @@ public class ResourcePageColumnDaoImpl extends BaseDaoImpl<ResourcePageColumn> i
public void deleteByPageId(Long resourcePageId) {
getSessionTemplate().delete(getStatement("deleteByPageId"), resourcePageId);
}
@Override
public void updateNavigationId(Long navigationId, Long resourcePageId) {
Map<String, Object> map = new HashMap<>();
map.put("navigationId", navigationId);
map.put("resourcePageId", resourcePageId);
getSessionTemplate().update(getStatement("updateNavigationId"), map);
}
@Override
public List<ResourcePageColumn> getByNavigation(Long navigationId) {
return getSessionTemplate().selectList(getStatement("getByNavigation"), navigationId);
}
}
......@@ -138,4 +138,13 @@ public class ResourcePageDaoImpl extends BaseDaoImpl<ResourcePage> implements Re
map.put("sceneId", sceneId);
getSessionTemplate().update(getStatement("updateBookIdBySceneId"), map);
}
@Override
public void updateNavigationFormat(Long resourcePageId, Integer navigationColor, Integer navigationFormat) {
Map<String, Object> map = new HashMap<>();
map.put("id", resourcePageId);
map.put("navigationColor", navigationColor);
map.put("navigationFormat", navigationFormat);
getSessionTemplate().update(getStatement("updateNavigationFormat"), map);
}
}
package com.pcloud.book.group.dao.impl;
import com.pcloud.book.group.dao.ResourcePageNavigationDao;
import com.pcloud.book.group.entity.ResourcePageNavigation;
import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @ClassName com.pcloud.book.group.dao.impl.ResourcePageNavigationDaoImpl
* @Author zhuyajie
* @Description 资源页导航
* @Date 2021/8/16 10:45
* @Version 1.0
**/
@Component
public class ResourcePageNavigationDaoImpl extends BaseDaoImpl<ResourcePageNavigation> implements ResourcePageNavigationDao {
@Override
public List<ResourcePageNavigation> getByPageId(Long resourcePageId) {
return getSessionTemplate().selectList(getStatement("getByPageId"), resourcePageId);
}
@Override
public List<Long> getNoNavigationPages(Integer openRays) {
Map<String, Object> map = new HashMap<>();
map.put("openRays", openRays);
return getSessionTemplate().selectList(getStatement("getNoNavigationPages"), map);
}
@Override
public ResourcePageNavigation getByType(Long resourcePageId, Integer type) {
Map<String, Object> map = new HashMap<>();
map.put("resourcePageId", resourcePageId);
map.put("navigationType", type);
return getSessionTemplate().selectOne(getStatement("getByType"), map);
}
@Override
public Integer getMaxSeq(Long resourcePageId) {
return getSessionTemplate().selectOne(getStatement("getMaxSeq"), resourcePageId);
}
@Override
public void deleteNavigation(Long resourcePageId, Integer type) {
Map<String, Object> map = new HashMap<>();
map.put("resourcePageId", resourcePageId);
map.put("navigationType", type);
getSessionTemplate().delete(getStatement("deleteNavigation"), map);
}
@Override
public ResourcePageNavigation getByName(Long resourcePageId, String navigationName) {
Map<String, Object> map = new HashMap<>();
map.put("resourcePageId", resourcePageId);
map.put("navigationName", navigationName.trim());
return getSessionTemplate().selectOne(getStatement("getByName"), map);
}
@Override
public void updateSeq4Batch(List<ResourcePageNavigation> list) {
getSessionTemplate().update(getStatement("updateSeq4Batch"), list);
}
@Override
public ResourcePageNavigation getNavigationByMoveType(String moveType, Long resourcePageId, Integer navigationSeq) {
Map<String, Object> map = new HashMap<>();
map.put("resourcePageId", resourcePageId);
map.put("moveType", moveType);
map.put("navigationSeq", navigationSeq);
return getSessionTemplate().selectOne(getStatement("getNavigationByMoveType"), map);
}
@Override
public void updateNavigationSeqNum(Long navigationId, Integer navigationSeq) {
Map<String, Object> map = new HashMap<>();
map.put("id", navigationId);
map.put("navigationSeq", navigationSeq);
getSessionTemplate().update(getStatement("updateNavigationSeqNum"), map);
}
}
package com.pcloud.book.group.dao.impl;
import com.pcloud.book.group.dao.ResourcePagePicDao;
import com.pcloud.book.group.entity.ResourcePagePic;
import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @ClassName com.pcloud.book.group.dao.impl.ResourcePagePicDaoImpl
* @Author zhuyajie
* @Description 图片库
* @Date 2021/8/24 14:39
* @Version 1.0
**/
@Component
public class ResourcePagePicDaoImpl extends BaseDaoImpl<ResourcePagePic> implements ResourcePagePicDao {
@Override
public List<ResourcePagePic> getByType(Integer type, Long adviserId) {
Map<String, Object> map = new HashMap<>();
map.put("type", type);
map.put("adviserId", adviserId);
return getSessionTemplate().selectList(getStatement("getByType"), map);
}
}
package com.pcloud.book.group.dto;
import com.pcloud.book.group.entity.ResourcePageNavigation;
import java.util.List;
import lombok.Data;
/**
* @ClassName com.pcloud.book.group.dto.NavigationParamDTO
* @Author zhuyajie
* @Description H5导航参数
* @Date 2021/8/17 16:39
* @Version 1.0
**/
@Data
public class NavigationParamDTO {
/**
* 资源页id
*/
private Long resourcePageId;
/**
* 导航列表
*/
private List<ResourcePageNavigation> navigationList;
/**
* 创建人
*/
private Long createUser;
/**
* 导航颜色样式
*/
private Integer navigationColor;
/**
* 导航版式
*/
private Integer navigationFormat;
}
......@@ -66,4 +66,12 @@ public class ResourcePage extends BaseEntity {
* 背景图
*/
private String backgroundImg;
/**
* 导航颜色样式
*/
private Integer navigationColor;
/**
* 导航版式
*/
private Integer navigationFormat;
}
......@@ -52,4 +52,8 @@ public class ResourcePageColumn extends BaseEntity {
* 标签图标
*/
private String labelIcon;
/**
* 导航id
*/
private Long navigationId;
}
\ No newline at end of file
package com.pcloud.book.group.entity;
import com.pcloud.common.entity.BaseEntity;
import java.util.Date;
import lombok.Data;
/**
* 自有码H5页面导航(ResourcePageNavigation)实体类
*
* @author makejava
* @since 2021-08-16 10:43:21
*/
@Data
public class ResourcePageNavigation extends BaseEntity {
private static final long serialVersionUID = 211236647765087489L;
/**
* 资源页id
*/
private Long resourcePageId;
/**
* 类型(1本书配套2书友社区3自定义)
*/
private Integer navigationType;
/**
* 导航名称
*/
private String navigationName;
/**
* 图标
*/
private String navigationIcon;
/**
* 排序值
*/
private Integer navigationSeq;
/**
* 创建人
*/
private Long createUser;
}
\ No newline at end of file
package com.pcloud.book.group.entity;
import com.pcloud.common.entity.BaseEntity;
import lombok.Data;
/**
* 资源页图片库(ResourcePagePic)实体类
*
* @author makejava
* @since 2021-08-24 14:36:56
*/
@Data
public class ResourcePagePic extends BaseEntity {
private static final long serialVersionUID = -64480926548650160L;
/**
* 图片地址
*/
private String picUrl;
/**
* 是否默认图片
*/
private Integer isDefault;
/**
* 图片类型(1导航标签)
*/
private Integer type;
/**
* 编辑id
*/
private Long adviserId;
}
\ No newline at end of file
package com.pcloud.book.group.facade.impl;
import com.pcloud.book.group.biz.ResourcePageBiz;
import com.pcloud.book.group.dto.NavigationParamDTO;
import com.pcloud.book.group.entity.ResourcePageCollect;
import com.pcloud.book.group.entity.ResourcePagePic;
import com.pcloud.book.group.entity.ResourceRecomManage;
import com.pcloud.book.group.vo.ResourcePageVO;
import com.pcloud.book.group.vo.UpdateResourceColumnVO;
......@@ -70,9 +72,10 @@ public class ResourcePageFacade {
@ApiOperation("编辑端-根据页面id查资源页栏目及资源")
@GetMapping("getColumnAndServeListByPageId")
public ResponseDto<?> getColumnAndServeListByPageId(@RequestHeader("token") String token,
@RequestParam("resourcePageId") Long resourcePageId){
@RequestParam("resourcePageId") Long resourcePageId,
@RequestParam(value = "navigationId", required = false) Long navigationId){
SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
return new ResponseDto<>(resourcePageBiz.getColumnAndServeListByPageId(resourcePageId, false, null, null, null, null));
return new ResponseDto<>(resourcePageBiz.getColumnAndServeListByPageId(resourcePageId, false, null, null, null, null, navigationId));
}
@ApiOperation("客户端-根据书刊查资源页基本配置")
......@@ -92,9 +95,10 @@ public class ResourcePageFacade {
@RequestParam(value = "bookId", required = false) Long bookId,
@RequestParam(value = "adviserId", required = false) Long adviserId,
@RequestParam(value = "channelId", required = false) Long channelId,
@RequestParam(value = "enableAdverting", required = false) Integer enableAdverting){
@RequestParam(value = "enableAdverting", required = false) Integer enableAdverting,
@RequestParam(value = "navigationId", required = false) Long navigationId){
Cookie.getId(userInfo,Cookie._WECHAT_USER_ID);
return new ResponseDto<>(resourcePageBiz.getColumnAndServeListByPageId(resourcePageId, true, bookId, adviserId, channelId, enableAdverting));
return new ResponseDto<>(resourcePageBiz.getColumnAndServeListByPageId(resourcePageId, true, bookId, adviserId, channelId, enableAdverting, navigationId));
}
@ApiOperation("客户端分页查栏目资源")
......@@ -278,4 +282,49 @@ public class ResourcePageFacade {
resourcePageBiz.updateRecommendResource4Pcloud(resourceRecomManage);
return new ResponseDto<>();
}
@ApiOperation("处理旧数据导航")
@GetMapping("dealOldNavigation")
public ResponseDto<?> dealOldNavigation() {
resourcePageBiz.dealOldNavigation();
return new ResponseDto<>();
}
@ApiOperation("保存导航")
@PostMapping("saveNavigation")
public ResponseDto<?> saveNavigation(@RequestHeader("token") String token,
@RequestBody NavigationParamDTO navigationParamDTO) {
Long partyId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
navigationParamDTO.setCreateUser(partyId);
resourcePageBiz.saveNavigation(navigationParamDTO);
return new ResponseDto<>();
}
@ApiOperation("添加导航图片到图片库")
@PostMapping("addNavigationPic")
public ResponseDto<?> addNavigationPic(@RequestHeader("token") String token,
@RequestBody ResourcePagePic resourcePagePic) {
Long partyId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
resourcePagePic.setAdviserId(partyId);
resourcePageBiz.addNavigationPic(resourcePagePic);
return new ResponseDto<>();
}
@ApiOperation("删除导航图片库图片")
@GetMapping("deleteNavigationPic")
public ResponseDto<?> deleteNavigationPic(@RequestHeader("token") String token,
@RequestParam("id") Long id) {
SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
resourcePageBiz.deleteNavigationPic(id);
return new ResponseDto<>();
}
@ApiOperation("查询导航图片库图片")
@GetMapping("listNavigationPic")
public ResponseDto<?> listNavigationPic(@RequestHeader("token") String token,
@RequestParam("currentPage") Integer currentPage,
@RequestParam("numPerPage") Integer numPerPage) {
Long partyId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
return new ResponseDto<>(resourcePageBiz.listNavigationPic(partyId, currentPage, numPerPage));
}
}
......@@ -92,4 +92,9 @@ public class ResourceColumnAndServeVO extends BaseDto{
@ApiModelProperty("广告配置项信息")
private List<AdvertisingSpaceItemDTO> advertisingItemList;
/**
* 导航id
*/
private Long navigationId;
}
package com.pcloud.book.group.vo;
import com.pcloud.book.group.entity.ResourcePageNavigation;
import com.pcloud.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
import lombok.Data;
/**
* 自有码H5页面(ResourcePage)实体类
*
......@@ -94,4 +95,16 @@ public class ResourcePageVO extends BaseDto {
@ApiModelProperty("实体书购买")
private List<ResourcePageBookstoreVO> resourcePageBookstoreList;
/**
* 导航
*/
private List<ResourcePageNavigation> navigationList;
/**
* 导航颜色样式
*/
private Integer navigationColor;
/**
* 导航版式
*/
private Integer navigationFormat;
}
......@@ -66,4 +66,8 @@ public class UpdateResourceColumnVO {
* 标签图标
*/
private String labelIcon;
/**
* 导航id
*/
private Long navigationId;
}
......@@ -1201,7 +1201,7 @@ public class RightsSettingBizImpl implements RightsSettingBiz {
if (null == resourcePageVO || null == resourcePageVO.getId()) {
return;
}
List<ResourceColumnAndServeVO> serveVOList = resourcePageBiz.getColumnAndServeListByPageId(resourcePageVO.getId(), false, null, null, null, null);
List<ResourceColumnAndServeVO> serveVOList = resourcePageBiz.getColumnAndServeListByPageId(resourcePageVO.getId(), false, null, null, null, null, null);
UpdateResourceColumnVO columnVO = new UpdateResourceColumnVO();
columnVO.setColumnFormat(3);
columnVO.setColumnName("精品资讯");
......
......@@ -15,6 +15,7 @@
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="createUser" column="create_user" jdbcType="INTEGER"/>
<result property="labelIcon" column="label_icon" jdbcType="VARCHAR"/>
<result property="navigationId" column="navigation_id" jdbcType="INTEGER"/>
</resultMap>
<resultMap id="ResourceColumnAndServe" type="com.pcloud.book.group.vo.ResourceColumnAndServeVO">
......@@ -27,12 +28,13 @@
<result property="showCount" column="show_count" jdbcType="INTEGER"/>
<result property="showMore" column="show_more" jdbcType="BOOLEAN"/>
<result property="labelIcon" column="label_icon" jdbcType="VARCHAR"/>
<result property="navigationId" column="navigation_id" jdbcType="INTEGER"/>
</resultMap>
<!--查询单个-->
<select id="getById" resultMap="ResourcePageColumnMap">
select
id, resource_page_id, column_type, column_name, column_format, column_seq, show_more,show_count, create_time, label_icon
id, resource_page_id, column_type, column_name, column_format, column_seq, show_more,show_count, create_time, label_icon, navigation_id
from book.resource_page_column
where id = #{id}
</select>
......@@ -40,9 +42,9 @@
<!--新增所有列-->
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
insert into book.resource_page_column(resource_page_id, column_type, column_name, column_format, column_seq,
show_more, show_count, create_time, update_time, create_user, label_icon)
show_more, show_count, create_time, update_time, create_user, label_icon, navigation_id)
values (#{resourcePageId}, #{columnType}, #{columnName}, #{columnFormat}, #{columnSeq},
#{showMore}, #{showCount}, now(), now(), #{createUser}, #{labelIcon})
#{showMore}, #{showCount}, now(), now(), #{createUser}, #{labelIcon}, #{navigationId})
</insert>
<!--通过主键修改数据-->
......@@ -69,6 +71,9 @@
</if>
label_icon = #{labelIcon},
update_time = now(),
<if test="navigationId != null">
navigation_id = #{navigationId},
</if>
</set>
where id = #{id}
</update>
......@@ -78,15 +83,18 @@
delete from book.resource_page_column where id = #{id}
</delete>
<select id="getMaxSeq" parameterType="long" resultType="integer">
<select id="getMaxSeq" parameterType="map" resultType="integer">
SELECT
IFNULL(MAX(column_seq), 0)
FROM
book.resource_page_column
where resource_page_id = #{resourcePageId}
<if test="navigationId != null">
and navigation_id = #{navigationId}
</if>
</select>
<select id="getColumnListByPageId" resultMap="ResourceColumnAndServe" parameterType="long">
<select id="getColumnListByPageId" resultMap="ResourceColumnAndServe" parameterType="map">
SELECT
resource_page_id,
id,
......@@ -96,11 +104,15 @@
column_seq,
show_count,
show_more,
label_icon
label_icon,
navigation_id
FROM
resource_page_column
WHERE
resource_page_id = #{resourcePageId}
<if test="navigationId != null">
and navigation_id = #{navigationId}
</if>
ORDER BY
column_seq ASC,
id ASC
......@@ -108,7 +120,7 @@
<select id="getByColumnTypeAndPage" parameterType="map" resultMap="ResourcePageColumnMap">
select
id, resource_page_id, column_type, column_name, column_format, column_seq, show_more, show_count, create_time
id, resource_page_id, column_type, column_name, column_format, column_seq, show_more, show_count, create_time, navigation_id
from book.resource_page_column
where resource_page_id = #{resourcePageId}
and column_type = #{columnType}
......@@ -123,7 +135,7 @@
<select id="getColumByMoveType" parameterType="map" resultMap="ResourcePageColumnMap">
SELECT
id, resource_page_id, column_type, column_name, column_format, column_seq, show_more, show_count, create_time
id, resource_page_id, column_type, column_name, column_format, column_seq, show_more, show_count, create_time, navigation_id
FROM
book.resource_page_column
WHERE
......@@ -157,4 +169,18 @@
<delete id="deleteByPageId" parameterType="long">
delete from book.resource_page_column where resource_page_id = #{resourcePageId}
</delete>
<update id="updateNavigationId" parameterType="map">
update book.resource_page_column
set navigation_id = #{navigationId}
where resource_page_id = #{resourcePageId}
</update>
<select id="getByNavigation" resultMap="ResourcePageColumnMap" parameterType="long">
select
id, resource_page_id, column_type, column_name, column_format, column_seq, show_more,show_count, create_time, label_icon, navigation_id
from book.resource_page_column
where navigation_id = #{navigationId}
</select>
</mapper>
\ No newline at end of file
......@@ -19,11 +19,13 @@
<result property="bookId" column="book_id" jdbcType="INTEGER"/>
<result property="channelId" column="channel_id" jdbcType="INTEGER"/>
<result property="backgroundImg" column="background_img" jdbcType="VARCHAR"/>
<result property="navigationColor" column="navigation_color" jdbcType="INTEGER"/>
<result property="navigationFormat" column="navigation_format" jdbcType="INTEGER"/>
</resultMap>
<sql id="Base_Column_List">
id, book_group_id, style, show_book, open_rays, open_food, create_time, update_time, create_user, qrcode_url, scene_id, official_scene_id,
book_cover, book_id, channel_id, background_img
book_cover, book_id, channel_id, background_img, navigation_color, navigation_format
</sql>
<!--查询单个-->
......@@ -88,8 +90,7 @@
<select id="getByBookGroupId" parameterType="long" resultMap="ResourcePageMap">
select
id, book_group_id, style, show_book, open_rays, open_food, qrcode_url, official_scene_id, book_cover, book_id, channel_id, create_user,
background_img
<include refid="Base_Column_List"/>
from book.resource_page
where book_group_id = #{bookGroupId}
limit 1
......@@ -134,8 +135,7 @@
<select id="getBySceneId" parameterType="long" resultMap="ResourcePageMap">
select
id, book_group_id, style, show_book, open_rays, open_food, qrcode_url, scene_id, official_scene_id, book_cover,book_id, channel_id, create_user,
background_img
<include refid="Base_Column_List"/>
from book.resource_page
where scene_id = #{sceneId}
limit 1
......@@ -281,4 +281,18 @@
scene_id = #{sceneId}
</update>
<select id="updateNavigationFormat" parameterType="map">
UPDATE resource_page
<set>
<if test="navigationColor != null">
navigation_color = #{navigationColor},
</if>
<if test="navigationFormat != null">
navigation_format = #{navigationFormat},
</if>
update_time = NOW(),
</set>
where id = #{id}
</select>
</mapper>
......@@ -186,6 +186,7 @@
resource_page_item i
LEFT JOIN resource_page p ON i.resource_page_id = p.id
LEFT JOIN resource_page_column c ON i.resource_page_column_id = c.id
LEFT JOIN resource_page_navigation n ON c.navigation_id = n.id
WHERE
p.scene_id IN
<foreach collection="list" index="index" separator="," open="(" close=")" item="item">
......@@ -193,7 +194,7 @@
</foreach>
AND i.serve_type IN ('APP', 'PRODUCT')
ORDER BY
c.column_seq ASC, i.seq_num ASC, i.id ASC
n.navigation_seq ASC, c.column_seq ASC, i.seq_num ASC, i.id ASC
</select>
<!--只配置了1个应用作品,且不开启小睿-->
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.pcloud.book.group.dao.impl.ResourcePageNavigationDaoImpl">
<resultMap type="com.pcloud.book.group.entity.ResourcePageNavigation" id="ResourcePageNavigationMap">
<result property="id" column="id" jdbcType="INTEGER"/>
<result property="resourcePageId" column="resource_page_id" jdbcType="INTEGER"/>
<result property="navigationType" column="navigation_type" jdbcType="INTEGER"/>
<result property="navigationName" column="navigation_name" jdbcType="VARCHAR"/>
<result property="navigationIcon" column="navigation_icon" jdbcType="VARCHAR"/>
<result property="navigationSeq" column="navigation_seq" jdbcType="INTEGER"/>
<result property="createUser" column="create_user" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
id, resource_page_id, navigation_type, navigation_name, navigation_icon, navigation_seq
</sql>
<!--查询单个-->
<select id="getById" resultMap="ResourcePageNavigationMap">
select
<include refid="Base_Column_List"/>
from book.resource_page_navigation
where id = #{id}
</select>
<!--新增所有列-->
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
insert into book.resource_page_navigation(resource_page_id, navigation_type, navigation_name, navigation_icon, navigation_seq, create_user, create_time, update_time)
values (#{resourcePageId}, #{navigationType}, #{navigationName}, #{navigationIcon}, #{navigationSeq}, #{createUser}, now(), now())
</insert>
<insert id="batchInsert" keyProperty="id" useGeneratedKeys="true">
insert into book.resource_page_navigation(resource_page_id, navigation_type, navigation_name, navigation_icon, navigation_seq, create_user, create_time, update_time)
values
<foreach collection="list" item="item" separator=",">
(#{item.resourcePageId}, #{item.navigationType}, #{item.navigationName}, #{item.navigationIcon}, #{item.navigationSeq}, #{item.createUser}, now(), now())
</foreach>
</insert>
<!--通过主键修改数据-->
<update id="update">
update book.resource_page_navigation
<set>
<if test="navigationName != null and navigationName != ''">
navigation_name = #{navigationName},
</if>
navigation_icon = #{navigationIcon},
<if test="navigationSeq != null">
navigation_seq = #{navigationSeq},
</if>
update_time = now(),
</set>
where id = #{id}
</update>
<!--通过主键删除-->
<delete id="deleteById">
delete from book.resource_page_navigation where id = #{id}
</delete>
<select id="getByPageId" parameterType="long" resultMap="ResourcePageNavigationMap">
select
<include refid="Base_Column_List"/>
from book.resource_page_navigation
where resource_page_id = #{resourcePageId}
order by navigation_seq asc, id asc
</select>
<select id="getNoNavigationPages" resultType="long" parameterType="map">
SELECT
r.id
FROM
resource_page r
LEFT JOIN resource_page_navigation n ON r.id = n.resource_page_id
<if test="openRays != null and openRays == 1">
AND n.navigation_type = 2
</if>
WHERE
n.id IS NULL
<if test="openRays != null and openRays == 1">
AND r.open_rays = #{openRays}
</if>
</select>
<select id="getByType" parameterType="map" resultMap="ResourcePageNavigationMap">
select
<include refid="Base_Column_List"/>
from book.resource_page_navigation
where resource_page_id = #{resourcePageId}
and navigation_type = #{navigationType}
limit 1
</select>
<select id="getMaxSeq" parameterType="long" resultType="integer">
SELECT
IFNULL(MAX(navigation_seq), 0)
FROM
book.resource_page_navigation
where resource_page_id = #{resourcePageId}
</select>
<delete id="deleteNavigation" parameterType="map">
DELETE
from book.resource_page_navigation
where resource_page_id = #{resourcePageId}
and navigation_type = #{navigationType}
</delete>
<select id="getByName" parameterType="map" resultMap="ResourcePageNavigationMap">
select
<include refid="Base_Column_List"/>
from book.resource_page_navigation
where resource_page_id = #{resourcePageId}
and navigation_name = #{navigationName}
limit 1
</select>
<update id="updateSeq4Batch" parameterType="list">
update book.resource_page_navigation set navigation_seq =
<foreach collection="list" open="CASE" separator=" " close="END" item="item">
WHEN id = #{item.id} THEN #{item.navigationSeq}
</foreach>
where id IN
<foreach collection="list" item="item" close=")" separator="," open="(">
${item.id}
</foreach>
</update>
<select id="getNavigationByMoveType" parameterType="map" resultMap="ResourcePageNavigationMap">
SELECT
<include refid="Base_Column_List"/>
FROM
book.resource_page_navigation
WHERE
resource_page_id = #{resourcePageId}
<choose>
<when test="moveType == 'UP'">
AND navigation_seq &lt; #{navigationSeq}
ORDER BY
navigation_seq DESC
</when>
<otherwise>
AND navigation_seq > #{navigationSeq}
ORDER BY
navigation_seq ASC
</otherwise>
</choose>
LIMIT 1
</select>
<update id="updateNavigationSeqNum" parameterType="map">
update resource_page_navigation
set navigation_seq = #{navigationSeq},
update_time = now()
where id = #{id}
</update>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.pcloud.book.group.dao.impl.ResourcePagePicDaoImpl">
<resultMap type="com.pcloud.book.group.entity.ResourcePagePic" id="ResourcePagePicMap">
<result property="id" column="id" jdbcType="INTEGER"/>
<result property="picUrl" column="pic_url" jdbcType="VARCHAR"/>
<result property="isDefault" column="is_default" jdbcType="INTEGER"/>
<result property="type" column="type" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="adviserId" column="adviser_id" jdbcType="INTEGER"/>
</resultMap>
<!--查询单个-->
<select id="getById" resultMap="ResourcePagePicMap">
select
id, pic_url, is_default, type, create_time, adviser_id
from resource_page_pic
where id = #{id}
</select>
<!--新增所有列-->
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
insert into resource_page_pic(pic_url, is_default, type, create_time, adviser_id)
values (#{picUrl}, #{isDefault}, #{type}, now(), #{adviserId})
</insert>
<!--通过主键修改数据-->
<update id="update">
update resource_page_pic
<set>
<if test="picUrl != null and picUrl != ''">
pic_url = #{picUrl},
</if>
<if test="isDefault != null">
is_default = #{isDefault},
</if>
<if test="type != null">
type = #{type},
</if>
<if test="createTime != null">
create_time = #{createTime},
</if>
<if test="adviserId != null">
adviser_id = #{adviserId},
</if>
</set>
where id = #{id}
</update>
<!--通过主键删除-->
<delete id="deleteById">
delete from resource_page_pic where id = #{id}
</delete>
<select id="getByType" parameterType="map" resultMap="ResourcePagePicMap">
select
id, pic_url, is_default, type, create_time
from resource_page_pic
WHERE (adviser_id = #{adviserId} OR is_default=1)
<if test="type != null">
AND type = #{type}
</if>
ORDER BY is_default ASC, id DESC
</select>
</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