mitao
2024-06-19 e2622c1b801982d6b01d95442bab52061362eccd
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java
@@ -3,7 +3,9 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.utils.page.BeanUtils;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.common.core.utils.poi.ExcelUtil;
import com.ruoyi.common.core.web.controller.BaseController;
@@ -18,9 +20,14 @@
import com.ruoyi.system.api.domain.SysRole;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.model.LoginUser;
import com.ruoyi.system.api.validate.InsertGroup;
import com.ruoyi.system.api.validate.UpdateGroup;
import com.ruoyi.system.domain.SysUserRole;
import com.ruoyi.system.domain.dto.ResetPwdDTO;
import com.ruoyi.system.domain.dto.SupplierDTO;
import com.ruoyi.system.domain.dto.SupplierQuery;
import com.ruoyi.system.domain.dto.SysUserDTO;
import com.ruoyi.system.domain.dto.SysUserQuery;
import com.ruoyi.system.domain.vo.SupplierVO;
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.system.service.ISysDeptService;
@@ -31,6 +38,7 @@
import com.ruoyi.system.service.ISysUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import java.io.IOException;
import java.util.Date;
import java.util.List;
@@ -40,6 +48,7 @@
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
@@ -88,21 +97,26 @@
    /**
     * 获取用户列表
     */
    @GetMapping("/list")
    @ApiOperation("管理员列表")
    public AjaxResult list(String phonenumber, int pageNumber, int pageSize) {
        PageInfo<SysUser> pageInfo = new PageInfo<>(pageNumber, pageSize);
        PageInfo<SysUser> page = userService.getList(pageInfo, phonenumber);
    @PostMapping("/list")
    @ApiOperation("账号管理列表")
    public AjaxResult list(@Validated @RequestBody SysUserQuery query) {
        PageInfo<SysUser> pageInfo = new PageInfo<>(query.getPageCurr(), query.getPageSize());
        PageInfo<SysUser> page = userService.getList(pageInfo, query.getNickName(),
                query.getPhonenumber(), query.getStatus());
        return AjaxResult.success(page);
    }
    /**
     * 新增用户
     */
    @Log(title = "用户管理", businessType = BusinessType.INSERT)
    @Log(title = "账号管理", businessType = BusinessType.INSERT)
    @PostMapping("/add")
    @ApiOperation("添加管理员")
    public AjaxResult add(@Validated @RequestBody SysUser user) {
    @ApiOperation("添加账号")
    @Transactional(rollbackFor = Exception.class)
    public AjaxResult add(@Validated(InsertGroup.class) @RequestBody SysUserDTO dto) {
        SysUser user = BeanUtils.copyBean(dto, SysUser.class);
        user.setUserId(null);
        user.setUserType(dto.getIsAuctioneer() == 1 ? "04" : "00");
        user.setUserName(user.getPhonenumber());
        if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){
            user.setNickName(user.getPhonenumber());
@@ -111,23 +125,24 @@
            return error("手机号已开通账号");
        }
        user.setCreateBy(SecurityUtils.getUsername());
        user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
        user.setPassword(SecurityUtils.encryptPassword("123456"));
        user.setRoleType(1);
        int i = userService.insertUser(user);
        SysUserRole sysUserRole = new SysUserRole();
        sysUserRole.setRoleId(1l);
        sysUserRole.setRoleId(dto.getRoleId());
        sysUserRole.setUserId(user.getUserId());
        int i1 = userRoleService.insertSysUserRole(sysUserRole);
        return AjaxResult.success(i1);
        return AjaxResult.success();
    }
    /**
     * 根据用户编号获取详细信息
     */
    @ApiOperation("管理员详情")
    @GetMapping(value = {"/", "/{userId}"})
    public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) {
    @ApiOperation("账号详情")
    @GetMapping("/{userId}")
    public AjaxResult getInfo(
            @ApiParam(value = "用户ID", required = true) @PathVariable(value = "userId", required = true) Long userId) {
        userService.checkUserDataScope(userId);
        AjaxResult ajax = AjaxResult.success();
        List<SysRole> roles = roleService.selectRoleAll();
@@ -146,11 +161,11 @@
    /**
     * 修改用户
     */
    @Log(title = "用户管理", businessType = BusinessType.UPDATE)
    @Log(title = "账号管理", businessType = BusinessType.UPDATE)
    @PutMapping("/update")
    @ApiOperation("编辑管理员")
    public AjaxResult edit(@Validated @RequestBody SysUser user) {
    @ApiOperation("编辑账号")
    public AjaxResult edit(@Validated(UpdateGroup.class) @RequestBody SysUserDTO dto) {
        SysUser user = BeanUtils.copyBean(dto, SysUser.class);
        user.setUserName(user.getPhonenumber());
        if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){
            user.setNickName(user.getPhonenumber());
@@ -159,7 +174,7 @@
        Integer data = admin.getData();
        if(data == null || data != 1){
            SysUserRole one = sysUserRoleService.getOne(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, user.getUserId()));
            one.setRoleId(user.getRoleId());
            one.setRoleId(dto.getRoleId());
            sysUserRoleService.updateSysUserRole(one);
        }
        userService.checkUserAllowed(user);
@@ -190,9 +205,9 @@
    /**
     * 删除用户
     */
    @Log(title = "用户管理", businessType = BusinessType.DELETE)
    @Log(title = "账号管理", businessType = BusinessType.DELETE)
    @DeleteMapping("/{userIds}")
    @ApiOperation("删除管理员")
    @ApiOperation("删除账号")
    public AjaxResult remove(@PathVariable Long[] userIds) {
        if (ArrayUtils.contains(userIds, SecurityUtils.getUserId())) {
            return error("当前用户不能删除");
@@ -200,9 +215,10 @@
        return toAjax(userService.deleteUserByIds(userIds));
    }
    @PostMapping("/shopUserStart")
    @ApiOperation("账号管理--停用/启用")
    public AjaxResult shopUserStart(Long userId) {
    @PostMapping("/updStatus/{userId}")
    @ApiOperation("账号管理--冻结/解冻")
    public AjaxResult updStatus(
            @ApiParam(value = "账号ID", required = true) @PathVariable("userId") Long userId) {
        if (userId == null) {
            return AjaxResult.error("userId不能为空");
        }
@@ -352,12 +368,19 @@
     * 重置密码
     */
    @RequiresPermissions("system:user:edit")
    @ApiOperation("重置密码")
    @Log(title = "用户管理", businessType = BusinessType.UPDATE)
    @PutMapping("/resetPwd")
    public AjaxResult resetPwd(@RequestBody SysUser user) {
    @PostMapping("/resetPwd")
    public AjaxResult resetPwd(@RequestBody ResetPwdDTO dto) {
        SysUser user = userService.lambdaQuery().eq(SysUser::getUserId, dto.getUserId())
                .in(SysUser::getUserType, "00", "01").one();
        if (StringUtils.isNull(user)) {
            throw new ServiceException("账号不存在");
        }
        userService.checkUserAllowed(user);
        userService.checkUserDataScope(user.getUserId());
        user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
        user.setPassword(SecurityUtils.encryptPassword(dto.getPassword()));
        user.setUpdateBy(SecurityUtils.getUsername());
        return toAjax(userService.resetPwd(user));
    }