|  |  |  | 
|---|
|  |  |  | if(null == appUser){ | 
|---|
|  |  |  | return error("请先注册小程序账号"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | SysUser one2 = userService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUserName, user.getPhonenumber()) | 
|---|
|  |  |  | .eq(SysUser::getDelFlag, "0").eq(SysUser::getStatus, "0").eq(SysUser::getObjectId, sysUser1.getObjectId()) | 
|---|
|  |  |  | .eq(SysUser::getRoleType, 2)); | 
|---|
|  |  |  | if(null != one2){ | 
|---|
|  |  |  | 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){ | 
|---|
|  |  |  | 
|---|
|  |  |  | AppUserShop appUserShop = new AppUserShop(); | 
|---|
|  |  |  | appUserShop.setAppUserId(appUser.getId()); | 
|---|
|  |  |  | appUserShop.setShopId(sysUser1.getObjectId()); | 
|---|
|  |  |  | appUserShop.setRoleType(2); | 
|---|
|  |  |  | appUserShopClient.saveAppUserShop(appUserShop); | 
|---|
|  |  |  | appUser.setUserType(2); | 
|---|
|  |  |  | appUserClient.editAppUserById(appUser); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //添加门店员工关系数据 | 
|---|
|  |  |  | UserShop userShop = new UserShop(); | 
|---|
|  |  |  | userShop.setUserId(one.getUserId()); | 
|---|
|  |  |  | userShop.setShopId(sysUser1.getObjectId()); | 
|---|
|  |  |  | userShop.setRoleType(2); | 
|---|
|  |  |  | userShop.setRoleId(user.getRoleId()); | 
|---|
|  |  |  | userShop.setDeptId(user.getDeptId()); | 
|---|
|  |  |  | userShop.setNickName(user.getNickName()); | 
|---|
|  |  |  | userShop.setCreateTime(LocalDateTime.now()); | 
|---|
|  |  |  | userShopService.save(userShop); | 
|---|
|  |  |  | UserShop one1 = userShopService.getOne(new LambdaQueryWrapper<UserShop>().eq(UserShop::getUserId, one.getUserId()).eq(UserShop::getShopId, sysUser1.getObjectId())); | 
|---|
|  |  |  | if(null == one1){ | 
|---|
|  |  |  | UserShop userShop = new UserShop(); | 
|---|
|  |  |  | userShop.setUserId(one.getUserId()); | 
|---|
|  |  |  | userShop.setShopId(sysUser1.getObjectId()); | 
|---|
|  |  |  | userShop.setRoleType(2); | 
|---|
|  |  |  | userShop.setRoleId(user.getRoleId()); | 
|---|
|  |  |  | userShop.setDeptId(user.getDeptId()); | 
|---|
|  |  |  | userShop.setNickName(user.getNickName()); | 
|---|
|  |  |  | userShop.setCreateTime(LocalDateTime.now()); | 
|---|
|  |  |  | userShopService.save(userShop); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | user.setCreateBy(SecurityUtils.getUsername()); | 
|---|
|  |  |  | user.setPassword(SecurityUtils.encryptPassword("a123456")); | 
|---|
|  |  |  | 
|---|
|  |  |  | @GetMapping("/info/{username}") | 
|---|
|  |  |  | public R<LoginUser> info(@PathVariable("username") String username) { | 
|---|
|  |  |  | SysUser sysUser = userService.selectUserByUserName(username); | 
|---|
|  |  |  | if (StringUtils.isNull(sysUser)) { | 
|---|
|  |  |  | return R.fail("用户名或密码错误"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 角色集合 | 
|---|
|  |  |  | Set<String> roles = permissionService.getRolePermission(sysUser); | 
|---|
|  |  |  | // 权限集合getRolePermission | 
|---|
|  |  |  | Set<String> permissions = permissionService.getMenuPermission(sysUser); | 
|---|
|  |  |  | LoginUser sysUserVo = new LoginUser(); | 
|---|
|  |  |  | sysUserVo.setSysUser(sysUser); | 
|---|
|  |  |  | sysUserVo.setRoles(roles); | 
|---|
|  |  |  | sysUserVo.setPermissions(permissions); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return R.ok(sysUserVo); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 门店登录使用 | 
|---|
|  |  |  | * @param username | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @InnerAuth | 
|---|
|  |  |  | @GetMapping("/infoShop/{username}") | 
|---|
|  |  |  | public R<LoginUser> infoShop(@PathVariable("username") String username) { | 
|---|
|  |  |  | SysUser sysUser = userService.selectUserShopByUserName(username); | 
|---|
|  |  |  | if (StringUtils.isNull(sysUser)) { | 
|---|
|  |  |  | return R.fail("用户名或密码错误"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | @PostMapping("/saveShopUser") | 
|---|
|  |  |  | 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())); | 
|---|
|  |  |  | .eq(SysUser::getStatus, "0").eq(SysUser::getRoleType, 2)); | 
|---|
|  |  |  | if(null == one){ | 
|---|
|  |  |  | user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); | 
|---|
|  |  |  | userService.save(user); | 
|---|
|  |  |  | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @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); | 
|---|
|  |  |  | List<UserShop> list2 = userShopService.list(new LambdaQueryWrapper<UserShop>().eq(UserShop::getShopId, objectId)); | 
|---|
|  |  |  | for (UserShop userShop : list2) { | 
|---|
|  |  |  | List<UserShop> list1 = userShopService.list(new LambdaUpdateWrapper<UserShop>().eq(UserShop::getUserId, userShop.getUserId())); | 
|---|
|  |  |  | if(list1.size() == 1 && list1.get(0).getShopId().equals(objectId)){ | 
|---|
|  |  |  | //删除管理员账号 | 
|---|
|  |  |  | userService.deleteUserById(userShop.getUserId()); | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | //修改管理后台账号关联的门店数据 | 
|---|
|  |  |  | SysUser sysUser = userService.getById(userShop.getUserId()); | 
|---|
|  |  |  | if(sysUser.getObjectId().equals(objectId)){ | 
|---|
|  |  |  | Optional<UserShop> first = list1.stream().filter(s -> !s.getShopId().equals(objectId)).findFirst(); | 
|---|
|  |  |  | if(first.isPresent()){ | 
|---|
|  |  |  | sysUser.setObjectId(first.get().getShopId()); | 
|---|
|  |  |  | 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)); | 
|---|
|  |  |  | userShopService.removeById(userShop.getId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @PostMapping("/queryUserByUserNameAndRoleType") | 
|---|
|  |  |  | public R<SysUser>  queryUserByUserNameAndRoleType(@RequestParam("roleType") String userName, @RequestParam("roleType") Integer roleType){ | 
|---|
|  |  |  | public R<SysUser>  queryUserByUserNameAndRoleType(@RequestParam("userName") String userName, @RequestParam("roleType") Integer roleType){ | 
|---|
|  |  |  | SysUser user = userService.getOne(Wrappers.lambdaQuery(SysUser.class) | 
|---|
|  |  |  | .eq(SysUser::getUserName, userName) | 
|---|
|  |  |  | .eq(SysUser::getDelFlag, "0") | 
|---|
|  |  |  | 
|---|
|  |  |  | .last("LIMIT 1")); | 
|---|
|  |  |  | return R.ok(user); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @PostMapping("/delSysUserById") | 
|---|
|  |  |  | public R delSysUserById(@RequestParam("userId") Long userId){ | 
|---|
|  |  |  | userService.deleteUserById(userId); | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|