| | |
| | | package com.ruoyi.system.controller; |
| | | |
| | | import java.io.IOException; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.ruoyi.common.core.utils.StringUtils; |
| | | import com.ruoyi.common.core.web.page.PageInfo; |
| | | |
| | | import com.ruoyi.system.api.model.*; |
| | | import com.ruoyi.system.domain.SysUserRole; |
| | | import com.ruoyi.system.service.*; |
| | | 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.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.StringUtils; |
| | | import com.ruoyi.common.core.utils.page.PageDTO; |
| | | 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.core.web.page.PageInfo; |
| | | import com.ruoyi.common.log.annotation.Log; |
| | | import com.ruoyi.common.log.enums.BusinessType; |
| | | import com.ruoyi.common.security.annotation.InnerAuth; |
| | |
| | | import com.ruoyi.system.api.domain.SysDept; |
| | | import com.ruoyi.system.api.domain.SysRole; |
| | | import com.ruoyi.system.api.domain.SysUser; |
| | | import com.ruoyi.system.api.model.LoginUser; |
| | | import com.ruoyi.system.domain.SysUserRole; |
| | | import com.ruoyi.system.domain.dto.SupplierDTO; |
| | | import com.ruoyi.system.domain.dto.SupplierQuery; |
| | | import com.ruoyi.system.domain.vo.SupplierVO; |
| | | import com.ruoyi.system.service.ISysConfigService; |
| | | import com.ruoyi.system.service.ISysDeptService; |
| | | import com.ruoyi.system.service.ISysPermissionService; |
| | | import com.ruoyi.system.service.ISysPostService; |
| | | import com.ruoyi.system.service.ISysRoleService; |
| | | import com.ruoyi.system.service.ISysUserRoleService; |
| | | import com.ruoyi.system.service.ISysUserService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import java.io.IOException; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.Set; |
| | | import java.util.stream.Collectors; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import org.apache.commons.lang3.ArrayUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.DeleteMapping; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.PathVariable; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.PutMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | /** |
| | | * 用户信息 |
| | |
| | | return R.ok(list); |
| | | } |
| | | |
| | | @PostMapping("/getSysUserFromCompanyId") |
| | | public R<List<CompanyUserListVo>> getSysUserFromCompanyId(@RequestBody CompanySysUserReq companySysUserReq) { |
| | | LambdaQueryWrapper<SysUser> sysUserLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | if (companySysUserReq.getUserIds().size() == 0) { |
| | | List<Integer> userIds = companySysUserReq.getUserIds(); |
| | | userIds.add(-1); |
| | | companySysUserReq.setUserIds(userIds); |
| | | } |
| | | sysUserLambdaQueryWrapper.in(SysUser::getUserId, companySysUserReq.getUserIds()); |
| | | if (companySysUserReq.getName() != null && !"".equals(companySysUserReq.getName())) { |
| | | sysUserLambdaQueryWrapper.like(SysUser::getUserName, companySysUserReq.getName()).or().like(SysUser::getPhonenumber, companySysUserReq.getName()); |
| | | } |
| | | sysUserLambdaQueryWrapper.eq(SysUser::getRoleType,2); |
| | | List<SysUser> list = userService.list(sysUserLambdaQueryWrapper); |
| | | ArrayList<CompanyUserListVo> companyUserListVos = new ArrayList<>(); |
| | | for (SysUser sysUser : list) { |
| | | CompanyUserListVo companyUserListVo = new CompanyUserListVo(); |
| | | companyUserListVo.setId(sysUser.getUserId()); |
| | | companyUserListVo.setPassword(sysUser.getPassword()); |
| | | companyUserListVo.setPhoneNumber(sysUser.getPhonenumber()); |
| | | companyUserListVo.setUserName(sysUser.getUserName()); |
| | | companyUserListVo.setNickName(sysUser.getNickName()); |
| | | companyUserListVos.add(companyUserListVo); |
| | | } |
| | | return R.ok(companyUserListVos); |
| | | } |
| | | |
| | | @PostMapping("/getSysUserFromCompanyIdOne") |
| | | public R<List<CompanyUserListVo>> getSysUserFromCompanyIdOne(@RequestBody CompanySysUserReq companySysUserReq) { |
| | | LambdaQueryWrapper<SysUser> sysUserLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | sysUserLambdaQueryWrapper.eq(SysUser::getRoleType, 2); |
| | | if (companySysUserReq.getName() != null && !"".equals(companySysUserReq.getName())) { |
| | | sysUserLambdaQueryWrapper.like(SysUser::getPhonenumber, companySysUserReq.getName()); |
| | | } |
| | | List<SysUser> list = userService.list(sysUserLambdaQueryWrapper); |
| | | ArrayList<CompanyUserListVo> companyUserListVos = new ArrayList<>(); |
| | | for (SysUser sysUser : list) { |
| | | CompanyUserListVo companyUserListVo = new CompanyUserListVo(); |
| | | companyUserListVo.setId(sysUser.getUserId()); |
| | | companyUserListVo.setPassword(sysUser.getPassword()); |
| | | companyUserListVo.setPhoneNumber(sysUser.getPhonenumber()); |
| | | companyUserListVo.setUserName(sysUser.getUserName()); |
| | | companyUserListVo.setNickName(sysUser.getNickName()); |
| | | companyUserListVos.add(companyUserListVo); |
| | | } |
| | | return R.ok(companyUserListVos); |
| | | } |
| | | @PostMapping("/isAdmin") |
| | | public R<Integer> isAdmin(@RequestBody Long userId){ |
| | | SysUserRole one = sysUserRoleService.getOne(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, userId)); |
| | |
| | | return R.ok(); |
| | | } |
| | | } |
| | | |
| | | |
| | | @PostMapping("/companySaveSysUser") |
| | | public R<List<Integer>> companySaveSysUser(@RequestBody CompanyAddSysUserDto dto) { |
| | | List<CompanyUserListVo> list = dto.getList(); |
| | | ArrayList<Integer> userIds = new ArrayList<>(); |
| | | try { |
| | | for (CompanyUserListVo companyUserListVo : list) { |
| | | List<Long> ids = userService.getSysUserFromPhone(companyUserListVo.getPhoneNumber()); |
| | | SysUser sysUser = new SysUser(); |
| | | if (ids.size() > 0) { |
| | | sysUser.setRoleType(2); |
| | | sysUser.setObjectId(dto.getCompanyId()); |
| | | if(companyUserListVo.getPassword()!=null){ |
| | | sysUser.setPassword(SecurityUtils.encryptPassword(companyUserListVo.getPassword())); |
| | | } |
| | | sysUser.setPhonenumber(companyUserListVo.getPhoneNumber()); |
| | | sysUser.setUserName(companyUserListVo.getPhoneNumber()); |
| | | sysUser.setNickName(companyUserListVo.getNickName()); |
| | | sysUser.setUserId(ids.get(0).longValue()); |
| | | userService.updateUser(sysUser); |
| | | userIds.add(ids.get(0).intValue()); |
| | | } else { |
| | | |
| | | sysUser.setRoleType(2); |
| | | sysUser.setObjectId(dto.getCompanyId()); |
| | | if(companyUserListVo.getPassword()!=null){ |
| | | sysUser.setPassword(SecurityUtils.encryptPassword(companyUserListVo.getPassword())); |
| | | } |
| | | sysUser.setPhonenumber(companyUserListVo.getPhoneNumber()); |
| | | sysUser.setUserName(companyUserListVo.getPhoneNumber()); |
| | | sysUser.setNickName(companyUserListVo.getNickName()); |
| | | sysUser.setCreateBy(SecurityUtils.getUsername()); |
| | | sysUser.setCreateTime(new Date()); |
| | | userService.insertUser(sysUser); |
| | | SysUserRole sysUserRole = new SysUserRole(); |
| | | sysUserRole.setRoleId(20l); |
| | | sysUserRole.setUserId(sysUser.getUserId()); |
| | | sysUserRoleService.insertSysUserRole(sysUserRole); |
| | | userIds.add(sysUser.getUserId().intValue()); |
| | | } |
| | | } |
| | | return R.ok(userIds); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return R.ok(new ArrayList<>()); |
| | | } |
| | | } |
| | | |
| | | |
| | | @PostMapping("/addTRepairSysUser") |
| | | public R<List<Integer>> addTRepairSysUser(@RequestBody TRepairShopAddDto dto) { |
| | | List<TRepairShopAdd> list = dto.getList(); |
| | | ArrayList<Integer> userIds = new ArrayList<>(); |
| | | try { |
| | | for (TRepairShopAdd add : list) { |
| | | List<Long> ids = userService.getSysUserFromPhone(add.getPhonenumber()); |
| | | if (ids.size() > 0) { |
| | | userIds.add(ids.get(0).intValue()); |
| | | } else { |
| | | SysUser sysUser = new SysUser(); |
| | | sysUser.setPhonenumber(add.getPhonenumber()); |
| | | sysUser.setCreateTime(new Date()); |
| | | sysUser.setCreateBy(SecurityUtils.getUsername()); |
| | | sysUser.setPassword(SecurityUtils.encryptPassword(add.getPwd())); |
| | | sysUser.setRoleType(4); |
| | | sysUser.setObjectId(dto.getRepairId()); |
| | | sysUser.setUserName(add.getPhonenumber()); |
| | | sysUser.setNickName(add.getPhonenumber()); |
| | | userService.insertUser(sysUser); |
| | | userIds.add(sysUser.getUserId().intValue()); |
| | | } |
| | | } |
| | | return R.ok(userIds); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return R.ok(new ArrayList<>()); |
| | | } |
| | | } |
| | | |
| | | |
| | | @Log(title = "用户管理", businessType = BusinessType.EXPORT) |
| | | @RequiresPermissions("system:user:export") |
| | |
| | | */ |
| | | @InnerAuth |
| | | @PostMapping("/register") |
| | | public R<Boolean> register(@RequestBody SysUser sysUser) { |
| | | public R<SysUser> register(@RequestBody SysUser sysUser) { |
| | | String username = sysUser.getUserName(); |
| | | if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser")))) { |
| | | return R.fail("当前系统没有开启注册功能!"); |
| | |
| | | } |
| | | return R.ok(userService.registerUser(sysUser)); |
| | | } |
| | | |
| | | @PostMapping("/registerUser") |
| | | public R<SysUser> registerUser(@RequestBody SysUser sysUser){ |
| | | sysUser = userService.registerUser(sysUser); |
| | | return R.ok(sysUser); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取用户信息 |
| | |
| | | return toAjax(userService.resetPwd(user)); |
| | | } |
| | | |
| | | /** |
| | | * 获取当前用户信息 |
| | | */ |
| | | @InnerAuth |
| | | @Log(title = "用户管理", businessType = BusinessType.UPDATE) |
| | | @PutMapping("/change-password") |
| | | public R<LoginUser> info(@RequestParam("username") String username, |
| | | @RequestParam("password") String password) { |
| | | SysUser user = userService.selectUserByUserName(username); |
| | | user.setPassword(password); |
| | | user.setUpdateBy(SecurityUtils.getUsername()); |
| | | int i = userService.updateUser(user); |
| | | if (i == 1) { |
| | | return R.ok(); |
| | | } else { |
| | | return R.fail(); |
| | | } |
| | | } |
| | | /** |
| | | * 状态修改 |
| | | */ |
| | |
| | | } |
| | | |
| | | /** |
| | | * 默认批量添加修理厂 |
| | | * @param dtoList |
| | | * @return |
| | | */ |
| | | @PostMapping("/addUserRole") |
| | | public R<Boolean> addUserRole(@RequestBody List<SysUserRoleDTO> dtoList){ |
| | | List<SysUserRole> userRoles = new ArrayList<>(); |
| | | for (SysUserRoleDTO userRoleDTO : dtoList) { |
| | | SysUserRole userRole = new SysUserRole(); |
| | | userRole.setRoleId(userRoleDTO.getRoleId()); |
| | | userRole.setUserId(userRoleDTO.getUserId()); |
| | | userRoles.add(userRole); |
| | | } |
| | | return R.ok(sysUserRoleService.saveBatch(userRoles)); |
| | | } |
| | | |
| | | /** |
| | | * 通过手机号查询用户 |
| | | * @param phone |
| | | * @return |
| | |
| | | return R.ok(user); |
| | | } |
| | | |
| | | /** |
| | | * 获取供应商分页列表 |
| | | * |
| | | * @param query 供应商列表查询数据传输对象 |
| | | * @return PageDTO<SupplyUserVO> |
| | | */ |
| | | @ApiOperation(value = "获取供应商分页列表", notes = "获取供应商分页列表") |
| | | @PostMapping("/supplier-page") |
| | | public R<PageDTO<SupplierVO>> getSupplierPage(@Validated @RequestBody SupplierQuery query) { |
| | | return R.ok(userService.getSupplierPage(query)); |
| | | } |
| | | |
| | | /** |
| | | * 添加/编辑供应商 |
| | | * |
| | | * @param dto 供应商数据传输对象 |
| | | */ |
| | | @Log(title = "供应商管理", businessType = BusinessType.UPDATE) |
| | | @ApiOperation(value = "添加/编辑供应商", notes = "添加/编辑供应商") |
| | | @PostMapping("/save-supplier") |
| | | public R<?> saveSupplier(@Validated @RequestBody SupplierDTO dto) { |
| | | userService.saveSupplier(dto); |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * 删除供应商 |
| | | * |
| | | * @param id 供应商id |
| | | */ |
| | | @ApiOperation(value = "删除供应商", notes = "删除供应商") |
| | | @DeleteMapping("/delete-supplier/{id}") |
| | | public R<?> deleteSupplier(@PathVariable("id") Long id) { |
| | | userService.deleteSupplier(id); |
| | | return R.ok(); |
| | | } |
| | | |
| | | @InnerAuth |
| | | @GetMapping("/list-by-name") |
| | | R<List<SysUser>> getUserListByName(@RequestBody SysUser sysUser) { |
| | | List<SysUser> list = userService.lambdaQuery() |
| | | .like(StringUtils.isNotBlank(sysUser.getNickName()), SysUser::getNickName, |
| | | sysUser.getNickName()) |
| | | .like(StringUtils.isNotBlank(sysUser.getPhonenumber()), SysUser::getPhonenumber, |
| | | sysUser.getPhonenumber()) |
| | | .eq(SysUser::getUserType, "00") |
| | | .eq(SysUser::getDelFlag, 0).list(); |
| | | return R.ok(list); |
| | | } |
| | | } |