123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290 |
- package com.example.civilizedcity.controller;
-
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.example.civilizedcity.common.BaseController;
- import com.example.civilizedcity.common.Constants;
- import com.example.civilizedcity.common.ResponseBean;
-
- import java.time.LocalDateTime;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
-
- import com.example.civilizedcity.common.StringUtils;
- import com.example.civilizedcity.entity.SysResource;
- import com.example.civilizedcity.entity.SysRole;
- import com.example.civilizedcity.service.SysResourceService;
- import com.example.civilizedcity.service.SysRoleService;
- import com.example.civilizedcity.service.SysUserDutyService;
- import com.example.civilizedcity.vo.ChangePassword;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import io.swagger.annotations.ApiParam;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import com.example.civilizedcity.entity.SysUser;
- import com.example.civilizedcity.service.SysUserService;
-
- /**
- * 用户表;(sys_user)表控制层
- *
- * @author : http://njyunzhi.com
- * @date : 2022-12-12
- */
- @Api(tags = "用户表对象功能接口")
- @RestController
- @RequestMapping("/")
- public class SysUserController extends BaseController {
-
- @Autowired
- SysRoleService sysRoleService;
-
- @Autowired
- SysResourceService sysResourceService;
-
- @Autowired
- SysUserDutyService sysUserDutyService;
-
- /**
- * 通过ID查询单条数据
- *
- * @param userId 主键
- * @return 实例对象
- */
- @ApiOperation("通过ID查询单条数据")
- @GetMapping("/sysUser/{id}")
- public ResponseBean queryById(@ApiParam("对象ID") @PathVariable String id) throws Exception {
- SysUser sysUser = sysUserService.getById(id);
- if (null == sysUser || sysUser.getStatus() == Constants.STATUS_DELETE) {
- return ResponseBean.error("用户不存在");
- }
-
- return ResponseBean.success(getPermissions(sysUser));
- }
-
- /**
- * 查询当前人员
- *
- * @param
- * @return 实例对象
- */
- @ApiOperation("查询当前人员")
- @GetMapping("/sysUser/current")
- public ResponseBean current() throws Exception {
- SysUser sysUser = currentUser();
- return ResponseBean.success(getPermissions(sysUser));
- }
-
- private SysUser getPermissions(SysUser sysUser) {
- List<SysRole> rolesList = sysRoleService.getByUser(sysUser.getUserId());
- List<SysResource> resourcesList = sysResourceService.getByUser(sysUser.getUserId());
- List<String> dutyList = sysUserDutyService.getListByUser(sysUser.getUserId());
-
- sysUser.setRolesList(rolesList);
- sysUser.setResourcesList(resourcesList);
- sysUser.setDutyList(dutyList);
-
- return sysUser;
- }
-
- /**
- * 分页查询
- *
- * @param pageNum 当前页码
- * @param pageSize 每页条数
- * @return 查询结果
- */
- @ApiOperation("分页查询")
- @GetMapping("/sysUser")
- public ResponseBean list(@ApiParam("页码") @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
- @ApiParam("单页数据量") @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
- @ApiParam("姓名") @RequestParam(value = "name", required = false) String name,
- @ApiParam("机构") @RequestParam(value = "orgId", required = false) String orgId,
- @ApiParam("手机号") @RequestParam(value = "phone", required = false) String phone) throws Exception {
-
- IPage<SysUser> pg = new Page<>(pageNum, pageSize);
- QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>();
- queryWrapper.like(!StringUtils.isEmpty(name), "name", name);
- queryWrapper.eq(!StringUtils.isEmpty(orgId), "org_id", orgId);
- queryWrapper.like(!StringUtils.isEmpty(phone), "phone", phone);
- queryWrapper.eq("is_user", 1);
- queryWrapper.gt("status", Constants.STATUS_DELETE);
- queryWrapper.ne("user_id", Constants.ROOT_ID);
- queryWrapper.orderByDesc("create_date");
- IPage<SysUser> result = sysUserService.page(pg, queryWrapper);
-
- return ResponseBean.success(result);
- }
-
- /**
- * 小程序端分页查询
- *
- * @param pageNum 当前页码
- * @param pageSize 每页条数
- * @return 查询结果
- */
- @ApiOperation("小程序端分页查询")
- @GetMapping("/ma/sysUser")
- public ResponseBean maList(@ApiParam("页码") @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
- @ApiParam("单页数据量") @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) throws Exception {
-
- IPage<SysUser> pg = new Page<>(pageNum, pageSize);
- QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("org_id", currentUser().getOrgId());
- queryWrapper.eq("is_from_wx", 1);
- queryWrapper.gt("status", Constants.STATUS_DELETE);
- queryWrapper.orderByDesc("create_date");
- IPage<SysUser> result = sysUserService.page(pg, queryWrapper);
-
- List<SysUser> list = result.getRecords();
- if (null != list || list.size() > 0) {
- for (SysUser sysUser : list) {
- sysUser.setDutyList(sysUserDutyService.getListByUser(sysUser.getUserId()));
- }
- }
-
- return ResponseBean.success(result);
- }
-
- /**
- * 新增数据
- *
- * @param sysUser 实例对象
- * @return 实例对象
- */
- @ApiOperation("新增数据")
- @PostMapping("/sysUser")
- public ResponseBean add(@ApiParam("对象实体") @RequestBody SysUser sysUser) throws Exception {
- if (null == sysUser.getOrgId()) {
- sysUser.setOrgId(currentUser().getOrgId());
- }
-
- sysUserService.mergeData(sysUser);
- return ResponseBean.success(sysUser);
- }
-
-
- /**
- * 小程序端新增数据
- *
- * @param sysUser 实例对象
- * @return 实例对象
- */
- @ApiOperation("小程序端新增数据")
- @PostMapping("/ma/sysUser")
- public ResponseBean addMa(@ApiParam("对象实体") @RequestBody SysUser sysUser) throws Exception {
- if (StringUtils.isEmpty(sysUser.getPhone())) {
- return ResponseBean.error("请填写手机号");
- }
- if (StringUtils.isEmpty(sysUser.getName())) {
- return ResponseBean.error("请填写名称");
- }
-
- SysUser user = currentUser();
-
- SysUser origin = sysUserService.getByPhone(sysUser.getPhone(), user.getOrgId());
- if (null != origin) {
- if (StringUtils.isNotEmpty(sysUser.getUserId()) && !sysUser.getUserId().equals(origin.getUserId())) {
- return ResponseBean.error("当前人员已存在");
- }
-
- sysUser.setUserId(origin.getUserId());
- if (null != sysUser.getStatus() && Constants.STATUS_DELETE == sysUser.getStatus()) {
- // 如果这个人被删除了, 则重置为正常状态
- sysUser.setStatus(Constants.STATUS_NORMAL);
- }
- }
-
- sysUserService.createMaUser(sysUser, user);
- return ResponseBean.success(sysUser);
- }
-
- /**
- * 更新数据
- *
- * @param id 实例ID
- * @return 实例对象
- */
- @ApiOperation("更新数据")
- @PutMapping("/sysUser/{id}/status")
- public ResponseBean edit(@ApiParam("对象ID") @PathVariable String id,
- @ApiParam("页码") @RequestParam(value = "status") Integer status) throws Exception {
-
- SysUser sysUser = sysUserService.getById(id);
- sysUser.setStatus(status);
-
- sysUserService.updateById(sysUser);
- return ResponseBean.success(sysUser);
- }
-
- // /**
- // * 更新数据
- // *
- // * @param sysUser 实例对象
- // * @return 实例对象
- // */
- // @ApiOperation("更新数据")
- // @PutMapping("/sysUser/{id}")
- // public ResponseBean edit(@ApiParam("对象实体") @RequestBody SysUser sysUser,
- // @ApiParam("对象ID") @PathVariable String id ) throws Exception {
- // sysUserService.updateById(sysUser);
- // return ResponseBean.success(sysUser);
- // }
-
-
- @PutMapping("/ma/sysUser/change-password")
- @ApiOperation(value="小程序端修改密码", notes = "修改密码", httpMethod = "PUT", response = ResponseBean.class)
- public ResponseBean changePassword(@ApiParam("修改密码参数") @RequestBody ChangePassword param) throws Exception {
- if (StringUtils.isEmpty(param.getOriginPassword()) || StringUtils.isEmpty(param.getNewPassword())) {
- return ResponseBean.error("原始密码或新密码不能为空", ResponseBean.ERROR_ILLEGAL_PARAMS);
- }
-
- SysUser user = currentUser();
-
- boolean isOk = sysUserService.changePassword(user, param);
- if (!isOk) {
- ResponseBean.error("修改失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
- }
-
- return ResponseBean.success("密码修改成功");
- }
-
- /**
- * 通过主键删除数据
- *
- * @param userId 主键
- * @return 是否成功
- */
- @ApiOperation("通过主键删除数据")
- @DeleteMapping("/sysUser/{id}")
- public ResponseBean deleteById(@ApiParam("对象ID") @PathVariable String id) {
- sysUserService.removeLogicById(id);
- return ResponseBean.success("success");
- }
-
- /**
- * 小程序端通过主键删除数据
- *
- * @param userId 主键
- * @return 是否成功
- */
- @ApiOperation("小程序端通过主键删除数据")
- @DeleteMapping("/ma/sysUser/{id}")
- public ResponseBean deleteMaById(@ApiParam("对象ID") @PathVariable String id) throws Exception {
-
- SysUser user = sysUserService.getById(id);
- if (null == user || Constants.STATUS_DELETE == user.getStatus()) {
- return ResponseBean.error("人员不存在");
- }
-
- SysUser sysUser = currentUser();
- if (!sysUser.getOrgId().equals(user.getOrgId())) {
- return ResponseBean.error("暂无权限");
- }
-
- sysUserService.removeLogicById(id);
- return ResponseBean.success("success");
- }
- }
|