批量删除微信用户

master
382696293@qq.com 2 years ago
parent c5d7b88f5b
commit 745bc56b62

@ -124,4 +124,6 @@ public interface SysUserMapper {
* @return
*/
public SysUser checkEmailUnique(String email);
int deleteWxUserById(Long userId);
}

@ -62,4 +62,6 @@ public interface WxNoRemindRecordMapper {
public int deleteWxNoRemindRecordByIds(Long[] ids);
int selectWxNoRemindRecordByOpenid(@Param("openid") String openid);
void deleteWxNoRemindRecordByOpenid(@Param("openid") String openid);
}

@ -62,4 +62,6 @@ public interface WxUserIntegralLogMapper
public int deleteWxUserIntegralLogByIds(Long[] ids);
List<WxUserIntegralLog> obtainUserIntegral(@Param("userId") Long userId);
void deleteWxUserIntegralLogByUserId(@Param("userId") Long userId);
}

@ -1,6 +1,7 @@
package com.flossom.common.core.mapper;
import com.flossom.common.core.domain.entity.WxUserRemark;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -58,4 +59,6 @@ public interface WxUserRemarkMapper {
* @return
*/
public int deleteWxUserRemarkByIds(Long[] ids);
void deleteWxUserRemarkByUserId(@Param("userId") Long userId);
}

@ -1,6 +1,7 @@
package com.flossom.common.core.mapper;
import com.flossom.common.core.domain.entity.WxUserScriptLog;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -59,4 +60,6 @@ public interface WxUserScriptLogMapper {
* @return
*/
public int deleteWxUserScriptLogByIds(Long[] ids);
void deleteWxUserScriptLogByWxUserId(@Param("userId") Long userId);
}

@ -66,4 +66,6 @@ public interface WxUserTagMapper {
void insertBatch(@Param("list") List<WxUserTag> list);
void deleteBatch(@Param("tagIdList") List<Integer> tagIdList, @Param("userIdList") List<Integer> userIdList);
void deleteWxUserTagByUserId(@Param("userId") Long userId);
}

@ -218,4 +218,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</foreach>
</delete>
<delete id="deleteWxUserById" parameterType="Long">
delete from sys_user where user_id = #{userId}
</delete>
</mapper>

@ -72,4 +72,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{id}
</foreach>
</delete>
<delete id="deleteWxNoRemindRecordByOpenid" parameterType="String">
delete from wx_no_remind_record where openid = #{openid}
</delete>
</mapper>

@ -99,4 +99,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{id}
</foreach>
</delete>
<delete id="deleteWxUserIntegralLogByUserId" parameterType="Long">
delete from wx_user_integral_log where user_id = #{userId}
</delete>
</mapper>

@ -79,4 +79,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{id}
</foreach>
</delete>
<delete id="deleteWxUserRemarkByUserId" parameterType="Long">
delete from wx_user_remark where user_id = #{userId}
</delete>
</mapper>

@ -146,4 +146,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{id}
</foreach>
</delete>
<delete id="deleteWxUserScriptLogByWxUserId" parameterType="Long">
delete from wx_user_script_log where wx_user_id = #{userId}
</delete>
</mapper>

@ -127,4 +127,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{userId}
</foreach>
</delete>
<delete id="deleteWxUserTagByUserId">
delete from wx_user_tag where user_id = #{userId}
</delete>
</mapper>

@ -91,7 +91,7 @@ public class WxUserMemberController extends BaseController {
/**
*
*/
@RequiresPermissions("system:member:remove")
// @RequiresPermissions("system:member:remove")
@Log(title = "用户", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids) {

@ -204,4 +204,6 @@ public interface ISysUserService
* @return
*/
public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName);
int deleteWxUserById(Long userId);
}

@ -441,6 +441,16 @@ public class SysUserServiceImpl implements ISysUserService
return userMapper.deleteUserById(userId);
}
@Override
@Transactional(rollbackFor = Exception.class)
public int deleteWxUserById(Long userId) {
// 删除用户与角色关联
userRoleMapper.deleteUserRoleByUserId(userId);
// 删除用户与岗位表
userPostMapper.deleteUserPostByUserId(userId);
return userMapper.deleteWxUserById(userId);
}
/**
*
*

@ -4,20 +4,15 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import com.flossom.common.core.domain.entity.SysTag;
import com.flossom.common.core.domain.entity.WxUserIntegralLog;
import com.flossom.common.core.domain.entity.WxUserMember;
import com.flossom.common.core.domain.entity.WxUserTag;
import com.flossom.common.core.domain.entity.*;
import com.flossom.common.core.domain.req.WxUserIntegralVm;
import com.flossom.common.core.domain.req.WxUserMemberVm;
import com.flossom.common.core.enums.IntegralChangeTypeEnum;
import com.flossom.common.core.enums.TagTypeStatus;
import com.flossom.common.core.mapper.SysTagMapper;
import com.flossom.common.core.mapper.WxUserIntegralLogMapper;
import com.flossom.common.core.mapper.WxUserMemberMapper;
import com.flossom.common.core.mapper.WxUserTagMapper;
import com.flossom.common.core.mapper.*;
import com.flossom.common.core.utils.DateUtils;
import com.flossom.common.security.utils.SecurityUtils;
import com.flossom.system.service.ISysUserService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -44,6 +39,18 @@ public class WxUserMemberServiceImpl implements IWxUserMemberService {
@Autowired
private WxUserIntegralLogMapper wxUserIntegralLogMapper;
@Autowired
private ISysUserService sysUserService;
@Autowired
private WxNoRemindRecordMapper wxNoRemindRecordMapper;
@Autowired
private WxUserRemarkMapper wxUserRemarkMapper;
@Autowired
private WxUserScriptLogMapper wxUserScriptLogMapper;
/**
*
*
@ -107,8 +114,30 @@ public class WxUserMemberServiceImpl implements IWxUserMemberService {
* @param ids
* @return
*/
@Transactional
@Override
public int deleteWxUserMemberByIds(Long[] ids) {
for (Long id : ids) {
WxUserMember wxUserMember = wxUserMemberMapper.selectWxUserMemberById(id);
if (wxUserMember != null) {
// sys_user 删除系统用户关联表
SysUser sysUser = sysUserService.selectUserByUserName(wxUserMember.getOpenid());
if (sysUser != null) {
sysUserService.deleteWxUserById(sysUser.getUserId());
}
// wx_user_integral_log 用户积分关联表
wxUserIntegralLogMapper.deleteWxUserIntegralLogByUserId(wxUserMember.getId());
// wx_no_remain_record 不提醒关联表
wxNoRemindRecordMapper.deleteWxNoRemindRecordByOpenid(wxUserMember.getOpenid());
// wx_user_remark 备注关联表
wxUserRemarkMapper.deleteWxUserRemarkByUserId(wxUserMember.getId());
// wx_user_script_log 话术发送记录关联表
wxUserScriptLogMapper.deleteWxUserScriptLogByWxUserId(wxUserMember.getId());
// wx_user_tag 用户标签关联表
wxUserTagMapper.deleteWxUserTagByUserId(wxUserMember.getId());
}
}
// wx_user_member 微信用户表
return wxUserMemberMapper.deleteWxUserMemberByIds(ids);
}

Loading…
Cancel
Save