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);
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}
</foreach>
</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>

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

Loading…
Cancel
Save