puzhibing
2025-01-02 210828d1a6947596fe00ab30fcd8725c6714dde4
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java
@@ -1,6 +1,7 @@
package com.ruoyi.system.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.StringUtils;
@@ -10,6 +11,7 @@
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.security.annotation.InnerAuth;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.system.api.domain.SysDept;
import com.ruoyi.system.api.domain.SysRole;
@@ -69,6 +71,9 @@
    @Resource
    private UserShopService userShopService;
    
    @Resource
    private TokenService tokenService;
    
    
    
@@ -77,7 +82,7 @@
     * 获取用户列表
     */
    @GetMapping("/list")
    @ApiOperation(value = "获取系统用户列表", tags = {"管理后台-账号管理"})
    @ApiOperation(value = "获取系统用户列表", tags = {"管理后台-账号管理", "门店后台-部门管理"})
    public AjaxResult list(GetSysUserList getSysUserList) {
        PageInfo<SysUser> pageInfo = new PageInfo<>(getSysUserList.getPageCurr(), getSysUserList.getPageSize());
        PageInfo<SysUser> page = userService.getList(pageInfo, getSysUserList);
@@ -88,7 +93,7 @@
     * 获取用户选择列表
     */
    @PostMapping("/getChangeUserList")
    @ApiOperation(value = "获取用户选择列表", tags = {"管理后台-获取用户选择列表"})
    @ApiOperation(value = "获取用户选择列表", tags = {"管理后台-获取用户选择列表", "门店后台-部门管理"})
    public AjaxResult<PageInfo<SysUser>> getChangeUserList(@RequestBody ChangeUserQuery query) {
        return AjaxResult.success(userService.getChangeUserList(query));
    }
@@ -98,9 +103,14 @@
     */
    @Log(title = "用户管理", businessType = BusinessType.INSERT)
    @PostMapping("/add")
    @ApiOperation(value = "添加系统用户", tags = {"管理后台-账号管理"})
    @ApiOperation(value = "添加系统用户", tags = {"管理后台-账号管理", "门店后台-部门管理"})
    public AjaxResult add(@RequestBody SysUser user) {
        user.setUserName(user.getPhonenumber());
        Long userid = tokenService.getLoginUser().getUserid();
        SysUser sysUser1 = userService.getById(userid);
        if(sysUser1.getRoleType() == 2){
            user.setObjectId(sysUser1.getObjectId());
        }
        if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){
            user.setNickName(user.getPhonenumber());
        }
@@ -141,7 +151,7 @@
    /**
     * 根据用户编号获取详细信息
     */
    @ApiOperation(value = "获取用户详情", tags = {"管理后台-账号管理"})
    @ApiOperation(value = "获取用户详情", tags = {"管理后台-账号管理", "门店后台-部门管理"})
    @GetMapping("/getInfo/{userId}")
    public AjaxResult getInfo(@PathVariable Long userId) {
        userService.checkUserDataScope(userId);
@@ -164,7 +174,7 @@
     */
    @Log(title = "用户管理", businessType = BusinessType.UPDATE)
    @PutMapping("/update")
    @ApiOperation(value = "编辑系统用户", tags = {"管理后台-账号管理"})
    @ApiOperation(value = "编辑系统用户", tags = {"管理后台-账号管理", "门店后台-部门管理"})
    public AjaxResult edit(@Validated @RequestBody SysUser user) {
        user.setUserName(user.getPhonenumber());
        if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){
@@ -214,7 +224,7 @@
     */
    @Log(title = "用户管理", businessType = BusinessType.DELETE)
    @DeleteMapping("/{userIds}")
    @ApiOperation(value = "删除系统用户", tags = {"管理后台-账号管理"})
    @ApiOperation(value = "删除系统用户", tags = {"管理后台-账号管理", "门店后台-部门管理"})
    public AjaxResult remove(@PathVariable Long[] userIds) {
        if (ArrayUtils.contains(userIds, SecurityUtils.getUserId())) {
            return error("当前用户不能删除");
@@ -226,7 +236,7 @@
    @PostMapping("/shopUserStart")
    @ApiOperation(value = "账号管理--禁用/启用", tags = {"管理后台-账号管理"})
    @ApiOperation(value = "账号管理--禁用/启用", tags = {"管理后台-账号管理", "门店后台-部门管理"})
    public AjaxResult shopUserStart(@RequestBody ShopUserStart shopUserStart) {
        if (shopUserStart.getUserId() == null) {
            return AjaxResult.error("userId不能为空");
@@ -352,7 +362,7 @@
     */
    @Log(title = "用户管理", businessType = BusinessType.UPDATE)
    @PutMapping("/resetPwd")
    @ApiOperation(value = "重置密码", tags = {"管理后台-账号管理"})
    @ApiOperation(value = "重置密码", tags = {"管理后台-账号管理", "门店后台-部门管理"})
    public AjaxResult resetPwd(@RequestBody SysUser user) {
        userService.checkUserAllowed(user);
        userService.checkUserDataScope(user.getUserId());
@@ -539,12 +549,10 @@
     */
    @ResponseBody
    @PostMapping("/saveShopUser")
    public R saveShopUser(@RequestBody SysUser user){
        Integer shopId = user.getObjectId();
    public R<Long> saveShopUser(@RequestBody SysUser user){
        SysUser one = userService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getPhonenumber, user.getPhonenumber()).eq(SysUser::getDelFlag, "0")
                .eq(SysUser::getStatus, "0").eq(SysUser::getRoleType, 2).eq(SysUser::getAppUserId, user.getAppUserId()));
        if(null == one){
            user.setObjectId(null);
            user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
            userService.save(user);
            //添加用户角色数据
@@ -552,16 +560,29 @@
            userRole.setUserId(user.getUserId());
            userRole.setRoleId(2L);
            userRoleService.save(userRole);
        }else{
            user = one;
        }
        //添加门店关系数据
        UserShop userShop = userShopService.getOne(new LambdaQueryWrapper<UserShop>().eq(UserShop::getShopId, shopId).eq(UserShop::getUserId, user.getAppUserId()));
        if(null == userShop){
            userShop = new UserShop();
            userShop.setUserId(user.getUserId().intValue());
            userShop.setShopId(user.getObjectId());
            userShopService.save(userShop);
        return R.ok(user.getUserId());
    }
    /**
     * 删除门店管理员账号
     * @param objectId
     * @param roleType
     * @return
     */
    @PostMapping("/user/delShopUser")
    public R delShopUser(@RequestParam("objectId") Integer objectId, @RequestParam("roleType") Integer roleType){
        List<SysUser> list = userService.list(new LambdaUpdateWrapper<SysUser>().eq(SysUser::getObjectId, objectId).eq(SysUser::getRoleType, roleType)
                .eq(SysUser::getDelFlag, "0").eq(SysUser::getStatus, "0"));
        for (SysUser sysUser : list) {
            List<UserShop> list1 = userShopService.list(new LambdaUpdateWrapper<UserShop>().eq(UserShop::getUserId, sysUser.getUserId()));
            List<Integer> collect = list1.stream().map(UserShop::getShopId).collect(Collectors.toList());
            if(collect.contains(objectId) && collect.size() == 1){
                sysUser.setDelFlag("2");
                userService.updateById(sysUser);
            }
            userShopService.remove(new LambdaUpdateWrapper<UserShop>().eq(UserShop::getUserId, sysUser.getUserId()).eq(UserShop::getShopId, objectId));
        }
        return R.ok();
    }