mitao
2025-03-14 392b42c4891cf2e6beda57ab32c51598f290f4b7
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java
@@ -1,37 +1,69 @@
package com.ruoyi.system.controller;
import java.io.IOException;
import java.util.*;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.system.api.model.*;
import com.ruoyi.system.domain.SysUserRole;
import com.ruoyi.system.service.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import com.ruoyi.common.core.constant.CacheConstants;
import com.ruoyi.common.core.constant.SecurityConstants;
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;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.redis.service.RedisService;
import com.ruoyi.common.security.annotation.InnerAuth;
import com.ruoyi.common.security.annotation.RequiresPermissions;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.system.api.domain.SysDept;
import com.ruoyi.system.api.domain.SysRole;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.feignClient.AuthClient;
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;
import com.ruoyi.system.service.ISysPermissionService;
import com.ruoyi.system.service.ISysPostService;
import com.ruoyi.system.service.ISysRoleService;
import com.ruoyi.system.service.ISysUserRoleService;
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;
import java.util.Objects;
import java.util.Set;
import java.util.stream.Collectors;
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;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
/**
 * 用户信息
@@ -66,24 +98,33 @@
    @Autowired
    private ISysUserRoleService sysUserRoleService;
    @Autowired
    private AuthClient authClient;
    @Autowired
    private RedisService redisService;
    /**
     * 获取用户列表
     */
    @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 ? "00" : "01");
        user.setUserName(user.getPhonenumber());
        if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){
            user.setNickName(user.getPhonenumber());
@@ -92,23 +133,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();
@@ -127,11 +169,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());
@@ -140,13 +182,14 @@
        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);
        userService.checkUserDataScope(user.getUserId());
        SysUser sysUser = userService.getOne(Wrappers.lambdaQuery(SysUser.class)
                .eq(SysUser::getPhonenumber, user.getPhonenumber())
                .in(SysUser::getUserType, "00", "01", "04")
                .eq(SysUser::getDelFlag,0)
                .last("LIMIT 1"));
@@ -161,6 +204,7 @@
        if (user.getPhonenumber() != null) {
            user.setUserName(user.getPhonenumber());
        }
        user.setUserType(dto.getIsAuctioneer() == 1 ? "00" : "01");
        user.setPassword(null);
        user.setUpdateBy(SecurityUtils.getUsername());
        user.setUpdateTime(new Date());
@@ -171,9 +215,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("当前用户不能删除");
@@ -181,21 +225,29 @@
        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不能为空");
        }
        SysUser sysUser = userService.selectUserById(userId);
        if (sysUser.getStatus().equals("0")) {
            sysUser.setStatus("1");
            Object tokenObj = redisService.getCacheObject(getUserTokenKey(userId));
            if (Objects.nonNull(tokenObj)) {
                authClient.logout(tokenObj.toString(), SecurityConstants.INNER);
            }
        } else {
            sysUser.setStatus("0");
        }
        return toAjax(userService.updateUser(sysUser));
    }
    private String getUserTokenKey(Long userId) {
        return CacheConstants.USER_TOKEN_KEY + userId;
    }
    @Autowired
    private ISysUserRoleService iSysUserRoleService;
