删除信息接口改造,支持指定人删除
This commit is contained in:
@ -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);
|
||||
}
|
||||
|
@ -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>
|
@ -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;
|
||||
|
Reference in New Issue
Block a user