diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/MallUserInfoController.java b/mallinkAdmin/src/main/java/com/iformall/controller/MallUserInfoController.java index d2509eb9a..f980b7d73 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/MallUserInfoController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/MallUserInfoController.java @@ -148,6 +148,7 @@ public class MallUserInfoController extends BaseController { @SystemControllerLog(description = "用户管理-修改用户") public ResultData updateUser(@RequestBody MallUserInfo userInfo) { logger.debug("[" + getIpAddr() + "] MallUserInfoController::updateUser"); + boolean bChangedPhone = false; MallUserInfo currentUser = getUser(); // 只有超管和自己能更新信息 if (!(currentUser.getId().equals(userInfo.getId()) || @@ -164,6 +165,7 @@ public class MallUserInfoController extends BaseController { if(checkUniquePhone(userInfo.getPhone()) > 0){ return new ResultData(ErrorCode.USER_PHONE_IS_FOUND.getCode(),"手机号已存在"); } + bChangedPhone = true; } userInfo.setTenantId(getTenantId()); @@ -190,8 +192,11 @@ public class MallUserInfoController extends BaseController { if (StringUtils.isNotBlank(userInfo.getPassword()) && userInfo.getPassword().length() > 0) { adminUser.setPassword(userInfo.getPassword()); } - if (StringUtils.isNotBlank(userInfo.getUsername())) { - adminUser.setUsername(userInfo.getUsername()); + if (StringUtils.isNotBlank(userInfo.getNickName())) { + adminUser.setNickName(userInfo.getNickName()); + } + if (StringUtils.isNotBlank(userInfo.getPhone())) { + adminUser.setPhone(userInfo.getPhone()); } userInfoService.saveOrUpdate(adminUser); } else { @@ -204,6 +209,10 @@ public class MallUserInfoController extends BaseController { userRoleService.saveOrUpdate(r); } } + if(bChangedPhone) { + // 手机号修改,清除bopen_id, 清除web_open_id + userInfoService.cleanAllOpenId(userInfo); + } return new ResultData(); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/MallUserInfoMapper.java b/mallinkService/src/main/java/com/iformall/mapper/MallUserInfoMapper.java index 1e2b07849..3d9c36042 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/MallUserInfoMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/MallUserInfoMapper.java @@ -24,6 +24,8 @@ public interface MallUserInfoMapper extends CommonMapper { void removeWebOpenId(MallUserInfo mallUserInfo); + void removeAllOpenId(MallUserInfo mallUserInfo); + MallUserInfo selectByPhone(@Param("phone") String phone, @Param("tenantId") String tenantId); Integer hasButtonPermission(@Param("userId") Long userId, @Param("permission") String permission); diff --git a/mallinkService/src/main/java/com/iformall/service/MallUserInfoService.java b/mallinkService/src/main/java/com/iformall/service/MallUserInfoService.java index f4bec4840..a5444c382 100644 --- a/mallinkService/src/main/java/com/iformall/service/MallUserInfoService.java +++ b/mallinkService/src/main/java/com/iformall/service/MallUserInfoService.java @@ -143,6 +143,8 @@ public interface MallUserInfoService { void cleanWebOpenId(MallUserInfo user); + void cleanAllOpenId(MallUserInfo user); + /** * 根据条件用户列表 * @return diff --git a/mallinkService/src/main/java/com/iformall/service/impl/MallUserInfoServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/MallUserInfoServiceImpl.java index 8a62b158e..b68f7554c 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/MallUserInfoServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/MallUserInfoServiceImpl.java @@ -113,6 +113,16 @@ public class MallUserInfoServiceImpl implements MallUserInfoService { mallUserInfoMapper.removeWebOpenId(updateUser); } + + @Override + public void cleanAllOpenId(MallUserInfo user) { + MallUserInfo updateUser = new MallUserInfo(); + updateUser.setId(user.getId()); + updateUser.setTenantId(user.getTenantId()); + updateUser.setUsername(user.getUsername()); + mallUserInfoMapper.removeAllOpenId(updateUser); + } + @Override public void saveOrUpdate(MallUserInfo record) { if(StringUtils.isBlank(record.getFlowPermission())){ diff --git a/mallinkService/src/main/resources/mapper/MallUserInfoMapper.xml b/mallinkService/src/main/resources/mapper/MallUserInfoMapper.xml index b71f16523..d25fb9382 100644 --- a/mallinkService/src/main/resources/mapper/MallUserInfoMapper.xml +++ b/mallinkService/src/main/resources/mapper/MallUserInfoMapper.xml @@ -173,6 +173,21 @@ + + update mall_user_info + set `web_open_id` = null, `bopen_id` = null + where 1=1 + + and `tenant_id`=#{tenantId} + + + and username=#{username} + + + and `id` = #{id} + + +