| | |
| | | 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; |
| | |
| | | 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.transaction.annotation.Transactional; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.time.LocalDateTime; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | @Resource |
| | | private TokenService tokenService; |
| | | |
| | | @Autowired |
| | | private ISysMenuService menuService; |
| | | |
| | | @Resource |
| | | private AppUserClient appUserClient; |
| | | |
| | | @Resource |
| | | private AppUserShopClient appUserShopClient; |
| | | |
| | | |
| | | |
| | | |
| | |
| | | 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()); |
| | | } |
| | |
| | | if (StringUtils.isNotEmpty(user.getUserName()) && !userService.checkUserNameUnique(user)) { |
| | | return error("登录账号重复"); |
| | | } |
| | | user.setCreateBy(SecurityUtils.getUsername()); |
| | | user.setPassword(SecurityUtils.encryptPassword("a123456")); |
| | | user.setRoleType(1); |
| | | userService.insertUser(user); |
| | | SysUserRole sysUserRole = new SysUserRole(); |
| | | sysUserRole.setRoleId(user.getRoleId()); |
| | | sysUserRole.setUserId(user.getUserId()); |
| | | userRoleService.insertSysUserRole(sysUserRole); |
| | | //门店员工添加数据,需要判断账号是否存在,共用同一个账号 |
| | | 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){ |
| | | user.setCreateBy(SecurityUtils.getUsername()); |
| | | 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()); |
| | | 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); |
| | | }else{ |
| | | user.setCreateBy(SecurityUtils.getUsername()); |
| | | user.setPassword(SecurityUtils.encryptPassword("a123456")); |
| | | user.setRoleType(sysUser1.getRoleType()); |
| | | userService.insertUser(user); |
| | | SysUserRole sysUserRole = new SysUserRole(); |
| | | sysUserRole.setRoleId(user.getRoleId()); |
| | | sysUserRole.setUserId(user.getUserId()); |
| | | userRoleService.insertSysUserRole(sysUserRole); |
| | | } |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | |
| | | ajax.put("posts", postService.selectPostAll()); |
| | | if (StringUtils.isNotNull(userId)) { |
| | | SysUser sysUser = userService.selectUserById(userId); |
| | | if(sysUser.getRoleType() == 2){ |
| | | Long userid = tokenService.getLoginUser().getUserid(); |
| | | SysUser sysUser1 = userService.selectUserById(userid); |
| | | UserShop one = userShopService.getOne(new LambdaQueryWrapper<UserShop>().eq(UserShop::getUserId, sysUser.getUserId()).eq(UserShop::getShopId, sysUser1.getObjectId())); |
| | | sysUser.setDeptId(one.getDeptId()); |
| | | sysUser.setNickName(one.getNickName()); |
| | | SysDept sysDept = deptService.selectDeptById(one.getDeptId()); |
| | | sysUser.setDept(sysDept); |
| | | sysUser.setRoleId(one.getRoleId()); |
| | | } |
| | | |
| | | ajax.put("data", sysUser); |
| | | ajax.put("postIds", postService.selectPostListByUserId(userId)); |
| | | ajax.put("roleIds", sysUser.getRoles().stream().map(SysRole::getRoleId).collect(Collectors.toList())); |
| | |
| | | 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())); |
| | | one.setUserId(user.getUserId()); |
| | | one.setShopId(user.getObjectId()); |
| | | one.setRoleType(one.getRoleType()); |
| | | one.setRoleId(user.getRoleId()); |
| | | one.setDeptId(user.getDeptId()); |
| | | one.setNickName(user.getNickName()); |
| | | userShopService.updateById(one); |
| | | } |
| | | return success(); |
| | | } |
| | | |
| | |
| | | } |
| | | // 角色集合 |
| | | Set<String> roles = permissionService.getRolePermission(sysUser); |
| | | // 权限集合 |
| | | // 权限集合getRolePermission |
| | | Set<String> permissions = permissionService.getMenuPermission(sysUser); |
| | | LoginUser sysUserVo = new LoginUser(); |
| | | sysUserVo.setSysUser(sysUser); |
| | |
| | | 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); |
| | | } |
| | |
| | | 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(); |
| | |
| | | |
| | | |
| | | @ResponseBody |
| | | @GetMapping("/switchShop") |
| | | @PutMapping("/switchShop/{shopId}") |
| | | @ApiOperation(value = "切换门店", tags = {"门店后台-首页"}) |
| | | public R switchShop(@PathVariable("shopId") Integer shopId){ |
| | | public R<Set<String>> switchShop(@PathVariable("shopId") Integer shopId){ |
| | | Long userid = tokenService.getLoginUser().getUserid(); |
| | | UserShop one = userShopService.getOne(new LambdaQueryWrapper<UserShop>().eq(UserShop::getUserId, userid).eq(UserShop::getShopId, shopId)); |
| | | if(null == one){ |
| | |
| | | SysUser sysUser = userService.getById(userid); |
| | | sysUser.setObjectId(shopId); |
| | | userService.updateById(sysUser); |
| | | //查询用户权限列表 |
| | | Long roleId = one.getRoleId(); |
| | | Set<String> rolePerms = menuService.selectMenuPermsByRoleId(roleId); |
| | | return R.ok(rolePerms); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 通过账号和账号权限查询用户 |
| | | * @param userName |
| | | * @return |
| | | */ |
| | | @PostMapping("/queryUserByUserNameAndRoleType") |
| | | 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") |
| | | .eq(SysUser::getStatus, 0) |
| | | .eq(SysUser::getRoleType, roleType) |
| | | .last("LIMIT 1")); |
| | | return R.ok(user); |
| | | } |
| | | |
| | | |
| | | @PostMapping("/delSysUserById") |
| | | public R delSysUserById(@RequestParam("userId") Long userId){ |
| | | userService.deleteUserById(userId); |
| | | return R.ok(); |
| | | } |
| | | } |