DbLinkBaseForm.java 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. package jnpf.base.model.dblink;
  2. import cn.hutool.json.JSONUtil;
  3. import io.swagger.v3.oas.annotations.media.Schema;
  4. import jnpf.database.model.entity.DbLinkEntity;
  5. import jnpf.database.source.impl.DbOracle;
  6. import jnpf.util.DesUtil;
  7. import jnpf.util.JsonUtil;
  8. import lombok.Data;
  9. import jakarta.validation.constraints.NotBlank;
  10. import java.util.HashMap;
  11. import java.util.Map;
  12. /**
  13. * 数据库基础表单对象
  14. *
  15. * @author JNPF开发平台组
  16. * @version V3.1.0
  17. * @copyright 引迈信息技术有限公司
  18. * @date 2021/3/12 15:31
  19. */
  20. @Data
  21. public class DbLinkBaseForm {
  22. /**
  23. * 排序码
  24. */
  25. @Schema(description = "排序码")
  26. private long sortCode;
  27. @Schema(description = "连接名")
  28. @NotBlank(message = "必填")
  29. private String fullName;
  30. @Schema(description = "数据库类型编码")
  31. @NotBlank(message = "必填")
  32. private String dbType;
  33. @Schema(description = "用户")
  34. @NotBlank(message = "必填")
  35. private String userName;
  36. @Schema(description = "数据库名")
  37. private String serviceName;
  38. @Schema(description = "密码")
  39. @NotBlank(message = "必填")
  40. private String password;
  41. @Schema(description = "端口")
  42. @NotBlank(message = "必填")
  43. private String port;
  44. @Schema(description = "ip地址")
  45. @NotBlank(message = "必填")
  46. private String host;
  47. @Schema(description = "模式")
  48. private String dbSchema;
  49. @Schema(description = "表空间")
  50. private String tableSpace;
  51. @Schema(description = "oracle扩展(true:开启,false:关闭)")
  52. private Boolean oracleExtend;
  53. @Schema(description = "oracle连接类型")
  54. private String oracleLinkType;
  55. @Schema(description = "oracle服务名")
  56. private String oracleService;
  57. @Schema(description = "oracle角色")
  58. private String oracleRole;
  59. /**
  60. * 根据表单对象返回连接实体类
  61. * @param dbLinkBaseForm 连接表单对象
  62. * @return 连接实体对象
  63. */
  64. public DbLinkEntity getDbLinkEntity(DbLinkBaseForm dbLinkBaseForm){
  65. DbLinkEntity entity = JsonUtil.getJsonToBean(dbLinkBaseForm, DbLinkEntity.class);
  66. entity.setPassword(DesUtil.aesOrDecode(entity.getPassword(), false, true));
  67. if (dbLinkBaseForm.getOracleExtend() != null && dbLinkBaseForm.getOracleExtend()) {
  68. entity.setOracleExtend(1);
  69. } else {
  70. entity.setOracleExtend(0);
  71. }
  72. entity.setDbTableSpace(dbLinkBaseForm.getTableSpace());
  73. entity.setDbName(dbLinkBaseForm.getServiceName());
  74. Map<String,String> oracleParam = new HashMap<>(16);
  75. oracleParam.put(DbOracle.ORACLE_LINK_TYPE,dbLinkBaseForm.getOracleLinkType());
  76. oracleParam.put(DbOracle.ORACLE_SERVICE,dbLinkBaseForm.getOracleService());
  77. oracleParam.put(DbOracle.ORACLE_ROLE,dbLinkBaseForm.getOracleRole());
  78. entity.setOracleParam(JSONUtil.toJsonStr(oracleParam));
  79. return entity;
  80. }
  81. }