Commit e22b463c authored by liwei's avatar liwei

修改了app黑名单和对话联动

parent 5d081d6a
...@@ -81,8 +81,8 @@ public class AppMemLeaveMessageController extends CyPaginationController<MemLeav ...@@ -81,8 +81,8 @@ public class AppMemLeaveMessageController extends CyPaginationController<MemLeav
* 删除对话表 * 删除对话表
*/ */
@PreAuthorize("@cyPerm.hasPerm('app:mem:delete')") @PreAuthorize("@cyPerm.hasPerm('app:mem:delete')")
@CyOpeLogAnno(title = "system-金币流水表管理-删除金币流水表", businessType = CyLogTypeEnum.DELETE) @CyOpeLogAnno(title = "system-对话管理-删除对话表", businessType = CyLogTypeEnum.DELETE)
@Operation(summary="删除金币流水表", description="删除金币流水表") @Operation(summary="删除对话表", description="删除对话表")
@Parameters({@Parameter(name = "businessId", description = "businessId", required = true, schema = @Schema(type = "string"))}) @Parameters({@Parameter(name = "businessId", description = "businessId", required = true, schema = @Schema(type = "string"))})
@DeleteMapping("/memLeaveMessage/delete/{businessId:\\w+}") @DeleteMapping("/memLeaveMessage/delete/{businessId:\\w+}")
public CyResult delete(@PathVariable int businessId, MemLeaveMessage memLeaveMessage) { public CyResult delete(@PathVariable int businessId, MemLeaveMessage memLeaveMessage) {
......
...@@ -45,10 +45,25 @@ public interface MemLeaveMessageRepository extends CyBaseMapper<MemLeaveMessage> ...@@ -45,10 +45,25 @@ public interface MemLeaveMessageRepository extends CyBaseMapper<MemLeaveMessage>
*/ */
IPage<MemLeaveMessage> queryMessageByPagination(CyPageInfo cyPageInfo, @Param("entity") MemLeaveMessage memLeaveMessage); IPage<MemLeaveMessage> queryMessageByPagination(CyPageInfo cyPageInfo, @Param("entity") MemLeaveMessage memLeaveMessage);
/**
* 查询该对话是否已移除
*/
int selectDelUserById(@Param("entity") MemLeaveMessage memLeaveMessage); int selectDelUserById(@Param("entity") MemLeaveMessage memLeaveMessage);
int deleteMessageById(@Param("entity") MemLeaveMessage memLeaveMessage); /**
* 删除该对话
*/
int deleteTalkById(@Param("entity") MemLeaveMessage memLeaveMessage);
/**
* 移除该对话
*/
int updateTalkDel(@Param("entity") MemLeaveMessage memLeaveMessage);
/**
* 拉黑该对话
*/
int updateTalkBlack(@Param("entity") MemLeaveMessage memLeaveMessage);
int updateMessageById(@Param("entity") MemLeaveMessage memLeaveMessage);
} }
...@@ -135,7 +135,6 @@ public class MemLeaveMessageServiceImpl extends ServiceImpl<MemLeaveMessageRepos ...@@ -135,7 +135,6 @@ public class MemLeaveMessageServiceImpl extends ServiceImpl<MemLeaveMessageRepos
memUserTalk.setCreateDate(new Date()); memUserTalk.setCreateDate(new Date());
memUserTalk.setUpdateDate(new Date()); memUserTalk.setUpdateDate(new Date());
memUserTalk.setDelUser(0); memUserTalk.setDelUser(0);
memUserTalk.setBlackUser(0);
int line1 = 0; int line1 = 0;
if (memUserTalks != null){ if (memUserTalks != null){
//如果已经存在该对话,则只更新信息 //如果已经存在该对话,则只更新信息
...@@ -171,7 +170,6 @@ public class MemLeaveMessageServiceImpl extends ServiceImpl<MemLeaveMessageRepos ...@@ -171,7 +170,6 @@ public class MemLeaveMessageServiceImpl extends ServiceImpl<MemLeaveMessageRepos
memUserTalk.setUpdateDate(new Date()); memUserTalk.setUpdateDate(new Date());
//留言未删除默认值为0 //留言未删除默认值为0
memUserTalk.setDelUser(0); memUserTalk.setDelUser(0);
memUserTalk.setBlackUser(0);
if (memUserTalks != null){ if (memUserTalks != null){
//已经给该用户留过言 //已经给该用户留过言
memUserTalk.setBusinessId(memUserTalks.getBusinessId()); memUserTalk.setBusinessId(memUserTalks.getBusinessId());
...@@ -215,7 +213,6 @@ public class MemLeaveMessageServiceImpl extends ServiceImpl<MemLeaveMessageRepos ...@@ -215,7 +213,6 @@ public class MemLeaveMessageServiceImpl extends ServiceImpl<MemLeaveMessageRepos
memUserTalk.setContent(memLeaveMessage.getContent()); memUserTalk.setContent(memLeaveMessage.getContent());
//留言未删除默认值为0 //留言未删除默认值为0
memUserTalk.setDelUser(0); memUserTalk.setDelUser(0);
memUserTalk.setBlackUser(0);
int line1 = 0; int line1 = 0;
if (memUserTalks != null){ if (memUserTalks != null){
//如果已经存在该对话,则只更新信息 //如果已经存在该对话,则只更新信息
...@@ -295,10 +292,10 @@ public class MemLeaveMessageServiceImpl extends ServiceImpl<MemLeaveMessageRepos ...@@ -295,10 +292,10 @@ public class MemLeaveMessageServiceImpl extends ServiceImpl<MemLeaveMessageRepos
public CyPersistModel deleteMessage(MemLeaveMessage memLeaveMessage) { public CyPersistModel deleteMessage(MemLeaveMessage memLeaveMessage) {
if (memLeaveMessageRepository.selectDelUserById(memLeaveMessage) == 0){ if (memLeaveMessageRepository.selectDelUserById(memLeaveMessage) == 0){
memLeaveMessage.setDelUser(Integer.valueOf(CyUserUtil.getAuthenBusinessId())); memLeaveMessage.setDelUser(Integer.valueOf(CyUserUtil.getAuthenBusinessId()));
int line = memLeaveMessageRepository.updateMessageById(memLeaveMessage); int line = memLeaveMessageRepository.updateTalkDel(memLeaveMessage);
return new CyPersistModel(line); return new CyPersistModel(line);
} else { } else {
int line = memLeaveMessageRepository.deleteMessageById(memLeaveMessage); int line = memLeaveMessageRepository.deleteTalkById(memLeaveMessage);
return new CyPersistModel(line); return new CyPersistModel(line);
} }
} }
......
...@@ -59,10 +59,17 @@ public class OpmBlackListServiceImpl extends ServiceImpl<OpmBlackListRepository, ...@@ -59,10 +59,17 @@ public class OpmBlackListServiceImpl extends ServiceImpl<OpmBlackListRepository,
opmBlackList.setCreateDate(new Date()); opmBlackList.setCreateDate(new Date());
int line = baseMapper.insert(opmBlackList); int line = baseMapper.insert(opmBlackList);
//添加到对话表设置拉黑用户 //添加到对话表设置拉黑用户
//判断是否对方已将自己拉黑,如果对方也拉黑了,则直接删除这条对话
Integer targetId = opmBlackList.getTargetId().intValue(); Integer targetId = opmBlackList.getTargetId().intValue();
MemLeaveMessage userTalk = memLeaveMessageRepository.queryUserTalk(userId, targetId); MemLeaveMessage userTalk = memLeaveMessageRepository.queryUserTalk(userId, targetId);
userTalk.setBlackUser(userId); if (userTalk.getBlackUser() != 0){
memLeaveMessageRepository.updateUserTalk(userTalk); //对方也将自己拉黑了 则删除该条对话
memLeaveMessageRepository.deleteTalkById(userTalk);
} else {
//对方没将自己拉黑
userTalk.setBlackUser(userId);
memLeaveMessageRepository.updateTalkBlack(userTalk);
}
//取消当前用户对该用户的关注 //取消当前用户对该用户的关注
MemFollowDTO memFollowDTO = new MemFollowDTO(); MemFollowDTO memFollowDTO = new MemFollowDTO();
memFollowDTO.setUserId(userId); memFollowDTO.setUserId(userId);
......
...@@ -591,8 +591,13 @@ ...@@ -591,8 +591,13 @@
select * from mem_info where wx_openid = #{openId} and del_flag = 0 select * from mem_info where wx_openid = #{openId} and del_flag = 0
</select> </select>
<select id="getIsFollow" resultType="org.rcisoft.business.memInfo.entity.MemFollowDTO" parameterType="org.rcisoft.business.memInfo.entity.MemFollowDTO"> <select id="getIsFollow" resultType="org.rcisoft.business.memInfo.entity.MemFollowDTO" parameterType="org.rcisoft.business.memInfo.entity.MemFollowDTO">
SELECT MAX(CASE WHEN ouf.business_id IS NOT NULL THEN 1 ELSE 0 END) AS isFollowed SELECT
FROM (SELECT 1 AS dummy) d LEFT JOIN opm_user_follow ouf ON ouf.user_id = #{entity.userId} AND ouf.target_id = #{entity.targetId}; COALESCE(
(SELECT CASE WHEN ouf.business_id IS NOT NULL THEN 1 ELSE 0 END
FROM opm_user_follow ouf
WHERE 1=1
and ouf.user_id = #{entity.userId}
and ouf.target_id = #{entity.targetId}),0) AS isFollowed;
</select> </select>
<select id="queryRankPaged" resultType="org.rcisoft.business.memInfo.entity.MemInfo"> <select id="queryRankPaged" resultType="org.rcisoft.business.memInfo.entity.MemInfo">
select select
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.rcisoft.business.memLeaveMessage.dao.MemLeaveMessageRepository"> <mapper namespace="org.rcisoft.business.memLeaveMessage.dao.MemLeaveMessageRepository">
<insert id="insertUserTalk"> <insert id="insertUserTalk">
insert into mem_user_talk (target_id,create_by,create_date,update_by,update_date,content,del_user) insert into mem_user_talk (target_id,create_by,create_date,update_by,update_date,content)
values(#{targetId},#{createBy},#{createDate},#{createBy},#{updateDate},#{content},#{delUser}) values(#{targetId},#{createBy},#{createDate},#{createBy},#{updateDate},#{content})
</insert> </insert>
<update id="updateUserTalk"> <update id="updateUserTalk">
update mem_user_talk update mem_user_talk
...@@ -13,8 +13,7 @@ ...@@ -13,8 +13,7 @@
update_by = #{createBy}, update_by = #{createBy},
update_date = #{updateDate}, update_date = #{updateDate},
content = #{content}, content = #{content},
del_user = #{delUser}, del_user = #{delUser}
black_user = #{blackUser}
where business_id = #{businessId} where business_id = #{businessId}
</update> </update>
<select id="queryTalkByPagination" resultType="org.rcisoft.business.memLeaveMessage.entity.MemLeaveMessage"> <select id="queryTalkByPagination" resultType="org.rcisoft.business.memLeaveMessage.entity.MemLeaveMessage">
...@@ -106,12 +105,17 @@ ...@@ -106,12 +105,17 @@
<select id="selectDelUserById" resultType="java.lang.Integer"> <select id="selectDelUserById" resultType="java.lang.Integer">
select del_user from mem_user_talk where business_id = #{entity.businessId} select del_user from mem_user_talk where business_id = #{entity.businessId}
</select> </select>
<delete id="deleteMessageById"> <delete id="deleteTalkById">
delete from mem_user_talk where business_id = #{entity.businessId} delete from mem_user_talk where business_id = #{entity.businessId}
</delete> </delete>
<update id="updateMessageById"> <update id="updateTalkDel">
update mem_user_talk update mem_user_talk
set del_user = #{entity.delUser} set del_user = #{entity.delUser}
where business_id = #{entity.businessId} where business_id = #{entity.businessId}
</update> </update>
<update id="updateTalkBlack">
update mem_user_talk
set black_user = #{entity.blackUser}
where business_id = #{entity.businessId}
</update>
</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