SysUserIdcardController.java 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. package com.ruoyi.web.controller.idcard;
  2. import com.ruoyi.common.annotation.Log;
  3. import com.ruoyi.common.core.controller.BaseController;
  4. import com.ruoyi.common.core.domain.AjaxResult;
  5. import com.ruoyi.common.core.domain.SysUserIdcardVo;
  6. import com.ruoyi.common.core.domain.entity.SysUser;
  7. import com.ruoyi.common.core.domain.model.LoginUser;
  8. import com.ruoyi.common.core.page.TableDataInfo;
  9. import com.ruoyi.common.core.redis.RedisCache;
  10. import com.ruoyi.common.enums.BusinessType;
  11. import com.ruoyi.common.utils.poi.ExcelUtil;
  12. import com.ruoyi.framework.web.service.TokenService;
  13. import com.ruoyi.system.domain.idcard.SysUserIdcard;
  14. import com.ruoyi.system.service.ISysUserService;
  15. import com.ruoyi.system.service.idcard.ISysUserIdcardService;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.security.access.prepost.PreAuthorize;
  18. import org.springframework.web.bind.annotation.*;
  19. import javax.servlet.http.HttpServletResponse;
  20. import java.util.List;
  21. /**
  22. * 用户身份证信息Controller
  23. *
  24. * @author boman
  25. * @date 2024-04-22
  26. */
  27. @RestController
  28. @RequestMapping("/idCard")
  29. public class SysUserIdcardController extends BaseController {
  30. @Autowired
  31. private ISysUserIdcardService sysUserIdcardService;
  32. @Autowired
  33. private ISysUserService userService;
  34. @Autowired
  35. private TokenService tokenService;
  36. @Autowired
  37. private RedisCache redisCache;
  38. /**
  39. * 查询用户身份证信息列表
  40. */
  41. @PreAuthorize("@ss.hasPermi('idcard:idcard:list')")
  42. @GetMapping("/list")
  43. public TableDataInfo list(SysUserIdcard sysUserIdcard) {
  44. startPage();
  45. List<SysUserIdcard> list = sysUserIdcardService.selectSysUserIdcardList(sysUserIdcard);
  46. return getDataTable(list);
  47. }
  48. /**
  49. * 导出用户身份证信息列表
  50. */
  51. @PreAuthorize("@ss.hasPermi('idcard:idcard:export')")
  52. @Log(title = "用户身份证信息", businessType = BusinessType.EXPORT)
  53. @PostMapping("/export")
  54. public void export(HttpServletResponse response, SysUserIdcard sysUserIdcard) {
  55. List<SysUserIdcard> list = sysUserIdcardService.selectSysUserIdcardList(sysUserIdcard);
  56. ExcelUtil<SysUserIdcard> util = new ExcelUtil<SysUserIdcard>(SysUserIdcard.class);
  57. util.exportExcel(response, list, "用户身份证信息数据");
  58. }
  59. /**
  60. * 获取用户身份证信息详细信息
  61. */
  62. @PreAuthorize("@ss.hasPermi('idcard:idcard:query')")
  63. @GetMapping(value = "/{userId}")
  64. public AjaxResult getInfo(@PathVariable("userId") Long userId) {
  65. return success(sysUserIdcardService.selectSysUserIdcardByUserId(userId));
  66. }
  67. /**
  68. * 新增用户身份证信息
  69. */
  70. @PreAuthorize("@ss.hasPermi('idcard:idcard:add')")
  71. @Log(title = "用户身份证信息", businessType = BusinessType.INSERT)
  72. @PostMapping
  73. public AjaxResult add(@RequestBody SysUserIdcard sysUserIdcard) {
  74. LoginUser loginUser = getLoginUser();
  75. SysUser currentUser = loginUser.getUser();
  76. currentUser.setInitFace("Y");
  77. userService.checkUserAllowed(currentUser);
  78. userService.checkUserDataScope(currentUser.getUserId());
  79. currentUser.setUpdateBy(getUsername());
  80. if (userService.updateUserStatus(currentUser) > 0) {
  81. currentUser.setInitFace("Y");
  82. // 更新缓存用户信息
  83. tokenService.setLoginUser(loginUser);
  84. return toAjax(sysUserIdcardService.insertSysUserIdcard(sysUserIdcard));
  85. }
  86. return error("人脸认证更新失败");
  87. }
  88. /**
  89. * 新增用户身份证信息H5
  90. */
  91. @Log(title = "用户身份证信息", businessType = BusinessType.INSERT)
  92. @PostMapping("/h")
  93. public AjaxResult addH5(@RequestBody SysUserIdcard sysUserIdcard) {
  94. String certifyId = sysUserIdcard.getCertifyId();
  95. SysUserIdcardVo sysUserIdcardVo = redisCache.getCacheObject(certifyId);
  96. sysUserIdcard.setUserId(sysUserIdcardVo.getUserId());
  97. sysUserIdcard.setIdCard(sysUserIdcardVo.getIdCard());
  98. sysUserIdcard.setRealName(sysUserIdcardVo.getRealName());
  99. sysUserIdcard.setExpirationDate(sysUserIdcardVo.getExpirationDate());
  100. sysUserIdcard.setPhonenumber(sysUserIdcardVo.getPhonenumber());
  101. sysUserIdcard.setAddress(sysUserIdcardVo.getAddress());
  102. sysUserIdcard.setFront(sysUserIdcardVo.getFront());
  103. sysUserIdcard.setBack(sysUserIdcardVo.getBack());
  104. LoginUser loginUser = getLoginUser();
  105. SysUser currentUser = loginUser.getUser();
  106. currentUser.setInitFace("Y");
  107. userService.checkUserAllowed(currentUser);
  108. userService.checkUserDataScope(currentUser.getUserId());
  109. currentUser.setUpdateBy(getUsername());
  110. if (userService.updateUserStatus(currentUser) > 0) {
  111. currentUser.setInitFace("Y");
  112. // 更新缓存用户信息
  113. tokenService.setLoginUser(loginUser);
  114. //删除redis
  115. redisCache.deleteObject(certifyId);
  116. return toAjax(sysUserIdcardService.insertSysUserIdcard(sysUserIdcard));
  117. }
  118. return error("人脸认证更新失败");
  119. }
  120. /**
  121. * 修改用户身份证信息
  122. */
  123. @PreAuthorize("@ss.hasPermi('idcard:idcard:edit')")
  124. @Log(title = "用户身份证信息", businessType = BusinessType.UPDATE)
  125. @PostMapping("/put")
  126. public AjaxResult edit(@RequestBody SysUserIdcard sysUserIdcard) {
  127. return toAjax(sysUserIdcardService.updateSysUserIdcard(sysUserIdcard));
  128. }
  129. /**
  130. * 删除用户身份证信息
  131. */
  132. @PreAuthorize("@ss.hasPermi('idcard:idcard:remove')")
  133. @Log(title = "用户身份证信息", businessType = BusinessType.DELETE)
  134. @GetMapping("/delete/{userIds}")
  135. public AjaxResult remove(@PathVariable Long[] userIds) {
  136. return toAjax(sysUserIdcardService.deleteSysUserIdcardByUserIds(userIds));
  137. }
  138. }