|
|
@@ -1,266 +0,0 @@
|
|
|
-package com.fs.hospital.controller.hospital;
|
|
|
-
|
|
|
-import com.alibaba.fastjson.JSON;
|
|
|
-import com.alibaba.fastjson.JSONObject;
|
|
|
-import com.fs.common.annotation.Log;
|
|
|
-import com.fs.common.constant.UserConstants;
|
|
|
-import com.fs.common.core.controller.BaseController;
|
|
|
-import com.fs.common.core.domain.AjaxResult;
|
|
|
-import com.fs.common.core.domain.R;
|
|
|
-import com.fs.common.core.page.TableDataInfo;
|
|
|
-import com.fs.common.enums.BusinessType;
|
|
|
-import com.fs.common.utils.ServletUtils;
|
|
|
-import com.fs.common.utils.StringUtils;
|
|
|
-import com.fs.common.utils.poi.ExcelUtil;
|
|
|
-import com.fs.hospital.domain.Hospital;
|
|
|
-import com.fs.hospital.domain.HospitalPost;
|
|
|
-import com.fs.hospital.domain.HospitalRole;
|
|
|
-import com.fs.hospital.domain.HospitalUser;
|
|
|
-import com.fs.hospital.dto.UserPriceDTO;
|
|
|
-import com.fs.hospital.service.IHospitalPostService;
|
|
|
-import com.fs.hospital.service.IHospitalRoleService;
|
|
|
-import com.fs.hospital.service.IHospitalService;
|
|
|
-import com.fs.hospital.service.IHospitalUserService;
|
|
|
-import com.fs.hospital.vo.HospitalUserListHVO;
|
|
|
-import com.fs.hospital.vo.HospitalUserHVO;
|
|
|
-import com.fs.framework.security.LoginUser;
|
|
|
-import com.fs.framework.security.SecurityUtils;
|
|
|
-import com.fs.framework.service.TokenService;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
-import org.springframework.validation.annotation.Validated;
|
|
|
-import org.springframework.web.bind.annotation.*;
|
|
|
-
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
-import java.util.stream.Collectors;
|
|
|
-
|
|
|
-/**
|
|
|
- * 企业员工信息Controller
|
|
|
- *
|
|
|
- * @author fs
|
|
|
- * @date 2021-10-04
|
|
|
- */
|
|
|
-@RestController
|
|
|
-@RequestMapping("/hospital/user")
|
|
|
-public class HospitalUserController extends BaseController
|
|
|
-{
|
|
|
- @Autowired
|
|
|
- private IHospitalRoleService roleService;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private IHospitalPostService postService;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private TokenService tokenService;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private IHospitalUserService hospitalUserService;
|
|
|
- @Autowired
|
|
|
- private IHospitalService hospitalService;
|
|
|
-
|
|
|
- /**
|
|
|
- * 获取用户列表
|
|
|
- */
|
|
|
- @GetMapping("/list")
|
|
|
- public TableDataInfo list(HospitalUser user)
|
|
|
- {
|
|
|
- LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
|
|
|
- user.setHospitalId(loginUser.getHospital().getHospitalId());
|
|
|
- startPage();
|
|
|
- List<HospitalUserListHVO> list = hospitalUserService.selectHospitalUserListVO(user);
|
|
|
- return getDataTable(list);
|
|
|
- }
|
|
|
- @GetMapping("/getUserList")
|
|
|
- public R getUserList()
|
|
|
- {
|
|
|
- LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
|
|
|
- HospitalUser map = new HospitalUser();
|
|
|
- map.setHospitalId(loginUser.getHospital().getHospitalId());
|
|
|
- List<HospitalUser> list = hospitalUserService.selectHospitalUserList(map);
|
|
|
- return R.ok().put("data",list);
|
|
|
- }
|
|
|
- @GetMapping("/getList")
|
|
|
- public TableDataInfo getList(HospitalUser user)
|
|
|
- {
|
|
|
- LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
|
|
|
- user.setHospitalId(loginUser.getHospital().getHospitalId());
|
|
|
- startPage();
|
|
|
- List<HospitalUser> list = hospitalUserService.selectHospitalUserList(user);
|
|
|
- return getDataTable(list);
|
|
|
- }
|
|
|
-
|
|
|
- @Log(title = "用户管理", businessType = BusinessType.EXPORT)
|
|
|
- @PreAuthorize("@ss.hasPermi('hospital:user:export')")
|
|
|
- @GetMapping("/export")
|
|
|
- public AjaxResult export(HospitalUser user)
|
|
|
- {
|
|
|
- LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
|
|
|
- user.setHospitalId(loginUser.getHospital().getHospitalId());
|
|
|
- List<HospitalUser> list = hospitalUserService.selectHospitalUserList(user);
|
|
|
- ExcelUtil<HospitalUser> util = new ExcelUtil<HospitalUser>(HospitalUser.class);
|
|
|
- return util.exportExcel(list, "用户数据");
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * 根据用户编号获取详细信息
|
|
|
- */
|
|
|
- @PreAuthorize("@ss.hasPermi('hospital:user:query')")
|
|
|
- @GetMapping(value = { "/", "/{userId}" })
|
|
|
- public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId)
|
|
|
- {
|
|
|
- AjaxResult ajax = AjaxResult.success();
|
|
|
- HospitalRole hospitalRoleMap=new HospitalRole();
|
|
|
- LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
|
|
|
- hospitalRoleMap.setHospitalId(loginUser.getHospital().getHospitalId());
|
|
|
- List<HospitalRole> roles = roleService.selectHospitalRoleList(hospitalRoleMap);
|
|
|
-
|
|
|
- ajax.put("roles", HospitalUser.isAdmin(loginUser.getUser().getUserType()) ? roles : roles.stream().filter(r -> r.getRoleKey()!="admin").collect(Collectors.toList()));
|
|
|
-
|
|
|
- HospitalPost postMap=new HospitalPost();
|
|
|
- postMap.setHospitalId(loginUser.getHospital().getHospitalId());
|
|
|
- ajax.put("posts", postService.selectHospitalPostList(postMap));
|
|
|
- if (StringUtils.isNotNull(userId))
|
|
|
- {
|
|
|
- HospitalUser hospitalUser=hospitalUserService.selectHospitalUserByUserId(userId);
|
|
|
- ajax.put(AjaxResult.DATA_TAG, hospitalUser);
|
|
|
- ajax.put("postIds", postService.selectPostListByUserId(userId));
|
|
|
- ajax.put("roleIds", roleService.selectRoleListByUserId(userId));
|
|
|
- }
|
|
|
- return ajax;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 新增用户
|
|
|
- */
|
|
|
- @PreAuthorize("@ss.hasPermi('hospital:user:add')")
|
|
|
- @Log(title = "用户管理", businessType = BusinessType.INSERT)
|
|
|
- @PostMapping
|
|
|
- public AjaxResult add(@Validated @RequestBody HospitalUser user)
|
|
|
- {
|
|
|
- JSONObject jsonObject = JSON.parseObject(user.getPriceJson());
|
|
|
- if (jsonObject.isEmpty()){
|
|
|
- return AjaxResult.error("价格配置不能为空");
|
|
|
- }
|
|
|
- //判断用户数量是否已达到上线
|
|
|
- LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
|
|
|
- Integer count=hospitalUserService.selectHospitalUserCountByHospitalId(loginUser.getHospital().getHospitalId());
|
|
|
- Hospital hospital = hospitalService.selectHospitalByHospitalId(loginUser.getHospital().getHospitalId());
|
|
|
-
|
|
|
- if(count>hospital.getLimitUserCount()){
|
|
|
- return AjaxResult.error("用户数量已达到上限");
|
|
|
- }
|
|
|
- user.setHospitalId(loginUser.getHospital().getHospitalId());
|
|
|
- if (UserConstants.NOT_UNIQUE.equals(hospitalUserService.checkUserNameUnique(user.getUserName())))
|
|
|
- {
|
|
|
- return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
|
|
|
- }
|
|
|
- user.setCreateBy(SecurityUtils.getUsername());
|
|
|
- user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
|
|
|
- user.setCreateTime(new Date());
|
|
|
- user.setUserType("01");//一般用户
|
|
|
- return toAjax(hospitalUserService.insertHospitalUser(user));
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 修改用户
|
|
|
- */
|
|
|
- @PreAuthorize("@ss.hasPermi('hospital:user:edit')")
|
|
|
- @Log(title = "用户管理", businessType = BusinessType.UPDATE)
|
|
|
- @PutMapping
|
|
|
- public AjaxResult edit(@Validated @RequestBody HospitalUser user)
|
|
|
- {
|
|
|
- user.setUpdateBy(SecurityUtils.getUsername());
|
|
|
- return toAjax(hospitalUserService.updateHospitalUser(user));
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 删除用户
|
|
|
- */
|
|
|
- @PreAuthorize("@ss.hasPermi('hospital:user:remove')")
|
|
|
- @Log(title = "用户管理", businessType = BusinessType.DELETE)
|
|
|
- @DeleteMapping("/{userIds}")
|
|
|
- public AjaxResult remove(@PathVariable Long[] userIds)
|
|
|
- {
|
|
|
- return toAjax(hospitalUserService.deleteHospitalUserByUserIds(userIds));
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 重置密码
|
|
|
- */
|
|
|
- @PreAuthorize("@ss.hasPermi('hospital:user:edit')")
|
|
|
- @Log(title = "用户管理", businessType = BusinessType.UPDATE)
|
|
|
- @PutMapping("/resetPwd")
|
|
|
- public AjaxResult resetPwd(@RequestBody HospitalUser user)
|
|
|
- {
|
|
|
- return toAjax(hospitalUserService.resetUserPwdByUserId(user.getUserId(), SecurityUtils.encryptPassword(user.getPassword())));
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 状态修改
|
|
|
- */
|
|
|
- @PreAuthorize("@ss.hasPermi('hospital:user:edit')")
|
|
|
- @Log(title = "用户管理", businessType = BusinessType.UPDATE)
|
|
|
- @PutMapping("/changeStatus")
|
|
|
- public AjaxResult changeStatus(@RequestBody HospitalUser user)
|
|
|
- {
|
|
|
- //管理员的状态不能修改
|
|
|
- HospitalUser hospitalUser=hospitalUserService.selectHospitalUserByUserId(user.getUserId());
|
|
|
- if(hospitalUser.isAdmin()){
|
|
|
- return AjaxResult.error("不能修改管理员状态");
|
|
|
- }
|
|
|
- user.setUpdateBy(SecurityUtils.getUsername());
|
|
|
- return toAjax(hospitalUserService.updateHospitalUser(user));
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * 获取通讯录
|
|
|
- * @param user
|
|
|
- * @return
|
|
|
- */
|
|
|
- @GetMapping("/getAddressBookList")
|
|
|
- public TableDataInfo getAddressBookList(HospitalUser user)
|
|
|
- {
|
|
|
- startPage();
|
|
|
- LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
|
|
|
- user.setHospitalId(loginUser.getHospital().getHospitalId());
|
|
|
- List<HospitalUserHVO> list = hospitalUserService.selectMyUserList(user);
|
|
|
- return getDataTable(list);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-// @GetMapping("/getAllUserlist")
|
|
|
-// public R getAllUserlist()
|
|
|
-// {
|
|
|
-// HospitalUser map=new HospitalUser();
|
|
|
-// LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
|
|
|
-// map.setHospitalId(loginUser.getHospital().getHospitalId());
|
|
|
-// map.setStatus("1");
|
|
|
-// List<HospitalUser> list = hospitalUserService.selectHospitalUserList(map);
|
|
|
-// return R.ok().put("data",list);
|
|
|
-// }
|
|
|
-
|
|
|
- @GetMapping("/getUserListByDeptId")
|
|
|
- public R getUserListByDeptId(HospitalUser user)
|
|
|
- {
|
|
|
- LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
|
|
|
- user.setHospitalId(loginUser.getHospital().getHospitalId());
|
|
|
-
|
|
|
- List<HospitalUser> list = hospitalUserService.getUserListByDeptId(user);
|
|
|
- return R.ok().put("data",list);
|
|
|
- }
|
|
|
-
|
|
|
- @GetMapping("/isDoctorList")
|
|
|
- public R isDoctorList()
|
|
|
- {
|
|
|
- HospitalUser user = new HospitalUser();
|
|
|
- LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
|
|
|
- user.setHospitalId(loginUser.getHospital().getHospitalId());
|
|
|
- user.setIsDoctor(1);
|
|
|
- List<HospitalUserListHVO> list = hospitalUserService.selectHospitalUserListVO(user);
|
|
|
- return R.ok().put("data",list);
|
|
|
- }
|
|
|
-}
|