@@ -206,53 +258,7 @@
        return R.ok(list);
    }
    @PostMapping("/getSysUserFromCompanyId")
    public R<List<CompanyUserListVo>> getSysUserFromCompanyId(@RequestBody CompanySysUserReq companySysUserReq) {
        LambdaQueryWrapper<SysUser> sysUserLambdaQueryWrapper = new LambdaQueryWrapper<>();
        if (companySysUserReq.getUserIds().size() == 0) {
            List<Integer> userIds = companySysUserReq.getUserIds();
            userIds.add(-1);
            companySysUserReq.setUserIds(userIds);
        }
        sysUserLambdaQueryWrapper.in(SysUser::getUserId, companySysUserReq.getUserIds());
        if (companySysUserReq.getName() != null && !"".equals(companySysUserReq.getName())) {
            sysUserLambdaQueryWrapper.like(SysUser::getUserName, companySysUserReq.getName()).or().like(SysUser::getPhonenumber, companySysUserReq.getName());
        }
        sysUserLambdaQueryWrapper.eq(SysUser::getRoleType,2);
        List<SysUser> list = userService.list(sysUserLambdaQueryWrapper);
        ArrayList<CompanyUserListVo> companyUserListVos = new ArrayList<>();
        for (SysUser sysUser : list) {
            CompanyUserListVo companyUserListVo = new CompanyUserListVo();
            companyUserListVo.setId(sysUser.getUserId());
            companyUserListVo.setPassword(sysUser.getPassword());
            companyUserListVo.setPhoneNumber(sysUser.getPhonenumber());
            companyUserListVo.setUserName(sysUser.getUserName());
            companyUserListVo.setNickName(sysUser.getNickName());
            companyUserListVos.add(companyUserListVo);
        }
        return R.ok(companyUserListVos);
    }
    @PostMapping("/getSysUserFromCompanyIdOne")
    public R<List<CompanyUserListVo>> getSysUserFromCompanyIdOne(@RequestBody CompanySysUserReq companySysUserReq) {
        LambdaQueryWrapper<SysUser> sysUserLambdaQueryWrapper = new LambdaQueryWrapper<>();
        sysUserLambdaQueryWrapper.eq(SysUser::getRoleType, 2);
        if (companySysUserReq.getName() != null && !"".equals(companySysUserReq.getName())) {
            sysUserLambdaQueryWrapper.like(SysUser::getPhonenumber, companySysUserReq.getName());
        }
        List<SysUser> list = userService.list(sysUserLambdaQueryWrapper);
        ArrayList<CompanyUserListVo> companyUserListVos = new ArrayList<>();
        for (SysUser sysUser : list) {
            CompanyUserListVo companyUserListVo = new CompanyUserListVo();
            companyUserListVo.setId(sysUser.getUserId());
            companyUserListVo.setPassword(sysUser.getPassword());
            companyUserListVo.setPhoneNumber(sysUser.getPhonenumber());
            companyUserListVo.setUserName(sysUser.getUserName());
            companyUserListVo.setNickName(sysUser.getNickName());
            companyUserListVos.add(companyUserListVo);
        }
        return R.ok(companyUserListVos);
    }
    @PostMapping("/isAdmin")
    public R<Integer> isAdmin(@RequestBody Long userId){
        SysUserRole one = sysUserRoleService.getOne(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, userId));
@@ -283,86 +289,6 @@
            return R.ok();
        }
    }
    @PostMapping("/companySaveSysUser")
    public R<List<Integer>> companySaveSysUser(@RequestBody CompanyAddSysUserDto dto) {
        List<CompanyUserListVo> list = dto.getList();
        ArrayList<Integer> userIds = new ArrayList<>();
        try {
            for (CompanyUserListVo companyUserListVo : list) {
                    List<Long> ids = userService.getSysUserFromPhone(companyUserListVo.getPhoneNumber());
                SysUser sysUser = new SysUser();
                    if (ids.size() > 0) {
                        sysUser.setRoleType(2);
                        sysUser.setObjectId(dto.getCompanyId());
                        if(companyUserListVo.getPassword()!=null){
                            sysUser.setPassword(SecurityUtils.encryptPassword(companyUserListVo.getPassword()));
                        }
                        sysUser.setPhonenumber(companyUserListVo.getPhoneNumber());
                        sysUser.setUserName(companyUserListVo.getPhoneNumber());
                        sysUser.setNickName(companyUserListVo.getNickName());
                        sysUser.setUserId(ids.get(0).longValue());
                        userService.updateUser(sysUser);
                        userIds.add(ids.get(0).intValue());
                    } else {
                        sysUser.setRoleType(2);
                        sysUser.setObjectId(dto.getCompanyId());
                        if(companyUserListVo.getPassword()!=null){
                            sysUser.setPassword(SecurityUtils.encryptPassword(companyUserListVo.getPassword()));
                        }
                        sysUser.setPhonenumber(companyUserListVo.getPhoneNumber());
                        sysUser.setUserName(companyUserListVo.getPhoneNumber());
                        sysUser.setNickName(companyUserListVo.getNickName());
                        sysUser.setCreateBy(SecurityUtils.getUsername());
                        sysUser.setCreateTime(new Date());
                        userService.insertUser(sysUser);
                        SysUserRole sysUserRole = new SysUserRole();
                        sysUserRole.setRoleId(20l);
                        sysUserRole.setUserId(sysUser.getUserId());
                        sysUserRoleService.insertSysUserRole(sysUserRole);
                        userIds.add(sysUser.getUserId().intValue());
                    }
            }
            return R.ok(userIds);
        } catch (Exception e) {
            e.printStackTrace();
            return R.ok(new ArrayList<>());
        }
    }
    @PostMapping("/addTRepairSysUser")
    public R<List<Integer>> addTRepairSysUser(@RequestBody TRepairShopAddDto dto) {
        List<TRepairShopAdd> list = dto.getList();
        ArrayList<Integer> userIds = new ArrayList<>();
        try {
            for (TRepairShopAdd add : list) {
                List<Long> ids = userService.getSysUserFromPhone(add.getPhonenumber());
                if (ids.size() > 0) {
                    userIds.add(ids.get(0).intValue());
                } else {
                    SysUser sysUser = new SysUser();
                    sysUser.setPhonenumber(add.getPhonenumber());
                    sysUser.setCreateTime(new Date());
                    sysUser.setCreateBy(SecurityUtils.getUsername());
                    sysUser.setPassword(SecurityUtils.encryptPassword(add.getPwd()));
                    sysUser.setRoleType(4);
                    sysUser.setObjectId(dto.getRepairId());
                    sysUser.setUserName(add.getPhonenumber());
                    sysUser.setNickName(add.getPhonenumber());
                    userService.insertUser(sysUser);
                    userIds.add(sysUser.getUserId().intValue());
                }
            }
            return R.ok(userIds);
        } catch (Exception e) {
            e.printStackTrace();
            return R.ok(new ArrayList<>());
        }
    }
    @Log(title = "用户管理", businessType = BusinessType.EXPORT)
    @RequiresPermissions("system:user:export")
