From 745bc56b629c31b5ad7f83f1f0b98172217e80b4 Mon Sep 17 00:00:00 2001 From: "382696293@qq.com" <382696293@qq.com> Date: Thu, 21 Dec 2023 11:46:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=88=A0=E9=99=A4=E5=BE=AE?= =?UTF-8?q?=E4=BF=A1=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/mapper/SysUserMapper.java | 2 + .../core/mapper/WxNoRemindRecordMapper.java | 2 + .../core/mapper/WxUserIntegralLogMapper.java | 2 + .../core/mapper/WxUserRemarkMapper.java | 3 ++ .../core/mapper/WxUserScriptLogMapper.java | 3 ++ .../common/core/mapper/WxUserTagMapper.java | 2 + .../main/resources/mapper/SysUserMapper.xml | 4 ++ .../mapper/WxNoRemindRecordMapper.xml | 4 ++ .../mapper/WxUserIntegralLogMapper.xml | 4 ++ .../resources/mapper/WxUserRemarkMapper.xml | 4 ++ .../mapper/WxUserScriptLogMapper.xml | 3 ++ .../main/resources/mapper/WxUserTagMapper.xml | 4 ++ .../controller/WxUserMemberController.java | 2 +- .../system/service/ISysUserService.java | 2 + .../service/impl/SysUserServiceImpl.java | 10 +++++ .../service/impl/WxUserMemberServiceImpl.java | 45 +++++++++++++++---- 16 files changed, 87 insertions(+), 9 deletions(-) diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/SysUserMapper.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/SysUserMapper.java index f3f8e57..924c84f 100644 --- a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/SysUserMapper.java +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/SysUserMapper.java @@ -124,4 +124,6 @@ public interface SysUserMapper { * @return 结果 */ public SysUser checkEmailUnique(String email); + + int deleteWxUserById(Long userId); } diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxNoRemindRecordMapper.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxNoRemindRecordMapper.java index 38230c9..d132d3f 100644 --- a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxNoRemindRecordMapper.java +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxNoRemindRecordMapper.java @@ -62,4 +62,6 @@ public interface WxNoRemindRecordMapper { public int deleteWxNoRemindRecordByIds(Long[] ids); int selectWxNoRemindRecordByOpenid(@Param("openid") String openid); + + void deleteWxNoRemindRecordByOpenid(@Param("openid") String openid); } diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxUserIntegralLogMapper.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxUserIntegralLogMapper.java index 3894731..99053c3 100644 --- a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxUserIntegralLogMapper.java +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxUserIntegralLogMapper.java @@ -62,4 +62,6 @@ public interface WxUserIntegralLogMapper public int deleteWxUserIntegralLogByIds(Long[] ids); List obtainUserIntegral(@Param("userId") Long userId); + + void deleteWxUserIntegralLogByUserId(@Param("userId") Long userId); } diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxUserRemarkMapper.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxUserRemarkMapper.java index fc52bc1..852c39a 100644 --- a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxUserRemarkMapper.java +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxUserRemarkMapper.java @@ -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); } diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxUserScriptLogMapper.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxUserScriptLogMapper.java index 2ea0e9a..1843563 100644 --- a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxUserScriptLogMapper.java +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxUserScriptLogMapper.java @@ -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); } diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxUserTagMapper.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxUserTagMapper.java index 78ce92b..4c11851 100644 --- a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxUserTagMapper.java +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxUserTagMapper.java @@ -66,4 +66,6 @@ public interface WxUserTagMapper { void insertBatch(@Param("list") List list); void deleteBatch(@Param("tagIdList") List tagIdList, @Param("userIdList") List userIdList); + + void deleteWxUserTagByUserId(@Param("userId") Long userId); } diff --git a/flossom-common/flossom-common-core/src/main/resources/mapper/SysUserMapper.xml b/flossom-common/flossom-common-core/src/main/resources/mapper/SysUserMapper.xml index 2d6ebac..317d15b 100644 --- a/flossom-common/flossom-common-core/src/main/resources/mapper/SysUserMapper.xml +++ b/flossom-common/flossom-common-core/src/main/resources/mapper/SysUserMapper.xml @@ -218,4 +218,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + delete from sys_user where user_id = #{userId} + + diff --git a/flossom-common/flossom-common-core/src/main/resources/mapper/WxNoRemindRecordMapper.xml b/flossom-common/flossom-common-core/src/main/resources/mapper/WxNoRemindRecordMapper.xml index 544e1d7..d0a0efe 100644 --- a/flossom-common/flossom-common-core/src/main/resources/mapper/WxNoRemindRecordMapper.xml +++ b/flossom-common/flossom-common-core/src/main/resources/mapper/WxNoRemindRecordMapper.xml @@ -72,4 +72,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} + + + delete from wx_no_remind_record where openid = #{openid} + \ No newline at end of file diff --git a/flossom-common/flossom-common-core/src/main/resources/mapper/WxUserIntegralLogMapper.xml b/flossom-common/flossom-common-core/src/main/resources/mapper/WxUserIntegralLogMapper.xml index c84bc8b..81ff59f 100644 --- a/flossom-common/flossom-common-core/src/main/resources/mapper/WxUserIntegralLogMapper.xml +++ b/flossom-common/flossom-common-core/src/main/resources/mapper/WxUserIntegralLogMapper.xml @@ -99,4 +99,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} + + + delete from wx_user_integral_log where user_id = #{userId} + diff --git a/flossom-common/flossom-common-core/src/main/resources/mapper/WxUserRemarkMapper.xml b/flossom-common/flossom-common-core/src/main/resources/mapper/WxUserRemarkMapper.xml index fea7d45..16f4728 100644 --- a/flossom-common/flossom-common-core/src/main/resources/mapper/WxUserRemarkMapper.xml +++ b/flossom-common/flossom-common-core/src/main/resources/mapper/WxUserRemarkMapper.xml @@ -79,4 +79,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} + + + delete from wx_user_remark where user_id = #{userId} + \ No newline at end of file diff --git a/flossom-common/flossom-common-core/src/main/resources/mapper/WxUserScriptLogMapper.xml b/flossom-common/flossom-common-core/src/main/resources/mapper/WxUserScriptLogMapper.xml index bf974dc..900a32b 100644 --- a/flossom-common/flossom-common-core/src/main/resources/mapper/WxUserScriptLogMapper.xml +++ b/flossom-common/flossom-common-core/src/main/resources/mapper/WxUserScriptLogMapper.xml @@ -146,4 +146,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} + + delete from wx_user_script_log where wx_user_id = #{userId} + \ No newline at end of file diff --git a/flossom-common/flossom-common-core/src/main/resources/mapper/WxUserTagMapper.xml b/flossom-common/flossom-common-core/src/main/resources/mapper/WxUserTagMapper.xml index 0a45abe..01d0487 100644 --- a/flossom-common/flossom-common-core/src/main/resources/mapper/WxUserTagMapper.xml +++ b/flossom-common/flossom-common-core/src/main/resources/mapper/WxUserTagMapper.xml @@ -127,4 +127,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{userId} + + + delete from wx_user_tag where user_id = #{userId} + \ No newline at end of file diff --git a/flossom-modules/flossom-system/src/main/java/com/flossom/system/controller/WxUserMemberController.java b/flossom-modules/flossom-system/src/main/java/com/flossom/system/controller/WxUserMemberController.java index 72e55cf..64c543a 100644 --- a/flossom-modules/flossom-system/src/main/java/com/flossom/system/controller/WxUserMemberController.java +++ b/flossom-modules/flossom-system/src/main/java/com/flossom/system/controller/WxUserMemberController.java @@ -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) { diff --git a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/ISysUserService.java b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/ISysUserService.java index 874340e..eb6e313 100644 --- a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/ISysUserService.java +++ b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/ISysUserService.java @@ -204,4 +204,6 @@ public interface ISysUserService * @return 结果 */ public String importUser(List userList, Boolean isUpdateSupport, String operName); + + int deleteWxUserById(Long userId); } diff --git a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/SysUserServiceImpl.java b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/SysUserServiceImpl.java index 618fcac..ca8279c 100644 --- a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/SysUserServiceImpl.java +++ b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/SysUserServiceImpl.java @@ -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); + } + /** * 批量删除用户信息 * diff --git a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxUserMemberServiceImpl.java b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxUserMemberServiceImpl.java index 0628ccf..599dd22 100644 --- a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxUserMemberServiceImpl.java +++ b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxUserMemberServiceImpl.java @@ -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); }