From 8bd65ed0eab661b4d76c26650be445686f889ca5 Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期二, 14 一月 2025 12:09:46 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 58 insertions(+), 1 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java index f801929..2f17c3a 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java @@ -3,6 +3,10 @@ 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.account.api.feignClient.AppUserClient; +import com.ruoyi.account.api.feignClient.AppUserShopClient; +import com.ruoyi.account.api.model.AppUser; +import com.ruoyi.account.api.model.AppUserShop; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.web.controller.BaseController; @@ -78,6 +82,12 @@ @Autowired private ISysMenuService menuService; + + @Resource + private AppUserClient appUserClient; + + @Resource + private AppUserShopClient appUserShopClient; @@ -124,6 +134,10 @@ } //门店员工添加数据,需要判断账号是否存在,共用同一个账号 if(2 == sysUser1.getRoleType()){ + AppUser appUser = appUserClient.getAppUserByPhone1(user.getPhonenumber()).getData(); + if(null == appUser){ + return error("请先注册小程序账号"); + } SysUser one = userService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUserName, user.getPhonenumber()) .eq(SysUser::getDelFlag, "0").eq(SysUser::getStatus, "0").eq(SysUser::getRoleType, 2)); if(null == one){ @@ -131,13 +145,31 @@ user.setPassword(SecurityUtils.encryptPassword("a123456")); user.setRoleType(sysUser1.getRoleType()); user.setObjectId(sysUser1.getObjectId()); + if(null != appUser){ + user.setAppUserId(appUser.getId()); + } userService.insertUser(user); one = user; SysUserRole sysUserRole = new SysUserRole(); sysUserRole.setRoleId(user.getRoleId()); sysUserRole.setUserId(user.getUserId()); userRoleService.insertSysUserRole(sysUserRole); + } + //添加小程序店员关系数据 + if(null != appUser){ + List<AppUserShop> data = appUserShopClient.getAppUserShop(appUser.getId()).getData(); + Optional<AppUserShop> first = data.stream().filter(s -> s.getShopId().equals(sysUser1.getObjectId())).findFirst(); + if(!first.isPresent()){ + AppUserShop appUserShop = new AppUserShop(); + appUserShop.setAppUserId(appUser.getId()); + appUserShop.setShopId(sysUser1.getObjectId()); + appUserShopClient.saveAppUserShop(appUserShop); + appUser.setUserType(2); + appUserClient.editAppUserById(appUser); + } + } + //添加门店员工关系数据 UserShop userShop = new UserShop(); userShop.setUserId(one.getUserId()); @@ -256,7 +288,7 @@ user.setUpdateBy(SecurityUtils.getUsername()); user.setUpdateTime(new Date()); userService.updateUser(user); - + user = userService.getById(user.getUserId()); //添加门店员工关系数据 if(2 == user.getRoleType()){ UserShop one = userShopService.getOne(new LambdaQueryWrapper<UserShop>().eq(UserShop::getUserId, user.getUserId()).eq(UserShop::getShopId, user.getObjectId())); @@ -539,6 +571,8 @@ public R<SysUser> queryUserByUserName(@RequestBody String userName){ SysUser user = userService.getOne(Wrappers.lambdaQuery(SysUser.class) .eq(SysUser::getUserName, userName) + .eq(SysUser::getDelFlag, "0") + .eq(SysUser::getStatus, 0) .last("LIMIT 1")); return R.ok(user); } @@ -635,6 +669,11 @@ sysUser.setDelFlag("2"); userService.updateById(sysUser); } + if(sysUser.getObjectId().equals(objectId) && collect.size() > 1){ + Integer integer = collect.stream().filter(s -> !s.equals(sysUser.getObjectId())).findFirst().get(); + sysUser.setObjectId(integer); + userService.updateById(sysUser); + } userShopService.remove(new LambdaUpdateWrapper<UserShop>().eq(UserShop::getUserId, sysUser.getUserId()).eq(UserShop::getShopId, objectId)); } return R.ok(); @@ -659,4 +698,22 @@ Set<String> rolePerms = menuService.selectMenuPermsByRoleId(roleId); return R.ok(rolePerms); } + + + + /** + * 通过账号和账号权限查询用户 + * @param userName + * @return + */ + @PostMapping("/queryUserByUserNameAndRoleType") + public R<SysUser> queryUserByUserNameAndRoleType(@RequestParam("roleType") String userName, @RequestParam("roleType") Integer roleType){ + SysUser user = userService.getOne(Wrappers.lambdaQuery(SysUser.class) + .eq(SysUser::getUserName, userName) + .eq(SysUser::getDelFlag, "0") + .eq(SysUser::getStatus, 0) + .eq(SysUser::getRoleType, roleType) + .last("LIMIT 1")); + return R.ok(user); + } } -- Gitblit v1.7.1