TestSensitiveController.java 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package com.ruoyi.demo.controller;
  2. import com.ruoyi.common.annotation.Sensitive;
  3. import com.ruoyi.common.core.controller.BaseController;
  4. import com.ruoyi.common.core.domain.AjaxResult;
  5. import com.ruoyi.common.enums.SensitiveStrategy;
  6. import io.swagger.annotations.Api;
  7. import io.swagger.annotations.ApiOperation;
  8. import lombok.Data;
  9. import lombok.experimental.Accessors;
  10. import org.springframework.web.bind.annotation.GetMapping;
  11. import org.springframework.web.bind.annotation.RequestMapping;
  12. import org.springframework.web.bind.annotation.RestController;
  13. /**
  14. * 测试数据脱敏控制器
  15. * <p>
  16. * 默认管理员不过滤
  17. * 需自行根据业务重写实现
  18. *
  19. * @author Lion Li
  20. * @version 3.6.0
  21. * @see com.ruoyi.common.core.service.SensitiveService
  22. */
  23. @Api(value = "测试数据脱敏控制器", tags = {"测试数据脱敏管理"})
  24. @RestController
  25. @RequestMapping("/demo/sensitive")
  26. public class TestSensitiveController extends BaseController {
  27. /**
  28. * 测试数据脱敏
  29. */
  30. @ApiOperation("查询测试单表列表")
  31. @GetMapping("/test")
  32. public AjaxResult<TestSensitive> test() {
  33. TestSensitive testSensitive = new TestSensitive()
  34. .setIdCard("210397198608215431")
  35. .setPhone("17640125371")
  36. .setAddress("北京市朝阳区某某四合院1203室")
  37. .setEmail("17640125371@163.com")
  38. .setBankCard("6226456952351452853");
  39. return AjaxResult.success(testSensitive);
  40. }
  41. @Data
  42. @Accessors(chain = true)
  43. static class TestSensitive {
  44. /**
  45. * 身份证
  46. */
  47. @Sensitive(strategy = SensitiveStrategy.ID_CARD)
  48. private String idCard;
  49. /**
  50. * 电话
  51. */
  52. @Sensitive(strategy = SensitiveStrategy.PHONE)
  53. private String phone;
  54. /**
  55. * 地址
  56. */
  57. @Sensitive(strategy = SensitiveStrategy.ADDRESS)
  58. private String address;
  59. /**
  60. * 邮箱
  61. */
  62. @Sensitive(strategy = SensitiveStrategy.EMAIL)
  63. private String email;
  64. /**
  65. * 银行卡
  66. */
  67. @Sensitive(strategy = SensitiveStrategy.BANK_CARD)
  68. private String bankCard;
  69. }
  70. }