|  |  |  | 
|---|
|  |  |  | 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.system.domain.dto.IndexDto; | 
|---|
|  |  |  | import com.ruoyi.system.domain.vo.UserRoleVO; | 
|---|
|  |  |  | 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.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 | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private ISysUserRoleService userRoleService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private ISysUserRoleService sysUserRoleService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private UserSiteClient userSiteClient; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private RoleSiteClient roleSiteClient; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private SiteClient siteClient; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取用户列表 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @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("/getChangeUserList") | 
|---|
|  |  |  | @ApiOperation(value = "获取用户选择列表", tags = {"管理后台-获取用户选择列表"}) | 
|---|
|  |  |  | public AjaxResult<PageInfo<SysUser>> getChangeUserList(@RequestBody ChangeUserQuery query) { | 
|---|
|  |  |  | return AjaxResult.success(userService.getChangeUserList(query)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @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); | 
|---|
|  |  |  | userService.insertUser(user); | 
|---|
|  |  |  | SysUserRole sysUserRole = new SysUserRole(); | 
|---|
|  |  |  | 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(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @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(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @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())); | 
|---|
|  |  |  | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @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); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //删除旧的站点数据后添加新的 | 
|---|
|  |  |  | 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(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Log(title = "用户管理", businessType = BusinessType.DELETE) | 
|---|
|  |  |  | @DeleteMapping("/{userIds}") | 
|---|
|  |  |  | @ApiOperation("删除管理员") | 
|---|
|  |  |  | @ApiOperation(value = "删除系统用户", tags = {"管理后台-系统用户管理"}) | 
|---|
|  |  |  | public AjaxResult remove(@PathVariable Long[] userIds) { | 
|---|
|  |  |  | if (ArrayUtils.contains(userIds, SecurityUtils.getUserId())) { | 
|---|
|  |  |  | return error("当前用户不能删除"); | 
|---|
|  |  |  | 
|---|
|  |  |  | return toAjax(userService.deleteUserByIds(userIds)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @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); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | return AjaxResult.success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @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; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @PostMapping("/getUserList") | 
|---|
|  |  |  | 
|---|
|  |  |  | sysUser.setUpdateBy(SecurityUtils.getUsername()); | 
|---|
|  |  |  | sysUser.setUpdateTime(new Date()); | 
|---|
|  |  |  | userService.updateUser(sysUser); | 
|---|
|  |  |  | userRoleService.deleteSysUserRoleByUserId(sysUser.getUserId()); | 
|---|
|  |  |  | SysUserRole sysUserRole = new SysUserRole(); | 
|---|
|  |  |  | sysUserRole.setRoleId(sysUser.getRoleId()); | 
|---|
|  |  |  | sysUserRole.setUserId(sysUser.getUserId()); | 
|---|
|  |  |  | userRoleService.insertSysUserRole(sysUserRole); | 
|---|
|  |  |  | 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(); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @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); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取当前用户信息 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 注册用户信息 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @InnerAuth | 
|---|
|  |  |  | @PostMapping("/register") | 
|---|
|  |  |  | public R<Boolean> register(@RequestBody SysUser sysUser) { | 
|---|
|  |  |  | String username = sysUser.getUserName(); | 
|---|
|  |  |  | 
|---|
|  |  |  | @RequiresPermissions("system:user:edit") | 
|---|
|  |  |  | @Log(title = "用户管理", businessType = BusinessType.UPDATE) | 
|---|
|  |  |  | @PutMapping("/resetPwd") | 
|---|
|  |  |  | @ApiOperation(value = "重置密码", tags = {"管理后台-系统用户管理"}) | 
|---|
|  |  |  | public AjaxResult resetPwd(@RequestBody SysUser user) { | 
|---|
|  |  |  | userService.checkUserAllowed(user); | 
|---|
|  |  |  | userService.checkUserDataScope(user.getUserId()); | 
|---|
|  |  |  | 
|---|
|  |  |  | * @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) | 
|---|
|  |  |  | 
|---|
|  |  |  | @PostMapping("/addSysUser") | 
|---|
|  |  |  | @Transactional(rollbackFor = Exception.class) | 
|---|
|  |  |  | public R addSysUser(@RequestBody SysUser user){ | 
|---|
|  |  |  | user.setUserName(user.getPhonenumber()); | 
|---|
|  |  |  | if(StringUtils.isEmpty(user.getUserName())){ | 
|---|
|  |  |  | user.setUserName(user.getPhonenumber()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){ | 
|---|
|  |  |  | user.setNickName(user.getPhonenumber()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | user.setCreateBy(SecurityUtils.getUsername()); | 
|---|
|  |  |  | user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); | 
|---|
|  |  |  | user.setRoleType(1); | 
|---|
|  |  |  | if(null == user.getRoleType()){ | 
|---|
|  |  |  | user.setRoleType(1); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | userService.insertUser(user); | 
|---|
|  |  |  | SysUserRole sysUserRole = new SysUserRole(); | 
|---|
|  |  |  | sysUserRole.setRoleId(user.getRoleId()); | 
|---|
|  |  |  | 
|---|
|  |  |  | userService.resetPwd(user); | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ResponseBody | 
|---|
|  |  |  | @PostMapping("/getSysUserById") | 
|---|
|  |  |  | public SysUser getSysUserById(@RequestParam("userId") Long userId){ | 
|---|
|  |  |  | return userService.getById(userId); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|