|
@@ -717,13 +717,7 @@ public class StoreUserServiceImpl extends ServiceImpl<StoreUserMapper, StoreUser
|
|
|
StoreUser storeUser = storeUserMapper.selectById(storeUserParam.getId());
|
|
StoreUser storeUser = storeUserMapper.selectById(storeUserParam.getId());
|
|
|
|
|
|
|
|
// 2)子账号:只要在中间表存在关联记录(userId 对得上),就禁止禁用,需先在子账号管理中解除
|
|
// 2)子账号:只要在中间表存在关联记录(userId 对得上),就禁止禁用,需先在子账号管理中解除
|
|
|
- if (isMainAccount) {
|
|
|
|
|
- long relationCount = countActiveSubAccountRelations(storeUserParam.getId());
|
|
|
|
|
- if (relationCount > 0||storeUser.getStoreId()!=null) {
|
|
|
|
|
- log.error("该子账号在子账号列表中仍有关联记录,禁止直接禁用全局账号 userId={}", storeUserParam.getId());
|
|
|
|
|
- return R.fail("当前子账号在子账号管理中仍有关联记录,请先解除子账号后再禁用");
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
|
|
+
|
|
|
// UPDATE store_user SET status = 1 WHERE id = ?
|
|
// UPDATE store_user SET status = 1 WHERE id = ?
|
|
|
LambdaUpdateWrapper<StoreUser> userUpdateWrapper = new LambdaUpdateWrapper<>();
|
|
LambdaUpdateWrapper<StoreUser> userUpdateWrapper = new LambdaUpdateWrapper<>();
|
|
|
userUpdateWrapper.eq(StoreUser::getId, storeUserParam.getId()).set(StoreUser::getStatus, 1);
|
|
userUpdateWrapper.eq(StoreUser::getId, storeUserParam.getId()).set(StoreUser::getStatus, 1);
|
|
@@ -1126,33 +1120,31 @@ public class StoreUserServiceImpl extends ServiceImpl<StoreUserMapper, StoreUser
|
|
|
* 子账号:参照 removeRole 逻辑,按 userId/storeId 逻辑删除 store_platform_user_role;若该主账号下仅 1 个子账号且非主账号则同时逻辑删除 store_user 并清 token。
|
|
* 子账号:参照 removeRole 逻辑,按 userId/storeId 逻辑删除 store_platform_user_role;若该主账号下仅 1 个子账号且非主账号则同时逻辑删除 store_user 并清 token。
|
|
|
*/
|
|
*/
|
|
|
@Override
|
|
@Override
|
|
|
- public String deleteStoreAccountInfo(StoreUserVo storeUserVo) {
|
|
|
|
|
- if (storeUserVo == null) {
|
|
|
|
|
|
|
+ public String deleteStoreAccountInfo(StoreUser storeUser) {
|
|
|
|
|
+ if (storeUser == null) {
|
|
|
log.warn("deleteStoreAccountInfo 参数不能为空");
|
|
log.warn("deleteStoreAccountInfo 参数不能为空");
|
|
|
return "删除失败";
|
|
return "删除失败";
|
|
|
}
|
|
}
|
|
|
- StoreUser storeUser = storeUserMapper.selectById(storeUserVo.getId());
|
|
|
|
|
|
|
+ StoreUser user = storeUserMapper.selectById(storeUser.getId());
|
|
|
// 2. 主账号删除校验:有关联店铺禁止删除,有关联子账号禁止删除
|
|
// 2. 主账号删除校验:有关联店铺禁止删除,有关联子账号禁止删除
|
|
|
- if (storeUserVo.getAccountType() != null && storeUserVo.getAccountType() == 1) {
|
|
|
|
|
- Integer mainIdForCheck = storeUserVo.getId();
|
|
|
|
|
- if (mainIdForCheck == null) {
|
|
|
|
|
|
|
+ if (storeUser.getAccountType() != null && storeUser.getAccountType() == 1) {
|
|
|
|
|
+ if (user == null) {
|
|
|
log.warn("deleteStoreAccountInfo 删除主账号时 id 不能为空");
|
|
log.warn("deleteStoreAccountInfo 删除主账号时 id 不能为空");
|
|
|
return "删除失败";
|
|
return "删除失败";
|
|
|
}
|
|
}
|
|
|
- StoreUser mainUser = storeUserMapper.selectById(mainIdForCheck);
|
|
|
|
|
- if (mainUser != null && mainUser.getStoreId() != null && mainUser.getStoreId() > 0) {
|
|
|
|
|
|
|
+
|
|
|
|
|
+ if (user != null && user.getStoreId() != null && user.getStoreId() > 0) {
|
|
|
log.error("该主账号下存在关联店铺,禁止删除");
|
|
log.error("该主账号下存在关联店铺,禁止删除");
|
|
|
return "当前账号下存在店铺 禁止删除";
|
|
return "当前账号下存在店铺 禁止删除";
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 主账号:存在子账号则禁止删除(按主账号id + 中间表统计)
|
|
// 主账号:存在子账号则禁止删除(按主账号id + 中间表统计)
|
|
|
- if (hasSubAccountsByMainAccountId(mainIdForCheck)) {
|
|
|
|
|
|
|
+
|
|
|
|
|
+ if (hasSubAccountsByMainAccountId(user.getId())) {
|
|
|
log.error("该主账号下存在关联子账号,不能删除");
|
|
log.error("该主账号下存在关联子账号,不能删除");
|
|
|
return "请先删除主账号下的子账号后再删除";
|
|
return "请先删除主账号下的子账号后再删除";
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // 主账号无店铺、无子账号,可执行逻辑删除(此处仅校验通过,实际删除逻辑在子账号分支或需补充)
|
|
|
|
|
- return null;
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 子账号删除:只要该 userId 在中间表存在关联记录(userId 对得上),就禁止直接删除全局账号
|
|
// 子账号删除:只要该 userId 在中间表存在关联记录(userId 对得上),就禁止直接删除全局账号
|
|
@@ -1165,10 +1157,13 @@ public class StoreUserServiceImpl extends ServiceImpl<StoreUserMapper, StoreUser
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
LambdaUpdateWrapper<StoreUser> updateWrapper = new LambdaUpdateWrapper<>();
|
|
LambdaUpdateWrapper<StoreUser> updateWrapper = new LambdaUpdateWrapper<>();
|
|
|
- updateWrapper.eq(StoreUser::getId, storeUserVo.getId());
|
|
|
|
|
|
|
+ updateWrapper.eq(StoreUser::getId, storeUser.getId());
|
|
|
updateWrapper.set(StoreUser::getDeleteFlag, 1);
|
|
updateWrapper.set(StoreUser::getDeleteFlag, 1);
|
|
|
-
|
|
|
|
|
- return "删除成功";
|
|
|
|
|
|
|
+ int update = storeUserMapper.update(null, updateWrapper);
|
|
|
|
|
+ if (update > 0) {
|
|
|
|
|
+ return "删除成功";
|
|
|
|
|
+ }
|
|
|
|
|
+ return "删除失败";
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|