You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
201 lines
8.6 KiB
Java
201 lines
8.6 KiB
Java
package com.glxp.api.controller.auth;
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
import com.github.pagehelper.PageInfo;
|
|
import com.glxp.api.annotation.AuthRuleAnnotation;
|
|
import com.glxp.api.annotation.Log;
|
|
import com.glxp.api.constant.BusinessType;
|
|
import com.glxp.api.controller.BaseController;
|
|
import com.glxp.api.entity.auth.*;
|
|
import com.glxp.api.req.auth.*;
|
|
import com.glxp.api.res.PageSimpleResponse;
|
|
import com.glxp.api.common.enums.ResultEnum;
|
|
import com.glxp.api.common.res.BaseResponse;
|
|
import com.glxp.api.common.util.ResultVOUtils;
|
|
import com.glxp.api.service.auth.*;
|
|
import com.glxp.api.util.PasswordUtils;
|
|
import com.glxp.api.util.StringUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.validation.BindingResult;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.validation.Valid;
|
|
import java.util.*;
|
|
|
|
/**
|
|
* 管理员相关
|
|
*/
|
|
@RestController
|
|
public class AuthUserController extends BaseController {
|
|
@Resource
|
|
CustomerService customerService;
|
|
@Resource
|
|
private AuthAdminService authAdminService;
|
|
@Resource
|
|
private WarehouseUserService warehouseUserService;
|
|
@Resource
|
|
DeptService deptService;
|
|
|
|
@AuthRuleAnnotation("admin/auth/admin/updateInv")
|
|
@PostMapping("/admin/auth/admin/updateInv")
|
|
@Log(title = "用户管理", businessType = BusinessType.UPDATE)
|
|
public BaseResponse updateInv(@RequestBody @Valid AuthUserSaveRequest authUserSaveRequest,
|
|
BindingResult bindingResult) {
|
|
|
|
if (bindingResult.hasErrors()) {
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
|
|
}
|
|
AuthAdmin authAdmin = new AuthAdmin();
|
|
BeanUtil.copyProperties(authUserSaveRequest, authAdmin);
|
|
authAdmin.setId(getUserId());
|
|
authAdmin.setLastModifyTime(new Date());
|
|
boolean b = authAdminService.updateAuthAdmin(authAdmin);
|
|
if (!b) {
|
|
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
|
|
}
|
|
return ResultVOUtils.success();
|
|
}
|
|
|
|
/**
|
|
* 删除
|
|
*
|
|
* @return
|
|
*/
|
|
@Log(title = "用户管理", businessType = BusinessType.DELETE)
|
|
@AuthRuleAnnotation("admin/auth/admin/delete")
|
|
@PostMapping("/admin/auth/admin/delete")
|
|
public BaseResponse delete(@RequestBody AuthUserSaveRequest authUserSaveRequest) {
|
|
|
|
if (authUserSaveRequest.getId() == null) {
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数错误!");
|
|
}
|
|
// 先得到要删除角色的 getLocSubInvCode
|
|
AuthAdmin byId = authAdminService.findById(authUserSaveRequest.getId());
|
|
boolean b = authAdminService.deleteById(authUserSaveRequest.getId());
|
|
if (!b) {
|
|
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
|
|
}
|
|
// 先删除之前的角色
|
|
//todo 记得删除用户关联角色表
|
|
// authRoleAdminService.deleteByAdminId(authAdminSaveRequest.getId());
|
|
warehouseUserService.deleteByCodeAndId(authUserSaveRequest.getId(), byId.getLocInvCode());
|
|
return ResultVOUtils.success();
|
|
}
|
|
|
|
/**
|
|
* 获取医院用户列表
|
|
*
|
|
* @return
|
|
*/
|
|
@AuthRuleAnnotation("")
|
|
@GetMapping("/admin/auth/admin/selectNotSelectUser")
|
|
public BaseResponse selectNotSelectUser(FilterInvLinkDataRequest filterInvLinkDataRequest) {
|
|
|
|
|
|
//获取当前仓库已关联用户
|
|
FilterInvLinkDataRequest temRequest = new FilterInvLinkDataRequest();
|
|
temRequest.setCode(filterInvLinkDataRequest.getCode());
|
|
List<WarehouseUserEntity> warehouseUserEntities = warehouseUserService.getWarehouseUserList(temRequest);
|
|
List<Long> userIds = new ArrayList<>();
|
|
for (WarehouseUserEntity warehouseUserEntity : warehouseUserEntities) {
|
|
userIds.add(warehouseUserEntity.getUserid());
|
|
}
|
|
|
|
//过滤当前已关联用户
|
|
FilterNoSelectUserRequest filterNoSelectUserRequest = new FilterNoSelectUserRequest();
|
|
BeanUtils.copyProperties(filterInvLinkDataRequest, filterNoSelectUserRequest);
|
|
filterNoSelectUserRequest.setUserIds(userIds);
|
|
//查询部门id
|
|
FilterInvWarehouseRequest filterInvWarehouseRequest = new FilterInvWarehouseRequest();
|
|
filterInvWarehouseRequest.setCode(filterInvLinkDataRequest.getParentId());
|
|
List<DeptEntity> deptEntities = deptService.filterGroupInvWarehouse(filterInvWarehouseRequest);
|
|
filterNoSelectUserRequest.setDeptId(deptEntities.get(0).getId());
|
|
List<AuthAdmin> hospitalUserList = authAdminService.selectNotSelectUser(filterNoSelectUserRequest);
|
|
PageInfo<AuthAdmin> authAdminPageInfo = new PageInfo<>(hospitalUserList);
|
|
PageSimpleResponse<AuthAdmin> authAdminPageSimpleResponse = new PageSimpleResponse<>();
|
|
authAdminPageSimpleResponse.setTotal(authAdminPageInfo.getTotal());
|
|
authAdminPageSimpleResponse.setList(hospitalUserList);
|
|
return ResultVOUtils.success(authAdminPageSimpleResponse);
|
|
|
|
}
|
|
|
|
//仓库未关联用户列表
|
|
@AuthRuleAnnotation("")
|
|
@GetMapping("/admin/auth/admin/hospitalUserList")
|
|
public BaseResponse getHospitalUserList() {
|
|
List<AuthAdmin> hospitalUserList = authAdminService.getHospitalUserList();
|
|
return ResultVOUtils.success(hospitalUserList);
|
|
}
|
|
|
|
//修改用户信息
|
|
@AuthRuleAnnotation("")
|
|
@PostMapping("/admin/auth/admin/updateUser")
|
|
public BaseResponse updateUser(@RequestBody UpdateUserRequset updateUserRequset) {
|
|
AuthAdmin authAdmin = customerService.getUserBean();
|
|
System.out.println(updateUserRequset.toString());
|
|
if (StrUtil.isEmpty(updateUserRequset.getPassWord())) {
|
|
updateUserRequset.setPassWord(authAdmin.getPassWord());
|
|
}
|
|
if (StringUtils.isBlank(updateUserRequset.getNewPassword())) {
|
|
return ResultVOUtils.error(500, "请输入新密码!");
|
|
}
|
|
if (StringUtils.isBlank(updateUserRequset.getConfirmPassword())) {
|
|
return ResultVOUtils.error(500, "请输入确认密码!");
|
|
}
|
|
|
|
if (!updateUserRequset.getPassWord().equals(authAdmin.getPassWord())) {
|
|
return ResultVOUtils.error(500, "当前密码输入错误!请重新输入!");
|
|
}
|
|
if (updateUserRequset.getNewPassword().equals(authAdmin.getPassWord())) {
|
|
return ResultVOUtils.error(500, "新密码与旧密码重复!请重新修改!");
|
|
}
|
|
if (updateUserRequset.getNewPassword().equals(updateUserRequset.getConfirmPassword()) && updateUserRequset.getPassWord().equals(authAdmin.getPassWord())) {
|
|
authAdminService.updateUser(updateUserRequset);
|
|
return ResultVOUtils.success("修改成功");
|
|
} else {
|
|
return ResultVOUtils.error(500, "新密码与确认密码不相同!请重新修改!");
|
|
}
|
|
|
|
}
|
|
|
|
|
|
@AuthRuleAnnotation("")
|
|
@PostMapping("/admin/auth/admin/force/updateUser")
|
|
public BaseResponse forceUpdateUser(@RequestBody @Valid UpdateUserRequset updateUserRequset, BindingResult bindingResult) {
|
|
if (bindingResult.hasErrors()) {
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
|
|
}
|
|
AuthAdmin authAdmin = customerService.getUserBean();
|
|
if (StringUtils.isBlank(updateUserRequset.getNewPassword())) {
|
|
return ResultVOUtils.error(500, "请输入新密码!");
|
|
}
|
|
if (StringUtils.isBlank(updateUserRequset.getConfirmPassword())) {
|
|
return ResultVOUtils.error(500, "请输入确认密码!");
|
|
}
|
|
|
|
if (updateUserRequset.getNewPassword().equals(updateUserRequset.getOldPassword())) {
|
|
return ResultVOUtils.error(500, "新密码与旧密码重复!请重新修改!");
|
|
}
|
|
if (updateUserRequset.getNewPassword().equals(updateUserRequset.getConfirmPassword()) && updateUserRequset.getOldPassword().equals(authAdmin.getPassWord())) {
|
|
String newPwd = PasswordUtils.authAdminPwd(updateUserRequset.getNewPassword());
|
|
authAdmin.setPassWord(newPwd);
|
|
authAdmin.setLastUpdatePwdTime(new Date());
|
|
authAdminService.updateAuthAdmin(authAdmin);
|
|
return ResultVOUtils.success("修改成功");
|
|
} else {
|
|
return ResultVOUtils.error(500, "新密码与确认密码不相同!请重新修改!");
|
|
}
|
|
|
|
|
|
|
|
}
|
|
@AuthRuleAnnotation("")
|
|
@GetMapping("/admin/auth/admin/selectUser")
|
|
public BaseResponse selectUser() {
|
|
AuthAdmin authAdmin = customerService.getUserBean();
|
|
return ResultVOUtils.success(authAdmin);
|
|
}
|
|
}
|