UserInfoController.java 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. package com.diagbot.web;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  4. import com.diagbot.annotation.SysLogger;
  5. import com.diagbot.dto.RespDTO;
  6. import com.diagbot.dto.UserInfoDTO;
  7. import com.diagbot.dto.UserOrganProductDTO;
  8. import com.diagbot.entity.Organization;
  9. import com.diagbot.entity.User;
  10. import com.diagbot.entity.UserAuthentication;
  11. import com.diagbot.entity.UserOrganization;
  12. import com.diagbot.exception.CommonErrorCode;
  13. import com.diagbot.exception.CommonException;
  14. import com.diagbot.facade.OrganizationFacade;
  15. import com.diagbot.facade.UserAuthenticationFacade;
  16. import com.diagbot.facade.UserFacade;
  17. import com.diagbot.facade.UserOrganizationFacade;
  18. import com.diagbot.util.DateUtil;
  19. import com.diagbot.util.UserUtils;
  20. import com.diagbot.vo.OrganizationVO;
  21. import com.diagbot.vo.UserAndOrganizationVO;
  22. import com.diagbot.vo.UserInfoAuditVO;
  23. import com.diagbot.vo.UserInfoOrganizationsVO;
  24. import io.swagger.annotations.Api;
  25. import io.swagger.annotations.ApiOperation;
  26. import org.springframework.beans.factory.annotation.Autowired;
  27. import org.springframework.security.crypto.factory.PasswordEncoderFactories;
  28. import org.springframework.security.crypto.password.PasswordEncoder;
  29. import org.springframework.transaction.annotation.Transactional;
  30. import org.springframework.web.bind.annotation.PostMapping;
  31. import org.springframework.web.bind.annotation.RequestBody;
  32. import org.springframework.web.bind.annotation.RequestMapping;
  33. import org.springframework.web.bind.annotation.RequestParam;
  34. import org.springframework.web.bind.annotation.RestController;
  35. import javax.validation.Valid;
  36. import java.util.HashMap;
  37. import java.util.List;
  38. import java.util.Map;
  39. /**
  40. * @Description: 外部用户信息
  41. * @author: wangfeng
  42. * @time: 2018年9月17日 下午1:53:53
  43. */
  44. @RestController
  45. @Api(value = "用户信息和机构信息API[by:wangfeng]", tags = { "用户信息和机构信息API" })
  46. @RequestMapping("/userInfo")
  47. @SuppressWarnings("unchecked")
  48. public class UserInfoController {
  49. @Autowired
  50. private UserFacade userFacade;
  51. @Autowired
  52. OrganizationFacade organizationFacade;
  53. @Autowired
  54. UserOrganizationFacade userOrganizationFacade;
  55. @Autowired
  56. UserAuthenticationFacade userAuthenticationFacade;
  57. @ApiOperation(value = "分页查询获取用户信息[by:wangfeng]", notes = "根据每页显示条数,默认 10,和当前页")
  58. @PostMapping("/getUserInfoPag")
  59. @SysLogger("getUserInfoPag")
  60. // @ApiIgnore
  61. public RespDTO<UserInfoDTO> getUserInfoPag(Page page, String orgName, Integer autStatus) {
  62. UserInfoDTO userInfo = new UserInfoDTO();
  63. userInfo.setOrgName(orgName);
  64. userInfo.setAutStatus(autStatus);
  65. IPage<UserInfoDTO> user = userFacade.selectUserInfoListPage(page, userInfo);
  66. return RespDTO.onSuc(user);
  67. }
  68. @ApiOperation(value = "修改用户信息和机构信息[by:wangfeng]", notes = "用户信息和机构信息")
  69. @PostMapping("/updateUserInfoAll")
  70. @SysLogger("updateUserInfoAll")
  71. @Transactional
  72. public RespDTO<UserInfoOrganizationsVO> updateUserInfoAll(
  73. @Valid @RequestBody UserInfoOrganizationsVO userInfoOrganizationsVO) {
  74. return userFacade.updateUserInfoAlls(userInfoOrganizationsVO);
  75. }
  76. @ApiOperation(value = "审核用户信息和机构信息[by:wangfeng]", notes = "审核用户信息和机构信息")
  77. @PostMapping("/auditUserInfoAll")
  78. @SysLogger("auditUserInfoAll")
  79. @Transactional
  80. public RespDTO<Boolean> auditUserInfoAll(@Valid @RequestBody UserInfoAuditVO userInfoAuditVO) {
  81. return userFacade.auditUserInfoAlls(userInfoAuditVO);
  82. }
  83. @ApiOperation(value = "删除用户信息和机构信息[by:wangfeng]", notes = "用户信息和机构信息")
  84. @PostMapping("/updateDeleted")
  85. @SysLogger("updateDeleted")
  86. @Transactional
  87. public RespDTO updateDeleted(@RequestParam String userId) {
  88. return userFacade.updateDeleteds(userId);
  89. }
  90. @ApiOperation(value = "模糊查询机构信息[by:wangfeng]", notes = "机构信息")
  91. @PostMapping("/findOrganization")
  92. @SysLogger("findOrganization")
  93. public RespDTO findOrganization(@RequestParam String organizationName) {
  94. // TODO 返回机构Id和机构
  95. List<Organization> organization = organizationFacade.findOrganization(organizationName);
  96. return RespDTO.onSuc(organization);
  97. }
  98. @ApiOperation(value = "添加构信息[by:wangfeng]", notes = "机构信息")
  99. @PostMapping("/addOrganization")
  100. @SysLogger("addOrganization")
  101. @Transactional
  102. public RespDTO<Boolean> addOrganization(@Valid @RequestBody OrganizationVO organizationVO) {
  103. return userFacade.addOrganizations(organizationVO);
  104. }
  105. @ApiOperation(value = "添加用户信息和机构信息管理员[by:wangfeng]", notes = "用户信息和机构信息的绑定")
  106. @PostMapping("/addUserInfo")
  107. @SysLogger("addUserInfo")
  108. @Transactional
  109. public RespDTO<UserAndOrganizationVO> addUserInfo(@Valid @RequestBody UserAndOrganizationVO userAndOrganizationVO) {
  110. return userFacade.addUserInfos(userAndOrganizationVO);
  111. }
  112. @ApiOperation(value = "用户信息和机构信息开通产品[by:wangfeng]", notes = "用户信息和机构信息开通产品")
  113. @PostMapping("/getUserOrganProductAll")
  114. @SysLogger("getUserOrganProductAll")
  115. @Transactional
  116. public RespDTO<UserOrganProductDTO> getUserOrganProductAll(Page page, String orgName, Integer autStatus) {
  117. return userFacade.getUserOrganProductAlls(page,orgName,autStatus);
  118. }
  119. }