删除信息接口改造,支持指定人删除

This commit is contained in:
zhangqinbin
2022-01-22 14:24:42 +08:00
parent 6ac203a8eb
commit 0b61aa59a4
3 changed files with 14 additions and 21 deletions

View File

@ -23,7 +23,7 @@ public interface BizMessageMapper extends BaseMapper<BizMessage> {
List<BizMessage> findMessageByLikeCode(String code);
Integer deleteMessageByServicecdoe(List<String> magIds);
Integer deleteMessageById(@Param("magId")String magId);
Integer deleteAuthorizeByServicecdoe(@Param("magId")String magId,@Param("userIds")List<String> userIds);
Integer deleteAuthorizeById(@Param("magId")String magId,@Param("userId")String userId);
}

View File

@ -85,21 +85,15 @@
select * from biz_message where servicecode like CONCAT('%"questId":"',#{code},'"%')
</select>
<delete id="deleteMessageByServicecdoe" parameterType="List">
delete from biz_message where id in
<foreach item="id" collection="magIds" open="(" separator="," close=")">
#{id}
</foreach>
<delete id="deleteMessageById" parameterType="java.lang.String">
delete from biz_message where id = #{magId}
</delete>
<delete id="deleteAuthorizeByServicecdoe" parameterType="java.lang.String">
<delete id="deleteAuthorizeById" parameterType="java.lang.String">
delete from biz_message_authorize
where message_id = #{magId}
<if test="userIds!=null ">
and user_id in
<foreach item="id" collection="userIds" open="(" separator="," close=")">
#{id}
</foreach>
<if test="userId!=null and userId!=''">
and user_id = #{userId}
</if>
</delete>
</mapper>

View File

@ -172,15 +172,14 @@ public class BizMessageProducerServiceImpl implements BizMessageProducerService
Map<String,Integer> map = new HashMap<>();
if(magIds!=null&&magIds.size()>0) {
List<String> userIds = null;
if(userId!=null){
userIds = new ArrayList<>();
userIds.add(userId);
}
List<String> finalUserIds = userIds;
magIds.forEach(magid->{
messageMapper.deleteAuthorizeByServicecdoe(magid, finalUserIds);
messageMapper.deleteAuthorizeById(magid, userId);
BizMessageAuthorize vo = new BizMessageAuthorize();
vo.setMessageId(magid);
List<BizMessageAuthorize> messageAList = messageMapper.findAuthorizeList(vo);
if(messageAList==null||messageAList.size()==0){
messageMapper.deleteMessageById(magid);
}
});
}
return true;