UserRealnameInfoController.java 3.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. package com.sqx.modules.userRealnameInfo.controller;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.sqx.common.utils.Result;
  4. import com.sqx.modules.app.annotation.Login;
  5. import com.sqx.modules.common.service.CommonInfoService;
  6. import com.sqx.modules.driver.entity.Driver;
  7. import com.sqx.modules.driver.service.DriverService;
  8. import com.sqx.modules.userRealnameInfo.entity.UserRealnameInfo;
  9. import com.sqx.modules.userRealnameInfo.service.UserRealnameInfoService;
  10. import com.sqx.modules.utils.AESCBCWithRandomIV;
  11. import io.swagger.annotations.Api;
  12. import io.swagger.annotations.ApiOperation;
  13. import org.springframework.web.bind.annotation.*;
  14. import javax.annotation.Resource;
  15. import java.util.List;
  16. @RestController
  17. @Api(value = "实名认证", tags = {"实名认证"})
  18. @RequestMapping("/app/userRealnameInfo")
  19. public class UserRealnameInfoController {
  20. @Resource
  21. private UserRealnameInfoService userRealnameInfoService;
  22. @Resource
  23. private CommonInfoService commonInfoService;
  24. @Resource
  25. private DriverService driverService;
  26. @Login
  27. @GetMapping("/selectByUserId")
  28. @ApiOperation("查询实名认证信息")
  29. public Result selectByUserId(@RequestAttribute("userId")Long userId, Integer isDriver){
  30. String key = commonInfoService.findOne(819).getValue();
  31. List<UserRealnameInfo> list = userRealnameInfoService.list(new QueryWrapper<UserRealnameInfo>().eq("user_id", userId).eq("is_driver", isDriver));
  32. if (list.size() == 0){
  33. UserRealnameInfo userRealnameInfo = new UserRealnameInfo();
  34. userRealnameInfo.setUserId(userId);
  35. userRealnameInfo.setVerifiedStatus(0);
  36. return Result.success().put("data",userRealnameInfo);
  37. }
  38. //解密身份证号
  39. String decrypt = null;
  40. try {
  41. decrypt = AESCBCWithRandomIV.decrypt(list.get(0).getIdCardNumber(), key);
  42. } catch (Exception e) {
  43. e.printStackTrace();
  44. }
  45. //脱敏处理
  46. list.get(0).setIdCardNumber(userRealnameInfoService.maskIdKeepFront(decrypt));
  47. return Result.success().put("data",list.get(0));
  48. }
  49. @Login
  50. @PostMapping("/insertOrUpdate")
  51. @ApiOperation("新增或修改实名认证信息")
  52. public Result insertOrUpdate(@RequestAttribute("userId")Long userId, UserRealnameInfo userRealnameInfo){
  53. String key = commonInfoService.findOne(819).getValue();
  54. List<UserRealnameInfo> list = userRealnameInfoService.list(new QueryWrapper<UserRealnameInfo>().eq("user_id", userId).eq("is_driver", userRealnameInfo.getIsDriver()));
  55. if (list.size() == 0){
  56. userRealnameInfo.setUserId(userId);
  57. String encrypt = null;
  58. try {
  59. encrypt = AESCBCWithRandomIV.encrypt(userRealnameInfo.getIdCardNumber(), key);
  60. } catch (Exception e) {
  61. e.printStackTrace();
  62. }
  63. userRealnameInfo.setDriverId(driverService.selectDriverByUserId(userId).getDriverId());
  64. userRealnameInfo.setIdCardNumber(encrypt);
  65. userRealnameInfoService.insert(userRealnameInfo);
  66. }else if (list.size() == 1){
  67. if (null != userRealnameInfo.getIdCardNumber() && userRealnameInfo.getIdCardNumber() != ""){
  68. String encrypt = null;
  69. try {
  70. encrypt = AESCBCWithRandomIV.encrypt(userRealnameInfo.getIdCardNumber(), key);
  71. } catch (Exception e) {
  72. e.printStackTrace();
  73. }
  74. userRealnameInfo.setIdCardNumber(encrypt);
  75. }
  76. userRealnameInfoService.update(userRealnameInfo);
  77. }
  78. return Result.success();
  79. }
  80. @PostMapping("/updateRealnameInfo")
  81. @ApiOperation("更新实名认证状态")
  82. public Result updateRealnameInfo(UserRealnameInfo userRealnameInfo){
  83. userRealnameInfoService.update(userRealnameInfo);
  84. return Result.success();
  85. }
  86. }