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

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

View File

@ -172,15 +172,14 @@ public class BizMessageProducerServiceImpl implements BizMessageProducerService
Map<String,Integer> map = new HashMap<>(); Map<String,Integer> map = new HashMap<>();
if(magIds!=null&&magIds.size()>0) { 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->{ 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; return true;