1、批量/全量 删除小程序标签

master
382696293@qq.com 2 years ago
parent c9e9cd8b7c
commit efdaa52eb8

@ -64,4 +64,6 @@ public interface WxUserTagMapper {
List<Integer> selectWxUserTagByTagId(@Param("tagId") Integer tagId, @Param("type") Integer type); List<Integer> selectWxUserTagByTagId(@Param("tagId") Integer tagId, @Param("type") Integer type);
void insertBatch(@Param("list") List<WxUserTag> list); void insertBatch(@Param("list") List<WxUserTag> list);
void deleteBatch(@Param("tagIdList") List<Integer> tagIdList, @Param("userIdList") List<Integer> userIdList);
} }

@ -112,4 +112,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{id} #{id}
</foreach> </foreach>
</delete> </delete>
<delete id="deleteBatch">
DELETE
FROM
wx_user_tag
WHERE
tag_id IN
<foreach item="tagId" collection="tagIdList" open="(" separator="," close=")">
#{tagId}
</foreach>
AND user_id IN
<foreach item="userId" collection="userIdList" open="(" separator="," close=")">
#{userId}
</foreach>
</delete>
</mapper> </mapper>

@ -133,4 +133,36 @@ public class WxUserMemberController extends BaseController {
return R.ok(); return R.ok();
} }
/**
*
*/
@PostMapping("/batchDelMiniProgramTag")
public R batchDelMiniProgramTag(@RequestParam("tagIdList") List<Integer> tagIdList,
@RequestParam(value = "userIdList") List<Integer> userIdList) {
if (tagIdList == null || tagIdList.size() == 0
|| userIdList == null || userIdList.size() == 0) {
logger.error("参数有误");
throw new ServiceException("参数有误");
}
wxUserMemberService.batchDelMiniProgramTag(tagIdList, userIdList);
return R.ok();
}
/**
*
*/
@PostMapping("/allDelMiniProgramTag")
public R allDelMiniProgramTag(@RequestParam("tagIdList") List<Integer> tagIdList, WxUserMemberVm wxUserMemberVm) {
if (tagIdList == null || tagIdList.size() == 0) {
logger.error("参数有误");
throw new ServiceException("参数有误");
}
List<WxUserMember> list = wxUserMemberService.selectWxUserMemberList(wxUserMemberVm);
if (list != null && list.size() > 0) {
List<Integer> collect = list.stream().map(wxUserMember -> wxUserMember.getId().intValue()).collect(Collectors.toList());
wxUserMemberService.batchDelMiniProgramTag(tagIdList, collect);
}
return R.ok();
}
} }

@ -73,4 +73,6 @@ public interface IWxUserMemberService
List<Integer> selectUserCount(); List<Integer> selectUserCount();
void batchAddMiniProgramTag(List<Integer> tagId, List<Integer> userIds); void batchAddMiniProgramTag(List<Integer> tagId, List<Integer> userIds);
void batchDelMiniProgramTag(List<Integer> tagIdList, List<Integer> userIdList);
} }

@ -118,39 +118,54 @@ public class WxUserMemberServiceImpl implements IWxUserMemberService {
return wxUserMemberMapper.selectUserCount(); return wxUserMemberMapper.selectUserCount();
} }
/**
*
*
* @param tagIdList
* @param userIdList
*/
@Override @Override
public void batchAddMiniProgramTag(List<Integer> tagIdList, List<Integer> userIds) { public void batchAddMiniProgramTag(List<Integer> tagIdList, List<Integer> userIdList) {
if (tagIdList != null && tagIdList.size() > 0) { // 对单个标签操作
// 对单个标签操作 for (Integer tagId : tagIdList) {
for (Integer tagId : tagIdList) { SysTag sysTag = sysTagMapper.selectDeptById(tagId.longValue());
SysTag sysTag = sysTagMapper.selectDeptById(tagId.longValue()); if (sysTag != null) {
if (sysTag != null) { List<Integer> needAddIdList = new ArrayList<>();
List<Integer> needAddIdList = new ArrayList<>(); // 1、查询该标签下有那些用户关联
// 1、查询该标签下有那些用户关联 List<Integer> existedUserList = wxUserTagMapper.selectWxUserTagByTagId(tagId, TagTypeStatus.MINI_PROGRAM.getCode());
List<Integer> existedUserList = wxUserTagMapper.selectWxUserTagByTagId(tagId, TagTypeStatus.MINI_PROGRAM.getCode()); if (existedUserList != null && existedUserList.size() > 0) {
if (existedUserList != null && existedUserList.size() > 0) { Iterator<Integer> iterator = userIdList.iterator();
Iterator<Integer> iterator = userIds.iterator(); while (iterator.hasNext()) {
while (iterator.hasNext()) { Integer element = iterator.next();
Integer element = iterator.next(); if (!existedUserList.contains(element)) {
if (!existedUserList.contains(element)) { needAddIdList.add(element);
needAddIdList.add(element);
}
} }
} }
}
// 2、添加用户与标签的关联 // 2、添加用户与标签的关联
List<WxUserTag> list = new ArrayList<>(); List<WxUserTag> list = new ArrayList<>();
WxUserTag wxUserTag; WxUserTag wxUserTag;
if (needAddIdList != null && needAddIdList.size() > 0) { if (needAddIdList != null && needAddIdList.size() > 0) {
for (Integer userId : needAddIdList) { for (Integer userId : needAddIdList) {
wxUserTag = new WxUserTag(null, userId.longValue(), sysTag.getTagName(), tagId.longValue(), TagTypeStatus.MINI_PROGRAM.getCode(), null); wxUserTag = new WxUserTag(null, userId.longValue(), sysTag.getTagName(), tagId.longValue(), TagTypeStatus.MINI_PROGRAM.getCode(), null);
wxUserTag.setCreateTime(DateUtils.getNowDate()); wxUserTag.setCreateTime(DateUtils.getNowDate());
list.add(wxUserTag); list.add(wxUserTag);
}
wxUserTagMapper.insertBatch(list);
} }
wxUserTagMapper.insertBatch(list);
} }
} }
} }
} }
/**
*
*
* @param tagIdList
* @param userIdList
*/
@Override
public void batchDelMiniProgramTag(List<Integer> tagIdList, List<Integer> userIdList) {
wxUserTagMapper.deleteBatch(tagIdList, userIdList);
}
} }

Loading…
Cancel
Save