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,9 +118,14 @@ 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());
@ -129,7 +134,7 @@ public class WxUserMemberServiceImpl implements IWxUserMemberService {
// 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 = userIds.iterator(); Iterator<Integer> iterator = userIdList.iterator();
while (iterator.hasNext()) { while (iterator.hasNext()) {
Integer element = iterator.next(); Integer element = iterator.next();
if (!existedUserList.contains(element)) { if (!existedUserList.contains(element)) {
@ -152,5 +157,15 @@ public class WxUserMemberServiceImpl implements IWxUserMemberService {
} }
} }
} }
/**
*
*
* @param tagIdList
* @param userIdList
*/
@Override
public void batchDelMiniProgramTag(List<Integer> tagIdList, List<Integer> userIdList) {
wxUserTagMapper.deleteBatch(tagIdList, userIdList);
} }
} }

Loading…
Cancel
Save