@@ -400,15 +326,16 @@
        if (StringUtils.isNull(sysUser)) {
            return R.fail("用户名或密码错误");
        }
        // 角色集合
        Set<String> roles = permissionService.getRolePermission(sysUser);
        // 权限集合
        Set<String> permissions = permissionService.getMenuPermission(sysUser);
        LoginUser sysUserVo = new LoginUser();
        sysUserVo.setSysUser(sysUser);
        sysUserVo.setRoles(roles);
        sysUserVo.setPermissions(permissions);
        if (sysUser.getUserType().equals("00")) {
            // 角色集合
            Set<String> roles = permissionService.getRolePermission(sysUser);
            // 权限集合
            Set<String> permissions = permissionService.getMenuPermission(sysUser);
            sysUserVo.setRoles(roles);
            sysUserVo.setPermissions(permissions);
        }
        return R.ok(sysUserVo);
    }
@@ -417,7 +344,7 @@
     */
    @InnerAuth
    @PostMapping("/register")
    public R<Boolean> register(@RequestBody SysUser sysUser) {
    public R<SysUser> register(@RequestBody SysUser sysUser) {
        String username = sysUser.getUserName();
        if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser")))) {
            return R.fail("当前系统没有开启注册功能!");
@@ -427,6 +354,13 @@
        }
        return R.ok(userService.registerUser(sysUser));
    }
    @PostMapping("/registerUser")
    public R<SysUser> registerUser(@RequestBody SysUser sysUser){
        sysUser = userService.registerUser(sysUser);
        return R.ok(sysUser);
    }
    /**
     * 获取用户信息
@@ -451,17 +385,41 @@
    /**
     * 重置密码
     */
    @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));
    }
    /**
     * 获取当前用户信息
     */
    @InnerAuth
    @Log(title = "用户管理", businessType = BusinessType.UPDATE)
    @PutMapping("/change-password")
    public R<LoginUser> info(@RequestParam("username") String username,
            @RequestParam("password") String password) {
        SysUser user = userService.selectUserByUserName(username);
        user.setPassword(password);
        user.setUpdateBy(SecurityUtils.getUsername());
        int i = userService.updateUser(user);
        if (i == 1) {
            return R.ok();
        } else {
            return R.fail();
        }
    }
    /**
     * 状态修改
     */
