Commit 4be77d19 by 田超

Merge branch 'feature/1004673' into 'master'

feat:[1004673] H5本书服务增加引导添加收藏

See merge request rays/pcloud-book!1286
parents 5d9a6342 5d4e8c34
...@@ -154,8 +154,8 @@ public class BookGroupDTO implements Serializable { ...@@ -154,8 +154,8 @@ public class BookGroupDTO implements Serializable {
private Integer groupQrcodePageNum; private Integer groupQrcodePageNum;
private Integer groupQrcodeLocationId; private Integer groupQrcodeLocationId;
private String groupQrcodeRemark;
/** /**private String groupQrcodeRemark;
* H5落地页是否开启小睿流程 * H5落地页是否开启小睿流程
*/ */
private Integer resourcePageOpenRays; private Integer resourcePageOpenRays;
......
...@@ -3,6 +3,7 @@ package com.pcloud.book.group.biz; ...@@ -3,6 +3,7 @@ package com.pcloud.book.group.biz;
import com.pcloud.book.group.dto.BookGroupServeDTO; import com.pcloud.book.group.dto.BookGroupServeDTO;
import com.pcloud.book.group.entity.BookGroupServe; import com.pcloud.book.group.entity.BookGroupServe;
import com.pcloud.book.group.entity.ResourcePage; import com.pcloud.book.group.entity.ResourcePage;
import com.pcloud.book.group.entity.ResourcePageCollect;
import com.pcloud.book.group.vo.ResourceColumnAndServeVO; import com.pcloud.book.group.vo.ResourceColumnAndServeVO;
import com.pcloud.book.group.vo.ResourcePageItemVO; import com.pcloud.book.group.vo.ResourcePageItemVO;
import com.pcloud.book.group.vo.ResourcePageOneServe; import com.pcloud.book.group.vo.ResourcePageOneServe;
...@@ -185,4 +186,12 @@ public interface ResourcePageBiz { ...@@ -185,4 +186,12 @@ public interface ResourcePageBiz {
* * @param null * * @param null
*/ */
ResourcePage getPageByOfficialScene(Long officialSceneId); ResourcePage getPageByOfficialScene(Long officialSceneId);
/**
* 添加收藏记录
* @author:zhuyajie
* @date:2021/4/26 15:36
* * @param null
*/
void addCollectRecord(ResourcePageCollect resourcePageCollect);
} }
\ No newline at end of file
...@@ -23,6 +23,7 @@ import com.pcloud.book.group.constant.ResourcePageConstants; ...@@ -23,6 +23,7 @@ import com.pcloud.book.group.constant.ResourcePageConstants;
import com.pcloud.book.group.dao.BookAppletSceneDao; import com.pcloud.book.group.dao.BookAppletSceneDao;
import com.pcloud.book.group.dao.BookGroupDao; import com.pcloud.book.group.dao.BookGroupDao;
import com.pcloud.book.group.dao.BookGroupServeDao; import com.pcloud.book.group.dao.BookGroupServeDao;
import com.pcloud.book.group.dao.ResourcePageCollectDao;
import com.pcloud.book.group.dao.ResourcePageColumnDao; import com.pcloud.book.group.dao.ResourcePageColumnDao;
import com.pcloud.book.group.dao.ResourcePageDao; import com.pcloud.book.group.dao.ResourcePageDao;
import com.pcloud.book.group.dao.ResourcePageItemDao; import com.pcloud.book.group.dao.ResourcePageItemDao;
...@@ -32,6 +33,7 @@ import com.pcloud.book.group.entity.BookAppletScene; ...@@ -32,6 +33,7 @@ import com.pcloud.book.group.entity.BookAppletScene;
import com.pcloud.book.group.entity.BookGroup; import com.pcloud.book.group.entity.BookGroup;
import com.pcloud.book.group.entity.BookGroupServe; import com.pcloud.book.group.entity.BookGroupServe;
import com.pcloud.book.group.entity.ResourcePage; import com.pcloud.book.group.entity.ResourcePage;
import com.pcloud.book.group.entity.ResourcePageCollect;
import com.pcloud.book.group.entity.ResourcePageColumn; import com.pcloud.book.group.entity.ResourcePageColumn;
import com.pcloud.book.group.entity.ResourcePageItem; import com.pcloud.book.group.entity.ResourcePageItem;
import com.pcloud.book.group.enums.QrcodeJumpType; import com.pcloud.book.group.enums.QrcodeJumpType;
...@@ -138,6 +140,8 @@ public class ResourcePageBizImpl implements ResourcePageBiz { ...@@ -138,6 +140,8 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
private WechatGroupConsr wechatGroupConsr; private WechatGroupConsr wechatGroupConsr;
@Autowired @Autowired
private BookGroupServeDao bookGroupServeDao; private BookGroupServeDao bookGroupServeDao;
@Autowired
private ResourcePageCollectDao resourcePageCollectDao;
@Override @Override
public Long updateResourcePage(UpdateResourcePageVO updateResourcePageVO) { public Long updateResourcePage(UpdateResourcePageVO updateResourcePageVO) {
...@@ -1150,12 +1154,18 @@ public class ResourcePageBizImpl implements ResourcePageBiz { ...@@ -1150,12 +1154,18 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
if (null == bookGroupId && null == sceneId) { if (null == bookGroupId && null == sceneId) {
throw new BookBizException(BookBizException.PARAM_IS_NULL,"参数缺失"); throw new BookBizException(BookBizException.PARAM_IS_NULL,"参数缺失");
} }
ResourcePageVO resourcePageVO = new ResourcePageVO();
if (null != bookGroupId) { if (null != bookGroupId) {
return getResourcePageByBookGroupId4Wechat(bookGroupId, wechatUserId); resourcePageVO = getResourcePageByBookGroupId4Wechat(bookGroupId, wechatUserId);
} else if (null != sceneId) { } else if (null != sceneId) {
return getResourcePageBySceneId4Wechat(sceneId); resourcePageVO = getResourcePageBySceneId4Wechat(sceneId);
} }
return new ResourcePageVO(); if (null != resourcePageVO.getId()) {
//查收藏状态
ResourcePageCollect collect = resourcePageCollectDao.getCollectRecordByUser(wechatUserId, resourcePageVO.getId());
resourcePageVO.setCollectState(null == collect ? 0 : 1);
}
return resourcePageVO;
} }
@ParamLog("根据bookGroupId查资源页信息") @ParamLog("根据bookGroupId查资源页信息")
...@@ -1461,4 +1471,12 @@ public class ResourcePageBizImpl implements ResourcePageBiz { ...@@ -1461,4 +1471,12 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
return resourcePageDao.getPageByOfficialScene(officialSceneId); return resourcePageDao.getPageByOfficialScene(officialSceneId);
} }
@Override
public void addCollectRecord(ResourcePageCollect resourcePageCollect) {
if (null == resourcePageCollect.getResourcePageId() || null == resourcePageCollect.getCollectState()) {
throw new BookBizException(BookBizException.PARAM_IS_NULL,"缺少参数");
}
resourcePageCollectDao.insert(resourcePageCollect);
}
} }
package com.pcloud.book.group.dao;
import com.pcloud.book.group.entity.ResourcePageCollect;
import com.pcloud.common.core.dao.BaseDao;
/**
* 资源页收藏记录(ResourcePageCollect)表数据库访问层
*
* @author makejava
* @since 2021-04-26 15:27:14
*/
public interface ResourcePageCollectDao extends BaseDao<ResourcePageCollect>{
/**
* 查收藏记录
* @author:zhuyajie
* @date:2021/4/26 15:33
* * @param null
*/
ResourcePageCollect getCollectRecordByUser(Long wechatUserId, Long resourcePageId);
}
\ No newline at end of file
package com.pcloud.book.group.dao.impl;
import com.pcloud.book.group.dao.ResourcePageCollectDao;
import com.pcloud.book.group.entity.ResourcePageCollect;
import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.Map;
/**
* @ClassName com.pcloud.book.group.dao.impl.ResourcePageCollectDaoImpl
* @Author zhuyajie
* @Description 资源页收藏记录
* @Date 2021/4/26 15:28
* @Version 1.0
**/
@Component
public class ResourcePageCollectDaoImpl extends BaseDaoImpl<ResourcePageCollect> implements ResourcePageCollectDao {
@Override
public ResourcePageCollect getCollectRecordByUser(Long wechatUserId, Long resourcePageId) {
Map<String, Object> map = new HashMap<>();
map.put("wechatUserId", wechatUserId);
map.put("resourcePageId", resourcePageId);
return getSessionTemplate().selectOne(getStatement("getCollectRecordByUser"), map);
}
}
package com.pcloud.book.group.entity;
import com.pcloud.common.entity.BaseEntity;
import lombok.Data;
/**
* 资源页收藏记录(ResourcePageCollect)实体类
*
* @author makejava
* @since 2021-04-26 15:27:14
*/
@Data
public class ResourcePageCollect extends BaseEntity {
private static final long serialVersionUID = 556503426568021473L;
/**
* 资源页id
*/
private Long resourcePageId;
/**
* 用户id
*/
private Long wechatUserId;
/**
* 公众号id
*/
private Long officialAccountsId;
/**
* 收藏状态
*/
private Integer collectState;
}
\ No newline at end of file
package com.pcloud.book.group.facade.impl; package com.pcloud.book.group.facade.impl;
import com.pcloud.book.group.biz.ResourcePageBiz; import com.pcloud.book.group.biz.ResourcePageBiz;
import com.pcloud.book.group.entity.ResourcePageCollect;
import com.pcloud.book.group.vo.UpdateResourceColumnVO; import com.pcloud.book.group.vo.UpdateResourceColumnVO;
import com.pcloud.book.group.vo.UpdateResourcePageVO; import com.pcloud.book.group.vo.UpdateResourcePageVO;
import com.pcloud.common.dto.ResponseDto; import com.pcloud.common.dto.ResponseDto;
...@@ -166,4 +167,15 @@ public class ResourcePageFacade { ...@@ -166,4 +167,15 @@ public class ResourcePageFacade {
@RequestParam(value = "sceneId", required = false) Long sceneId) { @RequestParam(value = "sceneId", required = false) Long sceneId) {
return new ResponseDto<>(resourcePageBiz.hasOneResource(bookGroupId, sceneId)); return new ResponseDto<>(resourcePageBiz.hasOneResource(bookGroupId, sceneId));
} }
@ApiOperation("添加收藏记录")
@PostMapping("addCollectRecord")
public ResponseDto<?> addCollectRecord(@CookieValue("userInfo") String userInfo, @RequestBody ResourcePageCollect resourcePageCollect) {
Long wechatUserId = Cookie.getId(userInfo,Cookie._WECHAT_USER_ID);
Long officialAccountsId = Cookie.getId(userInfo, Cookie._OFFICIAL_ACCOUNTS_ID);
resourcePageCollect.setWechatUserId(wechatUserId);
resourcePageCollect.setOfficialAccountsId(officialAccountsId);
resourcePageBiz.addCollectRecord(resourcePageCollect);
return new ResponseDto<>();
}
} }
...@@ -58,4 +58,9 @@ public class ResourcePageVO extends BaseDto { ...@@ -58,4 +58,9 @@ public class ResourcePageVO extends BaseDto {
private Long bookId; private Long bookId;
private Long channelId; private Long channelId;
private Long adviserId; private Long adviserId;
/**
* 收藏状态
*/
private Integer collectState;
} }
\ 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.ResourcePageCollectDaoImpl">
<resultMap type="com.pcloud.book.group.entity.ResourcePageCollect" id="ResourcePageCollectMap">
<result property="id" column="id" jdbcType="INTEGER"/>
<result property="resourcePageId" column="resource_page_id" jdbcType="INTEGER"/>
<result property="wechatUserId" column="wechat_user_id" jdbcType="INTEGER"/>
<result property="officialAccountsId" column="official_accounts_id" jdbcType="INTEGER"/>
<result property="collectState" column="collect_state" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
</resultMap>
<!--查询单个-->
<select id="getById" resultMap="ResourcePageCollectMap">
select
id, resource_page_id, wechat_user_id, official_accounts_id, collect_state, create_time
from book.resource_page_collect
where id = #{id}
</select>
<!--新增所有列-->
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
insert into book.resource_page_collect(resource_page_id, wechat_user_id, official_accounts_id, collect_state, create_time)
values (#{resourcePageId}, #{wechatUserId}, #{officialAccountsId}, #{collectState}, now())
</insert>
<!--通过主键修改数据-->
<update id="update">
update book.resource_page_collect
<set>
<if test="resourcePageId != null">
resource_page_id = #{resourcePageId},
</if>
<if test="wechatUserId != null">
wechat_user_id = #{wechatUserId},
</if>
<if test="officialAccountsId != null">
official_accounts_id = #{officialAccountsId},
</if>
<if test="collectState != null">
collect_state = #{collectState},
</if>
</set>
where id = #{id}
</update>
<!--通过主键删除-->
<delete id="deleteById">
delete from book.resource_page_collect where id = #{id}
</delete>
<select id="getCollectRecordByUser" resultMap="ResourcePageCollectMap" parameterType="map">
select
id, resource_page_id, wechat_user_id, official_accounts_id, collect_state, create_time
from book.resource_page_collect
where resource_page_id = #{resourcePageId}
and wechat_user_id = #{wechatUserId}
and collect_state = 1
limit 1
</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