Commit 52c0e725 by 吴博

feat: [1004229] 取消本书服务关注

parent 0f0353c3
...@@ -36,4 +36,10 @@ public interface AnswerSubscribeBiz { ...@@ -36,4 +36,10 @@ public interface AnswerSubscribeBiz {
* * @param null * * @param null
*/ */
void checkAnswerUpdate(); void checkAnswerUpdate();
/**
* 取消订阅
* @param answerSubscribeDTO
*/
void cancelAnswerSubscribe(AnswerSubscribeDTO answerSubscribeDTO);
} }
...@@ -215,6 +215,16 @@ public class AnswerSubscribeBizImpl implements AnswerSubscribeBiz { ...@@ -215,6 +215,16 @@ public class AnswerSubscribeBizImpl implements AnswerSubscribeBiz {
} }
} }
@Override
@ParamLog("取消本书服务关注")
public void cancelAnswerSubscribe(AnswerSubscribeDTO answerSubscribeDTO) {
if (null == answerSubscribeDTO.getBookId() || null == answerSubscribeDTO.getAdviserId() ||
null == answerSubscribeDTO.getChannelId() || null == answerSubscribeDTO.getWechatUserId()) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "缺少书刊参数");
}
answerSubscribeDao.cancelAnswerSubscribe(answerSubscribeDTO);
}
private void sendAppletTemplateMsg(Long wechatUserId, Long accountSettingId, String bookName) { private void sendAppletTemplateMsg(Long wechatUserId, Long accountSettingId, String bookName) {
bookName = bookName.length() > 13 ? bookName.substring(0, 13) + "..." : bookName; bookName = bookName.length() > 13 ? bookName.substring(0, 13) + "..." : bookName;
AppletTemplateMessageDto appletTemplateMessage; AppletTemplateMessageDto appletTemplateMessage;
......
...@@ -2,6 +2,7 @@ package com.pcloud.book.applet.dao; ...@@ -2,6 +2,7 @@ package com.pcloud.book.applet.dao;
import com.pcloud.book.applet.dto.AnswerSubscribeCountDto; import com.pcloud.book.applet.dto.AnswerSubscribeCountDto;
import com.pcloud.book.applet.dto.AnswerSubscribeDTO;
import com.pcloud.book.applet.entity.AnswerSubscribe; import com.pcloud.book.applet.entity.AnswerSubscribe;
import com.pcloud.common.core.dao.BaseDao; import com.pcloud.common.core.dao.BaseDao;
...@@ -61,4 +62,10 @@ public interface AnswerSubscribeDao extends BaseDao<AnswerSubscribe>{ ...@@ -61,4 +62,10 @@ public interface AnswerSubscribeDao extends BaseDao<AnswerSubscribe>{
* * @param null * * @param null
*/ */
Integer getUserCountByBookAdviser(AnswerSubscribe answerSubscribe); Integer getUserCountByBookAdviser(AnswerSubscribe answerSubscribe);
/**
* 取消订阅
* @param answerSubscribeDTO
*/
void cancelAnswerSubscribe(AnswerSubscribeDTO answerSubscribeDTO);
} }
\ No newline at end of file
...@@ -2,6 +2,7 @@ package com.pcloud.book.applet.dao.impl; ...@@ -2,6 +2,7 @@ package com.pcloud.book.applet.dao.impl;
import com.pcloud.book.applet.dao.AnswerSubscribeDao; import com.pcloud.book.applet.dao.AnswerSubscribeDao;
import com.pcloud.book.applet.dto.AnswerSubscribeCountDto; import com.pcloud.book.applet.dto.AnswerSubscribeCountDto;
import com.pcloud.book.applet.dto.AnswerSubscribeDTO;
import com.pcloud.book.applet.entity.AnswerSubscribe; import com.pcloud.book.applet.entity.AnswerSubscribe;
import com.pcloud.common.core.dao.BaseDaoImpl; import com.pcloud.common.core.dao.BaseDaoImpl;
...@@ -52,4 +53,9 @@ public class AnswerSubscribeDaoImpl extends BaseDaoImpl<AnswerSubscribe> impleme ...@@ -52,4 +53,9 @@ public class AnswerSubscribeDaoImpl extends BaseDaoImpl<AnswerSubscribe> impleme
public Integer getUserCountByBookAdviser(AnswerSubscribe answerSubscribe) { public Integer getUserCountByBookAdviser(AnswerSubscribe answerSubscribe) {
return getSessionTemplate().selectOne(getStatement("getUserCountByBookAdviser"), answerSubscribe); return getSessionTemplate().selectOne(getStatement("getUserCountByBookAdviser"), answerSubscribe);
} }
@Override
public void cancelAnswerSubscribe(AnswerSubscribeDTO answerSubscribeDTO) {
getSessionTemplate().delete(getStatement("cancelAnswerSubscribe"), answerSubscribeDTO);
}
} }
...@@ -1196,6 +1196,22 @@ public class AppletHomeFacade { ...@@ -1196,6 +1196,22 @@ public class AppletHomeFacade {
return new ResponseDto<>(); return new ResponseDto<>();
} }
@ApiOperation("答案订阅")
@PostMapping("cancelAnswerSubscribe")
public ResponseDto<?> cancelAnswerSubscribe(
@CookieValue("userInfo") String userInfo,
@RequestBody @ApiParam AnswerSubscribeDTO answerSubscribeDTO){
Long wechatUserId = Cookie.getId(userInfo, Cookie._WECHAT_USER_ID);
Long accountSettingId = Cookie.getId(userInfo,Cookie._OFFICIAL_ACCOUNTS_ID);
if (null == answerSubscribeDTO){
throw new BookBizException(BookBizException.PARAM_IS_NULL,"缺少参数");
}
answerSubscribeDTO.setWechatUserId(wechatUserId);
answerSubscribeDTO.setAccountSettingId(accountSettingId);
answerSubscribeBiz.cancelAnswerSubscribe(answerSubscribeDTO);
return new ResponseDto<>();
}
@ApiOperation("查看答案订阅状态") @ApiOperation("查看答案订阅状态")
@PostMapping("getSubscribeState") @PostMapping("getSubscribeState")
public ResponseDto<?> getSubscribeState( public ResponseDto<?> getSubscribeState(
......
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
<if test="wechatUserId != null"> <if test="wechatUserId != null">
and wechat_user_id = #{wechatUserId} and wechat_user_id = #{wechatUserId}
</if> </if>
and subscribe_state = 1
</update> </update>
<select id="getRecordByUserBook" parameterType="com.pcloud.book.applet.entity.AnswerSubscribe" resultMap="AnswerSubscribeMap"> <select id="getRecordByUserBook" parameterType="com.pcloud.book.applet.entity.AnswerSubscribe" resultMap="AnswerSubscribeMap">
...@@ -47,6 +48,7 @@ ...@@ -47,6 +48,7 @@
and book_id = #{bookId} and book_id = #{bookId}
and channel_id = #{channelId} and channel_id = #{channelId}
and adviser_id = #{adviserId} and adviser_id = #{adviserId}
and subscribe_state = 1
</select> </select>
<select id="getBySendStateAndBook" resultMap="AnswerSubscribeMap" parameterType="com.pcloud.book.applet.entity.AnswerSubscribe"> <select id="getBySendStateAndBook" resultMap="AnswerSubscribeMap" parameterType="com.pcloud.book.applet.entity.AnswerSubscribe">
...@@ -56,6 +58,7 @@ ...@@ -56,6 +58,7 @@
and book_id = #{bookId} and book_id = #{bookId}
and channel_id = #{channelId} and channel_id = #{channelId}
and adviser_id = #{adviserId} and adviser_id = #{adviserId}
and subscribe_state = 1
</select> </select>
<select id="getBookBySendState" resultMap="AnswerSubscribeMap" parameterType="integer"> <select id="getBookBySendState" resultMap="AnswerSubscribeMap" parameterType="integer">
...@@ -63,6 +66,8 @@ ...@@ -63,6 +66,8 @@
<include refid="Base_Column_List"/> <include refid="Base_Column_List"/>
FROM book.answer_subscribe FROM book.answer_subscribe
WHERE send_state = #{sendState} WHERE send_state = #{sendState}
and
subscribe_state = 1
group by book_id, channel_id, adviser_id group by book_id, channel_id, adviser_id
</select> </select>
...@@ -76,6 +81,8 @@ ...@@ -76,6 +81,8 @@
answer_subscribe answer_subscribe
WHERE WHERE
adviser_id>0 adviser_id>0
and
subscribe_state = 1
GROUP BY GROUP BY
book_id, channel_id, adviser_id book_id, channel_id, adviser_id
HAVING HAVING
...@@ -88,6 +95,22 @@ ...@@ -88,6 +95,22 @@
WHERE book_id = #{bookId} WHERE book_id = #{bookId}
and channel_id = #{channelId} and channel_id = #{channelId}
and adviser_id = #{adviserId} and adviser_id = #{adviserId}
and subscribe_state = 1
</select> </select>
<select id="cancelAnswerSubscribe" parameterType="com.pcloud.book.applet.dto.AnswerSubscribeDTO">
update
answer_subscribe
set
subscribe_state = 0,
update_time = now()
where
book_id = #{bookId}
and channel_id = #{channelId}
and adviser_id = #{adviserId}
<if test="wechatUserId != null">
and wechat_user_id = #{wechatUserId}
</if>
and subscribe_state = 1
</select>
</mapper> </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