@@ -552,25 +510,16 @@
    public R<List<SysUser>> queryUserByPhoneList(@RequestBody List<String> phoneList){
        List<SysUser> list = userService.list(Wrappers.lambdaQuery(SysUser.class)
                .in(SysUser::getPhonenumber, phoneList)
                .ne(SysUser::getDelFlag,2));
                .eq(SysUser::getUserType,"01")
                .eq(SysUser::getDelFlag,0));
        return R.ok(list);
    }
    /**
     * 默认批量添加修理厂
     * @param dtoList
     * @return
     */
    @PostMapping("/addUserRole")
    public R<Boolean> addUserRole(@RequestBody List<SysUserRoleDTO> dtoList){
        List<SysUserRole> userRoles = new ArrayList<>();
        for (SysUserRoleDTO userRoleDTO : dtoList) {
            SysUserRole userRole = new SysUserRole();
            userRole.setRoleId(userRoleDTO.getRoleId());
            userRole.setUserId(userRoleDTO.getUserId());
            userRoles.add(userRole);
        }
        return R.ok(sysUserRoleService.saveBatch(userRoles));
    @PostMapping("/queryUserByPhoneList1")
    public R<List<SysUser>> queryUserByPhoneList1(@RequestBody List<String> phoneList){
        List<SysUser> list = userService.list(Wrappers.lambdaQuery(SysUser.class)
                .in(SysUser::getPhonenumber, phoneList));
        return R.ok(list);
    }
    /**
@@ -582,9 +531,31 @@
    public R<SysUser>  queryUserByPhone(@RequestBody String phone){
        SysUser user = userService.getOne(Wrappers.lambdaQuery(SysUser.class)
                .eq(SysUser::getPhonenumber, phone)
                .eq(SysUser::getUserType,"01")
                .eq(SysUser::getStatus,0)
                .eq(SysUser::getDelFlag,0)
                .last("LIMIT 1"));
        return R.ok(user);
    }
    @PostMapping("/queryUserByPhone1")
    public R<SysUser>  queryUserByPhone1(@RequestBody String phone) {
        SysUser user = userService.getOne(Wrappers.lambdaQuery(SysUser.class)
                .eq(SysUser::getPhonenumber, phone)
                .eq(SysUser::getDelFlag, 0)
                .eq(SysUser::getUserType,"01")
                .last("LIMIT 1"));
        return R.ok(user);
    }
//    @PostMapping("/queryUserByPhone1")
//    public R<SysUser>  queryUserByPhone1(@RequestBody String phone){
//        SysUser user = userService.getOne(Wrappers.lambdaQuery(SysUser.class)
//                .eq(SysUser::getPhonenumber, phone)
//                .eq(SysUser::get, phone)
//                .last("LIMIT 1"));
//        return R.ok(user);
//    }
    /**
@@ -596,8 +567,58 @@
    public R<SysUser> queryUserByUserName(@RequestBody String userName){
        SysUser user = userService.getOne(Wrappers.lambdaQuery(SysUser.class)
                .eq(SysUser::getUserName, userName)
                .eq(SysUser::getDelFlag, "0")
                .last("LIMIT 1"));
        return R.ok(user);
    }
    /**
     * 获取供应商分页列表
     *
     * @param query 供应商列表查询数据传输对象
     * @return PageDTO<SupplyUserVO>
     */
    @ApiOperation(value = "获取供应商分页列表", notes = "获取供应商分页列表")
    @PostMapping("/supplier-page")
    public R<PageDTO<SupplierVO>> getSupplierPage(@Validated @RequestBody SupplierQuery query) {
        return R.ok(userService.getSupplierPage(query));
    }
    /**
     * 添加/编辑供应商
     *
     * @param dto 供应商数据传输对象
     */
    @Log(title = "供应商管理", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "添加/编辑供应商", notes = "添加/编辑供应商")
    @PostMapping("/save-supplier")
    public R<?> saveSupplier(@Validated @RequestBody SupplierDTO dto) {
        userService.saveSupplier(dto);
        return R.ok();
    }
    /**
     * 删除供应商
     *
     * @param id 供应商id
     */
    @ApiOperation(value = "删除供应商", notes = "删除供应商")
    @DeleteMapping("/delete-supplier/{id}")
    public R<?> deleteSupplier(@PathVariable("id") Long id) {
        userService.deleteSupplier(id);
        return R.ok();
    }
    @InnerAuth
    @PostMapping("/list-by-name")
    R<List<SysUser>> getUserListByName(@RequestBody SysUser sysUser) {
        List<SysUser> list = userService.lambdaQuery()
                .like(StringUtils.isNotBlank(sysUser.getNickName()), SysUser::getNickName,
                        sysUser.getNickName())
                .like(StringUtils.isNotBlank(sysUser.getPhonenumber()), SysUser::getPhonenumber,
                        sysUser.getPhonenumber())
                .eq(SysUser::getUserType, "00")
                .eq(SysUser::getDelFlag, 0).list();
        return R.ok(list);
    }
}