| | |
| | | package com.ruoyi.system.controller; |
| | | |
| | | import java.io.IOException; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import com.alibaba.nacos.shaded.org.checkerframework.checker.units.qual.A; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.ruoyi.chargingPile.api.feignClient.SiteClient; |
| | | import com.ruoyi.chargingPile.api.model.Site; |
| | | import com.ruoyi.common.core.utils.StringUtils; |
| | | import com.ruoyi.common.core.web.page.PageInfo; |
| | | import com.ruoyi.management.api.feignClient.TCompanyShopClient; |
| | | import com.ruoyi.management.api.feignClient.TCompanyShopToUserClient; |
| | | import com.ruoyi.management.api.feignClient.TCompanyToUserClient; |
| | | import com.ruoyi.management.api.model.AddUserShopClientDto; |
| | | import com.ruoyi.management.api.model.TCompanyShop; |
| | | import com.ruoyi.management.api.model.TCompanyShopToUser; |
| | | import com.ruoyi.management.api.model.TCompanyToUser; |
| | | import com.ruoyi.system.domain.dto.IndexDto; |
| | | import com.ruoyi.system.domain.vo.UserRoleVO; |
| | | import com.ruoyi.vehicle.api.domain.IndexVo; |
| | | import com.ruoyi.vehicle.api.feignClient.VehicleClient; |
| | | import com.ruoyi.common.security.service.TokenService; |
| | | import com.ruoyi.common.security.annotation.Logical; |
| | | import com.ruoyi.other.api.domain.TUserSite; |
| | | import com.ruoyi.other.api.feignClient.RoleSiteClient; |
| | | import com.ruoyi.other.api.feignClient.UserSiteClient; |
| | | import com.ruoyi.system.api.query.ChangeUserQuery; |
| | | import com.ruoyi.system.api.model.*; |
| | | import com.ruoyi.system.domain.SysUserRole; |
| | | import com.ruoyi.system.domain.dto.AddCompanyUserDto; |
| | | import com.ruoyi.system.domain.vo.CompanyUserVo; |
| | | import com.ruoyi.system.domain.vo.TCompanyToUserVo; |
| | | import com.ruoyi.system.query.GetSysUserList; |
| | | import com.ruoyi.system.query.ShopUserStart; |
| | | import com.ruoyi.system.service.*; |
| | | import io.seata.core.context.RootContext; |
| | | import io.seata.spring.annotation.GlobalTransactional; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.commons.lang3.ArrayUtils; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.transaction.annotation.Propagation; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | import com.ruoyi.common.core.domain.R; |
| | | 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.log.annotation.Log; |
| | |
| | | @RequestMapping("/user") |
| | | @Api(tags = "用户信息") |
| | | public class SysUserController extends BaseController { |
| | | @Autowired |
| | | @Resource |
| | | private ISysUserService userService; |
| | | |
| | | @Autowired |
| | | @Resource |
| | | private ISysRoleService roleService; |
| | | |
| | | @Autowired |
| | | @Resource |
| | | private ISysDeptService deptService; |
| | | |
| | | @Autowired |
| | | @Resource |
| | | private ISysPostService postService; |
| | | |
| | | @Autowired |
| | | @Resource |
| | | private ISysPermissionService permissionService; |
| | | |
| | | @Autowired |
| | | @Resource |
| | | private ISysConfigService configService; |
| | | |
| | | @Autowired |
| | | private TCompanyShopToUserClient companyShopToUserClient; |
| | | |
| | | @Resource |
| | | private TCompanyShopClient companyShopClient; |
| | | |
| | | @Autowired |
| | | private ISysUserRoleService userRoleService; |
| | | |
| | | @Autowired |
| | | private VehicleClient vehicleClient; |
| | | @Autowired |
| | | private TCompanyToUserClient companyToUserClient; |
| | | |
| | | @Autowired |
| | | @Resource |
| | | private ISysUserRoleService sysUserRoleService; |
| | | |
| | | @Resource |
| | | private UserSiteClient userSiteClient; |
| | | |
| | | @Resource |
| | | private RoleSiteClient roleSiteClient; |
| | | |
| | | @Resource |
| | | private SiteClient siteClient; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 获取用户列表 |
| | | */ |
| | | @RequiresPermissions(value = {"/systemUserManagement", "/roleManagement/info"}, logical = Logical.OR) |
| | | @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); |
| | | @ApiOperation(value = "获取系统用户列表", tags = {"管理后台-系统用户管理", "管理后台-角色管理"}) |
| | | public AjaxResult list(GetSysUserList getSysUserList) { |
| | | PageInfo<SysUser> pageInfo = new PageInfo<>(getSysUserList.getPageCurr(), getSysUserList.getPageSize()); |
| | | PageInfo<SysUser> page = userService.getList(pageInfo, getSysUserList); |
| | | return AjaxResult.success(page); |
| | | } |
| | | |
| | | /** |
| | | * 删除用户 |
| | | * 获取用户选择列表 |
| | | */ |
| | | @PostMapping("/queryManageByCompanyId") |
| | | @ApiOperation(value = "通过公司id查询公司下的人员") |
| | | public AjaxResult<List<UserRoleVO>> queryManageByCompanyId(@RequestParam Integer companyId, |
| | | @RequestParam(required = false) String nickName, |
| | | @RequestParam(required = false) String userPhone) { |
| | | |
| | | //根据 公司id查出中间表 |
| | | R<List<TCompanyShopToUser>> companyToUser = companyShopToUserClient.getCompanyToUser(Long.valueOf(companyId)); |
| | | List<TCompanyShopToUser> data = companyToUser.getData(); |
| | | if (data == null) { |
| | | return AjaxResult.success(new ArrayList<>()); |
| | | } |
| | | R<List<TCompanyToUser>> companyToUserFromCompanyId = companyShopToUserClient.getCompanyToUserFromCompanyId(Long.valueOf(companyId)); |
| | | // |
| | | List<Integer> collect2 = data.stream().map(TCompanyShopToUser::getUserId).collect(Collectors.toList()); |
| | | if(companyToUserFromCompanyId.getData()!=null){ |
| | | List<Integer> collect = companyToUserFromCompanyId.getData().stream().map(TCompanyToUser::getUserId).collect(Collectors.toList()); |
| | | collect2.addAll(collect); |
| | | } |
| | | List<Integer> collect1 = collect2.stream().distinct().collect(Collectors.toList()); |
| | | |
| | | if(collect1.size()==0){ |
| | | collect1.add(-1); |
| | | } |
| | | |
| | | List<UserRoleVO> userRoleVOS = new ArrayList<>(); |
| | | // 查询该公司下的司管用户 |
| | | LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>(); |
| | | if(StringUtils.isNotEmpty(nickName)){ |
| | | wrapper.like(SysUser::getNickName,nickName); |
| | | } |
| | | if(StringUtils.isNotEmpty(userPhone)){ |
| | | wrapper.like(SysUser::getPhonenumber,userPhone); |
| | | } |
| | | wrapper.ne(SysUser::getRoleType,1); |
| | | wrapper.ne(SysUser::getRoleType,2); |
| | | |
| | | // 查询公司绑定的用户 |
| | | List<SysUser> list = userService.list(Wrappers.lambdaQuery(SysUser.class) |
| | | .in(SysUser::getUserId, collect1)); |
| | | if(CollectionUtils.isEmpty(list)){ |
| | | return AjaxResult.success(userRoleVOS); |
| | | }else { |
| | | List<Long> userIds = list.stream().map(SysUser::getUserId).collect(Collectors.toList()); |
| | | wrapper.in(SysUser::getUserId,userIds); |
| | | } |
| | | |
| | | List<SysUser> userList = userService.list(wrapper); |
| | | userList.forEach(e->{ |
| | | UserRoleVO userRoleVO = new UserRoleVO(); |
| | | userRoleVO.setManageId(e.getUserId().intValue()); |
| | | userRoleVO.setManageName(e.getNickName()); |
| | | userRoleVO.setUserName(e.getUserName()); |
| | | userRoleVOS.add(userRoleVO); |
| | | }); |
| | | return AjaxResult.success(userRoleVOS); |
| | | @PostMapping("/getChangeUserList") |
| | | @ApiOperation(value = "获取用户选择列表", tags = {"管理后台-获取用户选择列表"}) |
| | | public AjaxResult<PageInfo<SysUser>> getChangeUserList(@RequestBody ChangeUserQuery query) { |
| | | return AjaxResult.success(userService.getChangeUserList(query)); |
| | | } |
| | | |
| | | /** |
| | | * 新增用户 |
| | | */ |
| | | @RequiresPermissions(value = {"/systemUserManagement/add"}, logical = Logical.OR) |
| | | @Log(title = "用户管理", businessType = BusinessType.INSERT) |
| | | @PostMapping("/add") |
| | | @ApiOperation("添加管理员") |
| | | public AjaxResult add(@Validated @RequestBody SysUser user) { |
| | | @ApiOperation(value = "添加系统用户", tags = {"管理后台-系统用户管理"}) |
| | | @GlobalTransactional(rollbackFor = Exception.class)//分布式事务 |
| | | public AjaxResult add(@RequestBody SysUser user) { |
| | | user.setUserName(user.getPhonenumber()); |
| | | if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){ |
| | | user.setNickName(user.getPhonenumber()); |
| | |
| | | if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) { |
| | | return error("手机号已开通账号"); |
| | | } |
| | | if (StringUtils.isNotEmpty(user.getUserName()) && !userService.checkUserNameUnique(user)) { |
| | | return error("登录账号重复"); |
| | | } |
| | | user.setCreateBy(SecurityUtils.getUsername()); |
| | | user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); |
| | | user.setRoleType(1); |
| | | int i = userService.insertUser(user); |
| | | user.setPassWordUpdate(new Date()); |
| | | userService.insertUser(user); |
| | | SysUserRole sysUserRole = new SysUserRole(); |
| | | sysUserRole.setRoleId(1l); |
| | | sysUserRole.setRoleId(user.getRoleId()); |
| | | sysUserRole.setUserId(user.getUserId()); |
| | | int i1 = userRoleService.insertSysUserRole(sysUserRole); |
| | | return AjaxResult.success(i1); |
| | | userRoleService.insertSysUserRole(sysUserRole); |
| | | List<Integer> siteIds = user.getSiteIds(); |
| | | List<TUserSite> userSites = new ArrayList<>(); |
| | | for (Integer siteId : siteIds) { |
| | | TUserSite userSite = new TUserSite(); |
| | | userSite.setUserId(user.getUserId().intValue()); |
| | | userSite.setSiteId(siteId); |
| | | userSites.add(userSite); |
| | | } |
| | | userSiteClient.addUserSite(userSites); |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | |
| | | @RequiresPermissions(value = {"/systemUserManagement/add", "/systemUserManagement/update"}, logical = Logical.OR) |
| | | @GetMapping("/verifyUserNameRepeat/{username}") |
| | | @ApiOperation(value = "校验账号是否重复", tags = {"管理后台-系统用户管理"}) |
| | | public AjaxResult verifyUserNameRepeat(@PathVariable String username){ |
| | | SysUser user = new SysUser(); |
| | | user.setUserName(username); |
| | | if (StringUtils.isNotEmpty(username) && !userService.checkUserNameUnique(user)) { |
| | | return error("账号不可重复"); |
| | | } |
| | | return success(); |
| | | } |
| | | |
| | | |
| | | |
| | | @RequiresPermissions(value = {"/systemUserManagement/update"}, logical = Logical.OR) |
| | | @GetMapping("/getRoleSiteName/{roleId}") |
| | | @ApiOperation(value = "获取角色对应的站点名称", tags = {"管理后台-系统用户管理"}) |
| | | public AjaxResult<List<String>> getRoleSiteName(@PathVariable Integer roleId){ |
| | | List<Integer> ids = roleSiteClient.getSiteIds(roleId.longValue()).getData(); |
| | | List<Site> data = siteClient.getSiteByIds(ids).getData(); |
| | | if(null == data){ |
| | | return AjaxResult.success(new ArrayList<>()); |
| | | } |
| | | List<String> siteNames = data.stream().map(Site::getName).collect(Collectors.toList()); |
| | | return AjaxResult.success(siteNames); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 根据用户编号获取详细信息 |
| | | */ |
| | | @ApiOperation("管理员详情") |
| | | @GetMapping(value = {"/", "/{userId}"}) |
| | | public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) { |
| | | @ApiOperation(value = "获取用户详情", tags = {"管理后台-系统用户管理"}) |
| | | @GetMapping("/getInfo/{userId}") |
| | | public AjaxResult getInfo(@PathVariable Long userId) { |
| | | userService.checkUserDataScope(userId); |
| | | AjaxResult ajax = AjaxResult.success(); |
| | | List<SysRole> roles = roleService.selectRoleAll(); |
| | |
| | | ajax.put("posts", postService.selectPostAll()); |
| | | if (StringUtils.isNotNull(userId)) { |
| | | SysUser sysUser = userService.selectUserById(userId); |
| | | List<Integer> siteIds = userSiteClient.getSiteIds(userId).getData(); |
| | | sysUser.setSiteIds(siteIds); |
| | | List<Site> data = siteClient.getSiteByIds(siteIds).getData(); |
| | | List<String> siteNames = data.stream().map(Site::getName).collect(Collectors.toList()); |
| | | sysUser.setSiteNames(siteNames); |
| | | ajax.put(AjaxResult.DATA_TAG, sysUser); |
| | | ajax.put("postIds", postService.selectPostListByUserId(userId)); |
| | | ajax.put("roleIds", sysUser.getRoles().stream().map(SysRole::getRoleId).collect(Collectors.toList())); |
| | |
| | | /** |
| | | * 修改用户 |
| | | */ |
| | | @RequiresPermissions(value = {"/systemUserManagement/update"}, logical = Logical.OR) |
| | | @Log(title = "用户管理", businessType = BusinessType.UPDATE) |
| | | @PutMapping("/update") |
| | | @ApiOperation("编辑管理员") |
| | | @ApiOperation(value = "编辑系统用户", tags = {"管理后台-系统用户管理"}) |
| | | @GlobalTransactional(rollbackFor = Exception.class)//分布式事务 |
| | | public AjaxResult edit(@Validated @RequestBody SysUser user) { |
| | | |
| | | user.setUserName(user.getPhonenumber()); |
| | | if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){ |
| | | user.setNickName(user.getPhonenumber()); |
| | |
| | | if (StringUtils.isNotEmpty(user.getPhonenumber()) && (Objects.nonNull(sysUser) && !user.getUserId().equals(sysUser.getUserId()) )) { |
| | | return error("手机号已开通账号"); |
| | | } |
| | | sysUser = userService.getOne(Wrappers.lambdaQuery(SysUser.class) |
| | | .eq(SysUser::getUserName, user.getUserName()) |
| | | .eq(SysUser::getDelFlag,0) |
| | | .last("LIMIT 1")); |
| | | if (StringUtils.isNotEmpty(user.getUserName()) && (Objects.nonNull(sysUser) && !user.getUserId().equals(sysUser.getUserId()) )) { |
| | | return error("登录账号重复"); |
| | | } |
| | | user.setUpdateBy(SecurityUtils.getUsername()); |
| | | if (user.getPassword() != null && !"".equals(user.getPassword())) { |
| | | user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); |
| | |
| | | if (user.getPhonenumber() != null) { |
| | | user.setUserName(user.getPhonenumber()); |
| | | } |
| | | user.setPassword(null); |
| | | user.setUpdateBy(SecurityUtils.getUsername()); |
| | | user.setUpdateTime(new Date()); |
| | | return toAjax(userService.updateUser(user)); |
| | | userService.updateUser(user); |
| | | |
| | | //删除旧的角色数据,添加新的角色 |
| | | userRoleService.remove(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, user.getUserId())); |
| | | //添加新的角色数据 |
| | | SysUserRole userRole = new SysUserRole(); |
| | | userRole.setUserId(user.getUserId()); |
| | | userRole.setRoleId(user.getRoleId()); |
| | | userRoleService.save(userRole); |
| | | |
| | | //删除旧的站点数据后添加新的 |
| | | userSiteClient.delUserSite(user.getUserId()); |
| | | List<Integer> siteIds = user.getSiteIds(); |
| | | List<TUserSite> userSites = new ArrayList<>(); |
| | | for (Integer siteId : siteIds) { |
| | | TUserSite userSite = new TUserSite(); |
| | | userSite.setUserId(user.getUserId().intValue()); |
| | | userSite.setSiteId(siteId); |
| | | userSites.add(userSite); |
| | | } |
| | | userSiteClient.addUserSite(userSites); |
| | | return success(); |
| | | } |
| | | |
| | | |
| | | @Resource |
| | | private TokenService tokenService; |
| | | /** |
| | | * 删除用户 |
| | | */ |
| | | @RequiresPermissions(value = {"/systemUserManagement/del"}, logical = Logical.OR) |
| | | @Log(title = "用户管理", businessType = BusinessType.DELETE) |
| | | @DeleteMapping("/{userIds}") |
| | | @ApiOperation("删除管理员") |
| | | @ApiOperation(value = "删除系统用户", tags = {"管理后台-系统用户管理"}) |
| | | public AjaxResult remove(@PathVariable Long[] userIds) { |
| | | if (ArrayUtils.contains(userIds, SecurityUtils.getUserId())) { |
| | | if (ArrayUtils.contains(userIds, tokenService.getLoginUser().getUserid())) { |
| | | return error("当前用户不能删除"); |
| | | } |
| | | return toAjax(userService.deleteUserByIds(userIds)); |
| | | } |
| | | |
| | | |
| | | @GetMapping("/companyUserList") |
| | | @ApiOperation("门店账户列表 参数 公司id") |
| | | public AjaxResult list(Long companyId, int pageNumber, int pageSize) { |
| | | if (companyId == null) { |
| | | return AjaxResult.success(new ArrayList<>()); |
| | | } |
| | | //根据 公司id查出中间表 |
| | | R<List<TCompanyShopToUser>> companyToUser = companyShopToUserClient.getCompanyToUser(companyId); |
| | | List<TCompanyShopToUser> data = companyToUser.getData(); |
| | | if (data == null) { |
| | | return AjaxResult.success(new ArrayList<>()); |
| | | } |
| | | R<List<TCompanyToUser>> companyToUserFromCompanyId = companyShopToUserClient.getCompanyToUserFromCompanyId(companyId); |
| | | // |
| | | PageInfo<SysUser> pageInfo = new PageInfo<>(pageNumber, pageSize); |
| | | List<Integer> collect2 = data.stream().map(TCompanyShopToUser::getUserId).collect(Collectors.toList()); |
| | | if(companyToUserFromCompanyId.getData()!=null){ |
| | | List<Integer> collect = companyToUserFromCompanyId.getData().stream().map(TCompanyToUser::getUserId).collect(Collectors.toList()); |
| | | collect2.addAll(collect); |
| | | } |
| | | List<Integer> collect1 = collect2.stream().distinct().collect(Collectors.toList()); |
| | | |
| | | if(collect1.size()==0){ |
| | | collect1.add(-1); |
| | | } |
| | | PageInfo<SysUser> page = userService.getAllList(pageInfo,collect1 ); |
| | | ArrayList<TCompanyToUserVo> tCompanyToUserVos = new ArrayList<>(); |
| | | for (SysUser sysUser : page.getRecords()) { |
| | | TCompanyToUserVo tCompanyToUserVo = new TCompanyToUserVo(); |
| | | tCompanyToUserVo.setId(sysUser.getUserId()); |
| | | tCompanyToUserVo.setCreateTime(sysUser.getCreateTime()); |
| | | tCompanyToUserVo.setLoginDate(sysUser.getLoginDate()); |
| | | tCompanyToUserVo.setPhonenumber(sysUser.getPhonenumber()); |
| | | tCompanyToUserVo.setStatus(sysUser.getStatus()); |
| | | tCompanyToUserVo.setUserName(sysUser.getUserName()); |
| | | SysUserRole one = userRoleService.getOne(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, sysUser.getUserId())); |
| | | SysRole sysRole = roleService.getOne(new LambdaQueryWrapper<SysRole>().eq(SysRole::getRoleId,one.getRoleId())); |
| | | tCompanyToUserVo.setRoleName(sysRole.getRoleName()); |
| | | // 当前用户的门店ids |
| | | List<Integer> collect = data.stream().filter(e -> e.getUserId().toString().equals(sysUser.getUserId().toString())).map(TCompanyShopToUser::getShopId).collect(Collectors.toList()); |
| | | R<List<TCompanyShop>> listR1 = companyShopClient.queryShopByShopId(collect); |
| | | List<String> shopNames = listR1.getData().stream().map(TCompanyShop::getShopName).collect(Collectors.toList()); |
| | | tCompanyToUserVo.setShopName(shopNames); |
| | | tCompanyToUserVos.add(tCompanyToUserVo); |
| | | } |
| | | PageInfo<TCompanyToUserVo> tCompanyToUserVoPageInfo = new PageInfo<>(); |
| | | BeanUtils.copyProperties(page, tCompanyToUserVoPageInfo); |
| | | tCompanyToUserVoPageInfo.setRecords(tCompanyToUserVos); |
| | | return AjaxResult.success(tCompanyToUserVoPageInfo); |
| | | } |
| | | |
| | | |
| | | |
| | | @Log(title = "账号管理", businessType = BusinessType.INSERT) |
| | | @PostMapping("/addCompanyUser") |
| | | @ApiOperation("账号管理--添加账号") |
| | | @Transactional(propagation = Propagation.REQUIRES_NEW) |
| | | public AjaxResult addCompanyUser(@Validated @RequestBody AddCompanyUserDto dto) { |
| | | SysUser user = dto.getSysUser(); |
| | | if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) { |
| | | return error("手机号已存在,请重新输入"); |
| | | } |
| | | user.setCreateBy(SecurityUtils.getUsername()); |
| | | user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); |
| | | user.setRoleType(3); |
| | | user.setUserName(user.getPhonenumber()); |
| | | if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){ |
| | | user.setNickName(user.getPhonenumber()); |
| | | } |
| | | int i = userService.insertUser(user); |
| | | if (i > 0) { |
| | | // 添加role |
| | | SysUserRole sysUserRole = new SysUserRole(); |
| | | sysUserRole.setRoleId(dto.getRoleId()); |
| | | sysUserRole.setUserId(dto.getSysUser().getUserId()); |
| | | userRoleService.insertSysUserRole(sysUserRole); |
| | | |
| | | // 添加t_company_shop_to_user |
| | | companyShopToUserClient.addUserShop(new AddUserShopClientDto(dto.getSysUser().getUserId(), dto.getShopIds())); |
| | | ArrayList<Integer> id = new ArrayList<>(); |
| | | id.add(dto.getCompanyId()); |
| | | companyShopToUserClient.addUserCompany(new AddUserShopClientDto(dto.getSysUser().getUserId(), id)); |
| | | } |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | |
| | | @Log(title = "账号管理", businessType = BusinessType.INSERT) |
| | | @PostMapping("/companyUserInfo") |
| | | @ApiOperation("账号管理--账号详情") |
| | | @Transactional(propagation = Propagation.REQUIRES_NEW) |
| | | public AjaxResult companyUserInfo(@RequestParam Long userId) { |
| | | SysUser sysUser = userService.selectUserById(userId); |
| | | SysUserRole sysUserRole = userRoleService.getOne(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, userId)); |
| | | CompanyUserVo companyUserVo = new CompanyUserVo(); |
| | | companyUserVo.setRoleId(sysUserRole.getRoleId()); |
| | | companyUserVo.setSysUser(sysUser); |
| | | // 远程根据userID 获取门店id |
| | | R<List<Integer>> shopIdsFromUserId = companyShopToUserClient.getShopIdsFromUserId(userId); |
| | | companyUserVo.setShopIds(shopIdsFromUserId.getData()); |
| | | return AjaxResult.success(companyUserVo); |
| | | } |
| | | |
| | | @Log(title = "账号管理", businessType = BusinessType.INSERT) |
| | | @PostMapping("/updateCompanyUser") |
| | | @ApiOperation("账号管理--修改账号") |
| | | @Transactional(propagation = Propagation.REQUIRES_NEW) |
| | | public AjaxResult updateCompanyUser(@Validated @RequestBody AddCompanyUserDto dto) { |
| | | SysUser user = dto.getSysUser(); |
| | | |
| | | if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) { |
| | | return error("手机号已存在,请重新输入"); |
| | | } |
| | | user.setUserName(user.getPhonenumber()); |
| | | if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){ |
| | | user.setNickName(user.getPhonenumber()); |
| | | } |
| | | if (user.getPassword() != null && !"".equals(user.getPassword())) { |
| | | user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); |
| | | } |
| | | user.setRoleType(1); |
| | | user.setUpdateBy(SecurityUtils.getUsername()); |
| | | user.setUpdateTime(new Date()); |
| | | int i = userService.updateUser(user); |
| | | // if (i > 0) { |
| | | // 原来的role |
| | | SysUserRole one = userRoleService.getOne(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, dto.getSysUser().getUserId())); |
| | | one.setRoleId(dto.getRoleId()); |
| | | //更新新的role |
| | | userRoleService.updateSysUserRole(one); |
| | | |
| | | // 更新t_company_shop_to_user |
| | | companyShopToUserClient.updateUserShop(new AddUserShopClientDto(dto.getSysUser().getUserId(), dto.getShopIds())); |
| | | // } |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | |
| | | @RequiresPermissions(value = {"/systemUserManagement/forbidden"}, logical = Logical.OR) |
| | | @PostMapping("/shopUserStart") |
| | | @ApiOperation("账号管理--停用/启用") |
| | | public AjaxResult shopUserStart(Long userId) { |
| | | if (userId == null) { |
| | | @ApiOperation(value = "账号管理--禁用/启用", tags = {"管理后台-系统用户管理"}) |
| | | public AjaxResult shopUserStart(@RequestBody ShopUserStart shopUserStart) { |
| | | if (shopUserStart.getUserId() == null) { |
| | | return AjaxResult.error("userId不能为空"); |
| | | } |
| | | SysUser sysUser = userService.selectUserById(userId); |
| | | SysUser sysUser = userService.selectUserById(shopUserStart.getUserId()); |
| | | if (sysUser.getStatus().equals("0")) { |
| | | sysUser.setStatus("1"); |
| | | sysUser.setForbiddenRemark(shopUserStart.getRemark()); |
| | | } else { |
| | | sysUser.setStatus("0"); |
| | | sysUser.setForbiddenRemark(""); |
| | | } |
| | | return toAjax(userService.updateUser(sysUser)); |
| | | } |
| | | |
| | | |
| | | @Autowired |
| | | private ISysUserRoleService iSysUserRoleService; |
| | | @GetMapping("/getAllManager") |
| | | @ApiOperation("查询司管角色的用户") |
| | | public AjaxResult getAllManager(@RequestParam Integer companyId, |
| | | @RequestParam(required = false) String nickName, |
| | | @RequestParam(required = false) String userPhone) { |
| | | //根据 公司id查出中间表 |
| | | R<List<TCompanyShopToUser>> companyToUser = companyShopToUserClient.getCompanyToUser(companyId.longValue()); |
| | | List<TCompanyShopToUser> data = companyToUser.getData(); |
| | | if (data == null) { |
| | | return AjaxResult.success(new ArrayList<>()); |
| | | } |
| | | R<List<TCompanyToUser>> companyToUserFromCompanyId = companyShopToUserClient.getCompanyToUserFromCompanyId(companyId.longValue()); |
| | | // |
| | | List<Integer> collect2 = data.stream().map(TCompanyShopToUser::getUserId).collect(Collectors.toList()); |
| | | if(companyToUserFromCompanyId.getData()!=null){ |
| | | List<Integer> collect = companyToUserFromCompanyId.getData().stream().map(TCompanyToUser::getUserId).collect(Collectors.toList()); |
| | | collect2.addAll(collect); |
| | | } |
| | | List<Integer> collect1 = collect2.stream().distinct().collect(Collectors.toList()); |
| | | |
| | | if(collect1.size()==0){ |
| | | collect1.add(-1); |
| | | } |
| | | |
| | | List<UserRoleVO> userRoleVOS = new ArrayList<>(); |
| | | // 查询该公司下的司管用户 |
| | | LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>(); |
| | | if(StringUtils.isNotEmpty(nickName)){ |
| | | wrapper.like(SysUser::getNickName,nickName); |
| | | } |
| | | if(StringUtils.isNotEmpty(userPhone)){ |
| | | wrapper.like(SysUser::getPhonenumber,userPhone); |
| | | } |
| | | wrapper.ne(SysUser::getRoleType,1); |
| | | wrapper.ne(SysUser::getRoleType,2); |
| | | |
| | | // 查询公司绑定的用户 |
| | | List<SysUser> list = userService.list(Wrappers.lambdaQuery(SysUser.class) |
| | | .in(SysUser::getUserId, collect1)); |
| | | if(CollectionUtils.isEmpty(list)){ |
| | | return AjaxResult.success(userRoleVOS); |
| | | }else { |
| | | List<Long> userIds = list.stream().map(SysUser::getUserId).collect(Collectors.toList()); |
| | | wrapper.in(SysUser::getUserId,userIds); |
| | | } |
| | | |
| | | List<SysUser> userList = userService.list(wrapper); |
| | | userList.forEach(e->{ |
| | | UserRoleVO userRoleVO = new UserRoleVO(); |
| | | userRoleVO.setManageId(e.getUserId().intValue()); |
| | | userRoleVO.setManageName(e.getNickName()); |
| | | userRoleVO.setUserName(e.getUserName()); |
| | | userRoleVOS.add(userRoleVO); |
| | | }); |
| | | return AjaxResult.success(userRoleVOS); |
| | | } |
| | | |
| | | |
| | | |
| | | @PostMapping("/getUserList") |
| | |
| | | List<SysUser> list = userService.list(new LambdaQueryWrapper<SysUser>().in(SysUser::getUserId, userIds)); |
| | | return R.ok(list); |
| | | } |
| | | |
| | | |
| | | @PostMapping("/index") |
| | | @ApiOperation("工作台") |
| | | public AjaxResult index(@RequestBody IndexDto dto) { |
| | | R<IndexVo> index = vehicleClient.indexShopIds(dto.getShopIds()); |
| | | return AjaxResult.success(index.getData()==null?new IndexVo():index.getData()); |
| | | } |
| | | |
| | | |
| | | @PostMapping("/getSysUserFromCompanyId") |
| | | public R<List<CompanyUserListVo>> getSysUserFromCompanyId(@RequestBody CompanySysUserReq companySysUserReq) { |
| | |
| | | } |
| | | |
| | | @PostMapping("/getSysUser") |
| | | public R<SysUser> getSysUser(@RequestBody Long userId) { |
| | | public R<SysUser> getSysUser(@RequestParam("userId") Long userId) { |
| | | try { |
| | | SysUser sysUser = userService.selectUserById(userId); |
| | | return R.ok(sysUser); |
| | |
| | | } |
| | | |
| | | @PostMapping("/updateSysUser") |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public R<Boolean> updateSysUser(@RequestBody SysUser sysUser) { |
| | | try { |
| | | sysUser.setUpdateBy(SecurityUtils.getUsername()); |
| | | sysUser.setUpdateTime(new Date()); |
| | | userService.updateUser(sysUser); |
| | | if(null != sysUser.getRoleId()){ |
| | | userRoleService.deleteSysUserRoleByUserId(sysUser.getUserId()); |
| | | SysUserRole sysUserRole = new SysUserRole(); |
| | | sysUserRole.setRoleId(sysUser.getRoleId()); |
| | | sysUserRole.setUserId(sysUser.getUserId()); |
| | | userRoleService.insertSysUserRole(sysUserRole); |
| | | } |
| | | return R.ok(true); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return R.ok(); |
| | | return R.fail(); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | |
| | | @Log(title = "用户管理", businessType = BusinessType.EXPORT) |
| | | @RequiresPermissions("system:user:export") |
| | | @PostMapping("/export") |
| | | public void export(HttpServletResponse response, SysUser user) { |
| | | List<SysUser> list = userService.selectUserList(user); |
| | | ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); |
| | | util.exportExcel(response, list, "用户数据"); |
| | | } |
| | | |
| | | @PostMapping("/importTemplate") |
| | | public void importTemplate(HttpServletResponse response) throws IOException { |
| | | ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); |
| | | util.importTemplateExcel(response, "用户数据"); |
| | | } |
| | | |
| | | @Log(title = "用户管理", businessType = BusinessType.IMPORT) |
| | | @RequiresPermissions("system:user:import") |
| | | @PostMapping("/importData") |
| | | public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception { |
| | | ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); |
| | | List<SysUser> userList = util.importExcel(file.getInputStream()); |
| | | String operName = SecurityUtils.getUsername(); |
| | | String message = userService.importUser(userList, updateSupport, operName); |
| | | return success(message); |
| | | } |
| | | |
| | | /** |
| | | * 获取当前用户信息 |
| | | */ |
| | |
| | | sysUserVo.setSysUser(sysUser); |
| | | sysUserVo.setRoles(roles); |
| | | sysUserVo.setPermissions(permissions); |
| | | |
| | | return R.ok(sysUserVo); |
| | | } |
| | | |
| | | /** |
| | | * 注册用户信息 |
| | | */ |
| | | @InnerAuth |
| | | @PostMapping("/register") |
| | | public R<Boolean> register(@RequestBody SysUser sysUser) { |
| | | String username = sysUser.getUserName(); |
| | |
| | | */ |
| | | @GetMapping("/getInfo") |
| | | public AjaxResult getInfo() { |
| | | SysUser user = userService.selectUserById(SecurityUtils.getUserId()); |
| | | SysUser user = userService.selectUserById(tokenService.getLoginUser().getUserid()); |
| | | // 角色集合 |
| | | Set<String> roles = permissionService.getRolePermission(user); |
| | | // 权限集合 |
| | |
| | | /** |
| | | * 重置密码 |
| | | */ |
| | | @RequiresPermissions("system:user:edit") |
| | | @RequiresPermissions(value = {"/systemUserManagement/reset_passwords"}, logical = Logical.OR) |
| | | @Log(title = "用户管理", businessType = BusinessType.UPDATE) |
| | | @PutMapping("/resetPwd") |
| | | @ApiOperation(value = "重置密码", tags = {"管理后台-系统用户管理"}) |
| | | public AjaxResult resetPwd(@RequestBody SysUser user) { |
| | | userService.checkUserAllowed(user); |
| | | userService.checkUserDataScope(user.getUserId()); |
| | |
| | | /** |
| | | * 状态修改 |
| | | */ |
| | | @RequiresPermissions("system:user:edit") |
| | | @Log(title = "用户管理", businessType = BusinessType.UPDATE) |
| | | @PutMapping("/changeStatus") |
| | | public AjaxResult changeStatus(@RequestBody SysUser user) { |
| | |
| | | /** |
| | | * 根据用户编号获取授权角色 |
| | | */ |
| | | @RequiresPermissions("system:user:query") |
| | | @GetMapping("/authRole/{userId}") |
| | | public AjaxResult authRole(@PathVariable("userId") Long userId) { |
| | | AjaxResult ajax = AjaxResult.success(); |
| | |
| | | /** |
| | | * 用户授权角色 |
| | | */ |
| | | @RequiresPermissions("system:user:edit") |
| | | @Log(title = "用户管理", businessType = BusinessType.GRANT) |
| | | @PutMapping("/authRole") |
| | | public AjaxResult insertAuthRole(Long userId, Long[] roleIds) { |
| | |
| | | /** |
| | | * 获取部门树列表 |
| | | */ |
| | | @RequiresPermissions("system:user:list") |
| | | @GetMapping("/deptTree") |
| | | public AjaxResult deptTree(SysDept dept) { |
| | | return success(deptService.selectDeptTreeList(dept)); |
| | |
| | | * @param userId |
| | | * @return |
| | | */ |
| | | @GetMapping("/queryRoleByUserId/{userId}") |
| | | @PostMapping("/queryRoleByUserId/{userId}") |
| | | public R<SysRole> queryRoleByUserId(@PathVariable("userId") Long userId){ |
| | | SysUserRole one = sysUserRoleService.getOne(Wrappers.lambdaQuery(SysUserRole.class) |
| | | .eq(SysUserRole::getUserId, userId) |
| | |
| | | } |
| | | |
| | | |
| | | @GetMapping("/queryRoleByRoleId/{roleId}") |
| | | @PostMapping("/queryRoleByRoleId/{roleId}") |
| | | public R<SysRole> queryRoleByRoleId(@PathVariable("roleId") Long roleId){ |
| | | return R.ok( roleService.getOne(Wrappers.lambdaQuery(SysRole.class) |
| | | .eq(SysRole::getRoleId, roleId) |
| | |
| | | * @param userName |
| | | * @return |
| | | */ |
| | | @ResponseBody |
| | | @PostMapping("/queryUserByUserName") |
| | | public R<SysUser> queryUserByUserName(@RequestBody String userName){ |
| | | SysUser user = userService.getOne(Wrappers.lambdaQuery(SysUser.class) |
| | |
| | | .last("LIMIT 1")); |
| | | return R.ok(user); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 添加管理员 |
| | | * @param user |
| | | */ |
| | | @ResponseBody |
| | | @PostMapping("/addSysUser") |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public R<Long> addSysUser(@RequestBody SysUser user) { |
| | | if(StringUtils.isEmpty(user.getUserName())){ |
| | | user.setUserName(user.getPhonenumber()); |
| | | } |
| | | if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){ |
| | | user.setNickName(user.getPhonenumber()); |
| | | } |
| | | // if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) { |
| | | // throw new RuntimeException("手机号已开通账号"); |
| | | // } |
| | | if (StringUtils.isNotEmpty(user.getUserName()) && !userService.checkUserNameUnique(user)) { |
| | | throw new RuntimeException("登录账号已存在"); |
| | | } |
| | | user.setCreateBy(SecurityUtils.getUsername()); |
| | | user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); |
| | | if(null == user.getRoleType()){ |
| | | user.setRoleType(1); |
| | | } |
| | | userService.insertUser(user); |
| | | SysUserRole sysUserRole = new SysUserRole(); |
| | | sysUserRole.setRoleId(user.getRoleId()); |
| | | sysUserRole.setUserId(user.getUserId()); |
| | | userRoleService.insertSysUserRole(sysUserRole); |
| | | return R.ok(user.getUserId()); |
| | | } |
| | | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/resetPassword") |
| | | public R resetPassword(@RequestBody SysUser user) { |
| | | user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); |
| | | user.setUpdateBy(SecurityUtils.getUsername()); |
| | | userService.resetPwd(user); |
| | | return R.ok(); |
| | | } |
| | | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/getSysUserById") |
| | | public SysUser getSysUserById(@RequestParam("userId") Long userId){ |
| | | return userService.getById(userId); |
| | | } |
| | | } |