diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserService.java index 15ee493..7cb35ac 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserService.java @@ -57,6 +57,16 @@ public interface ISysUserService { void updateBatchSysUserStatus(Long[] ids, int status, SessionUser user); /** + * 根据用户名批量修改账号状态 + * + * @param userLoginNameList + * @param status + * @param user + */ + @ApiOperation(value = "根据用户名批量修改账号状态", notes = "根据用户名批量修改账号状态") + void updateBatchSysUserStatusByUserLoginNames(List userLoginNameList, int status, SessionUser user); + + /** * 修改账号信息 * * @param sysUser diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java index 0398610..55b773a 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java @@ -39,6 +39,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.ObjectUtils; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -59,6 +60,7 @@ import java.sql.ResultSet; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; +import java.util.stream.Stream; import static java.util.stream.Collectors.toCollection; @@ -290,6 +292,31 @@ public class SysUserController extends CoreBaseController { } /** + * 根据登录的用户名批量修改账号状态 + * + * @param userLoginNames 用户名数组 + * @param status 状态 + * @return 处理结果 + */ + @PutMapping(value = "/batch-status/userLoginNames") + @ApiOperation(value = "根据用户名批量修改账号状态", notes = "根据用户名批量修改账号状态") + public ResultBean updateBatchStatusByUserLoginNames(String[] userLoginNames, int status) { + try { + if(ObjectUtils.isEmpty(userLoginNames)){ + return ResultBean.success("操作失败").setCode(ResourceEnumUtil.MESSAGE.FAIL.getCode()).setErrorMsg("用户名不能为空"); + } + ValidatorBean.checkNotZero(status, "账号状态不能为空"); + List userLoginNameList = Stream.of(userLoginNames).collect(Collectors.toList()); + sysUserService.updateBatchSysUserStatusByUserLoginNames(userLoginNameList,status,AuthUtil.getSessionUser()); + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch (ImppBusiException busExcep) { + return ResultBean.fail(busExcep); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + /** * 修改当前登录用户密码 * * @param password 原密码 diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java index 06d94c0..59d2143 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java @@ -223,6 +223,19 @@ public class SysUserService implements ISysUserService { } @Override + public void updateBatchSysUserStatusByUserLoginNames(List userLoginNameList, int status, SessionUser user) { + LOGGER.debug("平台用户 SYS_USER UPDATE By userLoginNames :{} status:{}, SessionUser :{}", userLoginNameList, status, user); + + DdlPackBean ddlPackBean = new DdlPackBean(); + DdlPreparedPack.getNumEqualPack(CommonEnumUtil.IS_VAILD.VAILD.getValue(), "isValid", ddlPackBean); + DdlPreparedPack.getNumEqualPack(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), "isDeleted", ddlPackBean); + DdlPreparedPack.getInPackList(userLoginNameList, "userLoginName", ddlPackBean); + + userRDao.updateByPropertiesWithVal(new String[]{"userStatus"},new Object[]{1},ddlPackBean); + LOGGER.debug("平台用户 SYS_USER UPDATE By SessionUser :{} 成功", user); + } + + @Override @ApiOperation(value = "修改账号", notes = "修改账号信息") public void updateSysUser(SysUser sysUser) { LOGGER.debug("平台用户 SYS_USER SysUser :{}", sysUser);