From 7d18c3a3ca1e08a57059e42c8cdf0189408c6d9d Mon Sep 17 00:00:00 2001 From: mmm8955405 Date: Sat, 14 Sep 2024 00:24:29 +0800 Subject: [PATCH] init --- .gitignore | 30 + Dockerfile | 18 + pom.xml | 594 ++++++++ src/main/contracts/Application.sol | 178 +++ src/main/contracts/ArchivesFile.sol | 214 +++ src/main/contracts/Catalog.sol | 223 +++ src/main/contracts/CertRecord.sol | 177 +++ src/main/contracts/CreateTable.sol | 47 + src/main/contracts/DecryptionRecord.sol | 110 ++ src/main/contracts/DownloadRecord.sol | 112 ++ src/main/contracts/File.sol | 208 +++ src/main/contracts/OrgCert.sol | 124 ++ src/main/contracts/PersonCert.sol | 146 ++ src/main/contracts/Provider.sol | 233 +++ src/main/contracts/ReadingRecord.sol | 111 ++ src/main/contracts/Utils.sol | 49 + src/main/java/jj/tech/paolu/Application.java | 89 ++ .../biz/demo/controller/DemoController.java | 226 +++ .../biz/demo/controller/Test2Controller.java | 23 + .../biz/demo/controller/TestController.java | 317 ++++ .../jj/tech/paolu/biz/demo/dao/UserDao.java | 27 + .../java/jj/tech/paolu/biz/demo/dto/U.java | 27 + .../tech/paolu/biz/demo/service/AService.java | 80 + .../tech/paolu/biz/demo/service/BService.java | 55 + .../controller/AdminManagerContronller.java | 555 +++++++ .../controller/MenuManagerController.java | 187 +++ .../controller/RoleManagerController.java | 319 ++++ .../controller/RoleSignController.java | 85 ++ .../controller/SysAreasController.java | 73 + .../controller/SysConfigController.java | 35 + .../webadmin/controller/YMcodeController.java | 31 + .../paolu/biz/webadmin/dao/SelectMapper.java | 34 + .../paolu/biz/webadmin/dao/TreeMapper.java | 28 + .../biz/webadmin/service/MenuService.java | 71 + .../biz/webadmin/service/OrgService.java | 184 +++ .../biz/webadmin/service/SharedService.java | 793 ++++++++++ .../service/SuperSysAdminComponent.java | 31 + .../webadmin/service/SysAdminWeidService.java | 32 + .../biz/webadmin/vo/AddAdminRoleMenuVo.java | 33 + .../paolu/biz/webadmin/vo/AdminListVo.java | 120 ++ .../jj/tech/paolu/biz/webadmin/vo/Id.java | 18 + .../tech/paolu/biz/webadmin/vo/IdPageVo.java | 16 + .../jj/tech/paolu/biz/webadmin/vo/Ids.java | 21 + .../tech/paolu/biz/webadmin/vo/IdsAndPwd.java | 22 + .../biz/webadmin/vo/IdsAndPwdUpdate.java | 48 + .../tech/paolu/biz/webadmin/vo/IdsPageVo.java | 19 + .../tech/paolu/biz/webadmin/vo/LoginVo.java | 48 + .../tech/paolu/biz/webadmin/vo/MenuTree.java | 36 + .../tech/paolu/biz/webadmin/vo/OrgTree.java | 40 + .../jj/tech/paolu/biz/webadmin/vo/PageVo.java | 21 + .../tech/paolu/biz/webadmin/vo/ReadLogVo.java | 15 + .../paolu/biz/webadmin/vo/SysAdminAddVo.java | 21 + .../paolu/biz/webadmin/vo/SysAdminLock.java | 31 + .../paolu/biz/webadmin/vo/SysAdminRoleVo.java | 30 + .../paolu/biz/webadmin/vo/SysRoleListVo.java | 44 + .../config/datasource/DataSourceConfig.java | 64 + .../enums/ArchiveSynLocalProcessType.java | 20 + .../enums/CertificateApplyCheckStatus.java | 18 + .../config/enums/CertificateApplyStatus.java | 21 + .../config/enums/CertificateApplyType.java | 26 + .../config/enums/CertificateDetailStatus.java | 20 + .../config/enums/CertificateOrgApplyType.java | 27 + .../jj/tech/paolu/config/enums/DelStatus.java | 20 + .../paolu/config/enums/ExecuteStatus.java | 23 + .../paolu/config/enums/FilesApplyStatus.java | 20 + .../paolu/config/enums/FilesCheckStatus.java | 19 + .../paolu/config/enums/FilesProperties.java | 20 + .../paolu/config/enums/FilesViewType.java | 17 + .../paolu/config/enums/IsApplyProvider.java | 17 + .../jj/tech/paolu/config/enums/RoleSign.java | 25 + .../tech/paolu/config/enums/RoleSignName.java | 5 + .../config/enums/SharedConfigStatus.java | 20 + .../tech/paolu/config/enums/SharedStatus.java | 21 + .../jj/tech/paolu/config/enums/SynStatus.java | 16 + .../jj/tech/paolu/config/enums/SynType.java | 16 + .../paolu/config/enums/SysConfigGroup.java | 11 + .../jj/tech/paolu/config/enums/UserType.java | 18 + .../exception/ArgumentExceptionHandler.java | 14 + .../config/httpclient/RestTemplateConfig.java | 29 + .../jj/tech/paolu/config/jooq/JooqConfig.java | 134 ++ .../config/jooq/JooqSpringTransaction.java | 23 + .../jooq/JooqSpringTransactionProvider.java | 55 + .../jj/tech/paolu/config/jpa/JpaConfig.java | 51 + .../config/json/JacksonConfiguration.java | 50 + .../jj/tech/paolu/config/security/Cors.java | 36 + .../paolu/config/security/SecurityFilter.java | 106 ++ .../config/security/user/WebAdminUtil.java | 113 ++ .../config/security/user/WebUserUtil.java | 107 ++ .../paolu/config/swagger/SwaggerConfig.java | 145 ++ .../wsclient/SpringWebSocketClient.java | 63 + .../paolu/repository/GeneratorMybatis.java | 27 + .../paolu/repository/jooq/DefaultCatalog.java | 54 + .../tech/paolu/repository/jooq/Indexes.java | 35 + .../jj/tech/paolu/repository/jooq/Keys.java | 122 ++ .../jj/tech/paolu/repository/jooq/Public.java | 257 ++++ .../jj/tech/paolu/repository/jooq/Tables.java | 194 +++ .../repository/jooq/tables/ArchiveSynLog.java | 223 +++ .../jooq/tables/CertificateApply.java | 250 ++++ .../jooq/tables/CertificateApplyRecord.java | 240 +++ .../jooq/tables/CertificateDetail.java | 228 +++ .../repository/jooq/tables/DecryptLog.java | 203 +++ .../repository/jooq/tables/DownloadLog.java | 195 +++ .../repository/jooq/tables/FilesApply.java | 366 +++++ .../jooq/tables/FilesApplyCheckRecord.java | 240 +++ .../jooq/tables/FilesApplyDirectoryDocs.java | 246 ++++ .../jooq/tables/FilesApplyDocs.java | 271 ++++ .../jooq/tables/FilesApplyDownloadRecord.java | 216 +++ .../paolu/repository/jooq/tables/Project.java | 177 +++ .../paolu/repository/jooq/tables/ReadLog.java | 223 +++ .../jooq/tables/SharedRuleConfig.java | 187 +++ .../repository/jooq/tables/SharedSynAll.java | 209 +++ .../repository/jooq/tables/SynDirectory.java | 206 +++ .../jooq/tables/SynDirectoryFile.java | 271 ++++ .../paolu/repository/jooq/tables/SynFile.java | 251 ++++ .../repository/jooq/tables/SysAdmin.java | 234 +++ .../repository/jooq/tables/SysAdminRole.java | 172 +++ .../repository/jooq/tables/SysAdminWeid.java | 200 +++ .../paolu/repository/jooq/tables/SysArea.java | 201 +++ .../repository/jooq/tables/SysConfig.java | 200 +++ .../paolu/repository/jooq/tables/SysMenu.java | 212 +++ .../paolu/repository/jooq/tables/SysOrg.java | 279 ++++ .../paolu/repository/jooq/tables/SysRole.java | 202 +++ .../repository/jooq/tables/SysRoleMenu.java | 179 +++ .../repository/jooq/tables/SysRoleSign.java | 172 +++ .../repository/jooq/tables/SysRoleUrl.java | 177 +++ .../paolu/repository/jooq/tables/SysUrls.java | 199 +++ .../jooq/tables/daos/ArchiveSynLogDao.java | 255 ++++ .../jooq/tables/daos/CertificateApplyDao.java | 329 +++++ .../daos/CertificateApplyRecordDao.java | 287 ++++ .../tables/daos/CertificateDetailDao.java | 270 ++++ .../jooq/tables/daos/DecryptLogDao.java | 195 +++ .../jooq/tables/daos/DownloadLogDao.java | 165 +++ .../tables/daos/FilesApplyCheckRecordDao.java | 287 ++++ .../jooq/tables/daos/FilesApplyDao.java | 776 ++++++++++ .../daos/FilesApplyDirectoryDocsDao.java | 404 ++++++ .../jooq/tables/daos/FilesApplyDocsDao.java | 374 +++++ .../daos/FilesApplyDownloadRecordDao.java | 225 +++ .../jooq/tables/daos/ProjectDao.java | 119 ++ .../jooq/tables/daos/ReadLogDao.java | 255 ++++ .../jooq/tables/daos/SharedRuleConfigDao.java | 149 ++ .../jooq/tables/daos/SharedSynAllDao.java | 208 +++ .../jooq/tables/daos/SynDirectoryDao.java | 179 +++ .../jooq/tables/daos/SynDirectoryFileDao.java | 374 +++++ .../jooq/tables/daos/SynFileDao.java | 314 ++++ .../jooq/tables/daos/SysAdminDao.java | 283 ++++ .../jooq/tables/daos/SysAdminRoleDao.java | 104 ++ .../jooq/tables/daos/SysAdminWeidDao.java | 179 +++ .../jooq/tables/daos/SysAreaDao.java | 164 +++ .../jooq/tables/daos/SysConfigDao.java | 179 +++ .../jooq/tables/daos/SysMenuDao.java | 224 +++ .../jooq/tables/daos/SysOrgDao.java | 510 +++++++ .../jooq/tables/daos/SysRoleDao.java | 194 +++ .../jooq/tables/daos/SysRoleMenuDao.java | 104 ++ .../jooq/tables/daos/SysRoleSignDao.java | 104 ++ .../jooq/tables/daos/SysRoleUrlDao.java | 119 ++ .../jooq/tables/daos/SysUrlsDao.java | 178 +++ .../jooq/tables/pojos/ArchiveSynLog.java | 394 +++++ .../jooq/tables/pojos/CertificateApply.java | 498 +++++++ .../tables/pojos/CertificateApplyRecord.java | 456 ++++++ .../jooq/tables/pojos/CertificateDetail.java | 420 ++++++ .../jooq/tables/pojos/DecryptLog.java | 290 ++++ .../jooq/tables/pojos/DownloadLog.java | 242 ++++ .../jooq/tables/pojos/FilesApply.java | 1282 +++++++++++++++++ .../tables/pojos/FilesApplyCheckRecord.java | 456 ++++++ .../tables/pojos/FilesApplyDirectoryDocs.java | 657 +++++++++ .../jooq/tables/pojos/FilesApplyDocs.java | 601 ++++++++ .../pojos/FilesApplyDownloadRecord.java | 344 +++++ .../repository/jooq/tables/pojos/Project.java | 159 ++ .../repository/jooq/tables/pojos/ReadLog.java | 394 +++++ .../jooq/tables/pojos/SharedRuleConfig.java | 211 +++ .../jooq/tables/pojos/SharedSynAll.java | 289 ++++ .../jooq/tables/pojos/SynDirectory.java | 263 ++++ .../jooq/tables/pojos/SynDirectoryFile.java | 601 ++++++++ .../repository/jooq/tables/pojos/SynFile.java | 497 +++++++ .../jooq/tables/pojos/SysAdmin.java | 419 ++++++ .../jooq/tables/pojos/SysAdminRole.java | 133 ++ .../jooq/tables/pojos/SysAdminWeid.java | 238 +++ .../repository/jooq/tables/pojos/SysArea.java | 237 +++ .../jooq/tables/pojos/SysConfig.java | 238 +++ .../repository/jooq/tables/pojos/SysMenu.java | 341 +++++ .../repository/jooq/tables/pojos/SysOrg.java | 836 +++++++++++ .../repository/jooq/tables/pojos/SysRole.java | 289 ++++ .../jooq/tables/pojos/SysRoleMenu.java | 133 ++ .../jooq/tables/pojos/SysRoleSign.java | 133 ++ .../jooq/tables/pojos/SysRoleUrl.java | 159 ++ .../repository/jooq/tables/pojos/SysUrls.java | 237 +++ .../tables/records/ArchiveSynLogRecord.java | 578 ++++++++ .../records/CertificateApplyRecord.java | 730 ++++++++++ .../records/CertificateApplyRecordRecord.java | 664 +++++++++ .../records/CertificateDetailRecord.java | 616 ++++++++ .../jooq/tables/records/DecryptLogRecord.java | 426 ++++++ .../tables/records/DownloadLogRecord.java | 354 +++++ .../records/FilesApplyCheckRecordRecord.java | 664 +++++++++ .../FilesApplyDirectoryDocsRecord.java | 432 ++++++ .../tables/records/FilesApplyDocsRecord.java | 880 +++++++++++ .../FilesApplyDownloadRecordRecord.java | 504 +++++++ .../jooq/tables/records/FilesApplyRecord.java | 818 +++++++++++ .../jooq/tables/records/ProjectRecord.java | 234 +++ .../jooq/tables/records/ReadLogRecord.java | 578 ++++++++ .../records/SharedRuleConfigRecord.java | 310 ++++ .../tables/records/SharedSynAllRecord.java | 424 ++++++ .../records/SynDirectoryFileRecord.java | 880 +++++++++++ .../tables/records/SynDirectoryRecord.java | 386 +++++ .../jooq/tables/records/SynFileRecord.java | 728 ++++++++++ .../jooq/tables/records/SysAdminRecord.java | 614 ++++++++ .../tables/records/SysAdminRoleRecord.java | 196 +++ .../tables/records/SysAdminWeidRecord.java | 350 +++++ .../jooq/tables/records/SysAreaRecord.java | 348 +++++ .../jooq/tables/records/SysConfigRecord.java | 350 +++++ .../jooq/tables/records/SysMenuRecord.java | 500 +++++++ .../jooq/tables/records/SysOrgRecord.java | 542 +++++++ .../tables/records/SysRoleMenuRecord.java | 196 +++ .../jooq/tables/records/SysRoleRecord.java | 424 ++++++ .../tables/records/SysRoleSignRecord.java | 196 +++ .../jooq/tables/records/SysRoleUrlRecord.java | 234 +++ .../jooq/tables/records/SysUrlsRecord.java | 348 +++++ .../control/ArchiveSynLogController.java | 37 + .../ArchiveSynLogDetailController.java | 37 + .../ArchiveSynTimestampController.java | 31 + .../control/CertificateApplyController.java | 37 + .../CertificateApplyRecordController.java | 37 + .../control/CertificateDetailController.java | 37 + .../mybatis/control/DecryptLogController.java | 37 + .../control/DownloadLogController.java | 37 + .../FilesApplyCheckRecordController.java | 37 + .../mybatis/control/FilesApplyController.java | 37 + .../FilesApplyDirectoryDocsController.java | 37 + .../control/FilesApplyDocsController.java | 37 + .../FilesApplyDownloadRecordController.java | 37 + .../PreShareDirectoryFileTagController.java | 37 + .../PreShareDirectoryTagController.java | 37 + .../control/PreShareFileTagController.java | 37 + .../mybatis/control/ProjectController.java | 37 + .../mybatis/control/ProviderController.java | 37 + .../mybatis/control/ReadLogController.java | 37 + .../control/ShareDirectoryController.java | 37 + .../control/ShareDirectoryFileController.java | 37 + .../mybatis/control/ShareFileController.java | 37 + .../SharedElementUpdateDetailController.java | 37 + .../SharedElementUpdateRecordController.java | 37 + .../control/SharedRuleConfigController.java | 37 + .../control/SharedSynAllController.java | 37 + .../control/SynDirectoryController.java | 37 + .../control/SynDirectoryFileController.java | 37 + .../mybatis/control/SynFileController.java | 37 + .../Sync2blockchainTaskController.java | 37 + .../mybatis/control/SysAdminController.java | 37 + .../control/SysAdminRoleController.java | 37 + .../control/SysAdminWeidController.java | 37 + .../mybatis/control/SysAreaController.java | 37 + .../mybatis/control/SysConfigController.java | 37 + .../mybatis/control/SysMenuController.java | 37 + .../mybatis/control/SysOrgController.java | 37 + .../mybatis/control/SysRoleController.java | 37 + .../control/SysRoleMenuController.java | 37 + .../control/SysRoleSignController.java | 37 + .../mybatis/control/SysRoleUrlController.java | 37 + .../mybatis/control/SysUrlsController.java | 37 + .../dao/ArchiveSynLogDetailMapper.java | 177 +++ .../mybatis/dao/ArchiveSynLogMapper.java | 233 +++ .../dao/ArchiveSynTimestampMapper.java | 155 ++ .../mybatis/dao/CertificateApplyMapper.java | 265 ++++ .../dao/CertificateApplyRecordMapper.java | 249 ++++ .../mybatis/dao/CertificateDetailMapper.java | 241 ++++ .../mybatis/dao/DecryptLogMapper.java | 201 +++ .../mybatis/dao/DownloadLogMapper.java | 185 +++ .../dao/FilesApplyCheckRecordMapper.java | 249 ++++ .../dao/FilesApplyDirectoryDocsMapper.java | 313 ++++ .../mybatis/dao/FilesApplyDocsMapper.java | 297 ++++ .../dao/FilesApplyDownloadRecordMapper.java | 217 +++ .../mybatis/dao/FilesApplyMapper.java | 505 +++++++ .../dao/PreShareDirectoryFileTagMapper.java | 161 +++ .../dao/PreShareDirectoryTagMapper.java | 161 +++ .../mybatis/dao/PreShareFileTagMapper.java | 161 +++ .../repository/mybatis/dao/ProjectMapper.java | 161 +++ .../mybatis/dao/ProviderMapper.java | 185 +++ .../repository/mybatis/dao/ReadLogMapper.java | 233 +++ .../mybatis/dao/ShareConfigDetailMapper.java | 177 +++ .../mybatis/dao/ShareDirectoryFileMapper.java | 305 ++++ .../mybatis/dao/ShareDirectoryMapper.java | 201 +++ .../mybatis/dao/ShareFileMapper.java | 273 ++++ .../dao/SharedElementUpdateDetailMapper.java | 201 +++ .../dao/SharedElementUpdateRecordMapper.java | 241 ++++ .../mybatis/dao/SharedRuleConfigMapper.java | 177 +++ .../mybatis/dao/SharedSynAllMapper.java | 201 +++ .../mybatis/dao/SynDirectoryFileMapper.java | 297 ++++ .../mybatis/dao/SynDirectoryMapper.java | 193 +++ .../repository/mybatis/dao/SynFileMapper.java | 265 ++++ .../dao/Sync2blockchainTaskMapper.java | 265 ++++ .../mybatis/dao/SysAdminMapper.java | 241 ++++ .../mybatis/dao/SysAdminRoleMapper.java | 153 ++ .../mybatis/dao/SysAdminWeidMapper.java | 185 +++ .../repository/mybatis/dao/SysAreaMapper.java | 185 +++ .../mybatis/dao/SysConfigMapper.java | 185 +++ .../repository/mybatis/dao/SysMenuMapper.java | 217 +++ .../repository/mybatis/dao/SysOrgMapper.java | 369 +++++ .../repository/mybatis/dao/SysRoleMapper.java | 201 +++ .../mybatis/dao/SysRoleMenuMapper.java | 153 ++ .../mybatis/dao/SysRoleSignMapper.java | 153 ++ .../mybatis/dao/SysRoleUrlMapper.java | 161 +++ .../repository/mybatis/dao/SysUrlsMapper.java | 185 +++ .../mybatis/dao/WbDirectoryFileMapper.java | 297 ++++ .../mybatis/dao/WbDirectoryMapper.java | 193 +++ .../repository/mybatis/dao/WbFileMapper.java | 265 ++++ .../ArchiveSynLogDetailDynamicSqlSupport.java | 49 + .../ArchiveSynLogDynamicSqlSupport.java | 84 ++ .../ArchiveSynTimestampDynamicSqlSupport.java | 33 + .../CertificateApplyDynamicSqlSupport.java | 104 ++ ...rtificateApplyRecordDynamicSqlSupport.java | 94 ++ .../CertificateDetailDynamicSqlSupport.java | 89 ++ .../support/DecryptLogDynamicSqlSupport.java | 96 ++ .../support/DownloadLogDynamicSqlSupport.java | 78 + ...ilesApplyCheckRecordDynamicSqlSupport.java | 94 ++ ...esApplyDirectoryDocsDynamicSqlSupport.java | 133 ++ .../FilesApplyDocsDynamicSqlSupport.java | 123 ++ ...sApplyDownloadRecordDynamicSqlSupport.java | 74 + .../support/FilesApplyDynamicSqlSupport.java | 258 ++++ ...hareDirectoryFileTagDynamicSqlSupport.java | 39 + ...PreShareDirectoryTagDynamicSqlSupport.java | 39 + .../PreShareFileTagDynamicSqlSupport.java | 39 + .../dao/support/ProjectDynamicSqlSupport.java | 38 + .../support/ProviderDynamicSqlSupport.java | 54 + .../dao/support/ReadLogDynamicSqlSupport.java | 132 ++ .../ShareConfigDetailDynamicSqlSupport.java | 49 + .../ShareDirectoryDynamicSqlSupport.java | 63 + .../ShareDirectoryFileDynamicSqlSupport.java | 128 ++ .../support/ShareFileDynamicSqlSupport.java | 108 ++ ...dElementUpdateDetailDynamicSqlSupport.java | 64 + ...dElementUpdateRecordDynamicSqlSupport.java | 89 ++ .../SharedRuleConfigDynamicSqlSupport.java | 48 + .../SharedSynAllDynamicSqlSupport.java | 63 + .../SynDirectoryDynamicSqlSupport.java | 58 + .../SynDirectoryFileDynamicSqlSupport.java | 123 ++ .../dao/support/SynFileDynamicSqlSupport.java | 103 ++ .../Sync2blockchainTaskDynamicSqlSupport.java | 104 ++ .../support/SysAdminDynamicSqlSupport.java | 92 ++ .../SysAdminRoleDynamicSqlSupport.java | 33 + .../SysAdminWeidDynamicSqlSupport.java | 58 + .../dao/support/SysAreaDynamicSqlSupport.java | 53 + .../support/SysConfigDynamicSqlSupport.java | 54 + .../dao/support/SysMenuDynamicSqlSupport.java | 73 + .../dao/support/SysOrgDynamicSqlSupport.java | 169 +++ .../dao/support/SysRoleDynamicSqlSupport.java | 63 + .../support/SysRoleMenuDynamicSqlSupport.java | 33 + .../support/SysRoleSignDynamicSqlSupport.java | 33 + .../support/SysRoleUrlDynamicSqlSupport.java | 38 + .../dao/support/SysUrlsDynamicSqlSupport.java | 53 + .../support/WbDirectoryDynamicSqlSupport.java | 58 + .../WbDirectoryFileDynamicSqlSupport.java | 123 ++ .../dao/support/WbFileDynamicSqlSupport.java | 103 ++ .../mybatis/entity/ArchiveSynLog.java | 182 +++ .../mybatis/entity/ArchiveSynLogDetail.java | 91 ++ .../mybatis/entity/ArchiveSynTimestamp.java | 51 + .../mybatis/entity/CertificateApply.java | 232 +++ .../entity/CertificateApplyRecord.java | 206 +++ .../mybatis/entity/CertificateDetail.java | 195 +++ .../repository/mybatis/entity/DecryptLog.java | 162 +++ .../mybatis/entity/DownloadLog.java | 128 ++ .../repository/mybatis/entity/FilesApply.java | 626 ++++++++ .../mybatis/entity/FilesApplyCheckRecord.java | 206 +++ .../entity/FilesApplyDirectoryDocs.java | 309 ++++ .../mybatis/entity/FilesApplyDocs.java | 283 ++++ .../entity/FilesApplyDownloadRecord.java | 154 ++ .../entity/PreShareDirectoryFileTag.java | 66 + .../mybatis/entity/PreShareDirectoryTag.java | 66 + .../mybatis/entity/PreShareFileTag.java | 63 + .../repository/mybatis/entity/Project.java | 62 + .../repository/mybatis/entity/Provider.java | 104 ++ .../repository/mybatis/entity/ReadLog.java | 230 +++ .../mybatis/entity/ShareConfigDetail.java | 90 ++ .../mybatis/entity/ShareDirectory.java | 127 ++ .../mybatis/entity/ShareDirectoryFile.java | 296 ++++ .../repository/mybatis/entity/ShareFile.java | 244 ++++ .../entity/SharedElementUpdateDetail.java | 130 ++ .../entity/SharedElementUpdateRecord.java | 195 +++ .../mybatis/entity/SharedRuleConfig.java | 88 ++ .../mybatis/entity/SharedSynAll.java | 127 ++ .../mybatis/entity/SynDirectory.java | 114 ++ .../mybatis/entity/SynDirectoryFile.java | 283 ++++ .../repository/mybatis/entity/SynFile.java | 231 +++ .../mybatis/entity/Sync2blockchainTask.java | 235 +++ .../repository/mybatis/entity/SysAdmin.java | 196 +++ .../mybatis/entity/SysAdminRole.java | 49 + .../mybatis/entity/SysAdminWeid.java | 106 ++ .../repository/mybatis/entity/SysArea.java | 101 ++ .../repository/mybatis/entity/SysConfig.java | 102 ++ .../repository/mybatis/entity/SysMenu.java | 153 ++ .../repository/mybatis/entity/SysOrg.java | 401 ++++++ .../repository/mybatis/entity/SysRole.java | 127 ++ .../mybatis/entity/SysRoleMenu.java | 49 + .../mybatis/entity/SysRoleSign.java | 49 + .../repository/mybatis/entity/SysRoleUrl.java | 62 + .../repository/mybatis/entity/SysUrls.java | 101 ++ .../mybatis/entity/WbDirectory.java | 116 ++ .../mybatis/entity/WbDirectoryFile.java | 283 ++++ .../repository/mybatis/entity/WbFile.java | 231 +++ src/main/java/jj/tech/paolu/utils/AES.java | 102 ++ .../java/jj/tech/paolu/utils/CookieUtil.java | 112 ++ src/main/java/jj/tech/paolu/utils/IDHelp.java | 113 ++ src/main/java/jj/tech/paolu/utils/IPUtil.java | 65 + .../java/jj/tech/paolu/utils/JsonUtil.java | 99 ++ .../java/jj/tech/paolu/utils/JwtUtil.java | 173 +++ src/main/java/jj/tech/paolu/utils/Page.java | 68 + src/main/java/jj/tech/paolu/utils/R.java | 73 + src/main/java/jj/tech/paolu/utils/RSA.java | 359 +++++ .../mybatis/MybatisControllerPlugin.java | 229 +++ .../tech/paolu/utils/mybatis/PluginUtils.java | 142 ++ .../java/jj/tech/paolu/utils/mybatis/Sum.java | 41 + .../java/jj/tech/paolu/utils/wb/WBHttp.java | 124 ++ src/main/resources/application-dev.yml | 145 ++ src/main/resources/application-prod.yml | 129 ++ src/main/resources/application.yml | 10 + src/main/resources/bootstrap.yml | 22 + .../resources/generate/jooq/JooqConfig.xml | 46 + .../generate/mybatis/generatorConfig.xml | 106 ++ src/main/resources/ip/ip2region.xdb | Bin 0 -> 11070083 bytes src/main/resources/logback.xml | 55 + .../resources/mybatis-dynamic-sql.properties | 2 + src/main/resources/sql/data-h2.sql | 87 ++ src/main/resources/sql/schema-h2.sql | 530 +++++++ .../paolu/biz/webadmin/service/MD5Test.java | 17 + .../paolu/biz/webadmin/service/SM3Test.java | 42 + src/test/java/sm/SM2Test.java | 214 +++ src/test/java/sm/SM3Test.java | 42 + src/test/java/sm/SM4Test.java | 85 ++ src/test/java/sm/SM9Test.java | 55 + src/test/java/test/nw/BinaryTree.java | 295 ++++ src/test/java/test/nw/StreamTest.java | 41 + src/test/java/test/nw/TimeTest.java | 53 + src/test/java/test/nw/UrlTest.java | 68 + src/test/resources/application.yml | 62 + src/test/resources/banner.txt | 17 + src/test/resources/bootstrap.yml | 22 + .../resources/generate/jooq/JooqConfig.xml | 41 + .../generate/mybatis/generatorConfig.xml | 79 + src/test/resources/logback.xml | 44 + src/test/resources/sql/V1_0__schema-h2.sql | 415 ++++++ src/test/resources/xml/DaoHome.ftl | 218 +++ src/test/resources/xml/hibernate.cfg.xml | 31 + src/test/resources/xml/hibernate.properties | 12 + src/test/resources/xml/hibernate.reveng.xml | 16 + 441 files changed, 76550 insertions(+) create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 pom.xml create mode 100644 src/main/contracts/Application.sol create mode 100644 src/main/contracts/ArchivesFile.sol create mode 100644 src/main/contracts/Catalog.sol create mode 100644 src/main/contracts/CertRecord.sol create mode 100644 src/main/contracts/CreateTable.sol create mode 100644 src/main/contracts/DecryptionRecord.sol create mode 100644 src/main/contracts/DownloadRecord.sol create mode 100644 src/main/contracts/File.sol create mode 100644 src/main/contracts/OrgCert.sol create mode 100644 src/main/contracts/PersonCert.sol create mode 100644 src/main/contracts/Provider.sol create mode 100644 src/main/contracts/ReadingRecord.sol create mode 100644 src/main/contracts/Utils.sol create mode 100644 src/main/java/jj/tech/paolu/Application.java create mode 100644 src/main/java/jj/tech/paolu/biz/demo/controller/DemoController.java create mode 100644 src/main/java/jj/tech/paolu/biz/demo/controller/Test2Controller.java create mode 100644 src/main/java/jj/tech/paolu/biz/demo/controller/TestController.java create mode 100644 src/main/java/jj/tech/paolu/biz/demo/dao/UserDao.java create mode 100644 src/main/java/jj/tech/paolu/biz/demo/dto/U.java create mode 100644 src/main/java/jj/tech/paolu/biz/demo/service/AService.java create mode 100644 src/main/java/jj/tech/paolu/biz/demo/service/BService.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/controller/AdminManagerContronller.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/controller/MenuManagerController.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/controller/RoleManagerController.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/controller/RoleSignController.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/controller/SysAreasController.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/controller/SysConfigController.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/controller/YMcodeController.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/dao/SelectMapper.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/dao/TreeMapper.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/service/MenuService.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/service/OrgService.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/service/SharedService.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/service/SuperSysAdminComponent.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/service/SysAdminWeidService.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/vo/AddAdminRoleMenuVo.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/vo/AdminListVo.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/vo/Id.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/vo/IdPageVo.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/vo/Ids.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/vo/IdsAndPwd.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/vo/IdsAndPwdUpdate.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/vo/IdsPageVo.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/vo/LoginVo.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/vo/MenuTree.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/vo/OrgTree.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/vo/PageVo.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/vo/ReadLogVo.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/vo/SysAdminAddVo.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/vo/SysAdminLock.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/vo/SysAdminRoleVo.java create mode 100644 src/main/java/jj/tech/paolu/biz/webadmin/vo/SysRoleListVo.java create mode 100644 src/main/java/jj/tech/paolu/config/datasource/DataSourceConfig.java create mode 100644 src/main/java/jj/tech/paolu/config/enums/ArchiveSynLocalProcessType.java create mode 100644 src/main/java/jj/tech/paolu/config/enums/CertificateApplyCheckStatus.java create mode 100644 src/main/java/jj/tech/paolu/config/enums/CertificateApplyStatus.java create mode 100644 src/main/java/jj/tech/paolu/config/enums/CertificateApplyType.java create mode 100644 src/main/java/jj/tech/paolu/config/enums/CertificateDetailStatus.java create mode 100644 src/main/java/jj/tech/paolu/config/enums/CertificateOrgApplyType.java create mode 100644 src/main/java/jj/tech/paolu/config/enums/DelStatus.java create mode 100644 src/main/java/jj/tech/paolu/config/enums/ExecuteStatus.java create mode 100644 src/main/java/jj/tech/paolu/config/enums/FilesApplyStatus.java create mode 100644 src/main/java/jj/tech/paolu/config/enums/FilesCheckStatus.java create mode 100644 src/main/java/jj/tech/paolu/config/enums/FilesProperties.java create mode 100644 src/main/java/jj/tech/paolu/config/enums/FilesViewType.java create mode 100644 src/main/java/jj/tech/paolu/config/enums/IsApplyProvider.java create mode 100644 src/main/java/jj/tech/paolu/config/enums/RoleSign.java create mode 100644 src/main/java/jj/tech/paolu/config/enums/RoleSignName.java create mode 100644 src/main/java/jj/tech/paolu/config/enums/SharedConfigStatus.java create mode 100644 src/main/java/jj/tech/paolu/config/enums/SharedStatus.java create mode 100644 src/main/java/jj/tech/paolu/config/enums/SynStatus.java create mode 100644 src/main/java/jj/tech/paolu/config/enums/SynType.java create mode 100644 src/main/java/jj/tech/paolu/config/enums/SysConfigGroup.java create mode 100644 src/main/java/jj/tech/paolu/config/enums/UserType.java create mode 100644 src/main/java/jj/tech/paolu/config/exception/ArgumentExceptionHandler.java create mode 100644 src/main/java/jj/tech/paolu/config/httpclient/RestTemplateConfig.java create mode 100644 src/main/java/jj/tech/paolu/config/jooq/JooqConfig.java create mode 100644 src/main/java/jj/tech/paolu/config/jooq/JooqSpringTransaction.java create mode 100644 src/main/java/jj/tech/paolu/config/jooq/JooqSpringTransactionProvider.java create mode 100644 src/main/java/jj/tech/paolu/config/jpa/JpaConfig.java create mode 100644 src/main/java/jj/tech/paolu/config/json/JacksonConfiguration.java create mode 100644 src/main/java/jj/tech/paolu/config/security/Cors.java create mode 100644 src/main/java/jj/tech/paolu/config/security/SecurityFilter.java create mode 100644 src/main/java/jj/tech/paolu/config/security/user/WebAdminUtil.java create mode 100644 src/main/java/jj/tech/paolu/config/security/user/WebUserUtil.java create mode 100644 src/main/java/jj/tech/paolu/config/swagger/SwaggerConfig.java create mode 100644 src/main/java/jj/tech/paolu/config/wsclient/SpringWebSocketClient.java create mode 100644 src/main/java/jj/tech/paolu/repository/GeneratorMybatis.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/DefaultCatalog.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/Indexes.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/Keys.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/Public.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/Tables.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/ArchiveSynLog.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/CertificateApply.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/CertificateApplyRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/CertificateDetail.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/DecryptLog.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/DownloadLog.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/FilesApply.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/FilesApplyCheckRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/FilesApplyDirectoryDocs.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/FilesApplyDocs.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/FilesApplyDownloadRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/Project.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/ReadLog.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/SharedRuleConfig.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/SharedSynAll.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/SynDirectory.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/SynDirectoryFile.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/SynFile.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/SysAdmin.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/SysAdminRole.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/SysAdminWeid.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/SysArea.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/SysConfig.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/SysMenu.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/SysOrg.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/SysRole.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/SysRoleMenu.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/SysRoleSign.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/SysRoleUrl.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/SysUrls.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/daos/ArchiveSynLogDao.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/daos/CertificateApplyDao.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/daos/CertificateApplyRecordDao.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/daos/CertificateDetailDao.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/daos/DecryptLogDao.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/daos/DownloadLogDao.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/daos/FilesApplyCheckRecordDao.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/daos/FilesApplyDao.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/daos/FilesApplyDirectoryDocsDao.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/daos/FilesApplyDocsDao.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/daos/FilesApplyDownloadRecordDao.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/daos/ProjectDao.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/daos/ReadLogDao.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SharedRuleConfigDao.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SharedSynAllDao.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SynDirectoryDao.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SynDirectoryFileDao.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SynFileDao.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysAdminDao.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysAdminRoleDao.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysAdminWeidDao.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysAreaDao.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysConfigDao.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysMenuDao.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysOrgDao.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysRoleDao.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysRoleMenuDao.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysRoleSignDao.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysRoleUrlDao.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysUrlsDao.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/ArchiveSynLog.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/CertificateApply.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/CertificateApplyRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/CertificateDetail.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/DecryptLog.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/DownloadLog.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/FilesApply.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/FilesApplyCheckRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/FilesApplyDirectoryDocs.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/FilesApplyDocs.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/FilesApplyDownloadRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/Project.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/ReadLog.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SharedRuleConfig.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SharedSynAll.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SynDirectory.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SynDirectoryFile.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SynFile.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysAdmin.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysAdminRole.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysAdminWeid.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysArea.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysConfig.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysMenu.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysOrg.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysRole.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysRoleMenu.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysRoleSign.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysRoleUrl.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysUrls.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/records/ArchiveSynLogRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/records/CertificateApplyRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/records/CertificateApplyRecordRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/records/CertificateDetailRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/records/DecryptLogRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/records/DownloadLogRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/records/FilesApplyCheckRecordRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/records/FilesApplyDirectoryDocsRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/records/FilesApplyDocsRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/records/FilesApplyDownloadRecordRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/records/FilesApplyRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/records/ProjectRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/records/ReadLogRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/records/SharedRuleConfigRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/records/SharedSynAllRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/records/SynDirectoryFileRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/records/SynDirectoryRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/records/SynFileRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysAdminRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysAdminRoleRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysAdminWeidRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysAreaRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysConfigRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysMenuRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysOrgRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysRoleMenuRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysRoleRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysRoleSignRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysRoleUrlRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysUrlsRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/ArchiveSynLogController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/ArchiveSynLogDetailController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/ArchiveSynTimestampController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/CertificateApplyController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/CertificateApplyRecordController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/CertificateDetailController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/DecryptLogController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/DownloadLogController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/FilesApplyCheckRecordController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/FilesApplyController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/FilesApplyDirectoryDocsController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/FilesApplyDocsController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/FilesApplyDownloadRecordController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/PreShareDirectoryFileTagController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/PreShareDirectoryTagController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/PreShareFileTagController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/ProjectController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/ProviderController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/ReadLogController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/ShareDirectoryController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/ShareDirectoryFileController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/ShareFileController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/SharedElementUpdateDetailController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/SharedElementUpdateRecordController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/SharedRuleConfigController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/SharedSynAllController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/SynDirectoryController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/SynDirectoryFileController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/SynFileController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/Sync2blockchainTaskController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/SysAdminController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/SysAdminRoleController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/SysAdminWeidController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/SysAreaController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/SysConfigController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/SysMenuController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/SysOrgController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/SysRoleController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/SysRoleMenuController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/SysRoleSignController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/SysRoleUrlController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/control/SysUrlsController.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/ArchiveSynLogDetailMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/ArchiveSynLogMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/ArchiveSynTimestampMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/CertificateApplyMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/CertificateApplyRecordMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/CertificateDetailMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/DecryptLogMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/DownloadLogMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/FilesApplyCheckRecordMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/FilesApplyDirectoryDocsMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/FilesApplyDocsMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/FilesApplyDownloadRecordMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/FilesApplyMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/PreShareDirectoryFileTagMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/PreShareDirectoryTagMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/PreShareFileTagMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/ProjectMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/ProviderMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/ReadLogMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/ShareConfigDetailMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/ShareDirectoryFileMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/ShareDirectoryMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/ShareFileMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/SharedElementUpdateDetailMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/SharedElementUpdateRecordMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/SharedRuleConfigMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/SharedSynAllMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/SynDirectoryFileMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/SynDirectoryMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/SynFileMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/Sync2blockchainTaskMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/SysAdminMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/SysAdminRoleMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/SysAdminWeidMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/SysAreaMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/SysConfigMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/SysMenuMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/SysOrgMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/SysRoleMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/SysRoleMenuMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/SysRoleSignMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/SysRoleUrlMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/SysUrlsMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/WbDirectoryFileMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/WbDirectoryMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/WbFileMapper.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ArchiveSynLogDetailDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ArchiveSynLogDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ArchiveSynTimestampDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/CertificateApplyDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/CertificateApplyRecordDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/CertificateDetailDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/DecryptLogDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/DownloadLogDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/FilesApplyCheckRecordDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/FilesApplyDirectoryDocsDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/FilesApplyDocsDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/FilesApplyDownloadRecordDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/FilesApplyDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/PreShareDirectoryFileTagDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/PreShareDirectoryTagDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/PreShareFileTagDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ProjectDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ProviderDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ReadLogDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ShareConfigDetailDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ShareDirectoryDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ShareDirectoryFileDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ShareFileDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SharedElementUpdateDetailDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SharedElementUpdateRecordDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SharedRuleConfigDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SharedSynAllDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SynDirectoryDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SynDirectoryFileDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SynFileDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/Sync2blockchainTaskDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysAdminDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysAdminRoleDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysAdminWeidDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysAreaDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysConfigDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysMenuDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysOrgDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysRoleDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysRoleMenuDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysRoleSignDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysRoleUrlDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysUrlsDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/WbDirectoryDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/WbDirectoryFileDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/dao/support/WbFileDynamicSqlSupport.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/ArchiveSynLog.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/ArchiveSynLogDetail.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/ArchiveSynTimestamp.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/CertificateApply.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/CertificateApplyRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/CertificateDetail.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/DecryptLog.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/DownloadLog.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/FilesApply.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/FilesApplyCheckRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/FilesApplyDirectoryDocs.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/FilesApplyDocs.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/FilesApplyDownloadRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/PreShareDirectoryFileTag.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/PreShareDirectoryTag.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/PreShareFileTag.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/Project.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/Provider.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/ReadLog.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/ShareConfigDetail.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/ShareDirectory.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/ShareDirectoryFile.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/ShareFile.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/SharedElementUpdateDetail.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/SharedElementUpdateRecord.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/SharedRuleConfig.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/SharedSynAll.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/SynDirectory.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/SynDirectoryFile.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/SynFile.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/Sync2blockchainTask.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/SysAdmin.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/SysAdminRole.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/SysAdminWeid.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/SysArea.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/SysConfig.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/SysMenu.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/SysOrg.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/SysRole.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/SysRoleMenu.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/SysRoleSign.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/SysRoleUrl.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/SysUrls.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/WbDirectory.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/WbDirectoryFile.java create mode 100644 src/main/java/jj/tech/paolu/repository/mybatis/entity/WbFile.java create mode 100644 src/main/java/jj/tech/paolu/utils/AES.java create mode 100644 src/main/java/jj/tech/paolu/utils/CookieUtil.java create mode 100644 src/main/java/jj/tech/paolu/utils/IDHelp.java create mode 100644 src/main/java/jj/tech/paolu/utils/IPUtil.java create mode 100644 src/main/java/jj/tech/paolu/utils/JsonUtil.java create mode 100644 src/main/java/jj/tech/paolu/utils/JwtUtil.java create mode 100644 src/main/java/jj/tech/paolu/utils/Page.java create mode 100644 src/main/java/jj/tech/paolu/utils/R.java create mode 100644 src/main/java/jj/tech/paolu/utils/RSA.java create mode 100644 src/main/java/jj/tech/paolu/utils/mybatis/MybatisControllerPlugin.java create mode 100644 src/main/java/jj/tech/paolu/utils/mybatis/PluginUtils.java create mode 100644 src/main/java/jj/tech/paolu/utils/mybatis/Sum.java create mode 100644 src/main/java/jj/tech/paolu/utils/wb/WBHttp.java create mode 100644 src/main/resources/application-dev.yml create mode 100644 src/main/resources/application-prod.yml create mode 100644 src/main/resources/application.yml create mode 100644 src/main/resources/bootstrap.yml create mode 100644 src/main/resources/generate/jooq/JooqConfig.xml create mode 100644 src/main/resources/generate/mybatis/generatorConfig.xml create mode 100644 src/main/resources/ip/ip2region.xdb create mode 100644 src/main/resources/logback.xml create mode 100644 src/main/resources/mybatis-dynamic-sql.properties create mode 100644 src/main/resources/sql/data-h2.sql create mode 100644 src/main/resources/sql/schema-h2.sql create mode 100644 src/test/java/jj/tech/paolu/biz/webadmin/service/MD5Test.java create mode 100644 src/test/java/jj/tech/paolu/biz/webadmin/service/SM3Test.java create mode 100644 src/test/java/sm/SM2Test.java create mode 100644 src/test/java/sm/SM3Test.java create mode 100644 src/test/java/sm/SM4Test.java create mode 100644 src/test/java/sm/SM9Test.java create mode 100644 src/test/java/test/nw/BinaryTree.java create mode 100644 src/test/java/test/nw/StreamTest.java create mode 100644 src/test/java/test/nw/TimeTest.java create mode 100644 src/test/java/test/nw/UrlTest.java create mode 100644 src/test/resources/application.yml create mode 100644 src/test/resources/banner.txt create mode 100644 src/test/resources/bootstrap.yml create mode 100644 src/test/resources/generate/jooq/JooqConfig.xml create mode 100644 src/test/resources/generate/mybatis/generatorConfig.xml create mode 100644 src/test/resources/logback.xml create mode 100644 src/test/resources/sql/V1_0__schema-h2.sql create mode 100644 src/test/resources/xml/DaoHome.ftl create mode 100644 src/test/resources/xml/hibernate.cfg.xml create mode 100644 src/test/resources/xml/hibernate.properties create mode 100644 src/test/resources/xml/hibernate.reveng.xml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7ba43ee --- /dev/null +++ b/.gitignore @@ -0,0 +1,30 @@ +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +# *.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + + +.classpath +.project +.settings +target +/.factorypath diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..91c613b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,18 @@ +FROM docker.io/maven:3.9.6-amazoncorretto-21-debian as build +WORKDIR /workspace +COPY pom.xml . +COPY src src +COPY libs libs +RUN ls +RUN --mount=type=cache,target=/root/.m2,id=my_m2,sharing=locked \ +mvn package -Dmaven.test.skip +RUN mkdir -p target/dependency && (cd target/dependency; jar -xf ../*.jar) + +FROM docker.io/eclipse-temurin:21-jre-alpine +ARG DEPENDENCY=/workspace/target/dependency +COPY --from=build ${DEPENDENCY}/BOOT-INF/lib /app/lib +COPY --from=build ${DEPENDENCY}/META-INF /app/META-INF +COPY --from=build ${DEPENDENCY}/BOOT-INF/classes /app +RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime +RUN echo "Asia/Shanghai" > /etc/timezone +ENTRYPOINT ["java","-cp","app:app/lib/*","jj.tech.paolu.Application","--spring.profiles.active=prod"] diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..897026e --- /dev/null +++ b/pom.xml @@ -0,0 +1,594 @@ + + + 4.0.0 + jj.tech.yx + yx + yx + jar + 1.0.0 + + + org.springframework.boot + spring-boot-starter-parent + 3.3.3 + + + 21 + UTF-8 + + + + + + + + + + + + + + + + + + + + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-tomcat + + + + + org.springframework.boot + spring-boot-starter-undertow + + + + + + org.springframework.boot + spring-boot-starter-jooq + + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 3.0.3 + + + + org.mybatis.dynamic-sql + mybatis-dynamic-sql + 1.5.2 + + + org.mybatis.generator + mybatis-generator-core + 1.4.2 + + + + org.springframework.boot + spring-boot-starter-json + + + org.springframework.boot + spring-boot-starter-websocket + + + + org.springframework.boot + spring-boot-starter-validation + + + org.springframework.boot + spring-boot-starter-mail + + + + + + org.springframework.boot + spring-boot-starter-logging + + + + + + org.springframework.boot + spring-boot-starter-test + test + + + + org.springdoc + springdoc-openapi-starter-webmvc-ui + 2.5.0 + + + org.springdoc + springdoc-openapi-starter-common + 2.5.0 + + + + + com.h2database + h2 + + + org.mariadb.jdbc + mariadb-java-client + + + com.mysql + mysql-connector-j + + + org.postgresql + postgresql + + + + + com.zaxxer + HikariCP + compile + + + + + com.github.penggle + kaptcha + 2.3.2 + + + + + org.apache.httpcomponents + fluent-hc + 4.5.14 + + + org.apache.commons + commons-lang3 + + + org.apache.commons + commons-collections4 + 4.4 + + + commons-codec + commons-codec + + + commons-beanutils + commons-beanutils + 1.9.4 + + + + org.bouncycastle + bcutil-jdk18on + 1.78.1 + + + + + + + io.jsonwebtoken + jjwt-api + 0.12.5 + + + io.jsonwebtoken + jjwt-impl + 0.12.5 + + + io.jsonwebtoken + jjwt-jackson + 0.12.5 + + + + + + org.lionsoul + ip2region + 2.7.0 + + + commons-io + commons-io + 2.16.1 + + + + + + + + + + + + + + + + + + + + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + it.ozimov + yaml-properties-maven-plugin + 1.1.3 + + + initialize + + read-project-properties + + + + src/main/resources/application.yml + + + + + + + + + + + + org.jooq + jooq-codegen-maven + + ${basedir}/src/main/resources/generate/jooq/JooqConfig.xml + + + + generate-jooq + generate-sources + + generate + + + + + + com.h2database + h2 + ${h2.version} + + + org.mariadb.jdbc + mariadb-java-client + ${mariadb.version} + + + org.postgresql + postgresql + ${postgresql.version} + + + + + + + + + + + + + + + repo + repo + file://${project.basedir}/libs + + + + aliyun-public + aliyun-public + https://maven.aliyun.com/repository/public + + true + + + true + + + + aliyun-central + aliyun-central + https://maven.aliyun.com/repository/central + + true + + + true + + + + aliyun-spring + https://maven.aliyun.com/repository/spring + + true + + + true + + + + spring-snapshots + https://repo.spring.io/snapshot + + true + + + + spring-milestones + https://repo.spring.io/milestone + + + + jitpack.io + https://www.jitpack.io + + true + + + + + + + + + aliyun-plugin + aliyun-plugin + https://maven.aliyun.com/repository/public + + true + + + true + + + + aliyun-plugin-central + aliyun-plugin-central + https://maven.aliyun.com/repository/central + + true + + + true + + + + + spring-snapshots + https://repo.spring.io/snapshot + + + spring-milestones + https://repo.spring.io/milestone + + + + + diff --git a/src/main/contracts/Application.sol b/src/main/contracts/Application.sol new file mode 100644 index 0000000..98647a5 --- /dev/null +++ b/src/main/contracts/Application.sol @@ -0,0 +1,178 @@ +//pragma solidity >=0.6.10 <0.8.20; +pragma solidity ^0.4.24; +pragma experimental ABIEncoderV2; + +import "../Table.sol"; + +//档案申请 +contract Application { + event CreateResult(int256 count); + event InsertResult(int256 count); + event UpdateResult(int256 count); + event RemoveResult(int256 count); + + + TableFactory tableFactory = TableFactory(0x1001); + string constant TABLE_SUFFIX = "_application"; + string constant KEY_NAME = "key"; + string constant KEY_VALUE = "key"; + + struct ApplicationData{ + string id; + string used_org_code; + int256 provider_audit_status; + string used_json_data; + string provider_json_data; + string application_json_data; + int256 create_time; + int256 update_time; + } + + //利用方审批完成后上链 + function insert(string memory table_prefix,string memory id,string memory used_org_code,string memory used_json_data,string memory application_json_data,int256 create_time,int256 update_time) + public + returns(int256,string memory){ + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, TABLE_SUFFIX)); + Table table = tableFactory.openTable(table_name); + //id重复校验 + if(existById(id,table)){ + return (0,"id exists,insert failed"); + } + Entry entry = table.newEntry(); + entry.set(KEY_NAME, KEY_VALUE); + entry.set("id", id); + entry.set("used_org_code", used_org_code); + entry.set("provider_audit_status", int256(0)); + entry.set("used_json_data", used_json_data); + entry.set("application_json_data", application_json_data); + entry.set("create_time", create_time); + entry.set("update_time", update_time); + + int256 count = table.insert(KEY_VALUE, entry); + if(count>0){ + emit InsertResult(count); + } + + return (count,"success"); + + } + + //提供方完成审批后的结果上链 + function updateAudit(string memory table_prefix,string memory id,string memory provider_json_data,int256 update_time) + public + returns(int256,string memory){ + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, TABLE_SUFFIX)); + Table table = tableFactory.openTable(table_name); + //id重复校验 + if(!existById(id,table)){ + return (0,"id not find"); + } + Entry entry = table.newEntry(); + entry.set(KEY_NAME, KEY_VALUE); + entry.set("provider_json_data", provider_json_data); + entry.set("provider_audit_status", int256(1)); + entry.set("update_time", update_time); + + Condition condition = table.newCondition(); + condition.EQ("id", id); + + int256 count = table.update(KEY_VALUE, entry, condition); + if(count>0){ + emit UpdateResult(count); + } + return (count,"success"); + + } + + //提供方查询目标为本提供方的待本公司审批的审批记录 + function selectProviderNotAudit(string memory table_prefix) + public + view + returns (ApplicationData[]){ + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, TABLE_SUFFIX)); + Table table = tableFactory.openTable(table_name); + + Condition condition = table.newCondition(); + condition.EQ("provider_audit_status", int256(0)); + + Entries entries = table.select(KEY_VALUE, condition); + uint256 dataLen = uint256(entries.size()); + ApplicationData[] memory applicationDatas = new ApplicationData[](dataLen); + + for (uint256 i = 0; i < dataLen; ++i) { + Entry entry = entries.get(int256(i)); + applicationDatas[i]=ApplicationData(entry.getString("id"),entry.getString("used_org_code"),entry.getInt("provider_audit_status"),entry.getString("used_json_data"),entry.getString("provider_json_data"),entry.getString("application_json_data"),entry.getInt("create_time"),entry.getInt("update_time")); + } + + return (applicationDatas); + } + + //利用方查询本机构发起的且提供方已经完成的审批结果 + function selectUsedAudit(string memory table_prefix,string memory used_org_code) + public + view + returns (ApplicationData[]){ + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, TABLE_SUFFIX)); + Table table = tableFactory.openTable(table_name); + + Condition condition = table.newCondition(); + condition.EQ("provider_audit_status", int256(1)); + condition.EQ("used_org_code", used_org_code); + + Entries entries = table.select(KEY_VALUE, condition); + uint256 dataLen = uint256(entries.size()); + ApplicationData[] memory applicationDatas = new ApplicationData[](dataLen); + + for (uint256 i = 0; i < dataLen; ++i) { + Entry entry = entries.get(int256(i)); + applicationDatas[i]=ApplicationData(entry.getString("id"),entry.getString("used_org_code"),entry.getInt("provider_audit_status"),entry.getString("used_json_data"),entry.getString("provider_json_data"),entry.getString("application_json_data"),entry.getInt("create_time"),entry.getInt("update_time")); + } + + return (applicationDatas); + + } + + //利用方查询本机构发起的且提供方已经完成的审批结果,更新时间后的 + function selectUsedAuditAndUpdateTime(string memory table_prefix,string memory used_org_code,int256 update_time) + public + view + returns (ApplicationData[]){ + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, TABLE_SUFFIX)); + Table table = tableFactory.openTable(table_name); + + Condition condition = table.newCondition(); + condition.EQ("provider_audit_status", int256(1)); + condition.EQ("used_org_code", used_org_code); + condition.GE("update_time", update_time); + + Entries entries = table.select(KEY_VALUE, condition); + uint256 dataLen = uint256(entries.size()); + ApplicationData[] memory applicationDatas = new ApplicationData[](dataLen); + + for (uint256 i = 0; i < dataLen; ++i) { + Entry entry = entries.get(int256(i)); + applicationDatas[i]=ApplicationData(entry.getString("id"),entry.getString("used_org_code"),entry.getInt("provider_audit_status"),entry.getString("used_json_data"),entry.getString("provider_json_data"),entry.getString("application_json_data"),entry.getInt("create_time"),entry.getInt("update_time")); + } + + return (applicationDatas); + + } + + + //根据id判定是否存在 + function existById(string memory id,Table table) + private + view + returns (bool){ + Condition condition = table.newCondition(); + condition.EQ("id", id); + Entries entries = table.select(KEY_VALUE, condition); + return entries.size()>0; + } + +} \ No newline at end of file diff --git a/src/main/contracts/ArchivesFile.sol b/src/main/contracts/ArchivesFile.sol new file mode 100644 index 0000000..fa8d171 --- /dev/null +++ b/src/main/contracts/ArchivesFile.sol @@ -0,0 +1,214 @@ +//pragma solidity >=0.6.10 <0.8.20; +pragma solidity ^0.4.24; +pragma experimental ABIEncoderV2; + +import "../Table.sol"; +import "./Utils.sol"; +import "./Provider.sol"; + +contract ArchivesFile { + event CreateResult(int256 count); + event InsertResult(int256 count); + event UpdateResult(int256 count); + event RemoveResult(int256 count); + + TableFactory tableFactory = TableFactory(0x1001); + Utils utils = new Utils(); + Provider provider = new Provider(); + + string constant TABLE_SUFFIX = "_archives_file"; + string constant KEY_NAME = "key"; + string constant KEY_VALUE = "key"; + + struct ArchivesFileData{ + string id; + string catalog_id; + string other_params; + int256 create_time; + int256 update_time; + + } + + //查询单个件 + function selectById(string memory table_prefix,string memory archives_file_id) + public + view + returns (ArchivesFileData[] memory){ + if(provider.existByPrefix(table_prefix)==false){ + revert("table_prefix not exists"); + } + + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, TABLE_SUFFIX)); + Table table = tableFactory.openTable(table_name); + + Condition condition = table.newCondition(); + condition.EQ("id", archives_file_id); + + Entries entries = table.select(KEY_VALUE, condition); + + uint256 dataLen = uint256(entries.size()); + ArchivesFileData[] memory archivesFiles = new ArchivesFileData[](dataLen); + + for (uint256 i = 0; i < dataLen; ++i) { + Entry entry = entries.get(int256(i)); + archivesFiles[i]=ArchivesFileData(entry.getString("id"),entry.getString("catalog_id"),entry.getString("other_params"),entry.getInt("create_time"),entry.getInt("update_time")); + + + } + //合约不可以返回空,而又会自动给ArchivesFileData对象赋默认值,这样业务程序会判断很复杂 + //所以干脆搞成一个列表得了,业务程序用列表长度来判断是否存在 + return (archivesFiles); + } + + //查询某个目录下的所有直属件 + function selectByCatalogId(string memory table_prefix,string memory catalog_id) + public + view + returns (ArchivesFileData[] memory){ + if(provider.existByPrefix(table_prefix)==false){ + revert("table_prefix not exists"); + } + + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, TABLE_SUFFIX)); + Table table = tableFactory.openTable(table_name); + + Condition condition = table.newCondition(); + condition.EQ("catalog_id", catalog_id); + + Entries entries = table.select(KEY_VALUE, condition); + uint256 dataLen = uint256(entries.size()); + ArchivesFileData[] memory archivesFiles = new ArchivesFileData[](dataLen); + + for (uint256 i = 0; i < dataLen; ++i) { + Entry entry = entries.get(int256(i)); + archivesFiles[i]=ArchivesFileData(entry.getString("id"),entry.getString("catalog_id"),entry.getString("other_params"),entry.getInt("create_time"),entry.getInt("update_time")); + + } + + return (archivesFiles); + } + + function insert(string memory id,string memory catalog_id, string memory other_params,int256 create_time,int256 update_time ) + public + returns(int256,string memory){ + + //表格前缀 + string memory table_prefix = provider.selectPrefixByAddr(utils.toString(tx.origin)); + if(utils.strIsEmpty(table_prefix)){ + revert("can not find your archive_file table, have you regiestered as a provder?"); + } + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, TABLE_SUFFIX)); + + Table table = tableFactory.openTable(table_name); + + // //id重复校验 + if(existById(id,table)){ + revert("id can not repeat"); + } + + + Entry entry = table.newEntry(); + entry.set(KEY_NAME, KEY_VALUE); + entry.set("id", id); + entry.set("catalog_id", catalog_id); + entry.set("other_params", other_params); + entry.set("create_time", create_time); + entry.set("update_time", update_time); + + int256 count = table.insert(KEY_VALUE, entry); + if(count>0){ + emit InsertResult(count); + } + return (count,"success"); + } + + function update(string memory id,string memory catalog_id, string memory other_params,int256 update_time ) + public + returns(int256,string memory){ + + //表格前缀 + string memory table_prefix = provider.selectPrefixByAddr(utils.toString(tx.origin)); + if(utils.strIsEmpty(table_prefix)){ + revert("can not find your archive_file table, have you regiestered as a provder?"); + } + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, TABLE_SUFFIX)); + + Table table = tableFactory.openTable(table_name); + + Entry entry = table.newEntry(); + entry.set("other_params",other_params); + entry.set("catalog_id",catalog_id); + entry.set("update_time",update_time); + + Condition condition = table.newCondition(); + condition.EQ("id", id); + + int256 count = table.update(KEY_VALUE, entry, condition); + if(count>0){ + emit InsertResult(count); + } + return (count,"success"); + } + + + + //根据archives_file_id删除 + function remove(string[] memory archives_file_id) + public + returns (int256) { + //表格前缀 + string memory table_prefix = provider.selectPrefixByAddr(utils.toString(tx.origin)); + if(utils.strIsEmpty(table_prefix)){ + revert("can not find your archive_file table, have you regiestered as a provder?"); + } + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, TABLE_SUFFIX)); + Table table = tableFactory.openTable(table_name); + int256 count = 0; + + for(uint256 i=0;i0){ + count++; + } + } + + if(count>0){ + emit RemoveResult(count); + } + + return count; + } + + + //根据id判定是否存在 + function existById(string memory id,Table table) + private + view + returns (bool){ + Condition condition = table.newCondition(); + condition.EQ("id", id); + Entries entries = table.select(KEY_VALUE, condition); + return entries.size()>0; + } + + //根据catalog_id判定是否存在 + function existByCatalogId(string memory catalog_id,string memory table_prefix) + private + view + returns (bool){ + string memory table_name = string(abi.encodePacked(table_prefix, "_catalog")); + Table table = tableFactory.openTable(table_name); + Condition condition = table.newCondition(); + condition.EQ("id", catalog_id); + Entries entries = table.select(KEY_VALUE, condition); + return entries.size()>0; + } + +} \ No newline at end of file diff --git a/src/main/contracts/Catalog.sol b/src/main/contracts/Catalog.sol new file mode 100644 index 0000000..29b9eeb --- /dev/null +++ b/src/main/contracts/Catalog.sol @@ -0,0 +1,223 @@ +//pragma solidity >=0.6.10 <0.8.20; +pragma solidity ^0.4.24; +pragma experimental ABIEncoderV2; + +import "../Table.sol"; +import "./Provider.sol"; +import "./Utils.sol"; + +contract Catalog { + event CreateResult(int256 count); + event InsertResult(int256 count); + event UpdateResult(int256 count); + event RemoveResult(int256 count); + + + TableFactory tableFactory = TableFactory(0x1001); + Utils utils = new Utils(); + Provider provider = new Provider(); + string constant TABLE_SUFFIX = "_catalog"; + string constant KEY_NAME = "key"; + string constant KEY_VALUE = "key"; + + struct CatalogData{ + string id; + string parent_id; + string other_params; + int256 create_time; + int256 update_time; + } + + function selectByParentId(string memory table_prefix,string memory parent_id) + public + view + returns (CatalogData[]){ + if(provider.existByPrefix(table_prefix)==false){ + revert("table_prefix not exists"); + } + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, TABLE_SUFFIX)); + + Table table = tableFactory.openTable(table_name); + + Condition condition = table.newCondition(); + condition.EQ("parent_id", parent_id); + + Entries entries = table.select(KEY_VALUE, condition); + uint256 dataLen = uint256(entries.size()); + CatalogData[] memory catalogDatas = new CatalogData[](dataLen); + + for (uint256 i = 0; i < dataLen; ++i) { + Entry entry = entries.get(int256(i)); + catalogDatas[i]=CatalogData(entry.getString("id"),entry.getString("parent_id"),entry.getString("other_params"),entry.getInt("create_time"),entry.getInt("update_time")); + } + + return (catalogDatas); + } + + function selectById(string memory table_prefix,string memory id) + public + view + returns (CatalogData[]){ + if(provider.existByPrefix(table_prefix)==false){ + revert("table_prefix not exists"); + } + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, TABLE_SUFFIX)); + + Table table = tableFactory.openTable(table_name); + + Condition condition = table.newCondition(); + condition.EQ("id", id); + + Entries entries = table.select(KEY_VALUE, condition); + uint256 dataLen = uint256(entries.size()); + CatalogData[] memory catalogDatas = new CatalogData[](dataLen); + + for (uint256 i = 0; i < dataLen; ++i) { + Entry entry = entries.get(int256(i)); + catalogDatas[i]=CatalogData(entry.getString("id"),entry.getString("parent_id"),entry.getString("other_params"),entry.getInt("create_time"),entry.getInt("update_time")); + } + + return (catalogDatas); + } + + function insert(string memory id,string memory other_params,string memory parent_id,int256 create_time,int256 update_time) + public + returns(int256,string memory){ + //表格前缀 + + string memory table_prefix = provider.selectPrefixByAddr(utils.toString(tx.origin)); + if(utils.strIsEmpty(table_prefix)){ + revert("can not find your catalog table, are you regiester as provder?"); + } + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, TABLE_SUFFIX)); + Table table = tableFactory.openTable(table_name); + + //id重复校验 + if(existById(id,table)){ + revert("id exist, insert failed"); + } + //parent_id如果不为空则校验父级是否存在 + // if(utils.strIsEmpty(parent_id)){ + // //不存在 + // if(!existByParentId(parent_id,table)){ + // return (0,"parent_id not find"); + // } + // } + + Entry entry = table.newEntry(); + entry.set(KEY_NAME, KEY_VALUE); + entry.set("id", id); + entry.set("other_params", other_params); + entry.set("parent_id", parent_id); + entry.set("create_time", create_time); + entry.set("update_time", update_time); + + int256 count = table.insert(KEY_VALUE, entry); + if(count>0){ + emit InsertResult(count); + } + + + return (count,"success"); + } + + function update(string memory id,string memory other_params,string memory parent_id,int256 update_time) + public + returns(int256,string memory){ + //必填项校验 + if(utils.strIsEmpty(other_params)){ + revert("other_params can not empty"); + } + if(update_time == 0){ + revert("update_time can not empty"); + } + + //表格前缀 + string memory table_prefix = provider.selectPrefixByAddr(utils.toString(tx.origin)); + if(utils.strIsEmpty(table_prefix)){ + revert("can not find your catalog table, are you regiester as provder?"); + } + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, "_catalog")); + Table table = tableFactory.openTable(table_name); + + Entry entry = table.newEntry(); + entry.set("other_params",other_params); + entry.set("parent_id",parent_id); + entry.set("update_time",update_time); + + Condition condition = table.newCondition(); + condition.EQ("id", id); + + int256 count = table.update(KEY_VALUE, entry, condition); + if(count>0){ + emit UpdateResult(count); + } + + return (count,"success"); + } + + //根据catalog_id删除 + function remove(string memory catalog_id) + public + returns (int256) { + //表格前缀 + string memory table_prefix = provider.selectPrefixByAddr(utils.toString(tx.origin)); + if(utils.strIsEmpty(table_prefix)){ + revert("can not find your catalog table, are you regiester as provder?"); + } + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, TABLE_SUFFIX)); + Table table = tableFactory.openTable(table_name); + + Condition condition = table.newCondition(); + condition.EQ("id", catalog_id); + + int256 count = table.remove(KEY_VALUE, condition); + if(count>0){ + emit RemoveResult(count); + } + return count; + } + + //判断catalog_id是否有子archives_file + function existArchivesFileById(string memory catalog_id,string memory table_prefix) + private + view + returns (bool){ + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, "_archives_file")); + + Table table = tableFactory.openTable(table_name); + Condition condition = table.newCondition(); + condition.EQ("catalog_id", catalog_id); + Entries entries = table.select("key", condition); + return entries.size()>0; + + } + + //根据id判定是否存在 + function existById(string memory id,Table table) + private + view + returns (bool){ + Condition condition = table.newCondition(); + condition.EQ("id", id); + Entries entries = table.select(KEY_VALUE, condition); + return entries.size()>0; + } + + //根据parent_id判定是否存在 + function existByParentId(string memory parent_id,Table table) + private + view + returns (bool){ + Condition condition = table.newCondition(); + condition.EQ("parent_id", parent_id); + Entries entries = table.select(KEY_VALUE, condition); + return entries.size()>0; + } +} \ No newline at end of file diff --git a/src/main/contracts/CertRecord.sol b/src/main/contracts/CertRecord.sol new file mode 100644 index 0000000..e8a4f4d --- /dev/null +++ b/src/main/contracts/CertRecord.sol @@ -0,0 +1,177 @@ +//pragma solidity >=0.6.10 <0.8.20; +pragma solidity ^0.4.24; +pragma experimental ABIEncoderV2; + +import "../Table.sol"; +import "./Provider.sol"; +import "./Utils.sol"; + +//证书审核记录 +contract CertRecord { + event CreateResult(int256 count); + event InsertResult(int256 count); + event UpdateResult(int256 count); + event RemoveResult(int256 count); + + + TableFactory tableFactory = TableFactory(0x1001); + Utils utils = new Utils(); + Provider provider = new Provider(); + string constant TABLE_SUFFIX = "_cert_record"; + string constant KEY_NAME = "key"; + string constant KEY_VALUE = "key"; + + struct CertRecordData{ + string id; + string cert_id; + string user_id; + string org_id; + string audit_status; + string json_data; + int256 create_time; + } + + //根据id查询记录 + function selectById(string memory table_prefix,string memory id) + public + view + returns (CertRecordData[]){ + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, TABLE_SUFFIX)); + Table table = tableFactory.openTable(table_name); + + Condition condition = table.newCondition(); + condition.EQ("id", id); + + Entries entries = table.select(KEY_VALUE, condition); + uint256 dataLen = uint256(entries.size()); + CertRecordData[] memory recordDatas = new CertRecordData[](dataLen); + + for (uint256 i = 0; i < dataLen; ++i) { + Entry entry = entries.get(int256(i)); + recordDatas[i]=CertRecordData(entry.getString("id"),entry.getString("cert_id"),entry.getString("user_id"),entry.getString("org_id"),entry.getString("audit_status"),entry.getString("json_data"),entry.getInt("create_time")); + } + + return (recordDatas); + } + + //根据userid查询记录 + function selectByUserId(string memory table_prefix,string memory user_id) + public + view + returns (CertRecordData[]){ + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, TABLE_SUFFIX)); + Table table = tableFactory.openTable(table_name); + + Condition condition = table.newCondition(); + condition.EQ("user_id", user_id); + + Entries entries = table.select(KEY_VALUE, condition); + uint256 dataLen = uint256(entries.size()); + CertRecordData[] memory recordDatas = new CertRecordData[](dataLen); + + for (uint256 i = 0; i < dataLen; ++i) { + Entry entry = entries.get(int256(i)); + recordDatas[i]=CertRecordData(entry.getString("id"),entry.getString("cert_id"),entry.getString("user_id"),entry.getString("org_id"),entry.getString("audit_status"),entry.getString("json_data"),entry.getInt("create_time")); + } + + return (recordDatas); + } + + //根据userid查询记录 + function selectByCertId(string memory table_prefix,string memory cert_id) + public + view + returns (CertRecordData[]){ + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, TABLE_SUFFIX)); + Table table = tableFactory.openTable(table_name); + + Condition condition = table.newCondition(); + condition.EQ("cert_id", cert_id); + + Entries entries = table.select(KEY_VALUE, condition); + uint256 dataLen = uint256(entries.size()); + CertRecordData[] memory recordDatas = new CertRecordData[](dataLen); + + for (uint256 i = 0; i < dataLen; ++i) { + Entry entry = entries.get(int256(i)); + recordDatas[i]=CertRecordData(entry.getString("id"),entry.getString("cert_id"),entry.getString("user_id"),entry.getString("org_id"),entry.getString("audit_status"),entry.getString("json_data"),entry.getInt("create_time")); + } + + return (recordDatas); + } + + //根据orgid查询记录 + function selectByOrgId(string memory table_prefix,string memory org_id) + public + view + returns (CertRecordData[]){ + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, TABLE_SUFFIX)); + Table table = tableFactory.openTable(table_name); + + Condition condition = table.newCondition(); + condition.EQ("org_id", org_id); + + Entries entries = table.select(KEY_VALUE, condition); + uint256 dataLen = uint256(entries.size()); + CertRecordData[] memory recordDatas = new CertRecordData[](dataLen); + + for (uint256 i = 0; i < dataLen; ++i) { + Entry entry = entries.get(int256(i)); + recordDatas[i]=CertRecordData(entry.getString("id"),entry.getString("cert_id"),entry.getString("user_id"),entry.getString("org_id"),entry.getString("audit_status"),entry.getString("json_data"),entry.getInt("create_time")); + } + + return (recordDatas); + } + + //添加证书审核记录 + function insert(string memory id, string memory cert_id,string memory user_id,string memory org_id,string memory audit_status,string memory json_data,int256 create_time) + public + returns(int256,string memory){ + //表格前缀 + string memory table_prefix = provider.selectPrefixByAddr(utils.toString(tx.origin)); + if(utils.strIsEmpty(table_prefix)){ + return (0,"table_prefix not find"); + } + + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, TABLE_SUFFIX)); + Table table = tableFactory.openTable(table_name); + //id重复校验 + if(existById(id,table)){ + return (0,"id exists,insert failed"); + } + Entry entry = table.newEntry(); + entry.set(KEY_NAME, KEY_VALUE); + entry.set("id", id); + entry.set("cert_id", cert_id); + entry.set("user_id", user_id); + entry.set("org_id", org_id); + entry.set("audit_status", audit_status); + entry.set("json_data", json_data); + entry.set("create_time", create_time); + + + int256 count = table.insert(KEY_VALUE, entry); + if(count>0){ + emit InsertResult(count); + } + return (count,"success"); + + } + + //根据id判定是否存在 + function existById(string memory id,Table table) + private + view + returns (bool){ + Condition condition = table.newCondition(); + condition.EQ("id", id); + Entries entries = table.select(KEY_VALUE, condition); + return entries.size()>0; + } + +} \ No newline at end of file diff --git a/src/main/contracts/CreateTable.sol b/src/main/contracts/CreateTable.sol new file mode 100644 index 0000000..a0abd19 --- /dev/null +++ b/src/main/contracts/CreateTable.sol @@ -0,0 +1,47 @@ +pragma solidity ^0.4.24; +pragma experimental ABIEncoderV2; +import "../Table.sol"; + +contract CreateTable { + TableFactory tableFactory = TableFactory(0x1001); + string constant KEY_NAME = "key"; + string constant KEY_VALUE = "key"; +function create(string table_prefix) + public + { + + string memory TABLE_NAME = string(abi.encodePacked(table_prefix, "_archives_file")); + //创建表 + tableFactory.createTable(TABLE_NAME, KEY_NAME, "id,catalog_id,other_params,create_time,update_time"); + + TABLE_NAME = string(abi.encodePacked(table_prefix, "_file")); + //创建表 + tableFactory.createTable(TABLE_NAME, KEY_NAME, "id,archive_file_id,other_params,create_time,update_time"); + + TABLE_NAME = string(abi.encodePacked(table_prefix, "_catalog")); + //创建表 + tableFactory.createTable(TABLE_NAME, KEY_NAME, "id,parent_id,other_params,create_time,update_time"); + + TABLE_NAME = string(abi.encodePacked(table_prefix, "_application")); + //创建表 + tableFactory.createTable(TABLE_NAME, KEY_NAME, "id,used_org_code,provider_audit_status,used_json_data,provider_json_data,application_json_data,create_time,update_time"); + + TABLE_NAME = string(abi.encodePacked(table_prefix, "_download_record")); + //创建下载记录表 + tableFactory.createTable(TABLE_NAME, KEY_NAME, "id,weid,content_type,content_id,timestamp,application_id,watermark_data,create_time,sign"); + + TABLE_NAME = string(abi.encodePacked(table_prefix, "_decryption_record")); + //创建解密记录表 + tableFactory.createTable(TABLE_NAME, KEY_NAME, "id,weid,sm9Hibe_id,content_type,content_id,timestamp,location,create_time,sign"); + + TABLE_NAME = string(abi.encodePacked(table_prefix, "_reading_record")); + //创建阅读记录表 + tableFactory.createTable(TABLE_NAME, KEY_NAME, "id,weid,sm9Hibe_id,content_type,content_id,timestamp,duration,location,create_time,sign"); + + TABLE_NAME = string(abi.encodePacked(table_prefix, "_cert_record")); + //创建证书审核记录表 + tableFactory.createTable(TABLE_NAME, KEY_NAME, "id,cert_id,user_id,org_id,audit_status,json_data,create_time"); + + } +} + \ No newline at end of file diff --git a/src/main/contracts/DecryptionRecord.sol b/src/main/contracts/DecryptionRecord.sol new file mode 100644 index 0000000..970ef3c --- /dev/null +++ b/src/main/contracts/DecryptionRecord.sol @@ -0,0 +1,110 @@ +//pragma solidity >=0.6.10 <0.8.20; +pragma solidity ^0.4.24; +pragma experimental ABIEncoderV2; + +import "../Table.sol"; +import "./Provider.sol"; +import "./Utils.sol"; + +//解密记录 +contract DecryptionRecord { + event CreateResult(int256 count); + event InsertResult(int256 count); + event UpdateResult(int256 count); + event RemoveResult(int256 count); + + + TableFactory tableFactory = TableFactory(0x1001); + Utils utils = new Utils(); + Provider provider = new Provider(); + string constant TABLE_SUFFIX = "_decryption_record"; + string constant KEY_NAME = "key"; + string constant KEY_VALUE = "key"; + + struct DecryptionRecordData{ + string id; + string weid; + string sm9Hibe_id; + int256 content_type; + string content_id; + int256 timestamp; + string location; + int256 create_time; + string sign; + } + + //根据id查询记录 + function select(string memory table_prefix,string memory id) + public + view + returns (DecryptionRecordData[]){ + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, TABLE_SUFFIX)); + Table table = tableFactory.openTable(table_name); + + Condition condition = table.newCondition(); + condition.EQ("id", id); + + Entries entries = table.select(KEY_VALUE, condition); + uint256 dataLen = uint256(entries.size()); + DecryptionRecordData[] memory recordDatas = new DecryptionRecordData[](dataLen); + + for (uint256 i = 0; i < dataLen; ++i) { + Entry entry = entries.get(int256(i)); + recordDatas[i]=DecryptionRecordData(entry.getString("id"),entry.getString("weid"),entry.getString("sm9Hibe_id"),entry.getInt("content_type"),entry.getString("content_id"),entry.getInt("timestamp"),entry.getString("location"),entry.getInt("create_time"),entry.getString("sign")); + } + + return (recordDatas); + } + + //添加下载记录,临时用数组方式传入int类型变量规避堆栈过深 + function insert(string memory id, string[] memory str_attr_name,string[] memory str_attr_value,string[] memory int_attr_name,int256[] memory int_attr_value) + public + returns(int256,string memory){ + //表格前缀 + string memory table_prefix = provider.selectPrefixByAddr(utils.toString(tx.origin)); + if(utils.strIsEmpty(table_prefix)){ + return (0,"table_prefix not find"); + } + + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, TABLE_SUFFIX)); + Table table = tableFactory.openTable(table_name); + //id重复校验 + if(existById(id,table)){ + return (0,"id exists,insert failed"); + } + Entry entry = table.newEntry(); + entry.set(KEY_NAME, KEY_VALUE); + entry.set("id", id); + + //保存str类型属性 + for (uint256 i = 0; i < str_attr_name.length; ++i) { + entry.set(str_attr_name[i],str_attr_value[i]); + } + + //保存int类型属性 + for ( i = 0; i < int_attr_name.length; ++i) { + entry.set(int_attr_name[i],int_attr_value[i]); + } + + int256 count = table.insert(KEY_VALUE, entry); + if(count>0){ + emit InsertResult(count); + } + return (count,"success"); + + } + + //根据id判定是否存在 + function existById(string memory id,Table table) + private + view + returns (bool){ + Condition condition = table.newCondition(); + condition.EQ("id", id); + Entries entries = table.select(KEY_VALUE, condition); + return entries.size()>0; + } + +} \ No newline at end of file diff --git a/src/main/contracts/DownloadRecord.sol b/src/main/contracts/DownloadRecord.sol new file mode 100644 index 0000000..0a9aaf2 --- /dev/null +++ b/src/main/contracts/DownloadRecord.sol @@ -0,0 +1,112 @@ +//pragma solidity >=0.6.10 <0.8.20; +pragma solidity ^0.4.24; +pragma experimental ABIEncoderV2; + +import "../Table.sol"; +import "./Provider.sol"; +import "./Utils.sol"; + +//下载记录 +contract DownloadRecord { + event CreateResult(int256 count); + event InsertResult(int256 count); + event UpdateResult(int256 count); + event RemoveResult(int256 count); + + + TableFactory tableFactory = TableFactory(0x1001); + Utils utils = new Utils(); + Provider provider = new Provider(); + string constant TABLE_SUFFIX = "_download_record"; + string constant KEY_NAME = "key"; + string constant KEY_VALUE = "key"; + + struct DownloadRecordData{ + string id; + string weid; + int256 content_type; + string content_id; + int256 timestamp; + string application_id; + string watermark_data; + int256 create_time; + string sign;//数字签名 + } + + //根据id查询记录 + function select(string memory table_prefix,string memory id) + public + view + returns (DownloadRecordData[]){ + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, TABLE_SUFFIX)); + Table table = tableFactory.openTable(table_name); + + Condition condition = table.newCondition(); + condition.EQ("id", id); + + Entries entries = table.select(KEY_VALUE, condition); + uint256 dataLen = uint256(entries.size()); + DownloadRecordData[] memory recordDatas = new DownloadRecordData[](dataLen); + + for (uint256 i = 0; i < dataLen; ++i) { + Entry entry = entries.get(int256(i)); + recordDatas[i]=DownloadRecordData(entry.getString("id"),entry.getString("weid"),entry.getInt("content_type"),entry.getString("content_id"),entry.getInt("timestamp"),entry.getString("application_id"),entry.getString("watermark_data"),entry.getInt("create_time"),entry.getString("sign")); + } + + return (recordDatas); + } + + //添加下载记录,临时用数组方式传入int类型变量规避堆栈过深 + function insert(string memory id, string[] memory str_attr_name,string[] memory str_attr_value,string[] memory int_attr_name,int256[] memory int_attr_value) + public + returns(int256,string memory){ + //表格前缀 + string memory table_prefix = provider.selectPrefixByAddr(utils.toString(tx.origin)); + if(utils.strIsEmpty(table_prefix)){ + return (0,"table_prefix not find"); + } + + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, TABLE_SUFFIX)); + Table table = tableFactory.openTable(table_name); + //id重复校验 + if(existById(id,table)){ + return (0,"id exists,insert failed"); + } + Entry entry = table.newEntry(); + entry.set(KEY_NAME, KEY_VALUE); + entry.set("id", id); + + //保存str类型属性 + for (uint256 i = 0; i < str_attr_name.length; ++i) { + entry.set(str_attr_name[i],str_attr_value[i]); + } + + //保存int类型属性 + for ( i = 0; i < int_attr_name.length; ++i) { + entry.set(int_attr_name[i],int_attr_value[i]); + } + + int256 count = table.insert(KEY_VALUE, entry); + if(count>0){ + emit InsertResult(count); + } + return (count,"success"); + + } + + + + //根据id判定是否存在 + function existById(string memory id,Table table) + private + view + returns (bool){ + Condition condition = table.newCondition(); + condition.EQ("id", id); + Entries entries = table.select(KEY_VALUE, condition); + return entries.size()>0; + } + +} \ No newline at end of file diff --git a/src/main/contracts/File.sol b/src/main/contracts/File.sol new file mode 100644 index 0000000..1b3f3e1 --- /dev/null +++ b/src/main/contracts/File.sol @@ -0,0 +1,208 @@ +//pragma solidity >=0.6.10 <0.8.20; +pragma solidity ^0.4.24; +pragma experimental ABIEncoderV2; + +import "../Table.sol"; +import "./Utils.sol"; +import "./Provider.sol"; + +contract File { + event CreateResult(int256 count); + event InsertResult(int256 count); + event UpdateResult(int256 count); + event RemoveResult(int256 count); + + + TableFactory tableFactory = TableFactory(0x1001); + Utils utils = new Utils(); + Provider provider = new Provider(); + + + string constant TABLE_SUFFIX = "_file"; + string constant KEY_NAME = "key"; + string constant KEY_VALUE = "key"; + + struct FileData{ + string id; + string archive_file_id; + string other_params; + int256 create_time; + int256 update_time; + } + + //查询单个文件 + function selectById(string memory table_prefix,string memory file_id) + public + view + returns (FileData[] memory){ + + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, TABLE_SUFFIX)); + Table table = tableFactory.openTable(table_name); + + Condition condition = table.newCondition(); + condition.EQ("id", file_id); + + Entries entries = table.select(KEY_VALUE, condition); + uint256 dataLen = uint256(entries.size()); + FileData[] memory files = new FileData[](dataLen); + + for (uint256 i = 0; i < dataLen; ++i) { + Entry entry = entries.get(int256(i)); + files[i]=FileData(entry.getString("id"),entry.getString("archive_file_id"),entry.getString("other_params"),entry.getInt("create_time"),entry.getInt("update_time")); + + } + + return (files); + } + + + + + //查询某个件下的所有文件 + function selectByCatalogId(string memory table_prefix,string memory archive_file_id) + public + view + returns (FileData[] memory){ + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, TABLE_SUFFIX)); + Table table = tableFactory.openTable(table_name); + + Condition condition = table.newCondition(); + condition.EQ("archive_file_id", archive_file_id); + + Entries entries = table.select(KEY_VALUE, condition); + uint256 dataLen = uint256(entries.size()); + FileData[] memory files = new FileData[](dataLen); + + for (uint256 i = 0; i < dataLen; ++i) { + Entry entry = entries.get(int256(i)); + files[i]=FileData(entry.getString("id"),entry.getString("archive_file_id"),entry.getString("other_params"),entry.getInt("create_time"),entry.getInt("update_time")); + } + + return (files); + } + + + + function insert(string memory id,string memory archive_file_id, string memory other_params,int256 create_time,int256 update_time) + public + returns(int256,string memory){ + //表格前缀,这样确保只有自身才可以修改自身的目录数据 + string memory table_prefix = provider.selectPrefixByAddr(utils.toString(tx.origin)); + if(utils.strIsEmpty(table_prefix)){ + revert("can not find your file table, have you regiestered as a provder?"); + } + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, TABLE_SUFFIX)); + + Table table = tableFactory.openTable(table_name); + + // //id重复校验 + if(existById(id,table)){ + revert("id can not repeated"); + } + + + Entry entry = table.newEntry(); + entry.set(KEY_NAME, KEY_VALUE); + entry.set("id", id); + entry.set("archive_file_id", archive_file_id); + entry.set("other_params", other_params); + entry.set("create_time", create_time); + entry.set("update_time", update_time); + + int256 count = table.insert(KEY_VALUE, entry); + if(count>0){ + emit InsertResult(count); + } + return (count,"success"); + } + + + function update(string memory id,string memory archive_file_id, string memory other_params,int256 update_time) + public + returns(int256,string memory){ + //表格前缀,这样确保只有自身才可以修改自身的目录数据 + string memory table_prefix = provider.selectPrefixByAddr(utils.toString(tx.origin)); + if(utils.strIsEmpty(table_prefix)){ + revert("can not find your file table, have you regiestered as a provder?"); + } + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, TABLE_SUFFIX)); + Table table = tableFactory.openTable(table_name); + + Entry entry = table.newEntry(); + entry.set("archive_file_id", archive_file_id); + entry.set("other_params", other_params); + entry.set("update_time",update_time); + + Condition condition = table.newCondition(); + condition.EQ("id", id); + + int256 count = table.update(KEY_VALUE, entry, condition); + if(count>0){ + emit UpdateResult(count); + } + return (count,"success"); + } + + + //根据file_id删除 + function remove(string[] memory file_id) + public + returns (int256) { + //表格前缀 + string memory table_prefix = provider.selectPrefixByAddr(utils.toString(tx.origin)); + if(utils.strIsEmpty(table_prefix)){ + revert("can not find your file table, have you regiestered as a provder?"); + } + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, TABLE_SUFFIX)); + Table table = tableFactory.openTable(table_name); + int256 count = 0; + + for(uint256 i=0;i0){ + count++; + } + } + + + if(count>0){ + emit RemoveResult(count); + } + + return count; + } + + + //根据id判定是否存在 + function existById(string memory id,Table table) + private + view + returns (bool){ + Condition condition = table.newCondition(); + condition.EQ("id", id); + Entries entries = table.select(KEY_VALUE, condition); + return entries.size()>0; + } + + //根据archive_file_id判定是否存在 + function existByArchiveFileId(string memory archive_file_id,string memory table_prefix) + private + view + returns (bool){ + + string memory table_name = string(abi.encodePacked(table_prefix, "_archives_file")); + Table table = tableFactory.openTable(table_name); + Condition condition = table.newCondition(); + condition.EQ("id", archive_file_id); + Entries entries = table.select(KEY_VALUE, condition); + return entries.size()>0; + } + +} \ No newline at end of file diff --git a/src/main/contracts/OrgCert.sol b/src/main/contracts/OrgCert.sol new file mode 100644 index 0000000..ebd75f8 --- /dev/null +++ b/src/main/contracts/OrgCert.sol @@ -0,0 +1,124 @@ +//pragma solidity >=0.6.10 <0.8.20; +pragma solidity ^0.4.24; +pragma experimental ABIEncoderV2; + +import "../Table.sol"; +//组织证书,存储各个组织的来自CA颁发的数字证书 +contract OrgCert { + event CreateResult(int256 count); + event InsertResult(int256 count); + event UpdateResult(int256 count); + event RemoveResult(int256 count); + + + struct OrgCertData{ + string public_key;//公钥,十六进制串 + string issuer_name;//颁发者名称 + string subject_name;//拥有者名称 + string sig_alg_name;//签名算法名称 + string cert_content;//证书内容,以上所有字段均可由证书内容解析出来 + int256 create_time; + int256 update_time; + string status;//valid;invalid; + } + + TableFactory tableFactory; + string constant TABLE_NAME = "org_cert2"; + string constant KEY_NAME = "key"; + string constant KEY_VALUE = "key"; + constructor() public { + tableFactory = TableFactory(0x1001); //The fixed address is 0x1001 for TableFactory + // the parameters of createTable are tableName,keyField,"vlaueFiled1,vlaueFiled2,vlaueFiled3,..." + //创建表 + tableFactory.createTable(TABLE_NAME, KEY_NAME, "public_key,issuer_name,subject_name,sig_alg_name,cert_content,create_time,update_time,status"); + } + + + + function select() + public + view + returns (OrgCertData[] memory){ + Table table = tableFactory.openTable(TABLE_NAME); + + Condition condition = table.newCondition(); + Entries entries = table.select(KEY_VALUE, condition); + uint256 dataLen = uint256(entries.size()); + OrgCertData[] memory pArray = new OrgCertData[](dataLen); + + for (uint256 i = 0; i < dataLen; ++i) { + Entry entry = entries.get(int256(i)); + pArray[i]=OrgCertData(entry.getString("public_key"),entry.getString("issuer_name"),entry.getString("subject_name"),entry.getString("sig_alg_name"),entry.getString("cert_content"),entry.getInt("create_time"),entry.getInt("update_time"),entry.getString("status")); + + } + + return pArray; + } + + function insert(string memory public_key,string memory issuer_name,string subject_name,string sig_alg_name,string cert_content,int256 create_time,int256 update_time, string status) + public + returns(int256,string memory){ + if(existByPublicKey(public_key)){ + return (0,"public_key can not repeat"); + } + + Table table = tableFactory.openTable(TABLE_NAME); + Entry entry = table.newEntry(); + entry.set(KEY_NAME, KEY_VALUE); + entry.set("public_key", public_key); + entry.set("issuer_name", issuer_name); + entry.set("subject_name", subject_name); + entry.set("sig_alg_name", sig_alg_name); + entry.set("cert_content", cert_content); + entry.set("create_time", create_time); + entry.set("update_time", update_time); + entry.set("status", status); + + int256 count = table.insert(KEY_VALUE, entry); + if(count>0){ + emit InsertResult(count); + } + + + return (count,"success"); + } + + + + + //根据公钥删除,实际上是更新状态为invalid + function remove(string memory public_key,int256 update_time) + public + returns (int256) { + + Table table = tableFactory.openTable(TABLE_NAME); + + Entry entry = table.newEntry(); + entry.set("update_time",update_time); + entry.set("status","invalid"); + + Condition condition = table.newCondition(); + condition.EQ("public_key", public_key); + + int256 count = table.update(KEY_VALUE, entry, condition); + + + return count; + } + + + + //根据public_key判定是否存在 + function existByPublicKey(string memory public_key) + private + view + returns (bool){ + Table table = tableFactory.openTable(TABLE_NAME); + Condition condition = table.newCondition(); + condition.EQ("public_key", public_key); + Entries entries = table.select(KEY_VALUE, condition); + return entries.size()>0; + } + + +} \ No newline at end of file diff --git a/src/main/contracts/PersonCert.sol b/src/main/contracts/PersonCert.sol new file mode 100644 index 0000000..5ed1e6f --- /dev/null +++ b/src/main/contracts/PersonCert.sol @@ -0,0 +1,146 @@ +//pragma solidity >=0.6.10 <0.8.20; +pragma solidity ^0.4.24; +pragma experimental ABIEncoderV2; + +import "../Table.sol"; +//个人证书,存储各个个人的来自组织颁发的身份凭证,可预计范围内,用户数量大约在数十万级别,不用分表 +contract PersonCert { + event CreateResult(int256 count); + event InsertResult(int256 count); + event UpdateResult(int256 count); + event RemoveResult(int256 count); + + + struct PersonCertData{ + string weid;//用户的weid + string issuer_name;//颁发者名称 + string issuer_public_key;//颁发者的公钥,16进制字符串 + string credential_content;//证书内容,以上所有字段均可由证书内容解析出来 + int256 create_time; + int256 update_time; + int256 invalid_time;//设置为无效的时间 + string status;//valid;invalid; + } + + TableFactory tableFactory; + string constant TABLE_NAME = "person_cert"; + string constant KEY_NAME = "key"; + string constant KEY_VALUE = "key"; + constructor() public { + tableFactory = TableFactory(0x1001); //The fixed address is 0x1001 for TableFactory + // the parameters of createTable are tableName,keyField,"vlaueFiled1,vlaueFiled2,vlaueFiled3,..." + //创建表 + tableFactory.createTable(TABLE_NAME, KEY_NAME, "weid,issuer_name,issuer_public_key,credential_content,create_time,update_time,invalid_time,status"); + } + + + + function select() + public + view + returns (PersonCertData[] memory){ + Table table = tableFactory.openTable(TABLE_NAME); + + Condition condition = table.newCondition(); + Entries entries = table.select(KEY_VALUE, condition); + uint256 dataLen = uint256(entries.size()); + PersonCertData[] memory pArray = new PersonCertData[](dataLen); + + for (uint256 i = 0; i < dataLen; ++i) { + Entry entry = entries.get(int256(i)); + pArray[i]=PersonCertData(entry.getString("weid"),entry.getString("issuer_name"),entry.getString("issuer_public_key"),entry.getString("credential_content"),entry.getInt("create_time"),entry.getInt("update_time"),entry.getInt("invalid_time"),entry.getString("status")); + + } + + return pArray; + } + + function selectByWeid(string memory weid) + public + view + returns (PersonCertData[] memory){ + Table table = tableFactory.openTable(TABLE_NAME); + + Condition condition = table.newCondition(); + condition.EQ("weid", weid); + Entries entries = table.select(KEY_VALUE, condition); + uint256 dataLen = uint256(entries.size()); + PersonCertData[] memory pArray = new PersonCertData[](dataLen); + + for (uint256 i = 0; i < dataLen; ++i) { + Entry entry = entries.get(int256(i)); + pArray[i]=PersonCertData(entry.getString("weid"),entry.getString("issuer_name"),entry.getString("issuer_public_key"),entry.getString("credential_content"),entry.getInt("create_time"),entry.getInt("update_time"),entry.getInt("invalid_time"),entry.getString("status")); + } + + return pArray; + } + + function insert(string memory weid,string memory issuer_name,string issuer_public_key,string credential_content,int256 create_time,int256 update_time, int256 invalid_time,string status) + public + returns(int256,string memory){ + if(existByWeid(weid)){ + return (0,"weid can not repeat"); + } + + Table table = tableFactory.openTable(TABLE_NAME); + Entry entry = table.newEntry(); + entry.set(KEY_NAME, KEY_VALUE); + entry.set("weid", weid); + entry.set("issuer_name", issuer_name); + entry.set("issuer_public_key", issuer_public_key); + entry.set("credential_content", credential_content); + entry.set("create_time", create_time); + entry.set("update_time", update_time); + entry.set("invalid_time", invalid_time); + entry.set("status", status); + + int256 count = table.insert(KEY_VALUE, entry); + if(count>0){ + emit InsertResult(count); + } + + return (count,"success"); + } + + + + + //根据weid删除,实际上是更新状态为invalid + function remove(string memory weid,int256 update_time) + public + returns (int256) { + + Table table = tableFactory.openTable(TABLE_NAME); + + Entry entry = table.newEntry(); + entry.set("update_time",update_time); + entry.set("invalid_time",update_time); + entry.set("status","invalid"); + + Condition condition = table.newCondition(); + condition.EQ("weid", weid); + + int256 count = table.update(KEY_VALUE, entry, condition); + if(count>0){ + emit UpdateResult(count); + } + + return count; + } + + + + //根据public_key判定是否存在 + function existByWeid(string memory weid) + private + view + returns (bool){ + Table table = tableFactory.openTable(TABLE_NAME); + Condition condition = table.newCondition(); + condition.EQ("weid", weid); + Entries entries = table.select(KEY_VALUE, condition); + return entries.size()>0; + } + + +} \ No newline at end of file diff --git a/src/main/contracts/Provider.sol b/src/main/contracts/Provider.sol new file mode 100644 index 0000000..b90ef01 --- /dev/null +++ b/src/main/contracts/Provider.sol @@ -0,0 +1,233 @@ +//pragma solidity >=0.6.10 <0.8.20; +pragma solidity ^0.4.24; +pragma experimental ABIEncoderV2; + +import "../Table.sol"; +import "./Utils.sol"; +import "./CreateTable.sol"; + +contract Provider { + event CreateResult(int256 count); + event InsertResult(int256 count); + event UpdateResult(int256 count); + event RemoveResult(int256 count); + + + struct ProviderData{ + string table_prefix; + string name; + string addr; + int256 create_time; + int256 update_time; + string status;//valid invalid + int256 update_data_time; + } + Utils utils = new Utils(); + CreateTable createTable = new CreateTable(); + TableFactory tableFactory; + string constant TABLE_NAME = "provider_20240607_1"; + string constant KEY_NAME = "key"; + string constant KEY_VALUE = "key"; + constructor() public { + tableFactory = TableFactory(0x1001); //The fixed address is 0x1001 for TableFactory + // the parameters of createTable are tableName,keyField,"vlaueFiled1,vlaueFiled2,vlaueFiled3,..." + //创建表 + tableFactory.createTable(TABLE_NAME, KEY_NAME, "table_prefix,name,addr,create_time,update_time,status,update_data_time"); + } + + + //插入,只能自己插入自己的 + function insert(string memory table_prefix,string memory name,int256 create_time,int256 update_time) + public + returns(int256,string memory){ + if(existByName(name) || existByPrefix(table_prefix)){ + return (0,"name and table_prefix not repeat"); + } + Table table = tableFactory.openTable(TABLE_NAME); + Condition condition = table.newCondition(); + condition.EQ("addr", utils.toString(tx.origin)); + Entries entries = table.select(KEY_VALUE, condition); + if(entries.size()>0){ + revert("you address have register one provider, can not repeat regester"); + } + + Entry entry = table.newEntry(); + entry.set(KEY_NAME, KEY_VALUE); + entry.set("table_prefix", table_prefix); + entry.set("name", name); + entry.set("addr", utils.toString(tx.origin)); + entry.set("create_time", create_time); + entry.set("update_time", update_time); + entry.set("status", "valid"); + entry.set("update_data_time",create_time);//默认设置为与本记录的创建时间相同 + + //创建附属表 + createTable.create(table_prefix); + + int256 count = table.insert(KEY_VALUE, entry); + if(count>0){ + emit InsertResult(count); + } + return (count,"success"); + } + + + function select() + public + view + returns (ProviderData[] memory){ + Table table = tableFactory.openTable(TABLE_NAME); + + Condition condition = table.newCondition(); + + Entries entries = table.select(KEY_VALUE, condition); + uint256 dataLen = uint256(entries.size()); + ProviderData[] memory pArray = new ProviderData[](dataLen); + + for (uint256 i = 0; i < dataLen; ++i) { + Entry entry = entries.get(int256(i)); + pArray[i]=ProviderData(entry.getString("table_prefix"),entry.getString("name"),entry.getString("addr"),entry.getInt("create_time"),entry.getInt("update_time"),entry.getString("status"),entry.getInt("update_data_time")); + + } + + return (pArray); + } + + + function selectMySelf() + public + view + returns (ProviderData[] memory){ + Table table = tableFactory.openTable(TABLE_NAME); + + Condition condition = table.newCondition(); + condition.EQ("addr", utils.toString(tx.origin)); + Entries entries = table.select(KEY_VALUE, condition); + uint256 dataLen = uint256(entries.size()); + ProviderData[] memory pArray = new ProviderData[](dataLen); + + for (uint256 i = 0; i < dataLen; ++i) { + Entry entry = entries.get(int256(i)); + pArray[i]=ProviderData(entry.getString("table_prefix"),entry.getString("name"),entry.getString("addr"),entry.getInt("create_time"),entry.getInt("update_time"),entry.getString("status"),entry.getInt("update_data_time")); + + } + + return (pArray); + + } + + + //更新数据的更新时间,在上传或者更新了自身的目录数据之后调用,便于利用方在恰当时间发起查询链上目录数据的请求 + function updateData(int256 update_data_time) + public + returns (int256,string memory) + { + Table table = tableFactory.openTable(TABLE_NAME); + + + Entry entry = table.newEntry(); + entry.set("update_data_time",update_data_time); + entry.set("update_time",update_data_time); + Condition condition = table.newCondition(); + condition.EQ("addr", utils.toString(tx.origin)); + + int256 count = table.update(KEY_VALUE, entry, condition); + if(count>0){ + emit UpdateResult(count); + } + return (count,"success"); + } + + + + //修改名称 + function updateName(string memory name,int256 update_time) + public + returns (int256,string memory) + { + if(utils.strIsEmpty(name)){ + return (0,"name not empty"); + } + if(update_time == 0){ + return (0,"update_time not empty"); + } + Table table = tableFactory.openTable(TABLE_NAME); + //检查名称是否重复 + if(existByName(name)){ + return (0,"Name already exists"); + } + + Entry entry = table.newEntry(); + entry.set("name",name); + entry.set("update_time",update_time); + + Condition condition = table.newCondition(); + condition.EQ("addr", utils.toString(tx.origin)); + + int256 count = table.update(KEY_VALUE, entry, condition); + if(count>0){ + emit UpdateResult(count); + } + + return (count,"success"); + } + + //根据机构名称删除 + function remove() + public + returns (int256) { + Table table = tableFactory.openTable(TABLE_NAME); + + Condition condition = table.newCondition(); + condition.EQ("addr", utils.toString(tx.origin)); + + int256 count = table.remove(KEY_VALUE, condition); + if(count>0){ + emit RemoveResult(count); + } + + return count; + } + + + //根据name判定是否存在 + function existByName(string memory name) + public + view + returns (bool){ + Table table = tableFactory.openTable(TABLE_NAME); + Condition condition = table.newCondition(); + condition.EQ("name", name); + Entries entries = table.select(KEY_VALUE, condition); + return entries.size()>0; + } + //根据table_prefix判定是否存在 + function existByPrefix(string memory table_prefix) + public + view + returns (bool){ + Table table = tableFactory.openTable(TABLE_NAME); + Condition condition = table.newCondition(); + condition.EQ("table_prefix", table_prefix); + Entries entries = table.select(KEY_VALUE, condition); + return entries.size()>0; + } + + + //根据地址查找机构的表前缀 + function selectPrefixByAddr(string addr) + public + view + returns (string memory){ + Table table = tableFactory.openTable(TABLE_NAME); + Condition condition = table.newCondition(); + condition.EQ("addr",addr); + Entries entries = table.select(KEY_VALUE, condition); + if(entries.size()>0){ + Entry entry = entries.get(int256(0)); + return entry.getString("table_prefix"); + } + revert("caller need regerest as a provider"); + } + +} \ No newline at end of file diff --git a/src/main/contracts/ReadingRecord.sol b/src/main/contracts/ReadingRecord.sol new file mode 100644 index 0000000..2959ef5 --- /dev/null +++ b/src/main/contracts/ReadingRecord.sol @@ -0,0 +1,111 @@ +//pragma solidity >=0.6.10 <0.8.20; +pragma solidity ^0.4.24; +pragma experimental ABIEncoderV2; + +import "../Table.sol"; +import "./Provider.sol"; +import "./Utils.sol"; + +//阅读记录 +contract ReadingRecord { + event CreateResult(int256 count); + event InsertResult(int256 count); + event UpdateResult(int256 count); + event RemoveResult(int256 count); + + + TableFactory tableFactory = TableFactory(0x1001); + Utils utils = new Utils(); + Provider provider = new Provider(); + string constant TABLE_SUFFIX = "_reading_record"; + string constant KEY_NAME = "key"; + string constant KEY_VALUE = "key"; + + struct DecryptionRecordData{ + string id; + string weid; + string sm9Hibe_id; + int256 content_type; + string content_id; + int256 timestamp; + int256 duration; + string location; + int256 create_time; + string sign; + } + + //根据id查询记录 + function select(string memory table_prefix,string memory id) + public + view + returns (DecryptionRecordData[]){ + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, TABLE_SUFFIX)); + Table table = tableFactory.openTable(table_name); + + Condition condition = table.newCondition(); + condition.EQ("id", id); + + Entries entries = table.select(KEY_VALUE, condition); + uint256 dataLen = uint256(entries.size()); + DecryptionRecordData[] memory recordDatas = new DecryptionRecordData[](dataLen); + + for (uint256 i = 0; i < dataLen; ++i) { + Entry entry = entries.get(int256(i)); + recordDatas[i]=DecryptionRecordData(entry.getString("id"),entry.getString("weid"),entry.getString("sm9Hibe_id"),entry.getInt("content_type"),entry.getString("content_id"),entry.getInt("timestamp"),entry.getInt("duration"),entry.getString("location"),entry.getInt("create_time"),entry.getString("sign")); + } + + return (recordDatas); + } + + //添加下载记录,临时用数组方式传入int类型变量规避堆栈过深 + function insert(string memory id, string[] memory str_attr_name,string[] memory str_attr_value,string[] memory int_attr_name,int256[] memory int_attr_value) + public + returns(int256,string memory){ + //表格前缀 + string memory table_prefix = provider.selectPrefixByAddr(utils.toString(tx.origin)); + if(utils.strIsEmpty(table_prefix)){ + return (0,"table_prefix not find"); + } + + //确定表格名称 + string memory table_name = string(abi.encodePacked(table_prefix, TABLE_SUFFIX)); + Table table = tableFactory.openTable(table_name); + //id重复校验 + if(existById(id,table)){ + return (0,"id exists,insert failed"); + } + Entry entry = table.newEntry(); + entry.set(KEY_NAME, KEY_VALUE); + entry.set("id", id); + + //保存str类型属性 + for (uint256 i = 0; i < str_attr_name.length; ++i) { + entry.set(str_attr_name[i],str_attr_value[i]); + } + + //保存int类型属性 + for ( i = 0; i < int_attr_name.length; ++i) { + entry.set(int_attr_name[i],int_attr_value[i]); + } + + int256 count = table.insert(KEY_VALUE, entry); + if(count>0){ + emit InsertResult(count); + } + return (count,"success"); + + } + + //根据id判定是否存在 + function existById(string memory id,Table table) + private + view + returns (bool){ + Condition condition = table.newCondition(); + condition.EQ("id", id); + Entries entries = table.select(KEY_VALUE, condition); + return entries.size()>0; + } + +} \ No newline at end of file diff --git a/src/main/contracts/Utils.sol b/src/main/contracts/Utils.sol new file mode 100644 index 0000000..c61cfd7 --- /dev/null +++ b/src/main/contracts/Utils.sol @@ -0,0 +1,49 @@ +pragma solidity ^0.4.24; + +contract Utils { + +//==============================string工具函数============================== + function strIsEmpty(string memory str) + public pure + returns (bool) { + bytes memory bytesStr = bytes(str); + return bytesStr.length == 0; + } + + function strIsEqual(string memory str1, string memory str2) + public pure + returns (bool) { + if (bytes(str1).length != bytes(str2).length) { + return false; + } else { + return keccak256(abi.encodePacked(str1)) == keccak256(abi.encodePacked(str2)); + } + } + + + + function toString(address account) public pure returns (string memory) { + return toString(abi.encodePacked(account)); + } + + function toString(uint256 value) public pure returns (string memory) { + return toString(abi.encodePacked(value)); + } + + function toString(bytes32 value) public pure returns (string memory) { + return toString(abi.encodePacked(value)); + } + + function toString(bytes memory data) public pure returns (string memory) { + bytes memory alphabet = "0123456789abcdef"; + + bytes memory str = new bytes(2 + data.length * 2); + str[0] = "0"; + str[1] = "x"; + for (uint i = 0; i < data.length; i++) { + str[2 + i * 2] = alphabet[uint(uint8(data[i] >> 4))]; + str[3 + i * 2] = alphabet[uint(uint8(data[i] & 0x0f))]; + } + return string(str); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/Application.java b/src/main/java/jj/tech/paolu/Application.java new file mode 100644 index 0000000..9c5447f --- /dev/null +++ b/src/main/java/jj/tech/paolu/Application.java @@ -0,0 +1,89 @@ +package jj.tech.paolu; + +import java.util.Arrays; + +import org.springframework.boot.CommandLineRunner; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.ApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.scheduling.annotation.EnableScheduling; + + +/** + * @SpringBootApplication 是一个方便的注释, 它添加了以下所有内容: + * + @Configuration 将类标记为应用程序上下文的 bean 定义的源。 + @EnableAutoConfiguration 告诉 spring 引导开始根据类路径设置、其他 bean 和各种属性设置添加 bean。 + 通常你会为 spring mvc 应用程序添加 @EnableWebMvc, 但是 spring 引导在类路径上看到 spring WebMvc 时会自动添加它。这将应用程序标记为 web 应用程序, 并激活诸如设置 DispatcherServlet 之类的关键行为。 + @ComponentScan 告诉 spring 在 hello 包中查找其他组件、配置和服务, 使其能够找到控制器。 + + main () 方法使用 spring 引导的 SpringApplication. run () 方法来启动应用程序。 + 没有单行 xml?没有任何 web. xml 文件。此 web 应用程序是100% 纯 java, 您不必处理配置任何管道或基础结构。 + 还有一个标记为 @Bean 的 CommandLineRunner 方法, 并在启动时运行。它检索所有的 bean, 由您的应用程序创建或自动添加感谢春季启动。它的排序和打印出来。 + * @author Dou + * + */ + +@SpringBootApplication +//@EnableDiscoveryClient +@EnableScheduling +public class Application { + + + //打成war包需要继承 +// @SpringBootApplication +// public class Application extends SpringBootServletInitializer { +// +// @Override +// protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { +// return application.sources(Application.class); +// } +// +// public static void main(String[] args) { +// SpringApplication.run(Application.class, args); +// } + + + public static void main(String[] args) { + SpringApplication.run(Application.class, args); + } + + @Bean + public CommandLineRunner commandLineRunner(ApplicationContext ctx) { + return args -> { + System.out.println("Let's inspect the beans provided by Spring Boot:"); + + String[] beanNames = ctx.getBeanDefinitionNames(); + Arrays.sort(beanNames); + for (String beanName : beanNames) { + System.err.println(beanName); + } + }; + } + + +// @StreamListener(IOrderProcessor.INPUT_ORDER) +// public void input(Message message) { +// System.out.println("一般监听收到:" + message.getPayload()); +// } + + + + +// public JdbcConnectionPool JdbcConnectionPool(){ +// String url = "jdbc:h2:~/test"; +// String user = "sa"; +// String password = ""; +// return JdbcConnectionPool.create(url, user, password); +// } + + +// @Bean +// @StreamMessageConverter +// public MessageConverter customMessageConverter() { +// return new MyCustomMessageConverter(); +// } + + +} diff --git a/src/main/java/jj/tech/paolu/biz/demo/controller/DemoController.java b/src/main/java/jj/tech/paolu/biz/demo/controller/DemoController.java new file mode 100644 index 0000000..17a52be --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/demo/controller/DemoController.java @@ -0,0 +1,226 @@ +//package jj.tech.paolu.biz.demo.controller; +// +//import com.fasterxml.jackson.databind.ObjectMapper; +//import jj.tech.paolu.biz.demo.dao.UserDao; +//import jj.tech.paolu.biz.demo.service.AService; +//import jj.tech.paolu.biz.demo.service.BService; +//import jj.tech.paolu.biz.webadmin.dao.SelectMapper; +//import jj.tech.paolu.repository.jooq.tables.SysAdminRole; +//import jj.tech.paolu.repository.jooq.tables.pojos.SysAdmin; +//import jj.tech.paolu.repository.jooq.tables.records.SysAdminRoleRecord; +//import jj.tech.paolu.repository.mybatis.dao.UserInfoMapper; +//import jj.tech.paolu.utils.IDHelp; +//import org.jooq.*; +//import org.mybatis.dynamic.sql.BasicColumn; +//import org.mybatis.dynamic.sql.SqlBuilder; +//import org.mybatis.dynamic.sql.render.RenderingStrategies; +//import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.beans.factory.annotation.Value; +//import org.springframework.transaction.annotation.Transactional; +//import org.springframework.web.bind.annotation.*; +// +//import java.time.LocalDateTime; +//import java.util.HashMap; +// +//import static jj.tech.paolu.repository.jooq.Tables.*; +//import static jj.tech.paolu.repository.mybatis.dao.support.UserInfoDynamicSqlSupport.*; +//import static org.mybatis.dynamic.sql.SqlBuilder.count; +// +// +////@RequestMapping(value="/demo", name="demo11") +//@RestController +//public class DemoController { +// +// @Value("${server.port}") +// String port; +// +// @Autowired ObjectMapper objectMapper; +// @Autowired UserDao userDao; +// +// @Autowired UserInfoMapper userInfoMapper; +// @Autowired DSLContext dsl; +// +// +// @Autowired AService aService; +// @Autowired BService bService; +// @Autowired SelectMapper selectMapper; +// +//// @Autowired SysAdminDao sysAdminDaos; +// +// +// /** +// * JOOQ默认嵌入式事务 +// * @return +// */ +//// @GetMapping(value="/") +//// @Transactional +//// public Object mian() { +//// aService.aa(); +//// try { +//// aService.bb(); +//// }catch(Exception e) { +//// e.printStackTrace(); +//// } +//// return "ok"; +//// } +// +// /** +// * JOOQ默认嵌入式事务 +// * @return +// */ +// @GetMapping("/t") +// @Transactional +// public Object t() { +// aService.aa(); +// try { +// aService.cc(); +// }catch(Exception e) { +// e.printStackTrace(); +// } +// return "ok"; +// } +// +// +// +// +// @GetMapping("/get") +// public Object get(String username, String password) { +// +//// //获取实际jdbc连接 +//// Object r = +//// dslContext.connectionResult(c ->{ +//// Object result = +//// DSL.using(c) +//// .select(USER_INFO.USER_NAME) +//// .from(USER_INFO) +//// .where(USER_INFO.USER_NAME.eq(username)) +//// .and(USER_INFO.PASSWORD.eq(password)) +//// .orderBy(USER_INFO.ID.desc()) +//// .fetchAnyMap(); +//// return result; +//// }); +//// return r; +// return "OK"; +// +// } +// +// +// @GetMapping("/getById/{id}") +// public Object getById(@PathVariable Long id) { +// //create.fetch("SELECT * FROM BOOK WHERE ID = ? AND TITLE = ?", 5, "Animal Farm"); +//// SysAdmin result = sysAdminDaos.fetchOneById(id); +//// return result; +// return "OK"; +// } +// +// +// @PostMapping("/add") +// public Object add() { +// +//// if (bean.getId() == null) { +//// IDHelp id = IDHelp.getInstance(1,1); +//// bean.setId(id.nextId()); +//// } +//// int i = +//// dslContext +//// .insertInto(USER_INFO) +//// .set(USER_INFO.ID, bean.getId()) +//// .set(USER_INFO.REAL_NAME, bean.getRealName()) +//// .set(USER_INFO.USER_NAME, bean.getUserName()) +//// .set(USER_INFO.PASSWORD, bean.getPassword()) +//// .set(USER_INFO.HEAD_IMG, bean.getHeadImg()) +//// .execute(); +// +//// UserInfoRecord r = dslContext.newRecord(USER_INFO); +//// r.setUserName("ssss"); +//// r.setRealName("bbbbb"); +//// r.setPassword("ssss"); +//// r.setPassword("ssss"); +//// r.store(); +//// System.out.println(r.getUserName()); +//// r.setHeadImg((String)null); +//// int i = r.store(); +// +//// return i; +// return ""; +// } +// +// @PostMapping("/updata/{id}") +// public Object updata(@PathVariable Integer id) { +//// int ok = +//// dslContext +//// .update(USER_INFO) +//// .set(USER_INFO.ID, 1L) +//// .set(USER_INFO.USER_NAME, "") +//// .set(USER_INFO.PASSWORD, "") +//// .set(USER_INFO.HEAD_IMG, (String)null) +//// .where(USER_INFO.ID.eq(id)) +//// .execute(); +//// dslContext.newRecord(USER_INFO); +// dsl.update(USER_INFO).set(USER_INFO.ID, 2L); +// +// return "OK"; +// } +// +// @PostMapping("/ss") +// public Object ss() { +// LocalDateTime d = LocalDateTime.now(); +// HashMap h = new HashMap(); +// IDHelp id = IDHelp.getInstance(0, 0); +// Long i = id.nextId(); +// System.out.println(i); +// h.put("s", i); +// h.put("d", d); +// +//// U s = new U(); +// SysAdmin s = +// dsl.selectFrom(SYS_ADMIN) +// .where(SYS_ADMIN.USERNAME.eq("admin")) +// .fetchOne().into(SysAdmin.class); +// +// Table ur = +// dsl.select(SYS_ROLE.ID) +// .from(SYS_ROLE) +// .where(SYS_ROLE.ID.eq(1L)) +// .asTable("ur"); +// +// Field role_id = ur.field("role_id").coerce(Long.class); +// SysAdminRole r = SYS_ADMIN_ROLE.as("r"); +// Result> bb = +// dsl.select(r).from(ur) +// .leftJoin(r) +// .on(r.ID.equal(role_id)).fetch(); +// +// return bb.intoMaps(); +// } +// +// +// @GetMapping("/mybatis") +// @Transactional +// public Object mybatis() { +// +// BasicColumn[] selectList = BasicColumn.columnList(id, realname, count(id).as("idss")); +// SelectStatementProvider provider = SqlBuilder.select(selectList) +// .from(userInfo) +//// .leftJoin(sysAdmin.withAlias("admin")).on(id, equalTo(sysAdmin.id)) +// .groupBy(id) +// .build().render(RenderingStrategies.MYBATIS3); +// System.out.println(provider.getSelectStatement()); +// Object m = userDao.selectSome(provider); +// // selectMapper.select(provider); +// return selectMapper.select(provider); +// } +// +// @GetMapping("66") +// public Object a() { +// aService.aa(); +// try { +// aService.bb(); +// }catch(Exception e) { +// e.printStackTrace(); +// } +// return "ok"; +// } +// +//} diff --git a/src/main/java/jj/tech/paolu/biz/demo/controller/Test2Controller.java b/src/main/java/jj/tech/paolu/biz/demo/controller/Test2Controller.java new file mode 100644 index 0000000..f4258d6 --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/demo/controller/Test2Controller.java @@ -0,0 +1,23 @@ +package jj.tech.paolu.biz.demo.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +@RestController +@RequestMapping(value = "/ttt") +public class Test2Controller { + +// @Resource +// private SharedService sharedService; +// +// @GetMapping("/test/{id}") +// public Object test(@PathVariable Long id) throws Exception { +// +// return sharedService.getTest(id); +// +// } + + +} diff --git a/src/main/java/jj/tech/paolu/biz/demo/controller/TestController.java b/src/main/java/jj/tech/paolu/biz/demo/controller/TestController.java new file mode 100644 index 0000000..f36675f --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/demo/controller/TestController.java @@ -0,0 +1,317 @@ +//package jj.tech.paolu.biz.demo.controller; +// +//import static org.mybatis.dynamic.sql.SqlBuilder.select; +// +//import java.net.URI; +//import java.nio.file.Path; +//import java.nio.file.Paths; +//import java.util.ArrayList; +//import java.util.Comparator; +//import java.util.HashMap; +//import java.util.List; +//import java.util.Map; +//import java.util.Set; +//import java.util.concurrent.atomic.AtomicInteger; +//import java.util.stream.Collectors; +//import java.util.stream.Stream; +// +//import org.apache.commons.lang3.StringUtils; +//import org.jooq.DSLContext; +//import org.mybatis.dynamic.sql.render.RenderingStrategies; +//import org.springframework.aop.support.AopUtils; +//import org.springframework.beans.factory.ListableBeanFactory; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.jdbc.core.JdbcTemplate; +//import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; +//import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; +//import org.springframework.jdbc.core.namedparam.SqlParameterSource; +//import org.springframework.stereotype.Controller; +//import org.springframework.transaction.annotation.Transactional; +//import org.springframework.web.bind.annotation.GetMapping; +//import org.springframework.web.bind.annotation.RequestMapping; +//import org.springframework.web.bind.annotation.RestController; +//import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping; +//import org.springframework.web.util.UriComponents; +//import org.springframework.web.util.UriComponentsBuilder; +// +//import com.fasterxml.jackson.databind.ObjectMapper; +// +//import jj.tech.paolu.repository.mybatis.dao.SysUrlsMapper; +//import jj.tech.paolu.repository.mybatis.dao.UserInfoMapper; +//import jj.tech.paolu.repository.mybatis.dao.support.SysUrlsDynamicSqlSupport; +//import jj.tech.paolu.repository.mybatis.entity.SysUrls; +// +// +//@RestController +//@RequestMapping(value="/ttt") +//public class TestController { +// +// @Autowired UserInfoMapper userInfoMapper; +// @Autowired SysUrlsMapper sysUrlsMapper; +// +// @Autowired DSLContext dsl; +// @Autowired JdbcTemplate jdbcTemplate; +// @Autowired ListableBeanFactory listableBeanFactory; //获取实时扫描运行的bean,性能较低 +// @Autowired RequestMappingHandlerMapping requestMappingHandlerMapping; +// +// +// +// @GetMapping(value = "/test", name="测试") +// public void text() { +// +// } +// +// @GetMapping(value="/url", name = "....") +// @Transactional +// public Object url() { +// +// //1 获取所有controller的url +// final List list = new ArrayList(); +// requestMappingHandlerMapping +// .getHandlerMethods() +// .forEach((requestMappingInfo,handlerMethod) -> { +// requestMappingInfo +// .getPathPatternsCondition() +// .getPatternValues() +// .forEach((url)->{ +// RequestMapping mapping = handlerMethod.getMethodAnnotation(RequestMapping.class); +// String name = mapping.name(); +// if(StringUtils.isAllBlank(name)) { +// name = handlerMethod.getMethod().getName(); +// } +// Object[] arry = {null, null, 1, 0, url, name, handlerMethod.toString()}; +// list.add(arry); +// }); +// } ); +// +// +// //按url字符大小ascii排序, 再去重 +// HashMap map = new HashMap<>(); +// List urls = list.stream() +// .sorted( +// (a,b)-> { +// return a[4].toString().compareTo(b[4].toString()); +// } +// ) +// .filter(i->{ +// return map.putIfAbsent(i[4], Boolean.TRUE) == null; +// }) +// .collect(Collectors.toList()); +// +// +// +// +// //2 构建父节点,菜单类型 +// Map parentUrlMap = new HashMap(); +// Object[] arry0 = {1, 0, 2, 0, "#/", "boot", null}; +// parentUrlMap.put("#/", arry0); +// AtomicInteger id = new AtomicInteger(2); +// +// +// //3 添加ID和父节点的所有Url +// List sonUrl = new ArrayList(); +// +// urls.forEach(arr->{ +// String url = arr[4].toString(); +// Object name = arr[5]; +// Object method = arr[6]; +// List parents = getAllParents(url); +// int level = 1; +// for(int i=parents.size()-1; i>=0; i--) { +// +// String item = parents.get(i); +// if(i== parents.size()-1) { //最终父节点 +// continue; +// } +// +// if(i==0) { //最小节点 +// String parent = "#"+parents.get(i+1);//获取父节点 +//// System.err.println(parent+parentUrlMap.get(parent)); +// Object pid = parentUrlMap.get(parent)[0]; +// Object[] arry = {id.getAndIncrement(), pid, 1, level, item, name, method}; +// sonUrl.add(arry); +// continue; +// } +// +// if(!parentUrlMap.containsKey("#"+item)) { +// String parent = "#"+parents.get(i+1);//获取父节点 +// Object pid = parentUrlMap.get(parent)[0]; +// Object[] arry = {id.getAndIncrement(), pid, 2, level, "#"+item, null, null}; +// parentUrlMap.put("#"+item, arry); +// } +// level++; +// +// } +// }); +// +// +// //4 将controller上的@RequestMapping(value="", name="一级菜单"), 的name赋值给构建的菜单parentUrlMap +// Map menus= new HashMap(); +// +// Map controllers = listableBeanFactory.getBeansWithAnnotation(Controller.class); +// controllers.forEach((k,v)->{ +// Class source = AopUtils.getTargetClass(v);//获取实际类,而不是spring的代理类 +// RequestMapping mapping = source.getAnnotation(RequestMapping.class); +// if(mapping != null) { +// String mappingurl = mapping.value()[0]; +// if(!StringUtils.startsWith(mappingurl, "/")) { +// mappingurl = "/" +mappingurl; +// } +// mappingurl = "#"+mappingurl; +// +// String name = mapping.name(); +// +// String value = menus.get(mappingurl); +// if(menus.containsKey(mappingurl)) { +// //按名称ascii小的顺序赋值 +// if(StringUtils.isNoneBlank(name) && name.compareTo(value)<0) { +// menus.put(mappingurl, name); +// } +// }else { +// if(StringUtils.isNoneBlank(name)) { +// menus.put(mappingurl, name); +// } +// } +// +// } +// }); +// +// //赋值 +// menus.forEach((k,v)->{ +// Object[] arr = parentUrlMap.get(k); +// if(arr!=null) { +// arr[5]=v; +// } +// }); +// +// +// List parentUrl = parentUrlMap.entrySet() +// .stream() +// .map(v->v.getValue()) +// .collect(Collectors.toList()); +// +// +// jdbcTemplate.execute("TRUNCATE TABLE sys_urls"); +// String sql = "INSERT INTO sys_urls (ID,PID,TYPES,LEVEL,URL,NAME,METHOD) VALUES (?,?,?,?,?,?,?)"; +// jdbcTemplate.batchUpdate(sql, sonUrl); +// jdbcTemplate.batchUpdate(sql, parentUrl); +// +// return "ok"; +// } +// +// +// +// /** +// * @param uri ="/aa/bb/cc" +// * @return /aa/bb/cc, /aa/bb, /aa, / +// */ +// public static List getAllParents(String uri){ +// if(StringUtils.isBlank(uri)) { +// return List.of(""); +// } +// UriComponents components = UriComponentsBuilder.fromUriString("file://"+uri).build(); +// URI u = components.toUri(); +// +// List urilist = components.getPathSegments(); +// +// List paths = new ArrayList(); +// Path path = Paths.get(u); +// paths.add(path); +// +// for(int i=0; i{ +// return pa.toString().replace("\\", "/"); +// }).toList(); +// } +// +// +// +// public Map getAll(){ +// var provider = select(SysUrlsMapper.selectList) +// .from(SysUrlsDynamicSqlSupport.sysUrls) +// .build() +// .render(RenderingStrategies.MYBATIS3); +// List allList = sysUrlsMapper.selectMany(provider); +// +// Map map = allList.stream().collect( +// Collectors.toMap(SysUrls::getUrl, v->v)); +// return map; +// } +// +// +// +// public void updataMenu(Map db, Map parent, Map url) { +// NamedParameterJdbcTemplate namejdbcTemplate = new NamedParameterJdbcTemplate(jdbcTemplate); +// +// +// Map dbwaitDelete = new HashMap(); +// +// Map all = +// Stream.of(parent,url) +// .flatMap(map->map.entrySet().stream()) +// .collect(Collectors.toMap( Map.Entry::getKey, Map.Entry::getValue)); +// +// Map allAdd = new HashMap(); +// Map allUpdate = new HashMap(); +// +// //1、菜单在数据库不存在则新增加,存在则更新 +// all.entrySet().stream().forEach(set->{ +// SysUrls bean = db.get(set.getKey()); +// if(bean==null) { +// allAdd.put(set.getKey(), set.getValue()); +// }else { +// Object[] arr = set.getValue(); +// Object[] up = new Object[] {arr[1],arr[2],arr[3],arr[5],arr[6],arr[4]}; +// allUpdate.put(set.getKey(), up); +// } +// }); +// +// //2、数据库存在的菜单,在程序里不存在的,删除 +// db.entrySet().stream().forEach(set->{ +// String key = set.getKey(); +// Object[] arr = all.get(key); +// if(arr==null) { +// dbwaitDelete.put(key, set.getValue()); +// } +// }); +// +// +// List add = allAdd.entrySet() +// .stream() +// .map(v->v.getValue()) +// .collect(Collectors.toList()); +// +// String addsql = "INSERT INTO SYS_URLS (ID,PID,TYPES,LEVEL,URL,NAME,METHOD) VALUES (?,?,?,?,?,?,?)"; +// jdbcTemplate.batchUpdate(addsql, add); +// +// +// List update = allUpdate.entrySet() +// .stream() +// .map(v->v.getValue()) +// .collect(Collectors.toList()); +// String updatesql = "UPDATE SYS_URLS SET PID=?,TYPES=?,LEVEL=?,NAME=?,METHOD=? WHERE URL=?"; +// +// update.forEach(i->{ +// System.out.println(i[3]+" == "+i[5]); +// }); +// jdbcTemplate.batchUpdate(updatesql, update); +// +// +// //删除 +// if(dbwaitDelete.size()>0) { +// Set urls = dbwaitDelete.keySet(); +// +// MapSqlParameterSource parameters = new MapSqlParameterSource(); +// parameters.addValue("urls", urls); +// String deletesql = "DELETE SYS_URLS WHERE URL IN (:urls)"; +// namejdbcTemplate.update(deletesql, parameters); +// } +// +// } +// +// +//} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/biz/demo/dao/UserDao.java b/src/main/java/jj/tech/paolu/biz/demo/dao/UserDao.java new file mode 100644 index 0000000..33d9bbe --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/demo/dao/UserDao.java @@ -0,0 +1,27 @@ +package jj.tech.paolu.biz.demo.dao; + +import java.util.HashMap; +import java.util.List; + +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; + +@Mapper +public interface UserDao { + + @Results( value = { + @Result(column="ID", property="id", jdbcType=JdbcType.BIGINT, id=true), + @Result(column="REAL_NAME", property="realName", jdbcType=JdbcType.VARCHAR), + @Result(column="USER_NAME", property="userName", jdbcType=JdbcType.VARCHAR), + @Result(column="PASSWORD", property="password", jdbcType=JdbcType.VARCHAR), + @Result(column="HEAD_IMG", property="headImg", jdbcType=JdbcType.VARCHAR) + }) + @SelectProvider(type=SqlProviderAdapter.class, method="select") + List> selectSome (SelectStatementProvider selectStatement); + +} diff --git a/src/main/java/jj/tech/paolu/biz/demo/dto/U.java b/src/main/java/jj/tech/paolu/biz/demo/dto/U.java new file mode 100644 index 0000000..54c1bfe --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/demo/dto/U.java @@ -0,0 +1,27 @@ +package jj.tech.paolu.biz.demo.dto; + +import java.time.LocalDateTime; + +import jj.tech.paolu.utils.IDHelp; + +public class U { + + String i = IDHelp.getInstance(0, 0).nextId(); +// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "CST")//中国时区 +// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT")//即标准时区GMT+8 + LocalDateTime d = LocalDateTime.now(); + + public String getI() { + return i; + } + public void setI(String i) { + this.i = i; + } + public LocalDateTime getD() { + return d; + } + public void setD(LocalDateTime d) { + this.d = d; + } + +} diff --git a/src/main/java/jj/tech/paolu/biz/demo/service/AService.java b/src/main/java/jj/tech/paolu/biz/demo/service/AService.java new file mode 100644 index 0000000..7781acb --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/demo/service/AService.java @@ -0,0 +1,80 @@ +package jj.tech.paolu.biz.demo.service; + +//import static tech.bcnew.jooq.repository.Tables.SYS_ADMIN; + +import java.sql.Connection; + +import org.jooq.Condition; +import org.jooq.DSLContext; +import org.jooq.impl.DSL; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +@Service +public class AService { + + + @Autowired DSLContext dsl; + + @Transactional + public void aa(){ +// dsl.insertInto(SYS_ADMIN) +// .set(SYS_ADMIN.REALNAME, "1") +// .set(SYS_ADMIN.USERNAME,"1") +// .set(SYS_ADMIN.PASSWORD,"1") +// .set(SYS_ADMIN.IS_LOCKED, (byte)0) +// .execute(); + } + + + + public void bb(){ + + dsl.transaction(tx->{ + +// tx.dsl().insertInto(SYS_ADMIN) +// .set(SYS_ADMIN.REALNAME, "2") +// .set(SYS_ADMIN.USERNAME,"SS") +// .set(SYS_ADMIN.PASSWORD,"SS") +// .set(SYS_ADMIN.IS_LOCKED, (byte)0) +// .execute(); +// +// tx.dsl().insertInto(SYS_ADMIN) +// .set(SYS_ADMIN.REALNAME, "2") +// .set(SYS_ADMIN.USERNAME,"SS") +// .set(SYS_ADMIN.PASSWORD,"SS") +// .set(SYS_ADMIN.IS_LOCKED, (byte)0 ) +// .execute(); + int i = 1/0; + }); + + } + + @Transactional(propagation = Propagation.NESTED) + public void cc(){ + + +// dsl.insertInto(SYS_ADMIN) +// .set(SYS_ADMIN.REALNAME, "2") +// .set(SYS_ADMIN.USERNAME,"SS") +// .set(SYS_ADMIN.PASSWORD,"SS") +// .set(SYS_ADMIN.IS_LOCKED, (byte)0) +// .execute(); +// +// dsl.insertInto(SYS_ADMIN) +// .set(SYS_ADMIN.REALNAME, "2") +// .set(SYS_ADMIN.USERNAME,"SS") +// .set(SYS_ADMIN.PASSWORD,"SS") +// .set(SYS_ADMIN.IS_LOCKED, (byte)0 ) +// .execute(); + int i = 1/0; + + + + + } + + +} diff --git a/src/main/java/jj/tech/paolu/biz/demo/service/BService.java b/src/main/java/jj/tech/paolu/biz/demo/service/BService.java new file mode 100644 index 0000000..ad1fbaf --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/demo/service/BService.java @@ -0,0 +1,55 @@ +package jj.tech.paolu.biz.demo.service; + +//import static tech.bcnew.jooq.repository.Tables.SYS_ADMIN; + +import java.sql.Connection; + +import org.jooq.Condition; +import org.jooq.DSLContext; +import org.jooq.impl.DSL; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +@Service +public class BService { + + @Autowired DSLContext dsl; + + + @Transactional + public void aa(){ +// dsl.insertInto(SYS_ADMIN) +// .set(SYS_ADMIN.REALNAME, "1") +// .set(SYS_ADMIN.USERNAME,"1") +// .set(SYS_ADMIN.PASSWORD,"1") +// .set(SYS_ADMIN.IS_LOCKED, (byte)0) +// .execute(); + } + + + /** + * 使用jooq提供的事务管理器,默认是嵌入式事务 + */ + public void bb(){ + +// dsl.transaction(tx->{ +// +// tx.dsl().insertInto(SYS_ADMIN) +// .set(SYS_ADMIN.REALNAME, "2") +// .set(SYS_ADMIN.USERNAME,"SS") +// .set(SYS_ADMIN.PASSWORD,"SS") +// .set(SYS_ADMIN.IS_LOCKED, (byte)0) +// .execute(); +// +// tx.dsl().insertInto(SYS_ADMIN) +// .set(SYS_ADMIN.REALNAME, "2") +// .set(SYS_ADMIN.USERNAME,"SS") +// .set(SYS_ADMIN.PASSWORD,"SS") +// .set(SYS_ADMIN.IS_LOCKED, (byte)0 ) +// .execute(); +// int i = 1/0; +// }); + + + } +} diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/controller/AdminManagerContronller.java b/src/main/java/jj/tech/paolu/biz/webadmin/controller/AdminManagerContronller.java new file mode 100644 index 0000000..9128662 --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/controller/AdminManagerContronller.java @@ -0,0 +1,555 @@ +//package jj.tech.paolu.biz.webadmin.controller; +// +//import static org.mybatis.dynamic.sql.SqlBuilder.constant; +//import static org.mybatis.dynamic.sql.SqlBuilder.count; +//import static org.mybatis.dynamic.sql.SqlBuilder.equalTo; +//import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; +//import static org.mybatis.dynamic.sql.SqlBuilder.isEqualToWhenPresent; +//import static org.mybatis.dynamic.sql.SqlBuilder.isIn; +//import static org.mybatis.dynamic.sql.SqlBuilder.isInWhenPresent; +//import static org.mybatis.dynamic.sql.SqlBuilder.isLike; +//import static org.mybatis.dynamic.sql.SqlBuilder.isNotEqualTo; +//import static org.mybatis.dynamic.sql.SqlBuilder.select; +// +//import java.awt.image.BufferedImage; +//import java.util.ArrayList; +//import java.util.HashMap; +//import java.util.List; +//import java.util.Optional; +//import java.util.Properties; +//import java.util.Random; +//import java.util.function.Function; +// +//import javax.imageio.ImageIO; +// +//import org.apache.commons.codec.digest.DigestUtils; +//import org.apache.commons.collections.CollectionUtils; +//import org.apache.commons.lang3.ArrayUtils; +//import org.apache.commons.lang3.StringUtils; +//import org.mybatis.dynamic.sql.BasicColumn; +//import org.mybatis.dynamic.sql.SqlBuilder; +//import org.mybatis.dynamic.sql.render.RenderingStrategies; +//import org.mybatis.dynamic.sql.select.QueryExpressionDSL; +//import org.mybatis.dynamic.sql.select.SelectModel; +//import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +//import org.mybatis.dynamic.sql.where.WhereApplier; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.transaction.annotation.Transactional; +//import org.springframework.validation.annotation.Validated; +//import org.springframework.web.bind.annotation.PostMapping; +//import org.springframework.web.bind.annotation.RequestBody; +//import org.springframework.web.bind.annotation.RequestMapping; +//import org.springframework.web.bind.annotation.RestController; +// +//import com.google.code.kaptcha.impl.DefaultKaptcha; +//import com.google.code.kaptcha.util.Config; +// +//import io.swagger.v3.oas.annotations.Operation; +//import jakarta.servlet.ServletOutputStream; +//import jakarta.servlet.http.HttpServletRequest; +//import jakarta.servlet.http.HttpServletResponse; +//import jj.tech.paolu.biz.webadmin.dao.SelectMapper; +//import jj.tech.paolu.biz.webadmin.service.OrgService; +//import jj.tech.paolu.biz.webadmin.vo.AdminListVo; +//import jj.tech.paolu.biz.webadmin.vo.Id; +//import jj.tech.paolu.biz.webadmin.vo.IdsAndPwd; +//import jj.tech.paolu.biz.webadmin.vo.IdsAndPwdUpdate; +//import jj.tech.paolu.biz.webadmin.vo.LoginVo; +//import jj.tech.paolu.biz.webadmin.vo.SysAdminAddVo; +//import jj.tech.paolu.biz.webadmin.vo.SysAdminLock; +//import jj.tech.paolu.config.security.user.WebAdminUtil; +//import jj.tech.paolu.repository.mybatis.dao.CertificateApplyMapper; +//import jj.tech.paolu.repository.mybatis.dao.CertificateApplyRecordMapper; +//import jj.tech.paolu.repository.mybatis.dao.CertificateDetailMapper; +//import jj.tech.paolu.repository.mybatis.dao.SysAdminMapper; +//import jj.tech.paolu.repository.mybatis.dao.SysAdminRoleMapper; +//import jj.tech.paolu.repository.mybatis.dao.SysAdminWeidMapper; +//import jj.tech.paolu.repository.mybatis.dao.SysOrgMapper; +//import jj.tech.paolu.repository.mybatis.dao.SysRoleMapper; +//import jj.tech.paolu.repository.mybatis.dao.support.FilesApplyDynamicSqlSupport; +//import jj.tech.paolu.repository.mybatis.dao.support.SysAdminDynamicSqlSupport; +//import jj.tech.paolu.repository.mybatis.dao.support.SysAdminRoleDynamicSqlSupport; +//import jj.tech.paolu.repository.mybatis.dao.support.SysRoleDynamicSqlSupport; +//import jj.tech.paolu.repository.mybatis.entity.SysAdmin; +//import jj.tech.paolu.repository.mybatis.entity.SysAdminRole; +//import jj.tech.paolu.repository.mybatis.entity.SysOrg; +//import jj.tech.paolu.repository.mybatis.entity.SysRole; +//import jj.tech.paolu.utils.CookieUtil; +//import jj.tech.paolu.utils.IDHelp; +//import jj.tech.paolu.utils.Page; +//import jj.tech.paolu.utils.R; +// +//@RestController +//@RequestMapping(value = "/op/admin", name = "管理员账号管理列表") +//public class AdminManagerContronller { +// +// @Autowired SysAdminMapper sysAdminMapper; +// @Autowired SysAdminWeidMapper sysAdminWeidMapper; +// @Autowired SysAdminRoleMapper sysAdminRoleMapper; +// @Autowired SysOrgMapper sysOrgMapper; +// @Autowired SysRoleMapper sysRoleMapper; +// @Autowired CertificateApplyMapper certificateApplyMapper; +// @Autowired CertificateApplyRecordMapper certificateApplyRecordMapper; +// @Autowired CertificateDetailMapper certificateDetailMapper; +// @Autowired SelectMapper selectMapper; +// @Autowired OrgService orgService; +// +// +// +// +// @Operation(summary = "管理员登录", description = "admin 000000") +// @PostMapping("/login") +// public Object login(@Validated @RequestBody LoginVo parame, +// HttpServletRequest request, HttpServletResponse response) { +// +// String passwordEncode = DigestUtils.sha3_256Hex(parame.password); +// String captchaSha = DigestUtils.sha3_256Hex(parame.captcha); +// String captchaShaCookie = CookieUtil.fine(request, "captcha"); +// if(!captchaSha.equals(captchaShaCookie)) { +// return R.FALSE("验证码错误"); +// } +// var provider = select(SysAdminMapper.selectList) +// .from(SysAdminDynamicSqlSupport.sysAdmin) +// .where(SysAdminDynamicSqlSupport.username, isEqualTo(parame.username)) +// .build() +// .render(RenderingStrategies.MYBATIS3); +// +// Optional op = sysAdminMapper.selectOne(provider); +// if(!op.isPresent()) { +// return R.FALSE("管理员不存在"); +// } +// SysAdmin bean = op.get(); +// if(!passwordEncode.equals(bean.getPassword())) { +// return R.FALSE("密码错误"); +// } +// +// if(!bean.getId().equals("1") && bean.getIslock() == 0) { +// return R.FALSE("管理员已被禁用"); +// } +// bean.setPassword(null); +// +// String token = WebAdminUtil.addUser(bean); +// HashMap map = new HashMap(); +// map.put("webadmin", token); +// map.put("admin", bean); +// CookieUtil.delete(response, "captcha"); +// return R.SUCCESS(map); +// } +// +// +// +// @Operation(summary = "登出", description = "") +// @PostMapping("/logout") +// public Object logout() { +// WebAdminUtil.deleteUser(); +// return R.SUCCESS("logout is ok"); +// } +// +// @Operation(summary = "验证码", description = "") +// @PostMapping("/captcha") +// public Object captcha(HttpServletRequest request, HttpServletResponse response){ +// try +// { +// response.setDateHeader("Expires", 0); +// response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate"); +// response.addHeader("Cache-Control", "post-check=0, pre-check=0"); +// response.setHeader("Pragma", "no-cache"); +// response.setContentType("image/jpeg"); +// +// DefaultKaptcha captchaProducer = new DefaultKaptcha(); +// Properties p = new Properties(); +//// p.setProperty("kaptcha.image.width", null); +//// p.setProperty("kaptcha.image.height", null); +//// p.setProperty("kaptcha.textproducer.char.string", "0123456789"); +// p.setProperty("kaptcha.textproducer.char.length", "4"); +// +// Config cfig = new Config(p); +// captchaProducer.setConfig(cfig); +// +// String capText = captchaProducer.createText(); +// CookieUtil.add("captcha", DigestUtils.sha3_256Hex(capText), response); +// +// //request.getSession().setAttribute(Constants.KAPTCHA_SESSION_KEY, capText); +// +// BufferedImage bi = captchaProducer.createImage(capText); +// +// ServletOutputStream out = response.getOutputStream(); +// ImageIO.write(bi, "jpg", out); +// out.flush(); +// +// }catch (Exception e) { +// e.printStackTrace(); +// } +// return null; +// } +// +// +// @Operation(summary = "管理员列表,按内容搜索", description = "") +// @PostMapping("/list") +// public Object list(@RequestBody AdminListVo parame) { +// +// Page p = new Page(parame.pageNum,parame.pageSize); +// SysAdmin admin = WebAdminUtil.getUser(); +// List orgs = orgService.allFarter(admin.getOrg_id()); +// SysOrg endOrg = orgs.getLast(); +// +// BasicColumn[] adminCloudList = BasicColumn.columnList(SysAdminDynamicSqlSupport.sysAdmin.allColumns()); +// BasicColumn roleNames = constant("string_agg(sys_role.rolename, ',')").as("rolenames"); +// BasicColumn[] basic = ArrayUtils.addAll(adminCloudList,roleNames); +// +// +// Function, QueryExpressionDSL.JoinSpecificationFinisher> function = +// s -> { +// +// var from = s +// .from(SysAdminDynamicSqlSupport.sysAdmin) +// .leftJoin(SysAdminRoleDynamicSqlSupport.sysAdminRole) +// .on(SysAdminRoleDynamicSqlSupport.adminid,equalTo(SysAdminDynamicSqlSupport.id)) +// .leftJoin(SysRoleDynamicSqlSupport.sysRole) +// .on(SysRoleDynamicSqlSupport.id,equalTo(SysAdminRoleDynamicSqlSupport.roleid)) +// ; +// +// return from; +// }; +// +// +// +// var where = SqlBuilder.where(SysAdminDynamicSqlSupport.id, isNotEqualTo("1")); +// if(!admin.getId().equals("1")) { +// where.and(SysAdminDynamicSqlSupport.company_id, isEqualToWhenPresent(endOrg.getId())); +// } +// where.and(SysAdminDynamicSqlSupport.islock, isEqualToWhenPresent(parame.islock)); +// where.and(SysAdminDynamicSqlSupport.username, isEqualTo(parame.username).filter(StringUtils::isNoneBlank)); +// where.and(SysAdminDynamicSqlSupport.gender, isEqualToWhenPresent(parame.gender)); +// where.and(SysAdminDynamicSqlSupport.job, isLike(parame.getJob()).filter(StringUtils::isNoneBlank).map(s -> "%" + s + "%")); +// where.and(SysAdminDynamicSqlSupport.realname, isLike(parame.getRealname()).filter(StringUtils::isNoneBlank).map(s -> "%" + s + "%")); +// where.and(SysAdminDynamicSqlSupport.phone, isEqualTo(parame.getPhone()).filter(StringUtils::isNoneBlank)); +// where.and(SysAdminDynamicSqlSupport.type, isEqualToWhenPresent(parame.type)); +// where.and(SysAdminDynamicSqlSupport.org_id, isEqualToWhenPresent(parame.getOrg_id()).filter(StringUtils::isNoneBlank)); +// if(CollectionUtils.isNotEmpty(parame.getRolesId())){ +// where.and(SysAdminRoleDynamicSqlSupport.roleid, isInWhenPresent(parame.getRolesId())); +// } +// +// WhereApplier applier = where.toWhereApplier(); +// +// SelectStatementProvider provider = function.apply(select(basic)) +// .applyWhere(applier) +// .configureStatement(config -> config.setNonRenderingWhereClauseAllowed(true)) +// .groupBy(SysAdminDynamicSqlSupport.id) +// .orderBy(FilesApplyDynamicSqlSupport.id.descending()) +// .limit(p.getPageSize()) +// .offset(p.limitStart()) +// .build() +// .render(RenderingStrategies.MYBATIS3); +// +// +// +// SelectStatementProvider count = select(count()) +// .from(function.apply(select(basic)) +// .applyWhere(applier) +// .groupBy(SysAdminDynamicSqlSupport.id) +// .orderBy(FilesApplyDynamicSqlSupport.id.descending()), +// "t1") +// .configureStatement(config -> config.setNonRenderingWhereClauseAllowed(true)) +//// .groupBy(SysAdminDynamicSqlSupport.id) +// .build() +// .render(RenderingStrategies.MYBATIS3); +// +// +// +// var list = selectMapper.selectMany(provider); +// long total = selectMapper.count(count); +// p.setList(list); +// p.setTotal(total); +// return R.SUCCESS(p); +// } +// +// @Transactional +// @Operation(summary = "管理员添加", description = "") +// @PostMapping("/add") +// public Object add(@RequestBody(required = true) SysAdminAddVo parame) { +// SysAdmin admin = WebAdminUtil.getUser(); +// if(admin.getId().equals("1")) { +// if(parame.getType()!=1) { //是否是企业管理员 +// return R.FALSE("超级管理员只能添加企业管理员账号"); +// } +// } +// +// if(!admin.getId().equals("1")) { +// if(parame.getType()!=0) { //是否是企业管理员 +// return R.FALSE("企业管理员只能创建普通用户"); +// } +// } +// +// List orgs = orgService.allFarter(parame.getOrg_id()); +// SysOrg endOrg = orgs.getLast(); +// //用户名系统生成 +// parame.setUsername(generateUsername()); +// +// if(StringUtils.isEmpty(parame.getUsername())) { +// return R.FALSE("用户名不能为空"); +// } +// +// parame.setId(IDHelp.getInstance().nextId()); +// String password = parame.getPassword(); +// +// +// if(StringUtils.isEmpty(password)) { +// password = "123456pwd"; +// } +// +// +// //该公司是否存在企业管理员的账号 +// if(parame.getType()==1) { +// List has = +// sysAdminMapper.select(s->s.where(SysAdminDynamicSqlSupport.company_id, isEqualTo(endOrg.getId())) +// .and(SysAdminDynamicSqlSupport.type, isEqualTo(1)) +// ); +// if(has.size()>0) { +// return R.FALSE("已经存在企业管理员:" + has.getFirst().getUsername()); +// } +// } +// +// +// +// +// +// String passwordEncode = DigestUtils.sha3_256Hex(password); +// parame.setPassword(passwordEncode); +// parame.setCompany_id(endOrg.getId()); +// +// +// sysAdminMapper.insertSelective(parame); +// if(parame.role_ids.isEmpty()) { +// return R.FALSE("角色不能为空"); +// } +// +// List roles = new ArrayList(); +// parame.role_ids.forEach(roleid->{ +// SysAdminRole bean = new SysAdminRole(); +// bean.setId(IDHelp.getInstance().nextId()); +// bean.setAdminid(parame.getId()); +// bean.setRoleid(roleid); +// roles.add(bean); +// }); +// +// sysAdminRoleMapper.insertMultiple(roles); +// +// /** +// * 创建用户的时候不生成weid,在用户成功申请完个人证书后再添加 +// */ +//// CreateResult cr = nBWeidService.createWeId().getResult(); +//// SysAdminWeid adwid = new SysAdminWeid(); +//// adwid.setId(IDHelp.getInstance().nextId()); +//// adwid.setAdmin_id(parame.getId()); +//// adwid.setWid(cr.getWeIdDocument().getId()); +//// adwid.setWprivate_key(cr.getPrivateKeyHexStr()); +//// sysAdminWeidMapper.insertSelective(adwid); +// +// return R.SUCCESS(parame); +// +// } +// +// @Transactional +// @Operation(summary = "管理员更新", description = "") +// @PostMapping("/update") +// public Object update(@RequestBody(required = true) SysAdminAddVo parame) { +// if(StringUtils.isEmpty(parame.getUsername())) { +// return R.FALSE("用户名不能为空"); +// } +// String password = parame.getPassword(); +// if(StringUtils.isNoneBlank(password)) { +// String passwordEncode = DigestUtils.sha3_256Hex(password); +// parame.setPassword(passwordEncode); +// } +// if(parame.getId() == null) { +// return R.FALSE("id不能为空"); +// } +// if(parame.getId().equals("1")) { +// return R.FALSE("超级管理不能修改"); +// } +// if(parame.role_ids.isEmpty()) { +// return R.FALSE("角色不能为空"); +// } +// +// sysAdminMapper.updateByPrimaryKeySelective(parame); +// sysAdminRoleMapper.delete(d->d.where(SysAdminRoleDynamicSqlSupport.adminid, isEqualTo(parame.getId()))); +// +// List roles = new ArrayList(); +// parame.role_ids.forEach(roleid->{ +// SysAdminRole bean = new SysAdminRole(); +// bean.setId(IDHelp.getInstance().nextId()); +// bean.setAdminid(parame.getId()); +// bean.setRoleid(roleid); +// roles.add(bean); +// }); +// +// sysAdminRoleMapper.insertMultiple(roles); +// return R.SUCCESS(parame); +// } +// +// +// @Transactional +// @Operation(summary = "按管理员ID删除") +// @PostMapping("/delete") +// public Object delete(@Validated @RequestBody Id parame) { +// String id = parame.getId(); +// if(id !=null && !id.equals("1")) { +// sysAdminMapper.deleteByPrimaryKey(id); +// sysAdminRoleMapper.delete(d->d.where(SysAdminRoleDynamicSqlSupport.adminid, isEqualTo(id))); +// } +// if(id.equals("1")) { +// return R.FALSE("超级管理员不能删除"); +// } +// return R.SUCCESS("delete: "+id); +// } +// +// +// +// @Operation(summary = "按管理员ID获取", description = "") +// @PostMapping("/get") +// public Object get(@Validated @RequestBody Id id) { +// Optional op = sysAdminMapper.selectByPrimaryKey(id.getId()); +// if(op.isPresent()) { +// SysAdmin admin = op.get(); +// admin.setPassword(null); +// +// SysOrg org = sysOrgMapper.selectByPrimaryKey(admin.getOrg_id()).orElse(null); +// +// List roles = +// sysRoleMapper.select(s->s.where(SysRoleDynamicSqlSupport.id, isIn( +// select(SysAdminRoleDynamicSqlSupport.roleid) +// .from(SysAdminRoleDynamicSqlSupport.sysAdminRole) +// .where(SysAdminRoleDynamicSqlSupport.adminid, isEqualTo(admin.getId())) +// ))); +// +//// CertificateDetail cert = certificateDetailMapper.selectOne(s->s +//// .where(CertificateDetailDynamicSqlSupport.id, isEqualTo( +//// select(CertificateApplyDynamicSqlSupport.cer_id) +//// .from(CertificateApplyDynamicSqlSupport.certificateApply) +//// .where(CertificateApplyDynamicSqlSupport.user_id, isEqualTo(admin.getId())) +//// .and(CertificateApplyDynamicSqlSupport.is_org, isEqualTo(0)) +//// .orderBy(CertificateApplyDynamicSqlSupport.id.descending()) +//// .limit(1) +//// )) +//// ).orElse(null); +// +// HashMap h = new HashMap(); +// h.put("admin", admin); +// h.put("org", org); +// h.put("roles", roles); +//// h.put("cert", cert); +// return R.SUCCESS(h); +// } +// return R.SUCCESS("can no find"); +// } +// +// @Operation(summary = "更新管理员状态", description = "") +// @PostMapping("/updateIsLock") +// public Object updateIsLock(@Validated @RequestBody SysAdminLock param){ +// SysAdmin sysAdmin = new SysAdmin(); +// sysAdmin.setId(param.getId()); +// sysAdmin.setIslock(param.getIsLock()); +// int i = sysAdminMapper.updateByPrimaryKeySelective(sysAdmin); +// return R.SUCCESS(i); +// } +// +// @Operation(summary = "更新管理员角色", description = "") +// @PostMapping("/updateRoles") +// @Transactional +// public Object updateRoles(@RequestBody SysAdminAddVo param){ +// List role_ids = param.role_ids; +// if (CollectionUtils.isEmpty(role_ids)) { +// return R.FALSE("角色不能为空"); +// } +// List roles = new ArrayList(); +// sysAdminRoleMapper.delete(d -> d.where(SysAdminRoleDynamicSqlSupport.adminid, isEqualTo(param.getId()))); +// role_ids.forEach(roleid->{ +// SysAdminRole bean = new SysAdminRole(); +// bean.setId(IDHelp.getInstance().nextId()); +// bean.setAdminid(param.getId()); +// bean.setRoleid(roleid); +// roles.add(bean); +// }); +// sysAdminRoleMapper.insertMultiple(roles); +// return R.SUCCESS("success"); +// } +// +// @Operation(summary = "重置管理员密码", description = "") +// @PostMapping("/resetPwd") +// public Object resetPwd(@Validated @RequestBody IdsAndPwd params){ +// String pwd = params.getPassword(); +// if (!StringUtils.isEmpty(params.getPassword())){ +// pwd = DigestUtils.sha3_256Hex("123456pwd"); +// }else { +// return R.FALSE("密码不能为空"); +// } +// String finalPwd = pwd; +// int update = sysAdminMapper.update(c -> c.set(SysAdminDynamicSqlSupport.password).equalTo(finalPwd) +// .where(SysAdminDynamicSqlSupport.id, isInWhenPresent(params.getIds()))); +// return R.SUCCESS(update); +// } +// +// @Operation(summary = "修改管理员密码", description = "") +// @PostMapping("/updatePwd") +// public Object updatePwd(@Validated @RequestBody IdsAndPwdUpdate params, +// HttpServletRequest request, HttpServletResponse response){ +// SysAdmin admin = WebAdminUtil.getUser(); +// String captchaSha = DigestUtils.sha3_256Hex(params.captcha); +// String oldPasswordEncode = DigestUtils.sha3_256Hex(params.password); +// +// SysAdmin bean = +// sysAdminMapper.selectOne(s->s.where(SysAdminRoleDynamicSqlSupport.id, isEqualTo(admin.getId()))).orElse(null); +// if(!bean.getPassword().equals(oldPasswordEncode)) { +// return R.FALSE("旧密码不正确"); +// } +// if(oldPasswordEncode.equals(DigestUtils.sha3_256Hex(params.newpassword))) { +// return R.FALSE("旧密码不能和新密码相同"); +// } +// +// String captchaShaCookie = CookieUtil.fine(request, "captcha"); +// if(!captchaSha.equals(captchaShaCookie)) { +// return R.FALSE("验证码错误"); +// } +// +// +// String pwd = DigestUtils.sha3_256Hex(params.newpassword); +// +// int update = sysAdminMapper.update(c -> c.set(SysAdminDynamicSqlSupport.password).equalTo(pwd) +// .where(SysAdminDynamicSqlSupport.id, isEqualTo(admin.getId()))); +// +// CookieUtil.delete(response, "captcha"); +// +// return R.SUCCESS(update); +// } +// +// +// +// /** +// * 生成用户名 +// * @return +// */ +// private String generateUsername(){ +// Random random = new Random(); +// //长度8位,不已0开头 +// int number; +// do { +// number = 10000000 + random.nextInt(90000000); // 生成100000到999999之间的随机数 +// // 将生成的随机数转换为字符串,确保不以0开头 +// } while (number % 10 == 0 && number != 0); +// String username = String.valueOf(number); +// //判断用户名是否已存在 +// long count = sysAdminMapper.count(c -> c.applyWhere(whereFinisher -> whereFinisher.and(SysAdminDynamicSqlSupport.username, isEqualTo(username)))); +// if(count > 0){ +// return generateUsername(); +// }else { +// return username; +// } +// } +// +// +// +// +// +// +//} diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/controller/MenuManagerController.java b/src/main/java/jj/tech/paolu/biz/webadmin/controller/MenuManagerController.java new file mode 100644 index 0000000..1c65ee8 --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/controller/MenuManagerController.java @@ -0,0 +1,187 @@ +//package jj.tech.paolu.biz.webadmin.controller; +// +//import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; +//import static org.mybatis.dynamic.sql.SqlBuilder.isIn; +//import static org.mybatis.dynamic.sql.SqlBuilder.select; +// +//import java.util.List; +//import java.util.Map; +//import java.util.Optional; +//import java.util.stream.Collectors; +// +//import org.mybatis.dynamic.sql.render.RenderingStrategies; +//import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.validation.annotation.Validated; +//import org.springframework.web.bind.annotation.PostMapping; +//import org.springframework.web.bind.annotation.RequestBody; +//import org.springframework.web.bind.annotation.RequestMapping; +//import org.springframework.web.bind.annotation.RestController; +// +//import io.swagger.v3.oas.annotations.Operation; +//import jj.tech.paolu.biz.webadmin.dao.TreeMapper; +//import jj.tech.paolu.biz.webadmin.vo.Id; +//import jj.tech.paolu.biz.webadmin.vo.Ids; +//import jj.tech.paolu.biz.webadmin.vo.MenuTree; +//import jj.tech.paolu.config.security.user.WebAdminUtil; +//import jj.tech.paolu.repository.mybatis.dao.SysAdminRoleMapper; +//import jj.tech.paolu.repository.mybatis.dao.SysMenuMapper; +//import jj.tech.paolu.repository.mybatis.dao.SysRoleMapper; +//import jj.tech.paolu.repository.mybatis.dao.support.SysAdminRoleDynamicSqlSupport; +//import jj.tech.paolu.repository.mybatis.dao.support.SysMenuDynamicSqlSupport; +//import jj.tech.paolu.repository.mybatis.dao.support.SysRoleMenuDynamicSqlSupport; +//import jj.tech.paolu.repository.mybatis.dao.support.SysRoleUrlDynamicSqlSupport; +//import jj.tech.paolu.repository.mybatis.entity.SysAdmin; +//import jj.tech.paolu.repository.mybatis.entity.SysMenu; +//import jj.tech.paolu.utils.IDHelp; +//import jj.tech.paolu.utils.R; +// +//@RestController +//@RequestMapping(value = "/op/menu", name = "菜单管理") +//public class MenuManagerController { +// @Autowired SysMenuMapper sysMenuMapper; +// @Autowired SysRoleMapper sysRoleMapper; +// @Autowired SysAdminRoleMapper sysAdminRoleMapper; +// +// @Autowired TreeMapper treeMapper; +// +// private final IDHelp ID_HELP = IDHelp.getInstance(); +// +// @Operation(summary = "所有一级和二级菜单", description = "") +// @PostMapping("/all") +// public Object all() { +// +// var from = select(SysMenuMapper.selectList) +// .from(SysMenuDynamicSqlSupport.sysMenu) +//// .where() +//// .and(SysMenuDynamicSqlSupport.types, isEqualTo(2)) +//// .and(SysMenuDynamicSqlSupport.level, isEqualTo(2), or(SysMenuDynamicSqlSupport.level, isEqualTo(3))) +//// .and(SysMenuDynamicSqlSupport.name, isNotNull()) +// .orderBy(SysMenuDynamicSqlSupport.id,SysMenuDynamicSqlSupport.sort); +// +// +// SelectStatementProvider provider = from +// .build() +// .render(RenderingStrategies.MYBATIS3); +// +// List list = treeMapper.selectManyMenu(provider); +// +// Map> map = list.stream().collect(Collectors.groupingBy(MenuTree::getParent_id)); +// list.stream().forEach(i->{ +// i.setChildren(map.get(i.getId())); +// }); +// +// return R.SUCCESS(map.get("0")); +// } +// +// @Operation(summary = "获取管理员对应的菜单", description = "") +// @PostMapping("/list") +// public Object admin() { +// +// SysAdmin admin = WebAdminUtil.getUser(); +// +// if(admin == null) { +// return R.FALSE("admin can not find"); +// } +// +// if(admin.getId().equals("1")) { +// return this.all(); +// } +// +// var adminrole = select(SysAdminRoleDynamicSqlSupport.roleid) +// .from(SysAdminRoleDynamicSqlSupport.sysAdminRole) +// .where(SysAdminRoleDynamicSqlSupport.adminid, isEqualTo(admin.getId())); +// +// var roleurl = select(SysMenuDynamicSqlSupport.url) +// .from(SysRoleUrlDynamicSqlSupport.sysRoleUrl) +// .where(SysRoleUrlDynamicSqlSupport.roleid, isIn(adminrole)); +// +// var sysurl = select(SysMenuMapper.selectList) +// .from(SysMenuDynamicSqlSupport.sysMenu) +// .where(SysMenuDynamicSqlSupport.url, isIn(roleurl)) +// .orderBy(SysMenuDynamicSqlSupport.url) +// .build() +// .render(RenderingStrategies.MYBATIS3); +// +// List list = treeMapper.selectManyMenu(sysurl); +// +// Map> map = list.stream().collect(Collectors.groupingBy(MenuTree::getParent_id)); +// list.stream().forEach(i->{ +// i.setChildren(map.get(i.getId())); +// }); +// +// return R.SUCCESS(map.get("0")); +// +// } +// +// +// @Operation(summary = "获取当前用户对应的菜单", description = "") +// @PostMapping("/menuLit") +// public Object menuLit() { +// +// SysAdmin admin = WebAdminUtil.getUser(); +// +// if(admin == null) { +// return R.FALSE("admin can not find"); +// } +// +// if(admin.getId().equals("1")) { +// return this.all(); +// } +// +// +// var adminrole = select(SysAdminRoleDynamicSqlSupport.roleid) +// .from(SysAdminRoleDynamicSqlSupport.sysAdminRole) +// .where(SysAdminRoleDynamicSqlSupport.adminid, isEqualTo(admin.getId())); +// +// var rolemenu = select(SysRoleMenuDynamicSqlSupport.menuid) +// .from(SysRoleMenuDynamicSqlSupport.sysRoleMenu) +// .where(SysRoleMenuDynamicSqlSupport.roleid, isIn(adminrole)); +// +// var sysmenu = select(SysMenuMapper.selectList) +// .from(SysMenuDynamicSqlSupport.sysMenu) +// .where(SysMenuDynamicSqlSupport.id, isIn(rolemenu)) +// .orderBy(SysMenuDynamicSqlSupport.sort) +// .build() +// .render(RenderingStrategies.MYBATIS3); +// +// List list = treeMapper.selectManyMenu(sysmenu); +// +// Map> map = list.stream().collect(Collectors.groupingBy(MenuTree::getParent_id)); +// list.stream().forEach(i->{ +// i.setChildren(map.get(i.getId())); +// }); +// +// return R.SUCCESS(map.get("0")); +// +// } +// +// @Operation(summary = "根据菜单id查询", description = "") +// @PostMapping("/get") +// public Object get(@Validated @RequestBody Id param){ +// Optional sysMenu = sysMenuMapper.selectByPrimaryKey(param.getId()); +// return sysMenu.map(R::SUCCESS).orElse(R.FALSE("can no find")); +// } +// +// +// @Operation(summary = "新增菜单", description = "") +// @PostMapping("/save") +// public Object save(@RequestBody SysMenu param){ +// if (param.getId() == null){ +// String id = ID_HELP.nextId(); +// param.setId(id); +// sysMenuMapper.insertSelective(param); +// }else { +// sysMenuMapper.updateByPrimaryKeySelective(param); +// } +// return R.SUCCESS(param); +// } +// +// @Operation(summary = "按ID删除", description = "批量删除") +// @PostMapping("/delete") +// public Object delete(@Validated @RequestBody Ids param) { +// List ids = param.getIds(); +// sysMenuMapper.delete(c -> c.where(SysMenuDynamicSqlSupport.id, isIn(ids))); +// return R.SUCCESS("delete: " + ids); +// } +//} diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/controller/RoleManagerController.java b/src/main/java/jj/tech/paolu/biz/webadmin/controller/RoleManagerController.java new file mode 100644 index 0000000..38a2837 --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/controller/RoleManagerController.java @@ -0,0 +1,319 @@ +//package jj.tech.paolu.biz.webadmin.controller; +// +//import static org.mybatis.dynamic.sql.SqlBuilder.equalTo; +//import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; +//import static org.mybatis.dynamic.sql.SqlBuilder.isEqualToWhenPresent; +//import static org.mybatis.dynamic.sql.SqlBuilder.isLikeWhenPresent; +//import static org.mybatis.dynamic.sql.SqlBuilder.isNotEqualTo; +//import static org.mybatis.dynamic.sql.SqlBuilder.select; +// +//import java.util.List; +//import java.util.Optional; +// +//import org.apache.commons.lang3.StringUtils; +//import org.mybatis.dynamic.sql.SqlBuilder; +//import org.mybatis.dynamic.sql.render.RenderingStrategies; +//import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +//import org.mybatis.dynamic.sql.where.WhereApplier; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.transaction.annotation.Transactional; +//import org.springframework.validation.annotation.Validated; +//import org.springframework.web.bind.annotation.PathVariable; +//import org.springframework.web.bind.annotation.PostMapping; +//import org.springframework.web.bind.annotation.RequestBody; +//import org.springframework.web.bind.annotation.RequestMapping; +//import org.springframework.web.bind.annotation.RestController; +// +//import io.swagger.v3.oas.annotations.Operation; +//import jj.tech.paolu.biz.webadmin.service.OrgService; +//import jj.tech.paolu.biz.webadmin.vo.AddAdminRoleMenuVo; +//import jj.tech.paolu.biz.webadmin.vo.Id; +//import jj.tech.paolu.biz.webadmin.vo.SysAdminRoleVo; +//import jj.tech.paolu.biz.webadmin.vo.SysRoleListVo; +//import jj.tech.paolu.config.security.user.WebAdminUtil; +//import jj.tech.paolu.repository.mybatis.dao.SysAdminMapper; +//import jj.tech.paolu.repository.mybatis.dao.SysAdminRoleMapper; +//import jj.tech.paolu.repository.mybatis.dao.SysMenuMapper; +//import jj.tech.paolu.repository.mybatis.dao.SysRoleMapper; +//import jj.tech.paolu.repository.mybatis.dao.SysRoleMenuMapper; +//import jj.tech.paolu.repository.mybatis.dao.support.SysAdminRoleDynamicSqlSupport; +//import jj.tech.paolu.repository.mybatis.dao.support.SysMenuDynamicSqlSupport; +//import jj.tech.paolu.repository.mybatis.dao.support.SysRoleDynamicSqlSupport; +//import jj.tech.paolu.repository.mybatis.dao.support.SysRoleMenuDynamicSqlSupport; +//import jj.tech.paolu.repository.mybatis.entity.SysAdmin; +//import jj.tech.paolu.repository.mybatis.entity.SysAdminRole; +//import jj.tech.paolu.repository.mybatis.entity.SysMenu; +//import jj.tech.paolu.repository.mybatis.entity.SysOrg; +//import jj.tech.paolu.repository.mybatis.entity.SysRole; +//import jj.tech.paolu.repository.mybatis.entity.SysRoleMenu; +//import jj.tech.paolu.utils.IDHelp; +//import jj.tech.paolu.utils.Page; +//import jj.tech.paolu.utils.R; +// +//@RestController +//@RequestMapping(value = "/op/role") +//public class RoleManagerController { +// +// @Autowired SysAdminRoleMapper sysAdminRoleMapper; +// @Autowired SysAdminMapper sysAdminMapper; +// @Autowired SysRoleMapper sysRoleMapper; +// @Autowired SysRoleMenuMapper sysRoleMenuMapper; +// @Autowired SysMenuMapper sysMenuMapper; +// @Autowired OrgService orgService; +// +// +// @Operation(summary = "用户所属机构下的角色列表", description = "") +// @PostMapping("/list") +// public Object list(@RequestBody SysRoleListVo parame) { +// +// Page p = new Page(parame.pageNum, parame.pageSize); +// +// if (StringUtils.isNotBlank(parame.rolename)) { +// parame.rolename = "%" + parame.rolename + "%"; +// } +// if (StringUtils.isNotBlank(parame.describe)) { +// parame.describe = "%" + parame.describe + "%"; +// } +// +// SysAdmin admin = WebAdminUtil.getUser(); +// List orgs = orgService.allFarter(admin.getOrg_id()); +// SysOrg endOrg = orgs.getLast(); +// +// +// +// var from = select(SysRoleMapper.selectList) +// .from(SysRoleDynamicSqlSupport.sysRole); +// +// var where = SqlBuilder.where(SysRoleDynamicSqlSupport.id, isNotEqualTo("1")); +// if(!admin.getId().equals("1")) { +// where.and(SysRoleDynamicSqlSupport.company_id, isEqualTo(endOrg.getId())); +// } +// +// where.and(SysRoleDynamicSqlSupport.rolename, isLikeWhenPresent(parame.rolename)); +// where.and(SysRoleDynamicSqlSupport.describe, isLikeWhenPresent(parame.describe)); +// where.and(SysRoleDynamicSqlSupport.is_open, isEqualToWhenPresent(parame.is_open)); +// +// WhereApplier applier = where.toWhereApplier(); +// SelectStatementProvider provider = from +// .applyWhere(applier) +// .configureStatement(config -> config.setNonRenderingWhereClauseAllowed(true)) +// .limit(p.getPageSize()) +// .offset(p.limitStart()) +// .build() +// .render(RenderingStrategies.MYBATIS3); +// +// var list = sysRoleMapper.selectMany(provider); +// long total = sysRoleMapper.count(c -> c +// .applyWhere(applier) +// .configureStatement(config -> config.setNonRenderingWhereClauseAllowed(true)) +// ); +// p.setList(list); +// p.setTotal(total); +// return R.SUCCESS(p); +// } +// +// @Operation(summary = "获取管理员所在公司对应所有角色", description = "获取管理员所在公司对应所有角色") +// @PostMapping("/all") +// public Object all() { +// SysAdmin admin = WebAdminUtil.getUser(); +// List orgs = orgService.allFarter(admin.getOrg_id()); +// SysOrg endOrg = orgs.getLast(); +// +// var from = select(SysRoleMapper.selectList) +// .from(SysRoleDynamicSqlSupport.sysRole) +// ; +// +// var where = SqlBuilder.where(SysRoleDynamicSqlSupport.is_open, isEqualTo(1)); +// +// if(!admin.getId().equals("1")) { +// where.and(SysRoleDynamicSqlSupport.company_id, isEqualTo(endOrg.getId())); +// } +// +// WhereApplier applier = where.toWhereApplier(); +// SelectStatementProvider provider = from +// .applyWhere(applier) +// .configureStatement(config -> config.setNonRenderingWhereClauseAllowed(true)) +// .build() +// .render(RenderingStrategies.MYBATIS3); +// +// var list = sysRoleMapper.selectMany(provider); +// +// return R.SUCCESS(list); +// } +// +// +// @Operation(summary = "保存管理员对应的角色", description = "只需传角色roleId:[{'roleId': 0}] ") +// @PostMapping("/addAdminRole") +// @Transactional +// public Object addAdminRole(@RequestBody SysAdminRoleVo params) { +// String adminid = params.getAdminid(); +// if (adminid.equals("1")) { +// return R.FALSE("超级管理员不能修改角色"); +// } +// +// Optional op = sysAdminMapper.selectByPrimaryKey(adminid); +// if (!op.isPresent()) { +// return R.FALSE("admin can not find"); +// } +// +// +// sysAdminRoleMapper.delete(d -> d.where(SysAdminRoleDynamicSqlSupport.adminid, isEqualTo(adminid))); +// List roles = params.getSysAdminRoles(); +// roles.forEach(bean -> { +// bean.setAdminid(adminid); +// if (!bean.getRoleid().equals("1")) { +// sysAdminRoleMapper.insertSelective(bean); +// } +// }); +// +// return R.SUCCESS(roles.size()); +// } +// +// +//// @Operation(summary = "获取管理员所在公司对应所有角色", description = "") +//// @PostMapping("/getAdminRole") +//// public Object getAdminRole(@Validated @RequestBody Id param) { +//// String id = param.id; +//// Optional op = sysAdminMapper.selectByPrimaryKey(id); +//// if (!op.isPresent()) { +//// return R.FALSE("admin can not find"); +//// } +//// +//// var roleids = select(SysAdminRoleDynamicSqlSupport.roleid) +//// .from(SysAdminRoleDynamicSqlSupport.sysAdminRole) +//// .where(SysAdminRoleDynamicSqlSupport.adminid, isEqualTo(id)); +//// +//// var from = select(SysRoleMapper.selectList) +//// .from(SysRoleDynamicSqlSupport.sysRole) +//// .where(SysRoleDynamicSqlSupport.id, SqlBuilder.isIn(roleids)) +//// .build() +//// .render(RenderingStrategies.MYBATIS3); +//// +//// List roles = sysRoleMapper.selectMany(from); +//// +//// HashMap h = new HashMap(); +//// SysAdmin bean = op.get(); +//// bean.setPassword(null); +//// +//// h.put("admin", bean); +//// h.put("roles", roles); +//// return R.SUCCESS(h); +//// } +// +// +//// @Operation(summary = "添加角色对应的菜单", description = "") +//// @PostMapping("/addAdminRoleMenu") +//// public Object addAdminRoleMenu(@Validated @RequestBody Ids param) { +//// Long id = param.id; +//// Optional op = sysAdminMapper.selectByPrimaryKey(id); +//// if(!op.isPresent()) { +//// return R.FALSE("admin can not find"); +//// } +//// +//// var roleids = select(SysAdminRoleDynamicSqlSupport.roleid) +//// .from(SysAdminRoleDynamicSqlSupport.sysAdminRole) +//// .where(SysAdminRoleDynamicSqlSupport.adminid, isEqualTo(id)); +//// +//// var from = select(SysRoleMapper.selectList) +//// .from(SysRoleDynamicSqlSupport.sysRole) +//// .where(SysRoleDynamicSqlSupport.id, SqlBuilder.isIn(roleids)) +//// .build() +//// .render(RenderingStrategies.MYBATIS3); +//// +//// List roles = sysRoleMapper.selectMany(from); +//// +//// HashMap h = new HashMap(); +//// SysAdmin bean = op.get(); +//// bean.setPassword(null); +//// +//// h.put("admin", bean); +//// h.put("roles", roles); +//// return R.SUCCESS(h); +//// } +// +// +// @Operation(summary = "添加角色对应的菜单", description = "") +// @PostMapping("/addRoleMenu") +// @Transactional +// public Object addAdminRoleMenu(@Validated @RequestBody AddAdminRoleMenuVo param) { +// //删除旧关系 +// int delete = sysRoleMenuMapper.delete(c -> c.applyWhere(whereFinisher -> whereFinisher +// .and(SysRoleMenuDynamicSqlSupport.roleid, isEqualTo(param.getRole_id())) +// )); +// +// //保存新关系 +// param.getMenu_ids().forEach(id -> { +// SysRoleMenu srm = new SysRoleMenu(); +// srm.setId(IDHelp.getInstance().nextId()); +// srm.setRoleid(param.getRole_id()); +// srm.setMenuid(id); +// sysRoleMenuMapper.insert(srm); +// }); +// +// return R.SUCCESS(); +// } +// +// +// @PostMapping("delete") +// public Object delete(@Validated @RequestBody List ids) { +// for(Integer i=0; i list = +// sysAdminRoleMapper.select(s->s.where(SysAdminRoleDynamicSqlSupport.roleid, isEqualTo(ids.get(fi)))); +// if(list.size()>0) { +// return R.FALSE(ids.get(fi)+"角色下还有绑定用户,请先解除已绑定该角色用户后再进行删除"); +// +// }else { +// sysRoleMapper.deleteByPrimaryKey(ids.get(i)); +// } +// } +// +// +// return R.SUCCESS(); +// } +// +// +// @PostMapping("save") +// public Object save(@RequestBody SysRole record) { +// SysAdmin admin = WebAdminUtil.getUser(); +// List orgs = orgService.allFarter(admin.getOrg_id()); +// SysOrg endOrg = orgs.getLast(); +// +// record.setId(IDHelp.getInstance().nextId()); +// if(endOrg==null) { +// record.setCompany_id("0"); +// record.setCompany_name(""); +// }else { +// record.setCompany_id(endOrg.getId()); +// record.setCompany_name(endOrg.getName()); +// } +// return R.SUCCESS(sysRoleMapper.insertSelective(record)); +// } +// +// @PostMapping("update") +// public Object update(@RequestBody SysRole record) { +// return R.SUCCESS(sysRoleMapper.updateByPrimaryKeySelective(record)); +// } +// +// @PostMapping("findById/{id}") +// public Object findById(@PathVariable("id") String id) { +// return R.SUCCESS(sysRoleMapper.selectByPrimaryKey(id).orElse(null)); +// } +// +// @Operation(summary = "根据角色id查询对应的菜单权限", description = "") +// @PostMapping("/findMenuById") +// public Object findMenuById(@Validated @RequestBody Id param) { +// SelectStatementProvider render = select(SysMenuMapper.selectList) +// .from(SysMenuDynamicSqlSupport.sysMenu) +// .leftJoin(SysRoleMenuDynamicSqlSupport.sysRoleMenu) +// .on(SysMenuDynamicSqlSupport.id, equalTo(SysRoleMenuDynamicSqlSupport.menuid)) +// .leftJoin(SysRoleDynamicSqlSupport.sysRole) +// .on(SysRoleMenuDynamicSqlSupport.roleid, equalTo(SysRoleDynamicSqlSupport.id)) +// .where(SysRoleDynamicSqlSupport.id, isEqualTo(param.getId())) +// .build().render(RenderingStrategies.MYBATIS3); +// List sysMenus = sysMenuMapper.selectMany(render); +// return R.SUCCESS(sysMenus); +// +// } +// +//} diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/controller/RoleSignController.java b/src/main/java/jj/tech/paolu/biz/webadmin/controller/RoleSignController.java new file mode 100644 index 0000000..6d0c55a --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/controller/RoleSignController.java @@ -0,0 +1,85 @@ +//package jj.tech.paolu.biz.webadmin.controller; +// +//import static org.mybatis.dynamic.sql.SqlBuilder.select; +// +//import org.mybatis.dynamic.sql.render.RenderingStrategies; +//import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.web.bind.annotation.PostMapping; +//import org.springframework.web.bind.annotation.RequestMapping; +//import org.springframework.web.bind.annotation.RestController; +// +//import io.swagger.v3.oas.annotations.Operation; +//import io.swagger.v3.oas.annotations.tags.Tag; +//import jj.tech.paolu.repository.mybatis.dao.SysRoleSignMapper; +//import jj.tech.paolu.repository.mybatis.dao.support.SysRoleSignDynamicSqlSupport; +//import jj.tech.paolu.utils.R; +//@RestController +//@RequestMapping(value = "/op/roleSign") +//@Tag(name = "RoleSignController", description = "角色标记") +//public class RoleSignController { +// +// @Autowired SysRoleSignMapper sysRoleSignMapper; +// +// +//// @Operation(summary = "角色列表", description = "") +//// @PostMapping("/list") +//// public Object list(@RequestBody SysRoleListVo parame) { +//// +//// Page p = new Page(parame.pageNum, parame.pageSize); +//// +//// if (StringUtils.isNotBlank(parame.rolename)) { +//// parame.rolename = "%" + parame.rolename + "%"; +//// } +//// if (StringUtils.isNotBlank(parame.describe)) { +//// parame.describe = "%" + parame.describe + "%"; +//// } +//// +//// var from = select(SysRoleMapper.selectList) +//// .from(SysRoleDynamicSqlSupport.sysRole); +//// +//// var where = SqlBuilder.where(SysRoleDynamicSqlSupport.id, isNotEqualTo(1L)); +//// +//// where.and(SysRoleDynamicSqlSupport.rolename, isLikeWhenPresent(parame.rolename)); +//// where.and(SysRoleDynamicSqlSupport.describe, isLikeWhenPresent(parame.describe)); +//// where.and(SysRoleDynamicSqlSupport.is_open, isEqualToWhenPresent(parame.is_open)); +//// +//// WhereApplier applier = where.toWhereApplier(); +//// SelectStatementProvider provider = from +//// .applyWhere(applier) +//// .configureStatement(config -> config.setNonRenderingWhereClauseAllowed(true)) +//// .limit(p.getPageSize()) +//// .offset(p.limitStart()) +//// .build() +//// .render(RenderingStrategies.MYBATIS3); +//// +//// var list = sysRoleMapper.selectMany(provider); +//// long total = sysRoleMapper.count(c -> c +//// .applyWhere(applier) +//// .configureStatement(config -> config.setNonRenderingWhereClauseAllowed(true)) +//// ); +//// p.setList(list); +//// p.setTotal(total); +//// return R.SUCCESS(p); +//// } +// +// @Operation(summary = "所有标记", description = "") +// @PostMapping("/all") +// public Object all() { +// +// var from = select(SysRoleSignMapper.selectList) +// .from(SysRoleSignDynamicSqlSupport.sysRoleSign) +// ; +// +// SelectStatementProvider provider = from +// .configureStatement(config -> config.setNonRenderingWhereClauseAllowed(true)) +// .orderBy(SysRoleSignDynamicSqlSupport.id) +// .limit(2000) +// .build() +// .render(RenderingStrategies.MYBATIS3); +// +// var list = sysRoleSignMapper.selectMany(provider); +// +// return R.SUCCESS(list); +// } +//} diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/controller/SysAreasController.java b/src/main/java/jj/tech/paolu/biz/webadmin/controller/SysAreasController.java new file mode 100644 index 0000000..31fea1c --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/controller/SysAreasController.java @@ -0,0 +1,73 @@ +//package jj.tech.paolu.biz.webadmin.controller; +// +//import jj.tech.paolu.biz.webadmin.dao.SelectMapper; +//import jj.tech.paolu.repository.mybatis.dao.SysAreaMapper; +//import jj.tech.paolu.repository.mybatis.dao.support.SysAreaDynamicSqlSupport; +//import jj.tech.paolu.utils.R; +//import org.mybatis.dynamic.sql.render.RenderingStrategies; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.web.bind.annotation.PathVariable; +//import org.springframework.web.bind.annotation.PostMapping; +//import org.springframework.web.bind.annotation.RequestMapping; +//import org.springframework.web.bind.annotation.RestController; +// +//import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; +//import static org.mybatis.dynamic.sql.SqlBuilder.select; +// +//@RestController +//@RequestMapping(value = "/op/area", name = "组织机构管理") +//public class SysAreasController { +// +// @Autowired +// public SysAreaMapper sysAreaMapper; +// @Autowired +// public SelectMapper selectMapper; +// +// @PostMapping("findById/{id}") +// public Object findById(@PathVariable("id") String id) { +// return R.SUCCESS(sysAreaMapper.selectByPrimaryKey(id).orElse(null)); +// } +// +// /** +// * 获取省列表 +// * +// * @return +// */ +// @PostMapping("findProvince") +// public Object findProvince() { +// short level_code = 1; +// var sql = select( +// SysAreaDynamicSqlSupport.name, +// SysAreaDynamicSqlSupport.parent_code, +// SysAreaDynamicSqlSupport.area_code +// ) +// .from(SysAreaDynamicSqlSupport.sysArea) +// .applyWhere(whereFinisher -> whereFinisher +// .and(SysAreaDynamicSqlSupport.level_code, isEqualTo(level_code)) +// ) +// .build().render(RenderingStrategies.MYBATIS3); +// return R.SUCCESS(selectMapper.selectMany(sql)); +// } +// +// /** +// * 获取省下面的市 +// * @return +// */ +// @PostMapping("findCity/{area_code}") +// public Object findCity(@PathVariable("area_code") String area_code) { +// short level_code = 2; +// var sql = select( +// SysAreaDynamicSqlSupport.name, +// SysAreaDynamicSqlSupport.parent_code, +// SysAreaDynamicSqlSupport.area_code +// ) +// .from(SysAreaDynamicSqlSupport.sysArea) +// .applyWhere(whereFinisher -> whereFinisher +// .and(SysAreaDynamicSqlSupport.level_code, isEqualTo(level_code)) +// .and(SysAreaDynamicSqlSupport.parent_code, isEqualTo(area_code)) +// ) +// .build().render(RenderingStrategies.MYBATIS3); +// return R.SUCCESS(selectMapper.selectMany(sql)); +// } +// +//} diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/controller/SysConfigController.java b/src/main/java/jj/tech/paolu/biz/webadmin/controller/SysConfigController.java new file mode 100644 index 0000000..b864d91 --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/controller/SysConfigController.java @@ -0,0 +1,35 @@ +//package jj.tech.paolu.biz.webadmin.controller; +// +//import jj.tech.paolu.repository.mybatis.dao.SysConfigMapper; +//import jj.tech.paolu.repository.mybatis.dao.support.SysConfigDynamicSqlSupport; +//import jj.tech.paolu.repository.mybatis.entity.SysConfig; +//import jj.tech.paolu.utils.IDHelp; +//import jj.tech.paolu.utils.R; +//import org.mybatis.dynamic.sql.SqlBuilder; +//import org.mybatis.dynamic.sql.render.RenderingStrategies; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.web.bind.annotation.*; +// +//import static org.mybatis.dynamic.sql.SqlBuilder.*; +// +//@RestController +//@RequestMapping(value = "/op/sysConfig",name = "系统配置字典表") +//public class SysConfigController { +// +// @Autowired +// public SysConfigMapper sysConfigMapper; +// +// /** +// * 根据分组查找字典配置 +// * @param subgroup +// * @return +// */ +// @PostMapping("findById/{subgroup}") +// public Object findById(@PathVariable("subgroup") String subgroup) { +// var sql = select(SysConfigMapper.selectList) +// .from(SysConfigDynamicSqlSupport.sysConfig) +// .applyWhere(whereFinisher -> whereFinisher.and(SysConfigDynamicSqlSupport.subgroup,isEqualTo(subgroup))) +// .build().render(RenderingStrategies.MYBATIS3); +// return R.SUCCESS(sysConfigMapper.selectMany(sql)); +// } +//} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/controller/YMcodeController.java b/src/main/java/jj/tech/paolu/biz/webadmin/controller/YMcodeController.java new file mode 100644 index 0000000..cd02e80 --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/controller/YMcodeController.java @@ -0,0 +1,31 @@ +package jj.tech.paolu.biz.webadmin.controller; + +import java.util.HashMap; + +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import io.swagger.v3.oas.annotations.Operation; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import jj.tech.paolu.biz.webadmin.vo.LoginVo; +import jj.tech.paolu.utils.R; + +@RestController +@RequestMapping(value = "/op/ym",name = "云码图片识别接口") +public class YMcodeController { + + @Operation(summary = "管理员登录", description = "admin 000000") + @PostMapping("/get") + public Object login(@Validated @RequestBody LoginVo parame, + HttpServletRequest request, HttpServletResponse response) { + + + HashMap map = new HashMap(); + map.put("code", ""); + return R.SUCCESS(map); + } +} diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/dao/SelectMapper.java b/src/main/java/jj/tech/paolu/biz/webadmin/dao/SelectMapper.java new file mode 100644 index 0000000..8c8606b --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/dao/SelectMapper.java @@ -0,0 +1,34 @@ +package jj.tech.paolu.biz.webadmin.dao; + +import java.util.List; + +import org.apache.commons.collections4.map.CaseInsensitiveMap; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.SelectProvider; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; + +import jj.tech.paolu.biz.webadmin.vo.Id; + +@Mapper +public interface SelectMapper extends CommonDeleteMapper, CommonUpdateMapper { + + /** + * 没有映射,直接返回表字段 + * @param selectStatement + * @return + */ + @SelectProvider(type=SqlProviderAdapter.class, method="select") + List> selectMany (SelectStatementProvider selectStatement); + + @SelectProvider(type = SqlProviderAdapter.class, method = "select") + Long count(SelectStatementProvider selectStatement); + + + @SelectProvider(type=SqlProviderAdapter.class, method="select") + List selectList (SelectStatementProvider selectStatement); + + +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/dao/TreeMapper.java b/src/main/java/jj/tech/paolu/biz/webadmin/dao/TreeMapper.java new file mode 100644 index 0000000..100b998 --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/dao/TreeMapper.java @@ -0,0 +1,28 @@ +package jj.tech.paolu.biz.webadmin.dao; + +import java.util.List; + +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.SelectProvider; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; + +import jj.tech.paolu.biz.webadmin.vo.MenuTree; +import jj.tech.paolu.biz.webadmin.vo.OrgTree; +@Mapper +public interface TreeMapper extends CommonDeleteMapper, CommonUpdateMapper{ + + @SelectProvider(type=SqlProviderAdapter.class, method="select") + List selectManyMenu (SelectStatementProvider selectStatement); + + @SelectProvider(type = SqlProviderAdapter.class, method = "select") + Long count(SelectStatementProvider selectStatement); + + @SelectProvider(type=SqlProviderAdapter.class, method="select") + List selectManyOrg (SelectStatementProvider selectStatement); + + + +} diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/service/MenuService.java b/src/main/java/jj/tech/paolu/biz/webadmin/service/MenuService.java new file mode 100644 index 0000000..671096f --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/service/MenuService.java @@ -0,0 +1,71 @@ +package jj.tech.paolu.biz.webadmin.service; + +import jj.tech.paolu.biz.webadmin.dao.TreeMapper; +import jj.tech.paolu.biz.webadmin.vo.MenuTree; +import jj.tech.paolu.repository.mybatis.dao.SysMenuMapper; +import jj.tech.paolu.repository.mybatis.dao.support.SysAdminRoleDynamicSqlSupport; +import jj.tech.paolu.repository.mybatis.dao.support.SysMenuDynamicSqlSupport; +import jj.tech.paolu.repository.mybatis.dao.support.SysRoleMenuDynamicSqlSupport; +import jj.tech.paolu.repository.mybatis.entity.SysMenu; +import jj.tech.paolu.utils.R; +import org.mybatis.dynamic.sql.render.RenderingStrategies; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +import static org.mybatis.dynamic.sql.SqlBuilder.*; + +@Service +public class MenuService { + + @Autowired OrgService orgService; + @Autowired TreeMapper treeMapper; + @Autowired SuperSysAdminComponent superSysAdminComponent; + /** + * 查询某个用户具有权限的菜单列表 + * @param userId + * @return + */ + List getAllMenuByUserId(String userId){ + List menuList = new ArrayList<>(); + if(userId.equals(superSysAdminComponent.id)) {//系统管理员拥有全部菜单权限 + var from = select(SysMenuMapper.selectList).from(SysMenuDynamicSqlSupport.sysMenu) + .orderBy(SysMenuDynamicSqlSupport.id,SysMenuDynamicSqlSupport.sort); + SelectStatementProvider provider = from.build().render(RenderingStrategies.MYBATIS3); + List list = treeMapper.selectManyMenu(provider); + menuList.addAll(list); + return menuList; + } + else{//其他用户,根据角色来查询 + var adminrole = select(SysAdminRoleDynamicSqlSupport.roleid) + .from(SysAdminRoleDynamicSqlSupport.sysAdminRole) + .where(SysAdminRoleDynamicSqlSupport.adminid, isEqualTo(userId)); + + var rolemenu = select(SysRoleMenuDynamicSqlSupport.menuid) + .from(SysRoleMenuDynamicSqlSupport.sysRoleMenu) + .where(SysRoleMenuDynamicSqlSupport.roleid, isIn(adminrole)); + + var sysmenu = select(SysMenuMapper.selectList) + .from(SysMenuDynamicSqlSupport.sysMenu) + .where(SysMenuDynamicSqlSupport.id, isIn(rolemenu)) + .orderBy(SysMenuDynamicSqlSupport.sort) + .build() + .render(RenderingStrategies.MYBATIS3); + List list = treeMapper.selectManyMenu(sysmenu); + menuList.addAll(list); + return menuList; + } + } + + /** + * 获得“个人证书审核权限”的ID + * @return + */ + public String getPersonCheckMenuId() { + + return "226856895174934528";//现在的权限没有类似于COde一样的业务不变编码,只能用id来判断了。 + } +} diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/service/OrgService.java b/src/main/java/jj/tech/paolu/biz/webadmin/service/OrgService.java new file mode 100644 index 0000000..d740ee5 --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/service/OrgService.java @@ -0,0 +1,184 @@ +package jj.tech.paolu.biz.webadmin.service; + +import java.util.List; + +import jj.tech.paolu.config.enums.CertificateApplyCheckStatus; +import jj.tech.paolu.config.enums.UserType; +import jj.tech.paolu.repository.mybatis.dao.SysAdminMapper; +import jj.tech.paolu.repository.mybatis.dao.support.CertificateApplyRecordDynamicSqlSupport; +import jj.tech.paolu.repository.mybatis.dao.support.SysAdminDynamicSqlSupport; +import jj.tech.paolu.repository.mybatis.dao.support.SysAdminRoleDynamicSqlSupport; +import jj.tech.paolu.repository.mybatis.entity.CertificateApplyRecord; +import jj.tech.paolu.repository.mybatis.entity.SysAdmin; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.mybatis.dynamic.sql.SqlBuilder; +import org.mybatis.dynamic.sql.render.RenderingStrategies; +import org.mybatis.dynamic.sql.select.render.DefaultSelectStatementProvider; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.where.WhereApplier; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import jj.tech.paolu.biz.webadmin.dao.TreeMapper; +import jj.tech.paolu.biz.webadmin.vo.OrgTree; +import jj.tech.paolu.repository.mybatis.dao.SysOrgMapper; +import jj.tech.paolu.repository.mybatis.entity.SysOrg; + +import static org.mybatis.dynamic.sql.SqlBuilder.*; + +@Service +public class OrgService { + @Autowired SysOrgMapper sysOrgMapper; + @Autowired TreeMapper treeMapper; + + @Autowired + SysAdminMapper sysAdminMapper; + + + public SysAdmin getOrganizationAdmin(String orgId){ + SysAdmin bean = + sysAdminMapper.selectOne(s->s + .where(SysAdminDynamicSqlSupport.org_id, isEqualTo(orgId)) + .and(SysAdminDynamicSqlSupport.type, isEqualTo(UserType.ORG_ADMIN.getCode())) + .limit(1) + ).orElse(null); + return bean; + + } + + public SysOrg getCompanyOfUser(String userId){ + SysAdmin user = sysAdminMapper.selectByPrimaryKey(userId).get(); + if(user==null){ + throw new RuntimeException("根据userId:"+userId+"无法找到用户"); + } + return getCompanyOfUser(user); + } + + public SysOrg getCompanyOfUser(SysAdmin user){ + return getCompany(user.getOrg_id()); + } + + /** + * 查询某一个部门所属的公司 + * @param orgId + * @return + */ + public SysOrg getCompany(String orgId){ + List fathers = allFarter(orgId); + if(fathers.size()>0){ + return fathers.getLast(); + } + else{ + throw new RuntimeException("根据orgId:"+orgId+"找不到部门组织信息"); + } + } + + /** + * 返回org_id的所有父以上的节点,包括自身 + * @param org_id + * @return + */ + public List allFarter(String org_id) { + String select_sql = + """ + WITH RECURSIVE temp_org AS + ( + SELECT * + FROM sys_org sun + WHERE id = '%s' + UNION + SELECT p.* FROM temp_org + INNER JOIN sys_org AS p + ON temp_org.pid = p.id + ) SELECT * FROM temp_org + """; + String sql = String.format(select_sql, org_id); + + SelectStatementProvider provider = DefaultSelectStatementProvider + .withSelectStatement(sql) + .build(); + + //所有父组织 + List orgs = sysOrgMapper.selectMany(provider); + return orgs; + } + + + public List allFarterTree(String org_id) { + String select_sql = + """ + WITH RECURSIVE temp_org AS + ( + SELECT * + FROM sys_org sun + WHERE id = '%s' + UNION + SELECT p.* FROM temp_org + INNER JOIN sys_org AS p + ON temp_org.pid = p.id + ) SELECT * FROM temp_org + """; + String sql = String.format(select_sql, org_id); + + SelectStatementProvider provider = DefaultSelectStatementProvider + .withSelectStatement(sql) + .build(); + + //所有父组织 + List list = treeMapper.selectManyOrg(provider); + return list; + } + + + public List allSon(String org_id) { + String select_sql = + """ + WITH RECURSIVE temp_org AS + ( + SELECT * + FROM sys_org sun + WHERE id = '%s' + UNION + SELECT p.* FROM temp_org + INNER JOIN sys_org AS p + ON temp_org.id = p.pid + ) SELECT * FROM temp_org + """; + String sql = String.format(select_sql, org_id); + + SelectStatementProvider provider = DefaultSelectStatementProvider + .withSelectStatement(sql) + .build(); + + //所有父组织 + List orgs = sysOrgMapper.selectMany(provider); + return orgs; + } + + public List allSonTree(String org_id) { + String select_sql = + """ + WITH RECURSIVE temp_org AS + ( + SELECT * + FROM sys_org sun + WHERE id = '%s' + UNION + SELECT p.* FROM temp_org + INNER JOIN sys_org AS p + ON temp_org.id = p.pid + ) SELECT * FROM temp_org + """; + String sql = String.format(select_sql, org_id); + + SelectStatementProvider provider = DefaultSelectStatementProvider + .withSelectStatement(sql) + .build(); + + //所有父组织 + List list = treeMapper.selectManyOrg(provider); + return list; + } + +} diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/service/SharedService.java b/src/main/java/jj/tech/paolu/biz/webadmin/service/SharedService.java new file mode 100644 index 0000000..ff35902 --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/service/SharedService.java @@ -0,0 +1,793 @@ +//package jj.tech.paolu.biz.webadmin.service; +// +//import com.alibaba.fastjson2.JSON; +//import com.fasterxml.jackson.databind.ObjectMapper; +//import jj.tech.paolu.bcn.model.bo.*; +//import jj.tech.paolu.bcn.service.ArchivesFileService; +//import jj.tech.paolu.bcn.service.CatalogService; +//import jj.tech.paolu.bcn.service.FileService; +//import jj.tech.paolu.bcn.service.ProviderService; +//import jj.tech.paolu.biz.webadmin.dao.SelectMapper; +//import jj.tech.paolu.config.enums.SharedConfigStatus; +//import jj.tech.paolu.config.enums.SharedStatus; +//import jj.tech.paolu.config.enums.SynStatus; +//import jj.tech.paolu.config.enums.SynType; +//import jj.tech.paolu.repository.mybatis.dao.SharedSynAllMapper; +//import jj.tech.paolu.repository.mybatis.dao.SynDirectoryFileMapper; +//import jj.tech.paolu.repository.mybatis.dao.SynDirectoryMapper; +//import jj.tech.paolu.repository.mybatis.dao.SynFileMapper; +//import jj.tech.paolu.repository.mybatis.dao.support.SharedSynAllDynamicSqlSupport; +//import jj.tech.paolu.repository.mybatis.dao.support.SynDirectoryDynamicSqlSupport; +//import jj.tech.paolu.repository.mybatis.dao.support.SynDirectoryFileDynamicSqlSupport; +//import jj.tech.paolu.repository.mybatis.dao.support.SynFileDynamicSqlSupport; +//import jj.tech.paolu.repository.mybatis.entity.*; +//import org.apache.commons.collections.CollectionUtils; +//import org.apache.commons.lang3.ObjectUtils; +//import org.apache.commons.lang3.StringUtils; +//import org.fisco.bcos.sdk.model.TransactionReceipt; +//import org.fisco.bcos.sdk.transaction.model.dto.CallResponse; +//import org.fisco.bcos.sdk.transaction.model.dto.TransactionResponse; +//import org.mybatis.dynamic.sql.render.RenderingStrategies; +//import org.mybatis.dynamic.sql.select.render.DefaultSelectStatementProvider; +//import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +//import org.slf4j.Logger; +//import org.slf4j.LoggerFactory; +//import org.springframework.beans.factory.annotation.Value; +//import org.springframework.stereotype.Service; +//import org.springframework.transaction.annotation.Transactional; +// +//import javax.annotation.PostConstruct; +//import javax.annotation.Resource; +//import java.math.BigInteger; +//import java.time.LocalDateTime; +//import java.time.ZoneOffset; +//import java.time.format.DateTimeFormatter; +//import java.util.*; +//import java.util.stream.Collectors; +// +//import static org.mybatis.dynamic.sql.SqlBuilder.*; +// +///** +// * 目录分享服务 +// */ +//@Service +//public class SharedService { +// private static final Logger logger = LoggerFactory.getLogger(SharedService.class); +// /** +// * 链上表前缀 +// */ +// public static String TABLE_PREFIX; +// +// @Value("${system.publicKeyAddress}") +// private String publicKeyAddress; +// @Resource +// private ProviderService providerService; +// @Resource +// private SharedSynAllMapper sharedSynAllMapper; +// @Resource +// private SynDirectoryMapper synDirectoryMapper; +// @Resource +// private SelectMapper selectMapper; +// @Resource +// private SynDirectoryFileMapper synDirectoryFileMapper; +// @Resource +// private SynFileMapper synFileMapper; +// @Resource +// private CatalogService catalogService; +// @Resource +// private ArchivesFileService archivesFileService; +// @Resource +// private FileService fileService; +// @Resource +// private ObjectMapper objectMapper; +// +// @PostConstruct +// public void init() { +// //查找当前用户链上表前缀 +// CallResponse callResponse = null; +// try { +// callResponse = providerService.selectPrefixByAddr(new ProviderSelectPrefixByAddrInputBO(publicKeyAddress)); +// if (callResponse.getReturnObject() != null) { +// TABLE_PREFIX = callResponse.getReturnObject().getFirst().toString(); +// } +// } catch (Exception e) { +// throw new RuntimeException(e); +// } +// } +// +// +// /** +// * 上链数据 +// * +// * @return +// */ +// public Object share(String id) throws Exception { +// Optional sharedSynAllOptional = sharedSynAllMapper.selectByPrimaryKey(id); +// if (sharedSynAllOptional.isEmpty()) { +// return null; +// } +// SharedSynAll sharedSynAll = sharedSynAllOptional.get(); +// if (sharedSynAll.getSyn_status() != null && sharedSynAll.getSyn_status().equals(SynStatus.SYN.getCode())) { +// return null; +// } +// +// //需要上链的目录数据列表 +// if (sharedSynAll.getSyn_type().equals(SynType.DIR.getCode())) { +// if (sharedSynAll.getIs_config_rule().equals(SharedConfigStatus.DELETE.getCode())) { +// //目录下的所有子元素都下链 +// downDirChildBcn(sharedSynAll.getSyn_id()); +// //下链 +// downDirBcn(sharedSynAll); +// } else if (handleDir(sharedSynAll)) { +// //上链 +// upDirBcn(sharedSynAll); +// } +// +// +// } +// +// +// //需要上链的目录文件数据列表 +// if (sharedSynAll.getSyn_type().equals(SynType.DIRFILE.getCode())) { +// if (sharedSynAll.getIs_config_rule().equals(SharedConfigStatus.DELETE.getCode())) { +// //目录下的所有子元素都下链 +// downFileDirChildBcn(sharedSynAll.getSyn_id()); +// //下链 +// downFileDirBcn(sharedSynAll); +// } +// if (handleDirFile(sharedSynAll)) { +// upFileDirBcn(sharedSynAll); +// } +// +// } +// +// +// //需要上链的文件数据列表 +// if (sharedSynAll.getSyn_type().equals(SynType.FILE.getCode())) { +// if (sharedSynAll.getIs_config_rule().equals(SharedConfigStatus.DELETE.getCode())) { +// //目录下的所有子元素都下链 +// downFileChildBcn(sharedSynAll.getSyn_id()); +// //下链 +// downFileBcn(sharedSynAll); +// } +// if (handleFile(sharedSynAll)) { +// upFileBcn(sharedSynAll); +// } +// } +// sharedSynAll.setSyn_status(SynStatus.SYN.getCode()); +// return sharedSynAllMapper.updateByPrimaryKey(sharedSynAll); +// } +// +// /** +// * 目录下的所有子元素都下链 +// * +// * @param synId +// */ +// private void downDirChildBcn(String synId) throws Exception { +// +// //所有子分类目录ids +// ArrayList dirIds = new ArrayList<>(); +// selectChildDirBcn(synId, dirIds); +// +// //所有子文件目录ids +// ArrayList fileDirIds = new ArrayList<>(); +// for (String dirId : dirIds) { +// selectChildFileDirBcn(dirId, fileDirIds); +// } +// +// //所有子文件ids +// ArrayList fileIds = new ArrayList<>(); +// for (String fileDirId : fileDirIds) { +// selectChildFileBcn(fileDirId, fileIds); +// } +// +// //下链顺序,先文件,文件目录,目录 +// FileRemoveInputBO bo = new FileRemoveInputBO(); +// bo.setFile_id(fileIds); +// fileService.remove(bo); +// +// ArchivesFileRemoveInputBO abo = new ArchivesFileRemoveInputBO(); +// abo.setArchives_file_id(fileDirIds); +// archivesFileService.remove(abo); +// +// for (String id : dirIds) { +// CatalogRemoveInputBO cbo = new CatalogRemoveInputBO(); +// cbo.setCatalog_id(id); +// catalogService.remove(cbo); +// } +// +// +// } +// +// /** +// * 文件目录下的所有子元素都下链 +// * +// * @param synId +// */ +// private void downFileDirChildBcn(String synId) throws Exception { +// +// //所有子文件目录ids +// ArrayList fileDirIds = new ArrayList<>(); +// selectChildFileDirBcn(synId.toString(), fileDirIds); +// +// //所有子文件ids +// ArrayList fileIds = new ArrayList<>(); +// for (String id : fileDirIds) { +// selectChildFileBcn(id, fileIds); +// } +// +// //下链顺序,先文件,文件目录,目录 +// FileRemoveInputBO bo = new FileRemoveInputBO(); +// bo.setFile_id(fileIds); +// fileService.remove(bo); +// +// ArchivesFileRemoveInputBO abo = new ArchivesFileRemoveInputBO(); +// abo.setArchives_file_id(fileDirIds); +// archivesFileService.remove(abo); +// +// +// } +// +// /** +// * 文件目录下的所有子元素都下链 +// * +// * @param synId +// */ +// private void downFileChildBcn(String synId) { +// try { +// +// //所有子文件ids +// ArrayList fileIds = new ArrayList<>(); +// selectChildFileBcn(synId.toString(), fileIds); +// +// //下链顺序,先文件,文件目录,目录 +// FileRemoveInputBO bo = new FileRemoveInputBO(); +// bo.setFile_id(fileIds); +// fileService.remove(bo); +// +// +// } catch (Exception e) { +// logger.error("目录下链失败!{}", e.getMessage()); +// throw new RuntimeException(e); +// } +// +// +// } +// +// /** +// * 目录id在链上所有子目录id(不包括下下级) +// */ +// private void selectChildDirBcn(String id, ArrayList ids) throws Exception { +// CatalogSelectByIdInputBO bo = new CatalogSelectByIdInputBO(); +// bo.setTable_prefix(TABLE_PREFIX); +// bo.setId(id.toString()); +// CallResponse select = null; +// +// select = catalogService.selectById(bo); +// ArrayList> arrayList = objectMapper.readValue(select.getValues(), ArrayList.class); +// for (ArrayList list : arrayList) { +// for (ArrayList l : list) { +// ids.add(l.get(0).toString()); +// selectChildDirBcn(l.get(0).toString(), ids); +// } +// +// } +// +// +// } +// +// /** +// * 目录id在链上所有文件目录id +// * +// * @param id 目录id +// */ +// private void selectChildFileDirBcn(String id, ArrayList ids) throws Exception { +// ArchivesFileSelectByCatalogIdInputBO bo = new ArchivesFileSelectByCatalogIdInputBO(); +// bo.setTable_prefix(TABLE_PREFIX); +// bo.setCatalog_id(id); +// CallResponse select = null; +// +// select = archivesFileService.selectByCatalogId(bo); +// ArrayList> arrayList = objectMapper.readValue(select.getValues(), ArrayList.class); +// arrayList.forEach(list -> { +// list.forEach(l -> { +// ids.add(l.get(0).toString()); +// }); +// +// }); +// +// } +// +// /** +// * 文件目录id在链上所有文件id +// * +// * @param id 文件目录id +// */ +// private void selectChildFileBcn(String id, ArrayList ids) throws Exception { +// FileSelectByCatalogIdInputBO bo = new FileSelectByCatalogIdInputBO(); +// bo.setTable_prefix(TABLE_PREFIX); +// bo.setArchive_file_id(id); +// CallResponse select = null; +// select = fileService.selectByCatalogId(bo); +// ArrayList> arrayList = objectMapper.readValue(select.getValues(), ArrayList.class); +// arrayList.forEach(list -> { +// list.forEach(l -> { +// ids.add(l.get(0).toString()); +// }); +// +// }); +// +// } +// +// +// /** +// * 共享目录:解析出哪些可以上链 +// * +// * @return +// */ +// public Boolean handleDir(SharedSynAll sharedSynAll) { +// if (ObjectUtils.isEmpty(sharedSynAll)) { +// return false; +// } +// //查询所有文件目录id的父类,包含自己本身 +// String select_sql = +// """ +// WITH RECURSIVE temp_cet AS +// ( +// SELECT * +// FROM syn_directory sun +// WHERE id IN (%s) +// UNION +// SELECT p.* FROM temp_cet +// INNER JOIN syn_directory AS p +// ON temp_cet.p_id = p.id +// ) SELECT id FROM temp_cet +// """; +// String sql = String.format(select_sql, StringUtils.join(List.of("'"+sharedSynAll.getId()+"'"), ',')); +// +// SelectStatementProvider provider = DefaultSelectStatementProvider +// .withSelectStatement(sql) +// .build(); +// +// List all_dir_ids = selectMapper.selectList(provider); +// Boolean isShare = true; +// for (String id : all_dir_ids) { +// Optional sharedSynAllOptional = sharedSynAllMapper.selectByPrimaryKey(id); +// if (sharedSynAllOptional.isPresent()) { +// SharedSynAll sharedSyn = sharedSynAllOptional.get(); +// //已配置(下级需要全选) +// if (sharedSyn.getIs_config_rule().equals(SharedConfigStatus.ADDAll)) { +// if (selectAllByDir(sharedSyn.getSyn_id()).equals(false)) { +// isShare = false; +// break; +// } +// } +// //已禁用 +// if (sharedSyn.getIs_config_rule().equals(SharedConfigStatus.DELETE)) { +// isShare = false; +// break; +// } +// } +// } +// return isShare; +// } +// +// /** +// * 判断目录下级是否有全选 +// */ +// public Boolean selectAllByDir(String id) { +// //获取全部下级目录 +// var sql = select(SynDirectoryMapper.selectList) +// .from(SynDirectoryDynamicSqlSupport.synDirectory) +// .applyWhere(whereFinisher -> whereFinisher.and(SynDirectoryDynamicSqlSupport.p_id, isEqualTo(id))) +// .build().render(RenderingStrategies.MYBATIS3); +// List synDirectories = synDirectoryMapper.selectMany(sql); +// //没有下级目录(出口) +// if (CollectionUtils.isEmpty(synDirectories)) { +// long count = sharedSynAllMapper.count(c -> c.applyWhere(whereFinisher -> whereFinisher +// .and(SharedSynAllDynamicSqlSupport.syn_id, isEqualTo(id)) +// .and(SharedSynAllDynamicSqlSupport.syn_type, isEqualTo(SynType.DIR.getCode())) +// .and(SharedSynAllDynamicSqlSupport.is_config_rule, isIn(SharedConfigStatus.DELETE.getCode(), SharedConfigStatus.NULL.getCode())) +// )); +// if (count > 0) { +// return false; +// } +// //叶目录下判断文件目录下级是否全选 +// //获取全部文件目录ids +// var fileDirSql = select(SynDirectoryFileDynamicSqlSupport.id) +// .from(SynDirectoryFileDynamicSqlSupport.synDirectoryFile) +// .applyWhere(whereFinisher -> whereFinisher.and(SynDirectoryFileDynamicSqlSupport.p_id, isEqualTo(id))) +// .build().render(RenderingStrategies.MYBATIS3); +// List synDirectoryFiles = synDirectoryFileMapper.selectMany(fileDirSql); +// Boolean selectAll = true; +// for (SynDirectoryFile synDirectoryFile : synDirectoryFiles) { +// if (!selectAllByFileDir(synDirectoryFile.getId())) { +// selectAll = false; +// break; +// } +// } +// return selectAll; +// +// } else { +// Boolean selectAll = true; +// for (SynDirectory synDirectorie : synDirectories) { +// if (!selectAllByDir(synDirectorie.getId())) { +// selectAll = false; +// break; +// } +// } +// return selectAll; +// } +// } +// +// /** +// * 判断文件目录下级是否有全选 +// */ +// public Boolean selectAllByFileDir(String id) { +// //当前文件目录 +// var fileDirSql = select(SharedSynAllMapper.selectList) +// .from(SharedSynAllDynamicSqlSupport.sharedSynAll) +// .applyWhere(whereFinisher -> whereFinisher +// .and(SharedSynAllDynamicSqlSupport.syn_type, isEqualTo(SynType.DIRFILE.getCode())) +// .and(SharedSynAllDynamicSqlSupport.syn_id, isEqualTo(id)) +// .and(SharedSynAllDynamicSqlSupport.is_config_rule, isIn(SharedConfigStatus.ADDAll.getCode(), SharedConfigStatus.ADDPART.getCode())) +// ) +// .limit(1) +// .build().render(RenderingStrategies.MYBATIS3); +// +// Optional sharedSynAllOptional = sharedSynAllMapper.selectOne(fileDirSql); +// if (sharedSynAllOptional.isEmpty()) { +// return false; +// } +// +// //查找目录下所有的文件id +// var fileSql = select(SynFileDynamicSqlSupport.id) +// .from(SynFileDynamicSqlSupport.synFile) +// .applyWhere(whereFinisher -> whereFinisher +// .and(SynFileDynamicSqlSupport.p_id, isEqualTo(id)) +// ) +// .build().render(RenderingStrategies.MYBATIS3); +// List ids = synFileMapper.selectMany(fileSql).stream().map(SynFile::getId).collect(Collectors.toList()); +// long count = sharedSynAllMapper.count(c -> c.applyWhere(whereFinisher -> whereFinisher +// .and(SharedSynAllDynamicSqlSupport.is_config_rule, isIn(SharedConfigStatus.ADDAll.getCode(), SharedConfigStatus.ADDPART.getCode())) +// .and(SharedSynAllDynamicSqlSupport.syn_type, isEqualTo(SynType.FILE.getCode())) +// .and(SharedSynAllDynamicSqlSupport.syn_id, isIn(ids)) +// )); +// return count == ids.size(); +// +// } +// +// +// /** +// * 共享目录文件:解析出哪些可以上链 +// * +// * @return +// */ +// public Boolean handleDirFile(SharedSynAll sharedSynAll) { +// //禁止 +// if (sharedSynAll.getIs_config_rule().equals(SharedConfigStatus.DELETE.getCode())) { +// return false; +// } +// //父级 +// Optional synDirectoryFileOpt = synDirectoryFileMapper.selectByPrimaryKey(sharedSynAll.getSyn_id()); +// if (synDirectoryFileOpt.isEmpty()) { +// return false; +// } +// SynDirectoryFile synDirectoryFile = synDirectoryFileOpt.get(); +// +// SharedSynAll sharedSynAllBySynId = getSharedSynAllBySynId(synDirectoryFile.getP_id()); +// if (sharedSynAllBySynId != null) { +// Boolean dirBool = handleDir(sharedSynAllBySynId); +// if (dirBool.equals(false)) { +// return false; +// } +// } +// +// +// //全选 +// if (sharedSynAll.getIs_config_rule().equals(SharedConfigStatus.ADDAll.getCode())) { +// Boolean fileDirBool = selectAllByFileDir(sharedSynAll.getSyn_id()); +// return !fileDirBool.equals(false); +// } +// +// return true; +// +// } +// +// /** +// * 共享文件:解析出哪些可以上链 +// * +// * @return +// */ +// public Boolean handleFile(SharedSynAll sharedSynAll) { +// //禁止 +// if (sharedSynAll.getIs_config_rule().equals(SharedConfigStatus.DELETE.getCode())) { +// return false; +// } +// //父级 +// Optional synFileOpt = synFileMapper.selectByPrimaryKey(sharedSynAll.getSyn_id()); +// if (synFileOpt.isEmpty()) { +// return false; +// } +// SynFile synFile = synFileOpt.get(); +// +// SharedSynAll sharedSynAllBySynId = getSharedSynAllBySynId(synFile.getP_id()); +// if (sharedSynAllBySynId != null) { +// Boolean dirBool = handleDirFile(sharedSynAllBySynId); +// return !dirBool.equals(false); +// } +// return true; +// } +// +// +// /** +// * 根据syn_id获取sharedSynAll +// */ +// public SharedSynAll getSharedSynAllBySynId(String synId) { +// Optional sharedSynAllOptional = sharedSynAllMapper.selectOne(c -> c.applyWhere(whereFinisher -> whereFinisher +// .and(SharedSynAllDynamicSqlSupport.syn_id, isEqualTo(synId)))); +// if (sharedSynAllOptional.isPresent()) { +// return sharedSynAllOptional.get(); +// } +// return null; +// } +// +// public Object getTest(Long id) { +//// try { +//// ArrayList ids = new ArrayList<>(); +//// selectChildFileBcn(id.toString(), ids); +//// System.out.println(ids); +//// } catch (Exception e) { +//// throw new RuntimeException(e); +//// } +// return TABLE_PREFIX; +// } +// +// public BigInteger getNowTime() { +// return BigInteger.valueOf(LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli()); +// } +// +// /** +// * 目录上链 +// */ +// public void upDirBcn(SharedSynAll sharedSynAll) { +// Optional synDirectoryOpt = synDirectoryMapper.selectByPrimaryKey(sharedSynAll.getSyn_id()); +// if (synDirectoryOpt.isPresent()) { +// SynDirectory synDirectory = synDirectoryOpt.get(); +// CatalogInsertInputBO bo = new CatalogInsertInputBO(); +// try { +// bo.setCreate_time(getNowTime()); +// bo.setId(sharedSynAll.getSyn_id().toString()); +// bo.setUpdate_time(getNowTime()); +// bo.setParent_id(synDirectory.getP_id().toString()); +// bo.setOther_params(objectMapper.writeValueAsString(synDirectory)); +// TransactionResponse insert = catalogService.insert(bo); +// List returnObject = insert.getReturnObject(); +// if (CollectionUtils.isEmpty(returnObject)) { +// throw new RuntimeException(); +// } +// TransactionReceipt transactionReceipt = insert.getTransactionReceipt(); +// sharedSynAll.setShared_status(SharedStatus.SUCESS.getCode()); +// sharedSynAll.setBlock_hash(transactionReceipt.getBlockHash()); +// sharedSynAll.setBlock_number(Integer.parseInt(transactionReceipt.getBlockNumber().substring(2), 16) + ""); +// sharedSynAll.setBlock_time(LocalDateTime.now().format(DateTimeFormatter.ISO_LOCAL_DATE_TIME)); +// +// } catch (Exception e) { +// logger.error("目录上链失败!{}", e.getMessage()); +// throw new RuntimeException(e); +// } +// } +// +// } +// +// /** +// * 目录下链 +// */ +// public void downDirBcn(SharedSynAll sharedSynAll) { +// Optional synDirectoryOpt = synDirectoryMapper.selectByPrimaryKey(sharedSynAll.getSyn_id()); +// if (synDirectoryOpt.isPresent()) { +// CatalogRemoveInputBO bo = new CatalogRemoveInputBO(); +// try { +// bo.setCatalog_id(sharedSynAll.getSyn_id().toString()); +// TransactionResponse remove = catalogService.remove(bo); +// List returnObject = remove.getReturnObject(); +// if (CollectionUtils.isEmpty(returnObject)) { +// throw new RuntimeException(); +// } +// TransactionReceipt transactionReceipt = remove.getTransactionReceipt(); +// sharedSynAll.setShared_status(SharedStatus.INIT.getCode()); +// sharedSynAll.setBlock_hash(transactionReceipt.getBlockHash()); +// sharedSynAll.setBlock_number(Integer.parseInt(transactionReceipt.getBlockNumber().substring(2), 16) + ""); +// sharedSynAll.setBlock_time(LocalDateTime.now().format(DateTimeFormatter.ISO_LOCAL_DATE_TIME)); +// } catch (Exception e) { +// logger.error("目录下链失败!{}", e.getMessage()); +// throw new RuntimeException(e); +// } +// } +// } +// +// /** +// * 文件目录上链 +// */ +// public void upFileDirBcn(SharedSynAll sharedSynAll) { +// Optional synDirectoryFileOpt = synDirectoryFileMapper.selectByPrimaryKey(sharedSynAll.getSyn_id()); +// if (synDirectoryFileOpt.isPresent()) { +// SynDirectoryFile synDirectoryFile = synDirectoryFileOpt.get(); +// ArchivesFileInsertInputBO bo = new ArchivesFileInsertInputBO(); +// try { +// bo.setId(sharedSynAll.getSyn_id().toString()); +// bo.setCatalog_id(synDirectoryFile.getP_id().toString()); +// //字符类型属性 +//// List attStrNames = new ArrayList<>(); +//// List attStrValues = new ArrayList<>(); +//// attStrNames.add("code"); +//// attStrValues.add(synDirectoryFile.getCode()); +//// attStrNames.add("name"); +//// attStrValues.add(synDirectoryFile.getName()); +//// attStrNames.add("author"); +//// attStrValues.add(synDirectoryFile.getAuthor()); +//// attStrNames.add("file_date"); +//// attStrValues.add(synDirectoryFile.getFile_date()); +//// attStrNames.add("archives_code"); +//// attStrValues.add(synDirectoryFile.getArchives_code()); +//// attStrNames.add("other_params"); +//// attStrValues.add(""); +//// attStrNames.add("url"); +//// attStrValues.add(synDirectoryFile.getUrl()); +//// +//// //int类型属性 +//// List attIntNames = new ArrayList<>(); +//// List attIntValues = new ArrayList<>(); +//// attIntNames.add("index"); +//// attIntValues.add(BigInteger.valueOf(Optional.ofNullable(synDirectoryFile.getSort()).orElse(0))); +//// attIntNames.add("audit_status"); +//// attIntValues.add(BigInteger.valueOf(Optional.ofNullable(synDirectoryFile.getAudit_status()).orElse(0))); +//// attIntNames.add("archives_index"); +//// attIntValues.add(BigInteger.valueOf(Optional.ofNullable(synDirectoryFile.getArchives_index()).orElse(0))); +//// attIntNames.add("page_count"); +//// attIntValues.add(BigInteger.valueOf(Optional.ofNullable(synDirectoryFile.getPage_count()).orElse(0))); +//// attIntNames.add("create_time"); +//// attIntValues.add(getNowTime()); +//// attIntNames.add("update_time"); +//// attIntValues.add(getNowTime()); +//// +//// bo.setStr_attr_name(attStrNames); +//// bo.setStr_attr_value(attStrValues); +//// bo.setInt_attr_name(attIntNames); +//// bo.setInt_attr_value(attIntValues); +//// +//// TransactionResponse insert = archivesFileService.insert(bo); +//// List returnObject = insert.getReturnObject(); +//// if (CollectionUtils.isEmpty(returnObject)) { +//// throw new RuntimeException(); +//// } +//// TransactionReceipt transactionReceipt = insert.getTransactionReceipt(); +// sharedSynAll.setShared_status(SharedStatus.SUCESS.getCode()); +//// sharedSynAll.setBlock_hash(transactionReceipt.getBlockHash()); +//// sharedSynAll.setBlock_number(Integer.parseInt(transactionReceipt.getBlockNumber().substring(2), 16) + ""); +// sharedSynAll.setBlock_time(LocalDateTime.now().format(DateTimeFormatter.ISO_LOCAL_DATE_TIME)); +// } catch (Exception e) { +// logger.error("文件目录上链失败!{}", e.getMessage()); +// throw new RuntimeException(e); +// } +// } +// +// } +// +// /** +// * 文件目录下链 +// */ +// public void downFileDirBcn(SharedSynAll sharedSynAll) { +// Optional synDirectoryFileOpt = synDirectoryFileMapper.selectByPrimaryKey(sharedSynAll.getId()); +// if (synDirectoryFileOpt.isPresent()) { +// ArchivesFileRemoveInputBO bo = new ArchivesFileRemoveInputBO(); +// try { +// bo.setArchives_file_id(List.of(sharedSynAll.getId().toString())); +// TransactionResponse remove = archivesFileService.remove(bo); +// List returnObject = remove.getReturnObject(); +// if (CollectionUtils.isEmpty(returnObject)) { +// throw new RuntimeException(); +// } +// TransactionReceipt transactionReceipt = remove.getTransactionReceipt(); +// sharedSynAll.setShared_status(SharedStatus.INIT.getCode()); +// sharedSynAll.setBlock_hash(transactionReceipt.getBlockHash()); +// sharedSynAll.setBlock_number(Integer.parseInt(transactionReceipt.getBlockNumber().substring(2), 16) + ""); +// sharedSynAll.setBlock_time(LocalDateTime.now().format(DateTimeFormatter.ISO_LOCAL_DATE_TIME)); +// } catch (Exception e) { +// logger.error("文件目录下链失败!{}", e.getMessage()); +// throw new RuntimeException(e); +// } +// } +// } +// +// /** +// * 文件上链 +// */ +// public void upFileBcn(SharedSynAll sharedSynAll) { +// Optional synFileOpt = synFileMapper.selectByPrimaryKey(sharedSynAll.getSyn_id()); +// if (synFileOpt.isPresent()) { +// SynFile synFile = synFileOpt.get(); +// FileInsertInputBO bo = new FileInsertInputBO(); +// try { +// bo.setId(sharedSynAll.getSyn_id().toString()); +// bo.setArchive_file_id(synFile.getP_id().toString()); +// //字符类型属性 +//// List attStrNames = new ArrayList<>(); +//// List attStrValues = new ArrayList<>(); +//// attStrNames.add("code"); +//// attStrValues.add(synFile.getCode()); +//// attStrNames.add("name"); +//// attStrValues.add(synFile.getName()); +//// attStrNames.add("author"); +//// attStrValues.add(synFile.getAuthor()); +//// attStrNames.add("file_date"); +//// attStrValues.add(synFile.getFile_date()); +//// attStrNames.add("other_params"); +//// attStrValues.add(""); +//// attStrNames.add("url"); +//// attStrValues.add(synFile.getUrl()); +//// +//// //int类型属性 +//// List attIntNames = new ArrayList<>(); +//// List attIntValues = new ArrayList<>(); +//// attIntNames.add("index"); +//// attIntValues.add(BigInteger.valueOf(Optional.ofNullable(synFile.getSort()).orElse(0))); +//// attIntNames.add("file_size"); +//// attIntValues.add(BigInteger.valueOf(Optional.ofNullable(synFile.getFile_size()).orElse(0))); +//// attIntNames.add("page_count"); +//// attIntValues.add(BigInteger.valueOf(Optional.ofNullable(synFile.getPage_count()).orElse(0))); +//// attIntNames.add("create_time"); +//// attIntValues.add(getNowTime()); +//// attIntNames.add("update_time"); +//// attIntValues.add(getNowTime()); +//// +//// bo.setStr_attr_name(attStrNames); +//// bo.setStr_attr_value(attStrValues); +//// bo.setInt_attr_name(attIntNames); +//// bo.setInt_attr_value(attIntValues); +//// TransactionResponse insert = fileService.insert(bo); +//// List returnObject = insert.getReturnObject(); +//// if (CollectionUtils.isEmpty(returnObject)) { +//// throw new RuntimeException(); +//// } +//// TransactionReceipt transactionReceipt = insert.getTransactionReceipt(); +// sharedSynAll.setShared_status(SharedStatus.SUCESS.getCode()); +//// sharedSynAll.setBlock_hash(transactionReceipt.getBlockHash()); +//// sharedSynAll.setBlock_number(Integer.parseInt(transactionReceipt.getBlockNumber().substring(2), 16) + ""); +// sharedSynAll.setBlock_time(LocalDateTime.now().format(DateTimeFormatter.ISO_LOCAL_DATE_TIME)); +// } catch (Exception e) { +// logger.error("文件目录上链失败!{}", e.getMessage()); +// throw new RuntimeException(e); +// } +// } +// +// } +// +// /** +// * 文件下链 +// */ +// public void downFileBcn(SharedSynAll sharedSynAll) { +// Optional synFileOpt = synFileMapper.selectByPrimaryKey(sharedSynAll.getSyn_id()); +// if (synFileOpt.isPresent()) { +// FileRemoveInputBO bo = new FileRemoveInputBO(); +// try { +// bo.setFile_id(List.of(sharedSynAll.getSyn_id().toString())); +// TransactionResponse remove = fileService.remove(bo); +// List returnObject = remove.getReturnObject(); +// if (CollectionUtils.isEmpty(returnObject)) { +// throw new RuntimeException(); +// } +// TransactionReceipt transactionReceipt = remove.getTransactionReceipt(); +// sharedSynAll.setShared_status(SharedStatus.INIT.getCode()); +// sharedSynAll.setBlock_hash(transactionReceipt.getBlockHash()); +// sharedSynAll.setBlock_number(Integer.parseInt(transactionReceipt.getBlockNumber().substring(2), 16) + ""); +// sharedSynAll.setBlock_time(LocalDateTime.now().format(DateTimeFormatter.ISO_LOCAL_DATE_TIME)); +// } catch (Exception e) { +// logger.error("文件目录下链失败!{}", e.getMessage()); +// throw new RuntimeException(e); +// } +// } +// } +// +//} +// diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/service/SuperSysAdminComponent.java b/src/main/java/jj/tech/paolu/biz/webadmin/service/SuperSysAdminComponent.java new file mode 100644 index 0000000..4c2bea0 --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/service/SuperSysAdminComponent.java @@ -0,0 +1,31 @@ +package jj.tech.paolu.biz.webadmin.service; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import jj.tech.paolu.config.enums.UserType; +import jj.tech.paolu.repository.mybatis.dao.SysAdminMapper; +import jj.tech.paolu.repository.mybatis.entity.SysAdmin; +@Service +public class SuperSysAdminComponent { + public static String id="1"; + + @Autowired + SysAdminMapper sysAdminMapper; + + + + public static boolean isSystemAdmin(SysAdmin user){ + return user.getId().equalsIgnoreCase(id); + } + + public boolean isOrganizationAdmin(SysAdmin user){ + return user.getType().equals(UserType.ORG_ADMIN.getCode()); + + } + + public SysAdmin getSystemAdminUser(){ + return sysAdminMapper.selectByPrimaryKey("1").get(); + } + +} diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/service/SysAdminWeidService.java b/src/main/java/jj/tech/paolu/biz/webadmin/service/SysAdminWeidService.java new file mode 100644 index 0000000..ad91dc6 --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/service/SysAdminWeidService.java @@ -0,0 +1,32 @@ +package jj.tech.paolu.biz.webadmin.service; + +import jj.tech.paolu.repository.mybatis.dao.SysAdminMapper; +import jj.tech.paolu.repository.mybatis.dao.SysAdminWeidMapper; +import jj.tech.paolu.repository.mybatis.dao.support.SysAdminWeidDynamicSqlSupport; +import jj.tech.paolu.repository.mybatis.entity.SysAdminWeid; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +@Service +public class SysAdminWeidService { + @Autowired + SysAdminMapper sysAdminMapper; + + @Autowired + SysAdminWeidMapper sysAdminWeidMapper; + + public SysAdminWeid selectByUserId(String userId){ + SysAdminWeid bean = + sysAdminWeidMapper.selectOne(s->s + .where(SysAdminWeidDynamicSqlSupport.admin_id, isEqualTo(userId)) + .limit(1) + ).orElse(null); + return bean; + } + + public int deleteByUserId(String userId){ + return sysAdminWeidMapper.delete(s->s.where(SysAdminWeidDynamicSqlSupport.admin_id, isEqualTo(userId))); + } +} diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/vo/AddAdminRoleMenuVo.java b/src/main/java/jj/tech/paolu/biz/webadmin/vo/AddAdminRoleMenuVo.java new file mode 100644 index 0000000..09582fb --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/vo/AddAdminRoleMenuVo.java @@ -0,0 +1,33 @@ +package jj.tech.paolu.biz.webadmin.vo; + +import java.util.List; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotEmpty; + +public class AddAdminRoleMenuVo { + @NotBlank + @Schema(description = "角色id") + private String role_id; + + @NotEmpty + @Schema(description = "菜单ids") + private List menu_ids; + + public String getRole_id() { + return role_id; + } + + public void setRole_id(String role_id) { + this.role_id = role_id; + } + + public List getMenu_ids() { + return menu_ids; + } + + public void setMenu_ids(List menu_ids) { + this.menu_ids = menu_ids; + } +} diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/vo/AdminListVo.java b/src/main/java/jj/tech/paolu/biz/webadmin/vo/AdminListVo.java new file mode 100644 index 0000000..e5af239 --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/vo/AdminListVo.java @@ -0,0 +1,120 @@ +package jj.tech.paolu.biz.webadmin.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; + +import java.util.List; + +public class AdminListVo extends PageVo{ + @NotBlank(message = "用户名不能为空") + @Schema(description = "用户名") + public String username; + + @NotBlank(message = "密码不能为空") + @Schema(description = "登录密码") + public String password; + + @Schema(description = "真实姓名") + public String realname; + + @Schema(description = "手机") + private String phone; + + @Schema(description = "0正常,1锁定") + public Integer islock; + + @Schema(description = "用户类型,0普通用户,1企业管理员") + public Integer type; + + @Schema(description = "组织id") + private String org_id; + + @Schema(description = "性别") + public Integer gender; + + @Schema(description = "职位") + public String job; + + @Schema(description = "角色id") + public List rolesId; + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getOrg_id() { + return org_id; + } + + public void setOrg_id(String org_id) { + this.org_id = org_id; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getRealname() { + return realname; + } + + public void setRealname(String realname) { + this.realname = realname; + } + + public Integer getIslock() { + return islock; + } + + public void setIslock(Integer islock) { + this.islock = islock; + } + + public Integer getType() { + return type; + } + + public void setType(Integer type) { + this.type = type; + } + + public Integer getGender() { + return gender; + } + + public void setGender(Integer gender) { + this.gender = gender; + } + + public String getJob() { + return job; + } + + public void setJob(String job) { + this.job = job; + } + + public List getRolesId() { + return rolesId; + } + + public void setRolesId(List rolesId) { + this.rolesId = rolesId; + } +} diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/vo/Id.java b/src/main/java/jj/tech/paolu/biz/webadmin/vo/Id.java new file mode 100644 index 0000000..7bd4f8d --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/vo/Id.java @@ -0,0 +1,18 @@ +package jj.tech.paolu.biz.webadmin.vo; + +import jakarta.validation.constraints.NotNull; + +public class Id { + @NotNull(message = "id不能为空") + public String id; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + +} diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/vo/IdPageVo.java b/src/main/java/jj/tech/paolu/biz/webadmin/vo/IdPageVo.java new file mode 100644 index 0000000..b685430 --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/vo/IdPageVo.java @@ -0,0 +1,16 @@ +package jj.tech.paolu.biz.webadmin.vo; + +import jakarta.validation.constraints.NotBlank; + +public class IdPageVo extends PageVo{ + @NotBlank(message = "id不能为空") + public String id; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } +} diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/vo/Ids.java b/src/main/java/jj/tech/paolu/biz/webadmin/vo/Ids.java new file mode 100644 index 0000000..64960a9 --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/vo/Ids.java @@ -0,0 +1,21 @@ +package jj.tech.paolu.biz.webadmin.vo; + +import java.util.ArrayList; +import java.util.List; + +import jakarta.validation.constraints.NotNull; + +public class Ids { + @NotNull + public List ids = new ArrayList(); + + public List getIds() { + return ids; + } + + public void setIds(List ids) { + this.ids = ids; + } + + +} diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/vo/IdsAndPwd.java b/src/main/java/jj/tech/paolu/biz/webadmin/vo/IdsAndPwd.java new file mode 100644 index 0000000..cff4ecf --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/vo/IdsAndPwd.java @@ -0,0 +1,22 @@ +package jj.tech.paolu.biz.webadmin.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; + +public class IdsAndPwd extends Ids{ + + @NotBlank(message = "旧密码不能为空") + @Schema(description = "旧密码") + public String password; + + + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + +} diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/vo/IdsAndPwdUpdate.java b/src/main/java/jj/tech/paolu/biz/webadmin/vo/IdsAndPwdUpdate.java new file mode 100644 index 0000000..f8fedcd --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/vo/IdsAndPwdUpdate.java @@ -0,0 +1,48 @@ +package jj.tech.paolu.biz.webadmin.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; + +public class IdsAndPwdUpdate { + + @NotBlank(message = "旧密码不能为空") + @Schema(description = "旧密码") + public String password; + + @NotBlank(message = "新密码不能为空") + @Schema(description = "新密码") + public String newpassword; + + @NotBlank(message = "验证码不能为空") + @Schema(description = "验证码") + public String captcha; + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getNewpassword() { + return newpassword; + } + + public void setNewpassword(String newpassword) { + this.newpassword = newpassword; + } + + public String getCaptcha() { + return captcha; + } + + public void setCaptcha(String captcha) { + this.captcha = captcha; + } + + + + + +} diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/vo/IdsPageVo.java b/src/main/java/jj/tech/paolu/biz/webadmin/vo/IdsPageVo.java new file mode 100644 index 0000000..dadd125 --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/vo/IdsPageVo.java @@ -0,0 +1,19 @@ +package jj.tech.paolu.biz.webadmin.vo; + +import java.util.ArrayList; +import java.util.List; + +import jakarta.validation.constraints.NotNull; + +public class IdsPageVo extends PageVo{ + @NotNull + public List ids = new ArrayList(); + + public List getIds() { + return ids; + } + + public void setIds(List ids) { + this.ids = ids; + } +} diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/vo/LoginVo.java b/src/main/java/jj/tech/paolu/biz/webadmin/vo/LoginVo.java new file mode 100644 index 0000000..1b27a52 --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/vo/LoginVo.java @@ -0,0 +1,48 @@ +package jj.tech.paolu.biz.webadmin.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; + +public class LoginVo { + @NotBlank(message = "用户名不能为空") + @Schema(description = "用户名") + public String username; + + @NotBlank(message = "密码不能为空") + @Schema(description = "登录密码") + public String password; + + @NotBlank(message = "验证码不能为空") + @Schema(description = "验证码") + public String captcha; + + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getCaptcha() { + return captcha; + } + + public void setCaptcha(String captcha) { + this.captcha = captcha; + } + + + + + +} diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/vo/MenuTree.java b/src/main/java/jj/tech/paolu/biz/webadmin/vo/MenuTree.java new file mode 100644 index 0000000..6ea0b1b --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/vo/MenuTree.java @@ -0,0 +1,36 @@ +package jj.tech.paolu.biz.webadmin.vo; + +import java.util.ArrayList; +import java.util.List; + +import jj.tech.paolu.repository.mybatis.entity.SysMenu; + +public class MenuTree extends SysMenu{ + + private List children; + + public MenuTree() { + } + + public void addChild(MenuTree child) { + if(children==null) { + children = new ArrayList(); + } + children.add(child); + } + + + + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + + + +} diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/vo/OrgTree.java b/src/main/java/jj/tech/paolu/biz/webadmin/vo/OrgTree.java new file mode 100644 index 0000000..6931e88 --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/vo/OrgTree.java @@ -0,0 +1,40 @@ +package jj.tech.paolu.biz.webadmin.vo; + +import java.util.ArrayList; +import java.util.List; + +import jj.tech.paolu.repository.mybatis.entity.SysOrg; + +public class OrgTree extends SysOrg { + private List children; + private Integer isSelect = 0; + + public OrgTree() { + } + + public void addChild(OrgTree child) { + if(children==null) { + children = new ArrayList(); + } + children.add(child); + } + + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public Integer getIsSelect() { + return isSelect; + } + + public void setIsSelect(Integer isSelect) { + this.isSelect = isSelect; + } + + +} diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/vo/PageVo.java b/src/main/java/jj/tech/paolu/biz/webadmin/vo/PageVo.java new file mode 100644 index 0000000..a6dc74f --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/vo/PageVo.java @@ -0,0 +1,21 @@ +package jj.tech.paolu.biz.webadmin.vo; + +public class PageVo { + public Integer pageNum=1; + public Integer pageSize=10; + + public Integer getPageNum() { + return pageNum; + } + public void setPageNum(Integer pageNum) { + this.pageNum = pageNum; + } + public Integer getPageSize() { + return pageSize; + } + public void setPageSize(Integer pageSize) { + this.pageSize = pageSize; + } + + +} diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/vo/ReadLogVo.java b/src/main/java/jj/tech/paolu/biz/webadmin/vo/ReadLogVo.java new file mode 100644 index 0000000..160198d --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/vo/ReadLogVo.java @@ -0,0 +1,15 @@ +package jj.tech.paolu.biz.webadmin.vo; + +import jj.tech.paolu.repository.mybatis.entity.ReadLog; + +public class ReadLogVo extends ReadLog { + private long timestamp; + + public long getTimestamp() { + return timestamp; + } + + public void setTimestamp(long timestamp) { + this.timestamp = timestamp; + } +} diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/vo/SysAdminAddVo.java b/src/main/java/jj/tech/paolu/biz/webadmin/vo/SysAdminAddVo.java new file mode 100644 index 0000000..5d3022d --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/vo/SysAdminAddVo.java @@ -0,0 +1,21 @@ +package jj.tech.paolu.biz.webadmin.vo; + +import java.util.ArrayList; +import java.util.List; + +import jj.tech.paolu.repository.mybatis.entity.SysAdmin; + +public class SysAdminAddVo extends SysAdmin{ + public List role_ids = new ArrayList();; + + + public List getRole_ids() { + return role_ids; + } + + public void setRole_ids(List role_ids) { + this.role_ids = role_ids; + } + + +} diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/vo/SysAdminLock.java b/src/main/java/jj/tech/paolu/biz/webadmin/vo/SysAdminLock.java new file mode 100644 index 0000000..4643727 --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/vo/SysAdminLock.java @@ -0,0 +1,31 @@ +package jj.tech.paolu.biz.webadmin.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; + +public class SysAdminLock { + @Schema(description = "id") + @NotBlank + private String id; + + @Schema(description = "状态,1启用,0禁用") + @NotNull + private Integer isLock; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Integer getIsLock() { + return isLock; + } + + public void setIsLock(Integer isLock) { + this.isLock = isLock; + } +} diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/vo/SysAdminRoleVo.java b/src/main/java/jj/tech/paolu/biz/webadmin/vo/SysAdminRoleVo.java new file mode 100644 index 0000000..dfa4e80 --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/vo/SysAdminRoleVo.java @@ -0,0 +1,30 @@ +package jj.tech.paolu.biz.webadmin.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import jj.tech.paolu.repository.mybatis.entity.SysAdminRole; + +import java.util.List; + +public class SysAdminRoleVo { + + @Schema(description = "管理员id") + private String adminid; + @Schema(description = "角色集合") + private List sysAdminRoles; + + public String getAdminid() { + return adminid; + } + + public void setAdminid(String adminid) { + this.adminid = adminid; + } + + public List getSysAdminRoles() { + return sysAdminRoles; + } + + public void setSysAdminRoles(List sysAdminRoles) { + this.sysAdminRoles = sysAdminRoles; + } +} diff --git a/src/main/java/jj/tech/paolu/biz/webadmin/vo/SysRoleListVo.java b/src/main/java/jj/tech/paolu/biz/webadmin/vo/SysRoleListVo.java new file mode 100644 index 0000000..7fa1a4f --- /dev/null +++ b/src/main/java/jj/tech/paolu/biz/webadmin/vo/SysRoleListVo.java @@ -0,0 +1,44 @@ +package jj.tech.paolu.biz.webadmin.vo; + +import jakarta.validation.constraints.NotBlank; + +public class SysRoleListVo extends PageVo{ + + public Long id; +// @NotBlank(message = "角色名称不能为空") + public String rolename; + public String describe; + public Integer is_open; + + + public Long getId() { + return id; + } + public void setId(Long id) { + this.id = id; + } + public String getRolename() { + return rolename; + } + public void setRolename(String rolename) { + this.rolename = rolename; + } + public String getDescribe() { + return describe; + } + public void setDescribe(String describe) { + this.describe = describe; + } + public Integer getIs_open() { + return is_open; + } + public void setIs_open(Integer is_open) { + this.is_open = is_open; + } + + + + + + +} diff --git a/src/main/java/jj/tech/paolu/config/datasource/DataSourceConfig.java b/src/main/java/jj/tech/paolu/config/datasource/DataSourceConfig.java new file mode 100644 index 0000000..1ccc5f1 --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/datasource/DataSourceConfig.java @@ -0,0 +1,64 @@ +package jj.tech.paolu.config.datasource; + +import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; + +import com.zaxxer.hikari.HikariDataSource; + +/** + * 定义除spring提供的默认数据源以外的,自定义数据源 + * 参考: https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto.data-access.configure-two-datasources + * https://github.com/spring-projects/spring-boot/issues/20814 + * https://github.com/spring-projects/spring-boot/issues/13325 + * @author Dou + */ +@Configuration(proxyBeanMethods=false) +public class DataSourceConfig { + + + + @Bean + @Primary + @ConditionalOnClass(HikariDataSource.class) + //@ConfigurationProperties("spring.datasource") + HikariDataSource dataSource(DataSourceProperties properties) { + + return (HikariDataSource) properties.initializeDataSourceBuilder() + .type(HikariDataSource.class).build(); + } + +// /** +// * 数据库名称url:需要改成jdbc-url,其他名称值和spring默认的一样 +// * 就可以自动注入 +// */ +// @Bean("dataSource2") +// @ConfigurationProperties("app.datasource") +// public HikariDataSource dataSource2() { +// return (HikariDataSource) DataSourceBuilder.create() +// .type(HikariDataSource.class).build(); +// } + + + +// /** +// * @p DataSourceProperties +// * @p 如果没有 显示的提供 url 用户名、密码; 创建一个默认的嵌入式的数据库 +// * @p 并提供url/jdbcUrl的转化 +// * @p @EnableConfigurationProperties(DataSourceProperties.class),这个注解可以不用加,因为 +// * spring 在初始化 DataSourceAutoConfiguration的时候,会初始化DataSourceProperties这个类到spring上下文 +// */ +// @Bean +// @Primary +// @ConfigurationProperties("spring.datasource") +// public DataSourceProperties dataSourceProperties() { +// return new DataSourceProperties(); +// } + + + + + +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/config/enums/ArchiveSynLocalProcessType.java b/src/main/java/jj/tech/paolu/config/enums/ArchiveSynLocalProcessType.java new file mode 100644 index 0000000..6ac2388 --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/enums/ArchiveSynLocalProcessType.java @@ -0,0 +1,20 @@ +package jj.tech.paolu.config.enums; + +/** + * 电子档案系统同步数据后本地的处理类型 + * 因为使用isDel字段来标记是否删除,因此没有删除类型 + */ +public enum ArchiveSynLocalProcessType{ + INSERT( 1), + UPDATE(2); + + private final int code; + + ArchiveSynLocalProcessType(int code) { + this.code = code; + } + + public int getCode() { + return code; + } +} diff --git a/src/main/java/jj/tech/paolu/config/enums/CertificateApplyCheckStatus.java b/src/main/java/jj/tech/paolu/config/enums/CertificateApplyCheckStatus.java new file mode 100644 index 0000000..3388e53 --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/enums/CertificateApplyCheckStatus.java @@ -0,0 +1,18 @@ +package jj.tech.paolu.config.enums; + +public enum CertificateApplyCheckStatus { + WAIT(0), //待审核 + PASS(1), //审核通过 + NO_PASS(-1), //审核不通过 + All(null) //全部 + ; + + private Integer code; + + CertificateApplyCheckStatus(Integer code) { + this.code=code; + } + public Integer getCode() { + return code; + } +} diff --git a/src/main/java/jj/tech/paolu/config/enums/CertificateApplyStatus.java b/src/main/java/jj/tech/paolu/config/enums/CertificateApplyStatus.java new file mode 100644 index 0000000..2800630 --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/enums/CertificateApplyStatus.java @@ -0,0 +1,21 @@ +package jj.tech.paolu.config.enums; + +public enum CertificateApplyStatus { + WAIT(0), //待审核 + PASS(1), //审核通过 + NO_PASS(2), //审核不通过 + DOWNLOAD(3), //已下载 + All(null), //全部 + ISSUED(4)//已颁发 + ; + + + private Integer code; + + CertificateApplyStatus(Integer code) { + this.code=code; + } + public Integer getCode() { + return code; + } +} diff --git a/src/main/java/jj/tech/paolu/config/enums/CertificateApplyType.java b/src/main/java/jj/tech/paolu/config/enums/CertificateApplyType.java new file mode 100644 index 0000000..c13fd04 --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/enums/CertificateApplyType.java @@ -0,0 +1,26 @@ +package jj.tech.paolu.config.enums; + +public enum CertificateApplyType { + + apply(1,"证书申请"), + unsubscribe(2,"证书注销"), +// lost(3,"证书挂失"), +// change(4,"证书变更"), + ; + + + private Integer code; + private String name; + + CertificateApplyType(Integer code, String name) { + this.code=code; + this.name=name; + } + + public Integer getCode() { + return code; + } + public String getName() { + return name; + } +} diff --git a/src/main/java/jj/tech/paolu/config/enums/CertificateDetailStatus.java b/src/main/java/jj/tech/paolu/config/enums/CertificateDetailStatus.java new file mode 100644 index 0000000..cb7ab09 --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/enums/CertificateDetailStatus.java @@ -0,0 +1,20 @@ +package jj.tech.paolu.config.enums; + +public enum CertificateDetailStatus { + no_work(0), //待审核 + work(1), //生效 + unsubscribe(2), //注销 + expired(3), //过期 + All(null) //全部 + ; + + + private Integer code; + + CertificateDetailStatus(Integer code) { + this.code=code; + } + public Integer getCode() { + return code; + } +} diff --git a/src/main/java/jj/tech/paolu/config/enums/CertificateOrgApplyType.java b/src/main/java/jj/tech/paolu/config/enums/CertificateOrgApplyType.java new file mode 100644 index 0000000..b16d6a9 --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/enums/CertificateOrgApplyType.java @@ -0,0 +1,27 @@ +package jj.tech.paolu.config.enums; + +public enum CertificateOrgApplyType { + + + //组织申请业务类型 + settlein(1,"组织机构入驻"), + generate(2,"生成组织机构证书公钥"), + cancel(3,"组织证书注销") + ; + + + private Integer code; + private String name; + + CertificateOrgApplyType(Integer code, String name) { + this.code=code; + this.name=name; + } + + public Integer getCode() { + return code; + } + public String getName() { + return name; + } +} diff --git a/src/main/java/jj/tech/paolu/config/enums/DelStatus.java b/src/main/java/jj/tech/paolu/config/enums/DelStatus.java new file mode 100644 index 0000000..09b74a1 --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/enums/DelStatus.java @@ -0,0 +1,20 @@ +package jj.tech.paolu.config.enums; + +/** + * 档案的删除状态 + */ + +public enum DelStatus { + IS_DEL((int) 1), NOT_DEL((int) 0); + + private final int code; + + DelStatus(int code) { + this.code = code; + } + + public int getCode() { + return code; + } + +} diff --git a/src/main/java/jj/tech/paolu/config/enums/ExecuteStatus.java b/src/main/java/jj/tech/paolu/config/enums/ExecuteStatus.java new file mode 100644 index 0000000..1591600 --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/enums/ExecuteStatus.java @@ -0,0 +1,23 @@ +package jj.tech.paolu.config.enums; + +/** + * 任务的运行状态 + */ + +public enum ExecuteStatus { + SUCCESS( 1), EXECUTING(2), + WAIT_EXECUTE(3), + FAIL(4); + + private final int code; + + ExecuteStatus(int code) { + this.code = code; + } + + public int getCode() { + return code; + } + +} + diff --git a/src/main/java/jj/tech/paolu/config/enums/FilesApplyStatus.java b/src/main/java/jj/tech/paolu/config/enums/FilesApplyStatus.java new file mode 100644 index 0000000..2eb4020 --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/enums/FilesApplyStatus.java @@ -0,0 +1,20 @@ +package jj.tech.paolu.config.enums; + +public enum FilesApplyStatus { + SAVE(1), //草稿 + CANCEL(2), //取消 + CHECK_ING(3), //审核中 + CHECK_EDN(4), //审核通过 + CHECK_FAILED(5), //审核不通过 + FINISH(6) //结束 + ; + + private Integer code; + + FilesApplyStatus(Integer code) { + this.code=code; + } + public Integer getCode() { + return code; + } +} diff --git a/src/main/java/jj/tech/paolu/config/enums/FilesCheckStatus.java b/src/main/java/jj/tech/paolu/config/enums/FilesCheckStatus.java new file mode 100644 index 0000000..5329347 --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/enums/FilesCheckStatus.java @@ -0,0 +1,19 @@ +package jj.tech.paolu.config.enums; + +public enum FilesCheckStatus { + + WAIT(0), //待审核 + PASS(1), //审核通过 + NO_PASS(-1), //审核不通过 + All(null) //全部 + ; + + private Integer code; + + FilesCheckStatus(Integer code) { + this.code=code; + } + public Integer getCode() { + return code; + } +} diff --git a/src/main/java/jj/tech/paolu/config/enums/FilesProperties.java b/src/main/java/jj/tech/paolu/config/enums/FilesProperties.java new file mode 100644 index 0000000..cbfabbe --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/enums/FilesProperties.java @@ -0,0 +1,20 @@ +package jj.tech.paolu.config.enums; + +/** + * 文件属性 + */ +public enum FilesProperties { + normal(1), //一般 + important(2), //重要 + veryImportant(3) //密集 + ; + + private Integer code; + + FilesProperties(Integer code) { + this.code=code; + } + public Integer getCode() { + return code; + } +} diff --git a/src/main/java/jj/tech/paolu/config/enums/FilesViewType.java b/src/main/java/jj/tech/paolu/config/enums/FilesViewType.java new file mode 100644 index 0000000..f3e1a45 --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/enums/FilesViewType.java @@ -0,0 +1,17 @@ +package jj.tech.paolu.config.enums; + +public enum FilesViewType { + LOOK(1), //查看 + PRINT(2), //打印 + + ; + + private int code; + + FilesViewType(int code) { + this.code=code; + } + public int getCode() { + return code; + } +} diff --git a/src/main/java/jj/tech/paolu/config/enums/IsApplyProvider.java b/src/main/java/jj/tech/paolu/config/enums/IsApplyProvider.java new file mode 100644 index 0000000..172d4d6 --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/enums/IsApplyProvider.java @@ -0,0 +1,17 @@ +package jj.tech.paolu.config.enums; + +public enum IsApplyProvider { + Apply(0), //申请方 + Provider(1), //提供方 + + ; + + private int code; + + IsApplyProvider(int code) { + this.code=code; + } + public int getCode() { + return code; + } +} diff --git a/src/main/java/jj/tech/paolu/config/enums/RoleSign.java b/src/main/java/jj/tech/paolu/config/enums/RoleSign.java new file mode 100644 index 0000000..d8361c7 --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/enums/RoleSign.java @@ -0,0 +1,25 @@ +package jj.tech.paolu.config.enums; +//角色标签 +public enum RoleSign { + + DepartmentHead("1","部门负责人"), //部门负责人 + EnterpriseHead("2","企业负责人"), //企业负责人 + ArchivesManagementCenter("3","档案管理中心"), //档案管理中心负责人 + LeaderTeam("4","分管领导"), //分管领导 + LeaderCharge("5","班子领导") //领导班子 + ; + + private String code; + private String name; + + RoleSign(String code, String name) { + this.code=code; + this.name=name; + } + public String getCode() { + return code; + } + public String getName() { + return name; + } +} diff --git a/src/main/java/jj/tech/paolu/config/enums/RoleSignName.java b/src/main/java/jj/tech/paolu/config/enums/RoleSignName.java new file mode 100644 index 0000000..8f475ba --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/enums/RoleSignName.java @@ -0,0 +1,5 @@ +package jj.tech.paolu.config.enums; + +public class RoleSignName { + +} diff --git a/src/main/java/jj/tech/paolu/config/enums/SharedConfigStatus.java b/src/main/java/jj/tech/paolu/config/enums/SharedConfigStatus.java new file mode 100644 index 0000000..5eec746 --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/enums/SharedConfigStatus.java @@ -0,0 +1,20 @@ +package jj.tech.paolu.config.enums; + +public enum SharedConfigStatus { + + ADDAll(1), //已配置(下级需要全选),完全共享 + ADDPART(2), //已配置部分(下级不需要全选),部分共享 + NULL(null), //初始化禁用 + DELETE(-1); //已禁用,不共享 + + + private Integer code; + + SharedConfigStatus(Integer code) { + this.code=code; + } + public Integer getCode() { + return code; + } + +} diff --git a/src/main/java/jj/tech/paolu/config/enums/SharedStatus.java b/src/main/java/jj/tech/paolu/config/enums/SharedStatus.java new file mode 100644 index 0000000..68e3428 --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/enums/SharedStatus.java @@ -0,0 +1,21 @@ +package jj.tech.paolu.config.enums; + +/** + * 共享的执行状态,即是否上链 + */ +public enum SharedStatus { + + + INIT(1), //未共享 + WAIT(2), //待共享发布 + SUCESS(3); //已共享 + + private Integer code; + + SharedStatus(Integer code) { + this.code=code; + } + public int getCode() { + return code; + } +} diff --git a/src/main/java/jj/tech/paolu/config/enums/SynStatus.java b/src/main/java/jj/tech/paolu/config/enums/SynStatus.java new file mode 100644 index 0000000..a5e41ea --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/enums/SynStatus.java @@ -0,0 +1,16 @@ +package jj.tech.paolu.config.enums; + +public enum SynStatus { + WAIT_SYN(0), SYN(1),EXECUTING(2); + + private final Integer code; + + SynStatus(Integer code) { + this.code = code; + } + + public Integer getCode() { + return code; + } + +} diff --git a/src/main/java/jj/tech/paolu/config/enums/SynType.java b/src/main/java/jj/tech/paolu/config/enums/SynType.java new file mode 100644 index 0000000..415b851 --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/enums/SynType.java @@ -0,0 +1,16 @@ +package jj.tech.paolu.config.enums; + +public enum SynType { + + DIR(1), DIRFILE(2), FILE(3); + + private int code; + + SynType(int code) { + this.code=code; + } + public int getCode() { + return code; + } + +} diff --git a/src/main/java/jj/tech/paolu/config/enums/SysConfigGroup.java b/src/main/java/jj/tech/paolu/config/enums/SysConfigGroup.java new file mode 100644 index 0000000..9a9edb8 --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/enums/SysConfigGroup.java @@ -0,0 +1,11 @@ +package jj.tech.paolu.config.enums; + +public class SysConfigGroup { + public static String grup_rulenotice = "rulenotice"; + + + + public static String key_rulenotice_due = "rulenotice_due"; + + +} diff --git a/src/main/java/jj/tech/paolu/config/enums/UserType.java b/src/main/java/jj/tech/paolu/config/enums/UserType.java new file mode 100644 index 0000000..10a9f6a --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/enums/UserType.java @@ -0,0 +1,18 @@ +package jj.tech.paolu.config.enums; + +/** + * 用户类型:可为企业管理员或者普通用户两种 + */ +public enum UserType { + ORG_ADMIN((int) 1), NORMAL_USER((int) 0); + + private final int code; + + UserType(int code) { + this.code = code; + } + + public int getCode() { + return code; + } +} diff --git a/src/main/java/jj/tech/paolu/config/exception/ArgumentExceptionHandler.java b/src/main/java/jj/tech/paolu/config/exception/ArgumentExceptionHandler.java new file mode 100644 index 0000000..4e99890 --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/exception/ArgumentExceptionHandler.java @@ -0,0 +1,14 @@ +//package jj.tech.paolu.config.exception; +// +//import jj.tech.paolu.utils.R; +//import org.springframework.web.bind.MethodArgumentNotValidException; +//import org.springframework.web.bind.annotation.ExceptionHandler; +//import org.springframework.web.bind.annotation.RestControllerAdvice; +// +//@RestControllerAdvice +//public class ArgumentExceptionHandler { +// @ExceptionHandler(value = MethodArgumentNotValidException.class) +// public Object exceptionHandler(MethodArgumentNotValidException e) { +// return R.FALSE(e.getBindingResult().getFieldError().getDefaultMessage()); +// } +//} diff --git a/src/main/java/jj/tech/paolu/config/httpclient/RestTemplateConfig.java b/src/main/java/jj/tech/paolu/config/httpclient/RestTemplateConfig.java new file mode 100644 index 0000000..39764ec --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/httpclient/RestTemplateConfig.java @@ -0,0 +1,29 @@ +package jj.tech.paolu.config.httpclient; + + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.client.ClientHttpRequestFactory; +import org.springframework.http.client.SimpleClientHttpRequestFactory; +import org.springframework.web.client.RestTemplate; + +/** + * Created by liuxu on 2017/12/22. + * RestTemplate配置类 + */ +@Configuration +public class RestTemplateConfig { + + @Bean + public RestTemplate restTemplate(ClientHttpRequestFactory factory){ + return new RestTemplate(factory); + } + + @Bean + public ClientHttpRequestFactory simpleClientHttpRequestFactory(){ + SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory(); + factory.setReadTimeout(50000);//单位为ms + factory.setConnectTimeout(50000);//单位为ms + return factory; + } +} diff --git a/src/main/java/jj/tech/paolu/config/jooq/JooqConfig.java b/src/main/java/jj/tech/paolu/config/jooq/JooqConfig.java new file mode 100644 index 0000000..686fa4c --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/jooq/JooqConfig.java @@ -0,0 +1,134 @@ +package jj.tech.paolu.config.jooq; + +import javax.sql.DataSource; + +import org.jooq.ConnectionProvider; +import org.jooq.DSLContext; +import org.jooq.ExecuteListenerProvider; +import org.jooq.impl.DataSourceConnectionProvider; +import org.jooq.impl.DefaultConfiguration; +import org.jooq.impl.DefaultDSLContext; +import org.jooq.impl.DefaultExecuteListenerProvider; +import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; +import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.autoconfigure.jooq.DefaultConfigurationCustomizer; +import org.springframework.boot.autoconfigure.jooq.JooqExceptionTranslator; +import org.springframework.boot.autoconfigure.jooq.JooqProperties; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy; +import org.springframework.transaction.PlatformTransactionManager; + + +/** + * jooq使用单个jdbc链接的时候:自己不管理数据库链接开关,也不管理事物的开关,由外部管理 + * jooq使用数据源的时候:每次执行先获取一个链接,执行完毕还给连接池 + * + * @注意该类参考:spring-boot-autoconfigure自动配置jooq包下的JooqAutoConfiguration + * 源码复制直接用, 因为spring自动配置包下大多数类不是public类,只能重写 + * + * @在单数据源情况下不用配置任何东西,spring boot 默认配置非常优秀 + * 需要注意的是事务的传播特性,spring boot jooq默认是嵌入事务 + * https://blog.jooq.org/nested-transactions-in-jooq/ + * @jooq代码中写sql + * https://blog.jooq.org/using-java-13-text-blocks-for-plain-sql-with-jooq/ + * + * @关于嵌入事务: 错误只回滚自己,其他成功的所有事务都成功 + * https://stackoverflow.com/questions/6683929/propagation-nested-vs-propagation-required-in-spring + * @jooq与jpa,按作者的表述,他不愿意支持ORM + * https://github.com/jOOQ/jOOQ/issues/11685 + * @jooq与r2dbc,胶水写法,脱裤子放屁 + * https://github.com/jOOQ/jOOQ/issues/11700 + * https://github.com/jOOQ/jOOQ/tree/main/jOOQ-examples + * https://blog.jooq.org/reactive-sql-with-jooq-3-15-and-r2dbc + * @examples + * https://github.com/jOOQ/jOOQ/tree/main/jOOQ-examples + * + * @Dou 2020/8/13 + */ +@ConditionalOnClass(DSLContext.class) +@ConditionalOnBean(DataSource.class) +@EnableConfigurationProperties(JooqProperties.class) +@Configuration(proxyBeanMethods = false) +public class JooqConfig { + + /** + * 创建使用默认数据源,和spring默认嵌入式事务管理器的DSLContext + */ + @Bean + DefaultDSLContext dsl(org.jooq.Configuration configuration) { + return new DefaultDSLContext(configuration); + } + + @Bean + DefaultConfiguration jooqConfiguration( + JooqProperties properties, + DataSource dataSource, + PlatformTransactionManager txManager){ + DefaultConfiguration configuration = new DefaultConfiguration(); + configuration.set(properties.determineSqlDialect(dataSource)); + configuration.set(new DataSourceConnectionProvider(new TransactionAwareDataSourceProxy(dataSource))); + configuration.set(new JooqSpringTransactionProvider(txManager)); //spring提供的默认嵌入式事务PROPAGATION_NESTED + configuration.set(new DefaultExecuteListenerProvider(new JooqExceptionTranslator())); + return configuration; + } + + +// +// /** +// * @spring的事物管理器 +// * 如果添加spring-boot-starter-jdbc 依赖,框架会默认注入 DataSourceTransactionManager 实例 +// * 如果你添加的是 spring-boot-starter-data-jpa, 会注入 JpaTransactionManager +// * +// * @可以指定为:DataSourceTransactionManager,spring boot的自动配置没有指定,所以这里也不指定 +// * 直接指定DataSourceTransactionManager可以参考: https://www.jooq.org/doc/3.18/manual/sql-execution/transaction-management/ +// +// * @SpringTransactionProvider 已知bug,不适用于 jOOQ 的异步事务: https://github.com/jOOQ/jOOQ/issues/10850 +// * 并且r2dbc有同样的问题: https://github.com/spring-projects/spring-framework/issues/28133 +// * 可以取消SpringTransactionProvider事务管理并使用JOOP自己的事务管理解决: +// * this.dslContext = dslContext.configuration().derive((TransactionProvider) null).dsl(); +// */ +// @Bean +// JooqSpringTransactionProvider jooqSpringTransactionProvider( +// PlatformTransactionManager txManager) { +// return new JooqSpringTransactionProvider(txManager); +// } +// +// +// /** +// * jooq提供对对外的,使用外部的数据库链接,DataSourceConnectionProvider代理类 +// * 这里使用TransactionAwareDataSourceProxy 可以动态的发现spring 事物上下文transaction context +// */ +// @Bean +// DataSourceConnectionProvider dataSourceConnectionProvider( +// @Qualifier("dataSource2") DataSource dataSource2) { +// return new DataSourceConnectionProvider( +// new TransactionAwareDataSourceProxy(dataSource2)); +// } +// +// @Bean +// SQLDialect sQLDialect( +// JooqProperties properties, +// @Qualifier("dataSource2") DataSource dataSource2) { +// return properties.determineSqlDialect(dataSource2); +// } +// +// @Bean("dsl2") +// DSLContext dsl2( +// DataSourceConnectionProvider dataSourceConnectionProvider, +// SQLDialect sQLDialect, +// JooqSpringTransactionProvider jooqSpringTransactionProvider) { +// +// DefaultConfiguration config = new DefaultConfiguration(); +// config.set(sQLDialect); +// config.set(dataSourceConnectionProvider); +// config.set(jooqSpringTransactionProvider); //spring提供的默认嵌入式事务PROPAGATION_NESTED +// config.set(new DefaultExecuteListenerProvider(new JooqExceptionTranslator())); +// return new DefaultDSLContext(config); +// } + + +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/config/jooq/JooqSpringTransaction.java b/src/main/java/jj/tech/paolu/config/jooq/JooqSpringTransaction.java new file mode 100644 index 0000000..b5b446b --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/jooq/JooqSpringTransaction.java @@ -0,0 +1,23 @@ +package jj.tech.paolu.config.jooq; + +import org.jooq.Transaction; +import org.springframework.transaction.TransactionStatus; + +/** + * @ 直接复制 org.springframework.boot.autoconfigure.jooq.SpringTransaction类 + * 因为不是public,只能自己写一个 + * @author Dou + */ +public class JooqSpringTransaction implements Transaction{ + // Based on the jOOQ-spring-example from https://github.com/jOOQ/jOOQ + + private final TransactionStatus transactionStatus; + + JooqSpringTransaction(TransactionStatus transactionStatus) { + this.transactionStatus = transactionStatus; + } + + TransactionStatus getTxStatus() { + return this.transactionStatus; + } +} diff --git a/src/main/java/jj/tech/paolu/config/jooq/JooqSpringTransactionProvider.java b/src/main/java/jj/tech/paolu/config/jooq/JooqSpringTransactionProvider.java new file mode 100644 index 0000000..4fb0ff3 --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/jooq/JooqSpringTransactionProvider.java @@ -0,0 +1,55 @@ +package jj.tech.paolu.config.jooq; + +import org.jooq.TransactionContext; +import org.jooq.TransactionProvider; +import org.jooq.tools.JooqLogger; +import org.springframework.transaction.PlatformTransactionManager; +import org.springframework.transaction.TransactionDefinition; +import org.springframework.transaction.TransactionStatus; +import org.springframework.transaction.support.DefaultTransactionDefinition; + +/** + * 修改默认事务传播行为成:PROPAGATION_REQUIRED + * 参考 org.springframework.boot.autoconfigure.jooq.SpringTransactionProvider + * 修改TransactionDefinition.PROPAGATION_NESTED 为 PROPAGATION_REQUIRED + * @author Dou + * + */ +public class JooqSpringTransactionProvider implements TransactionProvider{ + + // Based on the jOOQ-spring-example from https://github.com/jOOQ/jOOQ + + private static final JooqLogger log = JooqLogger.getLogger(JooqSpringTransactionProvider.class); + + private final PlatformTransactionManager transactionManager; + + public JooqSpringTransactionProvider(PlatformTransactionManager transactionManager) { + this.transactionManager = transactionManager; + } + + @Override + public void begin(TransactionContext context) { + log.info("--> begin transaction --->"); + TransactionDefinition definition = new DefaultTransactionDefinition(TransactionDefinition.PROPAGATION_NESTED); //PROPAGATION_REQUIRED + TransactionStatus status = this.transactionManager.getTransaction(definition); + context.transaction(new JooqSpringTransaction(status)); + } + + @Override + public void commit(TransactionContext ctx) { + log.info("--> commit transaction --->"); + this.transactionManager.commit(getTransactionStatus(ctx)); + } + + @Override + public void rollback(TransactionContext ctx) { + log.error("<-- rollback transaction <---"); + this.transactionManager.rollback(getTransactionStatus(ctx)); + } + + private TransactionStatus getTransactionStatus(TransactionContext ctx) { + JooqSpringTransaction transaction = (JooqSpringTransaction) ctx.transaction(); + return transaction.getTxStatus(); + } + +} diff --git a/src/main/java/jj/tech/paolu/config/jpa/JpaConfig.java b/src/main/java/jj/tech/paolu/config/jpa/JpaConfig.java new file mode 100644 index 0000000..7406305 --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/jpa/JpaConfig.java @@ -0,0 +1,51 @@ +//package jj.tech.paolu.config.jpa; +// +//import javax.sql.DataSource; +// +//import org.springframework.context.annotation.Bean; +//import org.springframework.context.annotation.Configuration; +//import org.springframework.data.jpa.repository.config.EnableJpaRepositories; +//import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder; +//import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType; +//import org.springframework.orm.jpa.JpaTransactionManager; +//import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; +//import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter; +//import org.springframework.transaction.PlatformTransactionManager; +///** +// * JPA多数据源配置,单一数据源由spring boot默认配置 +// * https://github.com/spring-projects/spring-data-examples/blob/main/jpa/multiple-datasources/src/main/java/example/springdata/jpa/multipleds/customer/CustomerConfig.java +// * @author Dou +// * +// */ +////@Configuration +////@EnableJpaRepositories(entityManagerFactoryRef = "customerEntityManagerFactory", +//// transactionManagerRef = "customerTransactionManager") +//public class JpaConfig { +//// @Bean +//// PlatformTransactionManager customerTransactionManager() { +//// return new JpaTransactionManager(customerEntityManagerFactory().getObject()); +//// } +//// +//// @Bean +//// LocalContainerEntityManagerFactoryBean customerEntityManagerFactory() { +//// +//// var jpaVendorAdapter = new HibernateJpaVendorAdapter(); +//// jpaVendorAdapter.setGenerateDdl(true); +//// +//// var factoryBean = new LocalContainerEntityManagerFactoryBean(); +//// +//// factoryBean.setDataSource(customerDataSource()); +//// factoryBean.setJpaVendorAdapter(jpaVendorAdapter); +//// factoryBean.setPackagesToScan(JpaConfig.class.getPackage().getName()); +//// +//// return factoryBean; +//// } +//// +//// @Bean +//// DataSource customerDataSource() { +//// return new EmbeddedDatabaseBuilder().// +//// setType(EmbeddedDatabaseType.HSQL).// +//// setName("customers").// +//// build(); +//// } +//} diff --git a/src/main/java/jj/tech/paolu/config/json/JacksonConfiguration.java b/src/main/java/jj/tech/paolu/config/json/JacksonConfiguration.java new file mode 100644 index 0000000..356bfc4 --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/json/JacksonConfiguration.java @@ -0,0 +1,50 @@ +package jj.tech.paolu.config.json; + +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.time.format.DateTimeFormatter; + +@Configuration +public class JacksonConfiguration { + + @Value("${spring.jackson.date-format}") + public String DATETIME_FORMAT; + + /** + * LoaclTime格式化字符串 + */ + public String TIME_FORMAT = "HH:mm:ss"; + + + @Bean + public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() { + + return builder -> { + + // formatter + DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(DATETIME_FORMAT); + DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern(TIME_FORMAT); + + // deserializers + builder.deserializers(new LocalDateTimeDeserializer(dateTimeFormatter)); + builder.deserializers(new LocalTimeDeserializer(timeFormatter)); + + // serializers + builder.serializers(new LocalDateTimeSerializer(dateTimeFormatter)); + builder.serializers(new LocalTimeSerializer(timeFormatter)); + + //long + builder.serializerByType(Long.TYPE, ToStringSerializer.instance); + builder.serializerByType(Long.class, ToStringSerializer.instance); + }; + } + +} diff --git a/src/main/java/jj/tech/paolu/config/security/Cors.java b/src/main/java/jj/tech/paolu/config/security/Cors.java new file mode 100644 index 0000000..0b93a5b --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/security/Cors.java @@ -0,0 +1,36 @@ +package jj.tech.paolu.config.security; + +import org.springframework.boot.web.servlet.FilterRegistrationBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.cors.CorsConfiguration; +import org.springframework.web.cors.UrlBasedCorsConfigurationSource; +import org.springframework.web.filter.CorsFilter; + +@Configuration +public class Cors { + + @Bean + CorsFilter corsFilter() { + CorsConfiguration corsConfiguration = new CorsConfiguration(); + corsConfiguration.addAllowedOriginPattern("*"); +// corsConfiguration.addAllowedOrigin("file:///C:/Users/lenovo/Desktop/x.html"); +// corsConfiguration.addAllowedOrigin("http://localhost:8080"); +// corsConfiguration.addAllowedOrigin("http://localhost:80"); +// corsConfiguration.addAllowedOrigin("http://localhost:5174"); + corsConfiguration.addAllowedHeader("*"); + corsConfiguration.addAllowedMethod("*"); + corsConfiguration.setAllowCredentials(true); + UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); + source.registerCorsConfiguration("/**", corsConfiguration); + return new CorsFilter(source); + } + + @Bean + public FilterRegistrationBean filterRegistrationBean(CorsFilter corsFilter) { + FilterRegistrationBean bean = new FilterRegistrationBean<>(corsFilter); + bean.setOrder(1); + return bean; + } + +} diff --git a/src/main/java/jj/tech/paolu/config/security/SecurityFilter.java b/src/main/java/jj/tech/paolu/config/security/SecurityFilter.java new file mode 100644 index 0000000..129f0d4 --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/security/SecurityFilter.java @@ -0,0 +1,106 @@ +package jj.tech.paolu.config.security; + + +import java.io.IOException; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; + +import org.springframework.core.Ordered; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import org.springframework.util.AntPathMatcher; +import org.springframework.web.filter.OncePerRequestFilter; + +import jakarta.servlet.FilterChain; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import jj.tech.paolu.config.security.user.WebAdminUtil; +import jj.tech.paolu.utils.JsonUtil; + + +/** + * cors开头命名,为了使该过滤器在CorsFilter之后执行 + * @author admin + * + */ +@Component +@Order(Ordered.LOWEST_PRECEDENCE) +public class SecurityFilter extends OncePerRequestFilter { + AntPathMatcher matcher = new AntPathMatcher(); + /** + * 不需要token就能访问的url + */ + List allowUrls = Arrays.asList( + "/ws**/**", + "/ttt/**", + "/swagger-ui/index.html", "/swagger-ui/**", "/v3/**", + "/favicon.ico", + "/op/admin/login","/op/admin/logout", "/op/admin/captcha", + "/mybatis/**", + "/op/area/**", + "/op/decrypt/dec", + "/op/readlog/read", + "/op/wb/**"//微柏模拟器的相关接口 + ); + + + @Override + protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { + // 忽略的urls + if (this.isIgnoreUrl(request.getRequestURI())) { + // 向后执行 + filterChain.doFilter(request, response); + return; + } + + // 更新token的有效时间 + Boolean verify = WebAdminUtil.verify(request, response); + if(verify == false) { + response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); + this.authError(request, response); + return; + } + filterChain.doFilter(request, response); + } + + /** + * 判断当前 requestURI 是否需要token访问 + * + * @param requestURI uri + * @return + */ + protected Boolean isIgnoreUrl(String requestURI) { + for (String i : allowUrls) { + if (matcher.match(i, requestURI)) { + return true; + } + } + return false; + } + + /** + * 无token返回 + * + * @param request + * @param response + */ + protected void authError(HttpServletRequest request, HttpServletResponse response) { + //request + response.setContentType("application/json;charset=UTF-8"); + String msg = "请求访问:" + request.getRequestURI() + ",token验证失败,无法访问资源"; + HashMap map = new HashMap<>(); + map.put("code", 401); + map.put("msg", msg); + try { + response.getWriter().write(JsonUtil.writeValueAsString(map)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + + +} diff --git a/src/main/java/jj/tech/paolu/config/security/user/WebAdminUtil.java b/src/main/java/jj/tech/paolu/config/security/user/WebAdminUtil.java new file mode 100644 index 0000000..e595655 --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/security/user/WebAdminUtil.java @@ -0,0 +1,113 @@ +package jj.tech.paolu.config.security.user; + + +import java.util.HashMap; + +import org.apache.commons.beanutils.BeanUtils; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; + +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import jj.tech.paolu.repository.mybatis.entity.SysAdmin; +import jj.tech.paolu.utils.AES; +import jj.tech.paolu.utils.CookieUtil; + +public class WebAdminUtil { + private static Logger logger = LoggerFactory.getLogger(WebAdminUtil.class); + private static ObjectMapper objectMapper = new ObjectMapper(); + public static long exp = 5 * 60 * 60 * 1000; //过期时间5小时 + public static String WEBADMIN = "webadmin"; + + static { + objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + } + + + + @SuppressWarnings("unchecked") + public static Boolean verify(HttpServletRequest request, HttpServletResponse response) { + try { + String token = CookieUtil.fine(request, WEBADMIN); + if (StringUtils.isBlank(token)) { + return false; + } + AES aes = new AES(); + String jsonUser = aes.decrypt(token); + HashMap map = objectMapper.readValue(jsonUser, HashMap.class); +// Long logintime = (Long)map.get("logintime"); +// Long now = System.currentTimeMillis(); +// +// if(now-logintime > exp) { +// return false; +// } +// +// //大于30分钟,更新一下用户token +// if(now-logintime > 30 * 60 * 1000) { +// map.put("logintime", now); +// WebAdminUtil.addToCookie(map); +// } + + SysAdmin bean = new SysAdmin(); + BeanUtils.populate(bean, map); + request.setAttribute(WEBADMIN, bean); + return true; + } catch (Exception e) { + e.printStackTrace(); + return false; + } + } + + public static SysAdmin getUser() { + try { + ServletRequestAttributes servlet = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes(); + HttpServletRequest request = servlet.getRequest(); + SysAdmin curr = (SysAdmin)request.getAttribute(WEBADMIN); + return curr; + }catch(Exception e) { + e.printStackTrace(); + logger.info(e.getMessage()); + return null; + } + } + + public static String addToCookie(Object obj) { + try { + ServletRequestAttributes servlet = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes(); + HttpServletResponse response = servlet.getResponse(); + + String userJson = objectMapper.writeValueAsString(obj); + AES aes = new AES(); + String token = aes.encrypt(userJson); + CookieUtil.add(WEBADMIN, token, response); + return token; + }catch(Exception e) { + logger.info(e.getMessage()); + return null; + } + } + + public static String addUser(SysAdmin entitty) { + return addToCookie(entitty); + } + + public static void deleteUser() { + try { + ServletRequestAttributes servlet = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes(); + HttpServletResponse response = servlet.getResponse(); + CookieUtil.delete(response, WEBADMIN); + }catch(Exception e) { + logger.info(e.getMessage()); + } + } + + + + +} diff --git a/src/main/java/jj/tech/paolu/config/security/user/WebUserUtil.java b/src/main/java/jj/tech/paolu/config/security/user/WebUserUtil.java new file mode 100644 index 0000000..3b0b11f --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/security/user/WebUserUtil.java @@ -0,0 +1,107 @@ +//package jj.tech.paolu.config.security.user; +// +// +//import java.util.HashMap; +// +//import org.apache.commons.beanutils.BeanUtils; +//import org.apache.commons.lang3.StringUtils; +//import org.slf4j.Logger; +//import org.slf4j.LoggerFactory; +//import org.springframework.web.context.request.RequestContextHolder; +//import org.springframework.web.context.request.ServletRequestAttributes; +// +//import com.fasterxml.jackson.databind.DeserializationFeature; +//import com.fasterxml.jackson.databind.ObjectMapper; +// +//import jakarta.servlet.http.HttpServletRequest; +//import jakarta.servlet.http.HttpServletResponse; +//import jj.tech.paolu.utils.AES; +//import jj.tech.paolu.utils.CookieUtil; +// +//public class WebUserUtil { +// private static Logger logger = LoggerFactory.getLogger(WebAdminUtil.class); +// private static ObjectMapper objectMapper = new ObjectMapper(); +// public static String TOKEN = "webtoken"; +// public static long exp = 5 * 60 * 60 * 1000; //过期时间5小时 +// static { +// objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); +// } +// +// +// +// @SuppressWarnings("unchecked") +// public static Boolean verify(HttpServletRequest request, HttpServletResponse response) { +// try { +// String token = CookieUtil.fine(request, TOKEN); +// if (StringUtils.isBlank(token)) { +// return false; +// } +// AES aes = new AES(); +// String jsonUser = aes.decrypt(token); +// HashMap map = objectMapper.readValue(jsonUser, HashMap.class); +// Long logintime = (Long)map.get("logintime"); +// Long now = System.currentTimeMillis(); +// +// if(now-logintime > exp) { +// return false; +// } +// +// //大于30分钟,更新一下用户token +// if(now-logintime > 30 * 60 * 1000) { +// map.put("logintime", now); +// WebUserUtil.addToCookie(map); +// } +// +// UserInfo bean = new UserInfo(); +// BeanUtils.populate(bean, map); +// request.setAttribute(TOKEN, bean); +// return true; +// } catch (Exception e) { +// e.printStackTrace(); +// return false; +// } +// } +// +// public static UserInfo getUser() { +// try { +// ServletRequestAttributes servlet = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes(); +// HttpServletRequest request = servlet.getRequest(); +// UserInfo curr = (UserInfo)request.getAttribute(TOKEN); +// return curr; +// }catch(Exception e) { +// e.printStackTrace(); +// logger.info(e.getMessage()); +// return null; +// } +// } +// +// public static String addToCookie(Object obj) { +// try { +// ServletRequestAttributes servlet = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes(); +// HttpServletResponse response = servlet.getResponse(); +// +// String userJson = objectMapper.writeValueAsString(obj); +// AES aes = new AES(); +// String token = aes.encrypt(userJson); +// CookieUtil.add(TOKEN, token, response); +// return token; +// }catch(Exception e) { +// logger.info(e.getMessage()); +// return null; +// } +// } +// +// public static void deleteUser() { +// try { +// ServletRequestAttributes servlet = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes(); +// HttpServletResponse response = servlet.getResponse(); +// CookieUtil.delete(response, TOKEN); +// }catch(Exception e) { +// logger.info(e.getMessage()); +// } +// } +// +// +// +// +//} diff --git a/src/main/java/jj/tech/paolu/config/swagger/SwaggerConfig.java b/src/main/java/jj/tech/paolu/config/swagger/SwaggerConfig.java new file mode 100644 index 0000000..eb5d254 --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/swagger/SwaggerConfig.java @@ -0,0 +1,145 @@ +package jj.tech.paolu.config.swagger; + + +import io.swagger.v3.oas.models.Components; +import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.info.Info; +import io.swagger.v3.oas.models.info.License; +import io.swagger.v3.oas.models.media.Schema; +import io.swagger.v3.oas.models.security.SecurityRequirement; +import io.swagger.v3.oas.models.security.SecurityScheme; +import org.springdoc.core.models.GroupedOpenApi; +import org.springdoc.core.utils.SpringDocUtils; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Profile; + +import java.time.LocalTime; +import java.time.format.DateTimeFormatter; +import java.util.Collections; + +/** + * swagger配置 + * 加入分组功能(默认注释掉) + * + * @author Dou + * @date 2022/6/30 + **/ +@Configuration +public class SwaggerConfig { + + static { + Schema schema = new Schema<>(); + schema.example(LocalTime.now().format(DateTimeFormatter.ofPattern("HH:mm:ss"))); + SpringDocUtils.getConfig().replaceWithSchema(LocalTime.class, schema); + } + + @Bean + OpenAPI springShopOpenAPI() { + + SecurityScheme securityScheme = new SecurityScheme(); + securityScheme.type(SecurityScheme.Type.HTTP) + .scheme("bearer").bearerFormat("JWT") + .in(SecurityScheme.In.HEADER); + // .scheme("basic"); + + Components compoenents = new Components(); + compoenents.addSecuritySchemes("bearer-key", securityScheme); + + return new OpenAPI() + .components(compoenents) + .info(new Info().title("JJ Doc 接口文档") +// .description("Spring shop sample application") + .version("v0.0.1") + .license(new License().name("Apache 2.0").url("http://springdoc.org"))) + .security(Collections.singletonList(new SecurityRequirement().addList("bearer-key"))); + } + + + @Bean + @Profile("prod") + GroupedOpenApi prodApi(OpenAPI openAPI) { + return GroupedOpenApi.builder() + .group("user-test-api") + .pathsToMatch("/null") + .addOpenApiCustomizer(api -> { + api = openAPI; + }) + .pathsToExclude("/health/*") + .build(); + } + + + @Bean + @Profile("!prod") + GroupedOpenApi loginApi(OpenAPI openAPI) { + String paths[] = {"/op/admin/login", "/op/admin/logout", "/op/admin/captcha"}; + return GroupedOpenApi.builder() + .group("login") +// .packagesToScan("tech.bcnew.modular.authaudit.controller") + .pathsToMatch(paths) + .addOpenApiCustomizer(api -> { + api = openAPI; + }) + .pathsToExclude("/health/*") + .build(); + } + @Bean + @Profile("!prod") + GroupedOpenApi mybatisApi(OpenAPI openAPI) { + return GroupedOpenApi.builder() + .group("mybatis") + .pathsToMatch("/mybatis/**") + .addOpenApiCustomizer(api -> { + api = openAPI; + }) + .pathsToExclude("/health/*") + .build(); + } + +// @Bean +// @Profile("!prod") +// GroupedOpenApi jpaApi(OpenAPI openAPI) { +// String packagesToscan[] = {"jj.tech.paolu.repository"}; +// return GroupedOpenApi.builder() +// .group("jpa") +// .packagesToScan(packagesToscan) +// .addOpenApiCustomizer(api -> { +// api = openAPI; +// }) +// .pathsToExclude("/health/*") +// .build(); +// } + + + @Bean + @Profile("!prod") + GroupedOpenApi webApi(OpenAPI openAPI) { + return GroupedOpenApi.builder() + .group("web") + .pathsToMatch("/web/**") + //.packagesToScan("/jj/tech/paolu/biz/**") + .addOpenApiCustomizer(api -> { + api = openAPI; + }) + .pathsToExclude("/health/*", "/jpa*") + .build(); + } + + + @Bean + @Profile("!prod") + GroupedOpenApi webAdminApi(OpenAPI openAPI) { + return GroupedOpenApi.builder() + .group("operate") + .pathsToMatch("/op/**") + //.packagesToScan("/jj/tech/paolu/biz/**") + .addOpenApiCustomizer(api -> { + api = openAPI; + }) + .pathsToExclude("/health/*", "/jpa*") + .build(); + } + + +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/config/wsclient/SpringWebSocketClient.java b/src/main/java/jj/tech/paolu/config/wsclient/SpringWebSocketClient.java new file mode 100644 index 0000000..cd5a02d --- /dev/null +++ b/src/main/java/jj/tech/paolu/config/wsclient/SpringWebSocketClient.java @@ -0,0 +1,63 @@ +package jj.tech.paolu.config.wsclient; + +import java.net.URI; +import java.util.concurrent.ExecutionException; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.web.socket.TextMessage; +import org.springframework.web.socket.WebSocketSession; +import org.springframework.web.socket.client.WebSocketClient; +import org.springframework.web.socket.client.standard.StandardWebSocketClient; +import org.springframework.web.socket.handler.TextWebSocketHandler; + +public class SpringWebSocketClient extends TextWebSocketHandler{ + + @Value("${websocket.url}") + private String url; + private WebSocketSession clientSession; + + public SpringWebSocketClient () throws Exception{ + var client = new StandardWebSocketClient(); + + this.clientSession = client.execute(new TTextWebSocketHandler(), "wss://echo.websocket.org", new Object()) + .get(); +// this.clientSession = +// client.doHandshake( new TTextWebSocketHandler(), "wss://echo.websocket.org", new Object()).get(); + + //this.clientSession = client.doHandshake(this, new TTextWebSocketHandler(), URI.create("wss://echo.websocket.org")).get(); + + } + +// @Bean +// public WebSocketClient webSocketClient() throws Exception { +// WebSocketClient client = new StandardWebSocketClient(); +// client.execute(new TTextWebSocketHandler(), url, null); +// return client; +// +// } + + + + public static void main(String[] args) throws Exception { + var sampleClient = new SpringWebSocketClient(); + sampleClient.getClientSession().sendMessage(new TextMessage("Hello!")); + sampleClient.getClientSession().sendMessage(new TextMessage("ssss")); + } + + public WebSocketSession getClientSession() { + return clientSession; + } + + public void setClientSession(WebSocketSession clientSession) { + this.clientSession = clientSession; + } + +} + +class TTextWebSocketHandler extends TextWebSocketHandler{ + @Override + protected void handleTextMessage(WebSocketSession session, TextMessage message) { + System.err.println(message.getPayload()); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/GeneratorMybatis.java b/src/main/java/jj/tech/paolu/repository/GeneratorMybatis.java new file mode 100644 index 0000000..0275433 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/GeneratorMybatis.java @@ -0,0 +1,27 @@ +package jj.tech.paolu.repository; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +import org.mybatis.generator.api.MyBatisGenerator; +import org.mybatis.generator.config.Configuration; +import org.mybatis.generator.config.xml.ConfigurationParser; +import org.mybatis.generator.internal.DefaultShellCallback; + +public class GeneratorMybatis { + + + public static void main(String[] args) throws Exception{ + List warnings = new ArrayList(); + boolean overwrite = true; + File configFile = new File("src/main/resources/generate/mybatis/generatorConfig.xml"); + ConfigurationParser cp = new ConfigurationParser(warnings); + Configuration config = cp.parseConfiguration(configFile); + DefaultShellCallback callback = new DefaultShellCallback(overwrite); + MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings); + myBatisGenerator.generate(null); + } + + +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/DefaultCatalog.java b/src/main/java/jj/tech/paolu/repository/jooq/DefaultCatalog.java new file mode 100644 index 0000000..7dcb60d --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/DefaultCatalog.java @@ -0,0 +1,54 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq; + + +import java.util.Arrays; +import java.util.List; + +import org.jooq.Constants; +import org.jooq.Schema; +import org.jooq.impl.CatalogImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class DefaultCatalog extends CatalogImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of DEFAULT_CATALOG + */ + public static final DefaultCatalog DEFAULT_CATALOG = new DefaultCatalog(); + + /** + * The schema public. + */ + public final Public PUBLIC = Public.PUBLIC; + + /** + * No further instances allowed + */ + private DefaultCatalog() { + super(""); + } + + @Override + public final List getSchemas() { + return Arrays.asList( + Public.PUBLIC + ); + } + + /** + * A reference to the 3.18 minor release of the code generator. If this + * doesn't compile, it's because the runtime library uses an older minor + * release, namely: 3.18. You can turn off the generation of this reference + * by specifying /configuration/generator/generate/jooqVersionReference + */ + private static final String REQUIRE_RUNTIME_JOOQ_VERSION = Constants.VERSION_3_18; +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/Indexes.java b/src/main/java/jj/tech/paolu/repository/jooq/Indexes.java new file mode 100644 index 0000000..e5e043f --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/Indexes.java @@ -0,0 +1,35 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq; + + +import jj.tech.paolu.repository.jooq.tables.FilesApplyDocs; +import jj.tech.paolu.repository.jooq.tables.SynDirectory; +import jj.tech.paolu.repository.jooq.tables.SynDirectoryFile; +import jj.tech.paolu.repository.jooq.tables.SynFile; +import jj.tech.paolu.repository.jooq.tables.SysArea; + +import org.jooq.Index; +import org.jooq.OrderField; +import org.jooq.impl.DSL; +import org.jooq.impl.Internal; + + +/** + * A class modelling indexes of tables in public. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class Indexes { + + // ------------------------------------------------------------------------- + // INDEX definitions + // ------------------------------------------------------------------------- + + public static final Index FILES_APPLY_DOCS_FILES_APPLY_ID_IDX = Internal.createIndex(DSL.name("files_apply_docs_files_apply_id_idx"), FilesApplyDocs.FILES_APPLY_DOCS, new OrderField[] { FilesApplyDocs.FILES_APPLY_DOCS.FILES_APPLY_ID }, false); + public static final Index IDX_PARENT_CODE = Internal.createIndex(DSL.name("idx_parent_code"), SysArea.SYS_AREA, new OrderField[] { SysArea.SYS_AREA.PARENT_CODE }, false); + public static final Index IDX_SYN_DIREC_PID = Internal.createIndex(DSL.name("idx_syn_direc_pid"), SynDirectory.SYN_DIRECTORY, new OrderField[] { SynDirectory.SYN_DIRECTORY.P_ID }, false); + public static final Index IDX_SYN_DIRECTOR_FILE_PID = Internal.createIndex(DSL.name("idx_syn_director_file_pid"), SynDirectoryFile.SYN_DIRECTORY_FILE, new OrderField[] { SynDirectoryFile.SYN_DIRECTORY_FILE.P_ID }, false); + public static final Index IDX_SYN_FILE_PID = Internal.createIndex(DSL.name("idx_syn_file_pid"), SynFile.SYN_FILE, new OrderField[] { SynFile.SYN_FILE.P_ID }, false); + public static final Index UK_CODE = Internal.createIndex(DSL.name("uk_code"), SysArea.SYS_AREA, new OrderField[] { SysArea.SYS_AREA.AREA_CODE }, false); +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/Keys.java b/src/main/java/jj/tech/paolu/repository/jooq/Keys.java new file mode 100644 index 0000000..e2f8e23 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/Keys.java @@ -0,0 +1,122 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq; + + +import jj.tech.paolu.repository.jooq.tables.ArchiveSynLog; +import jj.tech.paolu.repository.jooq.tables.CertificateApply; +import jj.tech.paolu.repository.jooq.tables.CertificateDetail; +import jj.tech.paolu.repository.jooq.tables.DecryptLog; +import jj.tech.paolu.repository.jooq.tables.DownloadLog; +import jj.tech.paolu.repository.jooq.tables.FilesApply; +import jj.tech.paolu.repository.jooq.tables.FilesApplyCheckRecord; +import jj.tech.paolu.repository.jooq.tables.FilesApplyDirectoryDocs; +import jj.tech.paolu.repository.jooq.tables.FilesApplyDocs; +import jj.tech.paolu.repository.jooq.tables.FilesApplyDownloadRecord; +import jj.tech.paolu.repository.jooq.tables.Project; +import jj.tech.paolu.repository.jooq.tables.ReadLog; +import jj.tech.paolu.repository.jooq.tables.SharedRuleConfig; +import jj.tech.paolu.repository.jooq.tables.SharedSynAll; +import jj.tech.paolu.repository.jooq.tables.SynDirectory; +import jj.tech.paolu.repository.jooq.tables.SynDirectoryFile; +import jj.tech.paolu.repository.jooq.tables.SynFile; +import jj.tech.paolu.repository.jooq.tables.SysAdmin; +import jj.tech.paolu.repository.jooq.tables.SysAdminRole; +import jj.tech.paolu.repository.jooq.tables.SysAdminWeid; +import jj.tech.paolu.repository.jooq.tables.SysArea; +import jj.tech.paolu.repository.jooq.tables.SysConfig; +import jj.tech.paolu.repository.jooq.tables.SysMenu; +import jj.tech.paolu.repository.jooq.tables.SysOrg; +import jj.tech.paolu.repository.jooq.tables.SysRole; +import jj.tech.paolu.repository.jooq.tables.SysRoleMenu; +import jj.tech.paolu.repository.jooq.tables.SysRoleSign; +import jj.tech.paolu.repository.jooq.tables.SysRoleUrl; +import jj.tech.paolu.repository.jooq.tables.SysUrls; +import jj.tech.paolu.repository.jooq.tables.records.ArchiveSynLogRecord; +import jj.tech.paolu.repository.jooq.tables.records.CertificateApplyRecord; +import jj.tech.paolu.repository.jooq.tables.records.CertificateApplyRecordRecord; +import jj.tech.paolu.repository.jooq.tables.records.CertificateDetailRecord; +import jj.tech.paolu.repository.jooq.tables.records.DecryptLogRecord; +import jj.tech.paolu.repository.jooq.tables.records.DownloadLogRecord; +import jj.tech.paolu.repository.jooq.tables.records.FilesApplyCheckRecordRecord; +import jj.tech.paolu.repository.jooq.tables.records.FilesApplyDirectoryDocsRecord; +import jj.tech.paolu.repository.jooq.tables.records.FilesApplyDocsRecord; +import jj.tech.paolu.repository.jooq.tables.records.FilesApplyDownloadRecordRecord; +import jj.tech.paolu.repository.jooq.tables.records.FilesApplyRecord; +import jj.tech.paolu.repository.jooq.tables.records.ProjectRecord; +import jj.tech.paolu.repository.jooq.tables.records.ReadLogRecord; +import jj.tech.paolu.repository.jooq.tables.records.SharedRuleConfigRecord; +import jj.tech.paolu.repository.jooq.tables.records.SharedSynAllRecord; +import jj.tech.paolu.repository.jooq.tables.records.SynDirectoryFileRecord; +import jj.tech.paolu.repository.jooq.tables.records.SynDirectoryRecord; +import jj.tech.paolu.repository.jooq.tables.records.SynFileRecord; +import jj.tech.paolu.repository.jooq.tables.records.SysAdminRecord; +import jj.tech.paolu.repository.jooq.tables.records.SysAdminRoleRecord; +import jj.tech.paolu.repository.jooq.tables.records.SysAdminWeidRecord; +import jj.tech.paolu.repository.jooq.tables.records.SysAreaRecord; +import jj.tech.paolu.repository.jooq.tables.records.SysConfigRecord; +import jj.tech.paolu.repository.jooq.tables.records.SysMenuRecord; +import jj.tech.paolu.repository.jooq.tables.records.SysOrgRecord; +import jj.tech.paolu.repository.jooq.tables.records.SysRoleMenuRecord; +import jj.tech.paolu.repository.jooq.tables.records.SysRoleRecord; +import jj.tech.paolu.repository.jooq.tables.records.SysRoleSignRecord; +import jj.tech.paolu.repository.jooq.tables.records.SysRoleUrlRecord; +import jj.tech.paolu.repository.jooq.tables.records.SysUrlsRecord; + +import org.jooq.TableField; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.Internal; + + +/** + * A class modelling foreign key relationships and constraints of tables in + * public. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class Keys { + + // ------------------------------------------------------------------------- + // UNIQUE and PRIMARY KEY definitions + // ------------------------------------------------------------------------- + + public static final UniqueKey ARCHIVE_SYN_LOG_PKEY = Internal.createUniqueKey(ArchiveSynLog.ARCHIVE_SYN_LOG, DSL.name("archive_syn_log_pkey"), new TableField[] { ArchiveSynLog.ARCHIVE_SYN_LOG.ID }, true); + public static final UniqueKey CERTIFICATE_APPLY_CER_ID_KEY = Internal.createUniqueKey(CertificateApply.CERTIFICATE_APPLY, DSL.name("certificate_apply_cer_id_key"), new TableField[] { CertificateApply.CERTIFICATE_APPLY.CER_ID }, true); + public static final UniqueKey CERTIFICATE_APPLY_PKEY = Internal.createUniqueKey(CertificateApply.CERTIFICATE_APPLY, DSL.name("certificate_apply_pkey"), new TableField[] { CertificateApply.CERTIFICATE_APPLY.ID }, true); + public static final UniqueKey CERTIFICATE_APPLY_RECORD_PKEY = Internal.createUniqueKey(jj.tech.paolu.repository.jooq.tables.CertificateApplyRecord.CERTIFICATE_APPLY_RECORD, DSL.name("certificate_apply_record_pkey"), new TableField[] { jj.tech.paolu.repository.jooq.tables.CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.ID }, true); + public static final UniqueKey CERTIFICATE_DETAIL_PKEY = Internal.createUniqueKey(CertificateDetail.CERTIFICATE_DETAIL, DSL.name("certificate_detail_pkey"), new TableField[] { CertificateDetail.CERTIFICATE_DETAIL.ID }, true); + public static final UniqueKey DECRYPT_PKEY = Internal.createUniqueKey(DecryptLog.DECRYPT_LOG, DSL.name("decrypt_pkey"), new TableField[] { DecryptLog.DECRYPT_LOG.ID }, true); + public static final UniqueKey DOWNLOAD_LOG_PKEY = Internal.createUniqueKey(DownloadLog.DOWNLOAD_LOG, DSL.name("download_log_pkey"), new TableField[] { DownloadLog.DOWNLOAD_LOG.ID }, true); + public static final UniqueKey FILES_APPLY_PKEY = Internal.createUniqueKey(FilesApply.FILES_APPLY, DSL.name("files_apply_pkey"), new TableField[] { FilesApply.FILES_APPLY.ID }, true); + public static final UniqueKey FILES_APPLY_CHECK_RECORD_PKEY = Internal.createUniqueKey(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD, DSL.name("files_apply_check_record_pkey"), new TableField[] { FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.ID }, true); + public static final UniqueKey FILES_APPLY_DIRECTORY_DOCS_PKEY = Internal.createUniqueKey(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS, DSL.name("files_apply_directory_docs_pkey"), new TableField[] { FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.ID }, true); + public static final UniqueKey FILES_APPLY_DOCS_PKEY = Internal.createUniqueKey(FilesApplyDocs.FILES_APPLY_DOCS, DSL.name("files_apply_docs_pkey"), new TableField[] { FilesApplyDocs.FILES_APPLY_DOCS.ID }, true); + public static final UniqueKey FILES_APPLY_DOWNLOAD_RECORD_PKEY = Internal.createUniqueKey(FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD, DSL.name("files_apply_download_record_pkey"), new TableField[] { FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.ID }, true); + public static final UniqueKey PROJECT_PKEY = Internal.createUniqueKey(Project.PROJECT, DSL.name("project_pkey"), new TableField[] { Project.PROJECT.ID }, true); + public static final UniqueKey READ_LOG_PKEY = Internal.createUniqueKey(ReadLog.READ_LOG, DSL.name("read_log_pkey"), new TableField[] { ReadLog.READ_LOG.ID }, true); + public static final UniqueKey SHARED_RULE_CONFIG_PKEY = Internal.createUniqueKey(SharedRuleConfig.SHARED_RULE_CONFIG, DSL.name("shared_rule_config_pkey"), new TableField[] { SharedRuleConfig.SHARED_RULE_CONFIG.ID }, true); + public static final UniqueKey SHARED_SYN_ALL_PKEY = Internal.createUniqueKey(SharedSynAll.SHARED_SYN_ALL, DSL.name("shared_syn_all_pkey"), new TableField[] { SharedSynAll.SHARED_SYN_ALL.ID }, true); + public static final UniqueKey SHARED_SYN_ALL_SYN_ID_KEY = Internal.createUniqueKey(SharedSynAll.SHARED_SYN_ALL, DSL.name("shared_syn_all_syn_id_key"), new TableField[] { SharedSynAll.SHARED_SYN_ALL.SYN_ID }, true); + public static final UniqueKey SHARED_SYN_ALL_SYN_ID_SYN_TYPE_KEY = Internal.createUniqueKey(SharedSynAll.SHARED_SYN_ALL, DSL.name("shared_syn_all_syn_id_syn_type_key"), new TableField[] { SharedSynAll.SHARED_SYN_ALL.SYN_ID, SharedSynAll.SHARED_SYN_ALL.SYN_TYPE }, true); + public static final UniqueKey SYN_DIRECTORY_PKEY = Internal.createUniqueKey(SynDirectory.SYN_DIRECTORY, DSL.name("syn_directory_pkey"), new TableField[] { SynDirectory.SYN_DIRECTORY.ID }, true); + public static final UniqueKey SYN_DIRECTORY_FILE_PKEY = Internal.createUniqueKey(SynDirectoryFile.SYN_DIRECTORY_FILE, DSL.name("syn_directory_file_pkey"), new TableField[] { SynDirectoryFile.SYN_DIRECTORY_FILE.ID }, true); + public static final UniqueKey SYN_FILE_PKEY = Internal.createUniqueKey(SynFile.SYN_FILE, DSL.name("syn_file_pkey"), new TableField[] { SynFile.SYN_FILE.ID }, true); + public static final UniqueKey SYS_ADMIN_PKEY = Internal.createUniqueKey(SysAdmin.SYS_ADMIN, DSL.name("sys_admin_pkey"), new TableField[] { SysAdmin.SYS_ADMIN.ID }, true); + public static final UniqueKey SYS_ADMIN_USERNAME_KEY = Internal.createUniqueKey(SysAdmin.SYS_ADMIN, DSL.name("sys_admin_username_key"), new TableField[] { SysAdmin.SYS_ADMIN.USERNAME }, true); + public static final UniqueKey SYS_ADMIN_ROLE_PKEY = Internal.createUniqueKey(SysAdminRole.SYS_ADMIN_ROLE, DSL.name("sys_admin_role_pkey"), new TableField[] { SysAdminRole.SYS_ADMIN_ROLE.ID }, true); + public static final UniqueKey SYS_ADMIN_WEID_ADMIN_ID_KEY = Internal.createUniqueKey(SysAdminWeid.SYS_ADMIN_WEID, DSL.name("sys_admin_weid_admin_id_key"), new TableField[] { SysAdminWeid.SYS_ADMIN_WEID.ADMIN_ID }, true); + public static final UniqueKey SYS_ADMIN_WEID_PKEY = Internal.createUniqueKey(SysAdminWeid.SYS_ADMIN_WEID, DSL.name("sys_admin_weid_pkey"), new TableField[] { SysAdminWeid.SYS_ADMIN_WEID.ID }, true); + public static final UniqueKey SYS_AREA_PKEY = Internal.createUniqueKey(SysArea.SYS_AREA, DSL.name("sys_area_pkey"), new TableField[] { SysArea.SYS_AREA.ID }, true); + public static final UniqueKey SYS_CONFIG_KEYS_KEY = Internal.createUniqueKey(SysConfig.SYS_CONFIG, DSL.name("sys_config_keys_key"), new TableField[] { SysConfig.SYS_CONFIG.KEYS }, true); + public static final UniqueKey SYS_CONFIG_PKEY = Internal.createUniqueKey(SysConfig.SYS_CONFIG, DSL.name("sys_config_pkey"), new TableField[] { SysConfig.SYS_CONFIG.ID }, true); + public static final UniqueKey SYS_MENU_PKEY = Internal.createUniqueKey(SysMenu.SYS_MENU, DSL.name("sys_menu_pkey"), new TableField[] { SysMenu.SYS_MENU.ID }, true); + public static final UniqueKey SYS_ORG_PKEY1 = Internal.createUniqueKey(SysOrg.SYS_ORG, DSL.name("sys_org_pkey1"), new TableField[] { SysOrg.SYS_ORG.ID }, true); + public static final UniqueKey SYS_ROLE_PKEY = Internal.createUniqueKey(SysRole.SYS_ROLE, DSL.name("sys_role_pkey"), new TableField[] { SysRole.SYS_ROLE.ID }, true); + public static final UniqueKey SYS_ROLE_MENU_PKEY = Internal.createUniqueKey(SysRoleMenu.SYS_ROLE_MENU, DSL.name("sys_role_menu_pkey"), new TableField[] { SysRoleMenu.SYS_ROLE_MENU.ID }, true); + public static final UniqueKey SYS_ROLE_MENU_ROLEID_RESID_KEY = Internal.createUniqueKey(SysRoleMenu.SYS_ROLE_MENU, DSL.name("sys_role_menu_roleid_resid_key"), new TableField[] { SysRoleMenu.SYS_ROLE_MENU.ROLEID, SysRoleMenu.SYS_ROLE_MENU.MENUID }, true); + public static final UniqueKey SYS_ROLE_SIGN_PKEY = Internal.createUniqueKey(SysRoleSign.SYS_ROLE_SIGN, DSL.name("sys_role_sign_pkey"), new TableField[] { SysRoleSign.SYS_ROLE_SIGN.ID }, true); + public static final UniqueKey SYS_ROLE_URL_PKEY = Internal.createUniqueKey(SysRoleUrl.SYS_ROLE_URL, DSL.name("sys_role_url_pkey"), new TableField[] { SysRoleUrl.SYS_ROLE_URL.ID }, true); + public static final UniqueKey SYS_URLS_PKEY = Internal.createUniqueKey(SysUrls.SYS_URLS, DSL.name("sys_urls_pkey"), new TableField[] { SysUrls.SYS_URLS.ID }, true); + public static final UniqueKey SYS_URLS_URL_KEY = Internal.createUniqueKey(SysUrls.SYS_URLS, DSL.name("sys_urls_url_key"), new TableField[] { SysUrls.SYS_URLS.URL }, true); +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/Public.java b/src/main/java/jj/tech/paolu/repository/jooq/Public.java new file mode 100644 index 0000000..217c874 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/Public.java @@ -0,0 +1,257 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq; + + +import java.util.Arrays; +import java.util.List; + +import jj.tech.paolu.repository.jooq.tables.ArchiveSynLog; +import jj.tech.paolu.repository.jooq.tables.CertificateApply; +import jj.tech.paolu.repository.jooq.tables.CertificateApplyRecord; +import jj.tech.paolu.repository.jooq.tables.CertificateDetail; +import jj.tech.paolu.repository.jooq.tables.DecryptLog; +import jj.tech.paolu.repository.jooq.tables.DownloadLog; +import jj.tech.paolu.repository.jooq.tables.FilesApply; +import jj.tech.paolu.repository.jooq.tables.FilesApplyCheckRecord; +import jj.tech.paolu.repository.jooq.tables.FilesApplyDirectoryDocs; +import jj.tech.paolu.repository.jooq.tables.FilesApplyDocs; +import jj.tech.paolu.repository.jooq.tables.FilesApplyDownloadRecord; +import jj.tech.paolu.repository.jooq.tables.Project; +import jj.tech.paolu.repository.jooq.tables.ReadLog; +import jj.tech.paolu.repository.jooq.tables.SharedRuleConfig; +import jj.tech.paolu.repository.jooq.tables.SharedSynAll; +import jj.tech.paolu.repository.jooq.tables.SynDirectory; +import jj.tech.paolu.repository.jooq.tables.SynDirectoryFile; +import jj.tech.paolu.repository.jooq.tables.SynFile; +import jj.tech.paolu.repository.jooq.tables.SysAdmin; +import jj.tech.paolu.repository.jooq.tables.SysAdminRole; +import jj.tech.paolu.repository.jooq.tables.SysAdminWeid; +import jj.tech.paolu.repository.jooq.tables.SysArea; +import jj.tech.paolu.repository.jooq.tables.SysConfig; +import jj.tech.paolu.repository.jooq.tables.SysMenu; +import jj.tech.paolu.repository.jooq.tables.SysOrg; +import jj.tech.paolu.repository.jooq.tables.SysRole; +import jj.tech.paolu.repository.jooq.tables.SysRoleMenu; +import jj.tech.paolu.repository.jooq.tables.SysRoleSign; +import jj.tech.paolu.repository.jooq.tables.SysRoleUrl; +import jj.tech.paolu.repository.jooq.tables.SysUrls; + +import org.jooq.Catalog; +import org.jooq.Table; +import org.jooq.impl.SchemaImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class Public extends SchemaImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public + */ + public static final Public PUBLIC = new Public(); + + /** + * 从电子档案系统同步档案目录数据的过程日志 + */ + public final ArchiveSynLog ARCHIVE_SYN_LOG = ArchiveSynLog.ARCHIVE_SYN_LOG; + + /** + * The table public.certificate_apply. + */ + public final CertificateApply CERTIFICATE_APPLY = CertificateApply.CERTIFICATE_APPLY; + + /** + * The table public.certificate_apply_record. + */ + public final CertificateApplyRecord CERTIFICATE_APPLY_RECORD = CertificateApplyRecord.CERTIFICATE_APPLY_RECORD; + + /** + * The table public.certificate_detail. + */ + public final CertificateDetail CERTIFICATE_DETAIL = CertificateDetail.CERTIFICATE_DETAIL; + + /** + * 解密情况 + */ + public final DecryptLog DECRYPT_LOG = DecryptLog.DECRYPT_LOG; + + /** + * 下载行为记录 + */ + public final DownloadLog DOWNLOAD_LOG = DownloadLog.DOWNLOAD_LOG; + + /** + * The table public.files_apply. + */ + public final FilesApply FILES_APPLY = FilesApply.FILES_APPLY; + + /** + * The table public.files_apply_check_record. + */ + public final FilesApplyCheckRecord FILES_APPLY_CHECK_RECORD = FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD; + + /** + * The table public.files_apply_directory_docs. + */ + public final FilesApplyDirectoryDocs FILES_APPLY_DIRECTORY_DOCS = FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS; + + /** + * The table public.files_apply_docs. + */ + public final FilesApplyDocs FILES_APPLY_DOCS = FilesApplyDocs.FILES_APPLY_DOCS; + + /** + * The table public.files_apply_download_record. + */ + public final FilesApplyDownloadRecord FILES_APPLY_DOWNLOAD_RECORD = FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD; + + /** + * The table public.project. + */ + public final Project PROJECT = Project.PROJECT; + + /** + * 阅读情况 + */ + public final ReadLog READ_LOG = ReadLog.READ_LOG; + + /** + * The table public.shared_rule_config. + */ + public final SharedRuleConfig SHARED_RULE_CONFIG = SharedRuleConfig.SHARED_RULE_CONFIG; + + /** + * The table public.shared_syn_all. + */ + public final SharedSynAll SHARED_SYN_ALL = SharedSynAll.SHARED_SYN_ALL; + + /** + * The table public.syn_directory. + */ + public final SynDirectory SYN_DIRECTORY = SynDirectory.SYN_DIRECTORY; + + /** + * The table public.syn_directory_file. + */ + public final SynDirectoryFile SYN_DIRECTORY_FILE = SynDirectoryFile.SYN_DIRECTORY_FILE; + + /** + * The table public.syn_file. + */ + public final SynFile SYN_FILE = SynFile.SYN_FILE; + + /** + * The table public.sys_admin. + */ + public final SysAdmin SYS_ADMIN = SysAdmin.SYS_ADMIN; + + /** + * The table public.sys_admin_role. + */ + public final SysAdminRole SYS_ADMIN_ROLE = SysAdminRole.SYS_ADMIN_ROLE; + + /** + * The table public.sys_admin_weid. + */ + public final SysAdminWeid SYS_ADMIN_WEID = SysAdminWeid.SYS_ADMIN_WEID; + + /** + * The table public.sys_area. + */ + public final SysArea SYS_AREA = SysArea.SYS_AREA; + + /** + * The table public.sys_config. + */ + public final SysConfig SYS_CONFIG = SysConfig.SYS_CONFIG; + + /** + * The table public.sys_menu. + */ + public final SysMenu SYS_MENU = SysMenu.SYS_MENU; + + /** + * The table public.sys_org. + */ + public final SysOrg SYS_ORG = SysOrg.SYS_ORG; + + /** + * The table public.sys_role. + */ + public final SysRole SYS_ROLE = SysRole.SYS_ROLE; + + /** + * The table public.sys_role_menu. + */ + public final SysRoleMenu SYS_ROLE_MENU = SysRoleMenu.SYS_ROLE_MENU; + + /** + * The table public.sys_role_sign. + */ + public final SysRoleSign SYS_ROLE_SIGN = SysRoleSign.SYS_ROLE_SIGN; + + /** + * The table public.sys_role_url. + */ + public final SysRoleUrl SYS_ROLE_URL = SysRoleUrl.SYS_ROLE_URL; + + /** + * The table public.sys_urls. + */ + public final SysUrls SYS_URLS = SysUrls.SYS_URLS; + + /** + * No further instances allowed + */ + private Public() { + super("public", null); + } + + + @Override + public Catalog getCatalog() { + return DefaultCatalog.DEFAULT_CATALOG; + } + + @Override + public final List> getTables() { + return Arrays.asList( + ArchiveSynLog.ARCHIVE_SYN_LOG, + CertificateApply.CERTIFICATE_APPLY, + CertificateApplyRecord.CERTIFICATE_APPLY_RECORD, + CertificateDetail.CERTIFICATE_DETAIL, + DecryptLog.DECRYPT_LOG, + DownloadLog.DOWNLOAD_LOG, + FilesApply.FILES_APPLY, + FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD, + FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS, + FilesApplyDocs.FILES_APPLY_DOCS, + FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD, + Project.PROJECT, + ReadLog.READ_LOG, + SharedRuleConfig.SHARED_RULE_CONFIG, + SharedSynAll.SHARED_SYN_ALL, + SynDirectory.SYN_DIRECTORY, + SynDirectoryFile.SYN_DIRECTORY_FILE, + SynFile.SYN_FILE, + SysAdmin.SYS_ADMIN, + SysAdminRole.SYS_ADMIN_ROLE, + SysAdminWeid.SYS_ADMIN_WEID, + SysArea.SYS_AREA, + SysConfig.SYS_CONFIG, + SysMenu.SYS_MENU, + SysOrg.SYS_ORG, + SysRole.SYS_ROLE, + SysRoleMenu.SYS_ROLE_MENU, + SysRoleSign.SYS_ROLE_SIGN, + SysRoleUrl.SYS_ROLE_URL, + SysUrls.SYS_URLS + ); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/Tables.java b/src/main/java/jj/tech/paolu/repository/jooq/Tables.java new file mode 100644 index 0000000..bd78e2a --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/Tables.java @@ -0,0 +1,194 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq; + + +import jj.tech.paolu.repository.jooq.tables.ArchiveSynLog; +import jj.tech.paolu.repository.jooq.tables.CertificateApply; +import jj.tech.paolu.repository.jooq.tables.CertificateApplyRecord; +import jj.tech.paolu.repository.jooq.tables.CertificateDetail; +import jj.tech.paolu.repository.jooq.tables.DecryptLog; +import jj.tech.paolu.repository.jooq.tables.DownloadLog; +import jj.tech.paolu.repository.jooq.tables.FilesApply; +import jj.tech.paolu.repository.jooq.tables.FilesApplyCheckRecord; +import jj.tech.paolu.repository.jooq.tables.FilesApplyDirectoryDocs; +import jj.tech.paolu.repository.jooq.tables.FilesApplyDocs; +import jj.tech.paolu.repository.jooq.tables.FilesApplyDownloadRecord; +import jj.tech.paolu.repository.jooq.tables.Project; +import jj.tech.paolu.repository.jooq.tables.ReadLog; +import jj.tech.paolu.repository.jooq.tables.SharedRuleConfig; +import jj.tech.paolu.repository.jooq.tables.SharedSynAll; +import jj.tech.paolu.repository.jooq.tables.SynDirectory; +import jj.tech.paolu.repository.jooq.tables.SynDirectoryFile; +import jj.tech.paolu.repository.jooq.tables.SynFile; +import jj.tech.paolu.repository.jooq.tables.SysAdmin; +import jj.tech.paolu.repository.jooq.tables.SysAdminRole; +import jj.tech.paolu.repository.jooq.tables.SysAdminWeid; +import jj.tech.paolu.repository.jooq.tables.SysArea; +import jj.tech.paolu.repository.jooq.tables.SysConfig; +import jj.tech.paolu.repository.jooq.tables.SysMenu; +import jj.tech.paolu.repository.jooq.tables.SysOrg; +import jj.tech.paolu.repository.jooq.tables.SysRole; +import jj.tech.paolu.repository.jooq.tables.SysRoleMenu; +import jj.tech.paolu.repository.jooq.tables.SysRoleSign; +import jj.tech.paolu.repository.jooq.tables.SysRoleUrl; +import jj.tech.paolu.repository.jooq.tables.SysUrls; + + +/** + * Convenience access to all tables in public. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class Tables { + + /** + * 从电子档案系统同步档案目录数据的过程日志 + */ + public static final ArchiveSynLog ARCHIVE_SYN_LOG = ArchiveSynLog.ARCHIVE_SYN_LOG; + + /** + * The table public.certificate_apply. + */ + public static final CertificateApply CERTIFICATE_APPLY = CertificateApply.CERTIFICATE_APPLY; + + /** + * The table public.certificate_apply_record. + */ + public static final CertificateApplyRecord CERTIFICATE_APPLY_RECORD = CertificateApplyRecord.CERTIFICATE_APPLY_RECORD; + + /** + * The table public.certificate_detail. + */ + public static final CertificateDetail CERTIFICATE_DETAIL = CertificateDetail.CERTIFICATE_DETAIL; + + /** + * 解密情况 + */ + public static final DecryptLog DECRYPT_LOG = DecryptLog.DECRYPT_LOG; + + /** + * 下载行为记录 + */ + public static final DownloadLog DOWNLOAD_LOG = DownloadLog.DOWNLOAD_LOG; + + /** + * The table public.files_apply. + */ + public static final FilesApply FILES_APPLY = FilesApply.FILES_APPLY; + + /** + * The table public.files_apply_check_record. + */ + public static final FilesApplyCheckRecord FILES_APPLY_CHECK_RECORD = FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD; + + /** + * The table public.files_apply_directory_docs. + */ + public static final FilesApplyDirectoryDocs FILES_APPLY_DIRECTORY_DOCS = FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS; + + /** + * The table public.files_apply_docs. + */ + public static final FilesApplyDocs FILES_APPLY_DOCS = FilesApplyDocs.FILES_APPLY_DOCS; + + /** + * The table public.files_apply_download_record. + */ + public static final FilesApplyDownloadRecord FILES_APPLY_DOWNLOAD_RECORD = FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD; + + /** + * The table public.project. + */ + public static final Project PROJECT = Project.PROJECT; + + /** + * 阅读情况 + */ + public static final ReadLog READ_LOG = ReadLog.READ_LOG; + + /** + * The table public.shared_rule_config. + */ + public static final SharedRuleConfig SHARED_RULE_CONFIG = SharedRuleConfig.SHARED_RULE_CONFIG; + + /** + * The table public.shared_syn_all. + */ + public static final SharedSynAll SHARED_SYN_ALL = SharedSynAll.SHARED_SYN_ALL; + + /** + * The table public.syn_directory. + */ + public static final SynDirectory SYN_DIRECTORY = SynDirectory.SYN_DIRECTORY; + + /** + * The table public.syn_directory_file. + */ + public static final SynDirectoryFile SYN_DIRECTORY_FILE = SynDirectoryFile.SYN_DIRECTORY_FILE; + + /** + * The table public.syn_file. + */ + public static final SynFile SYN_FILE = SynFile.SYN_FILE; + + /** + * The table public.sys_admin. + */ + public static final SysAdmin SYS_ADMIN = SysAdmin.SYS_ADMIN; + + /** + * The table public.sys_admin_role. + */ + public static final SysAdminRole SYS_ADMIN_ROLE = SysAdminRole.SYS_ADMIN_ROLE; + + /** + * The table public.sys_admin_weid. + */ + public static final SysAdminWeid SYS_ADMIN_WEID = SysAdminWeid.SYS_ADMIN_WEID; + + /** + * The table public.sys_area. + */ + public static final SysArea SYS_AREA = SysArea.SYS_AREA; + + /** + * The table public.sys_config. + */ + public static final SysConfig SYS_CONFIG = SysConfig.SYS_CONFIG; + + /** + * The table public.sys_menu. + */ + public static final SysMenu SYS_MENU = SysMenu.SYS_MENU; + + /** + * The table public.sys_org. + */ + public static final SysOrg SYS_ORG = SysOrg.SYS_ORG; + + /** + * The table public.sys_role. + */ + public static final SysRole SYS_ROLE = SysRole.SYS_ROLE; + + /** + * The table public.sys_role_menu. + */ + public static final SysRoleMenu SYS_ROLE_MENU = SysRoleMenu.SYS_ROLE_MENU; + + /** + * The table public.sys_role_sign. + */ + public static final SysRoleSign SYS_ROLE_SIGN = SysRoleSign.SYS_ROLE_SIGN; + + /** + * The table public.sys_role_url. + */ + public static final SysRoleUrl SYS_ROLE_URL = SysRoleUrl.SYS_ROLE_URL; + + /** + * The table public.sys_urls. + */ + public static final SysUrls SYS_URLS = SysUrls.SYS_URLS; +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/ArchiveSynLog.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/ArchiveSynLog.java new file mode 100644 index 0000000..44cc96e --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/ArchiveSynLog.java @@ -0,0 +1,223 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables; + + +import java.time.LocalDateTime; +import java.util.function.Function; + +import jj.tech.paolu.repository.jooq.Keys; +import jj.tech.paolu.repository.jooq.Public; +import jj.tech.paolu.repository.jooq.tables.records.ArchiveSynLogRecord; + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Function13; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Records; +import org.jooq.Row13; +import org.jooq.Schema; +import org.jooq.SelectField; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * 从电子档案系统同步档案目录数据的过程日志 + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class ArchiveSynLog extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.archive_syn_log + */ + public static final ArchiveSynLog ARCHIVE_SYN_LOG = new ArchiveSynLog(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return ArchiveSynLogRecord.class; + } + + /** + * The column public.archive_syn_log.start_time. + */ + public final TableField START_TIME = createField(DSL.name("start_time"), SQLDataType.LOCALDATETIME(6).nullable(false), this, ""); + + /** + * The column public.archive_syn_log.insert_dir_count. + */ + public final TableField INSERT_DIR_COUNT = createField(DSL.name("insert_dir_count"), SQLDataType.BIGINT.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.BIGINT)), this, ""); + + /** + * The column public.archive_syn_log.update_dir_count. + */ + public final TableField UPDATE_DIR_COUNT = createField(DSL.name("update_dir_count"), SQLDataType.BIGINT.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.BIGINT)), this, ""); + + /** + * The column public.archive_syn_log.insert_dirfile_count. + */ + public final TableField INSERT_DIRFILE_COUNT = createField(DSL.name("insert_dirfile_count"), SQLDataType.BIGINT.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.BIGINT)), this, ""); + + /** + * The column public.archive_syn_log.update_dirfile_count. + */ + public final TableField UPDATE_DIRFILE_COUNT = createField(DSL.name("update_dirfile_count"), SQLDataType.BIGINT.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.BIGINT)), this, ""); + + /** + * The column public.archive_syn_log.insert_file_count. + */ + public final TableField INSERT_FILE_COUNT = createField(DSL.name("insert_file_count"), SQLDataType.BIGINT.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.BIGINT)), this, ""); + + /** + * The column public.archive_syn_log.update_file_count. + */ + public final TableField UPDATE_FILE_COUNT = createField(DSL.name("update_file_count"), SQLDataType.BIGINT.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.BIGINT)), this, ""); + + /** + * The column public.archive_syn_log.description. + */ + public final TableField DESCRIPTION = createField(DSL.name("description"), SQLDataType.VARCHAR, this, ""); + + /** + * The column public.archive_syn_log.run_result. + */ + public final TableField RUN_RESULT = createField(DSL.name("run_result"), SQLDataType.VARCHAR, this, ""); + + /** + * The column public.archive_syn_log.update_timestamp. + */ + public final TableField UPDATE_TIMESTAMP = createField(DSL.name("update_timestamp"), SQLDataType.BIGINT.nullable(false).defaultValue(DSL.field(DSL.raw("0"), SQLDataType.BIGINT)), this, ""); + + /** + * The column public.archive_syn_log.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR.nullable(false), this, ""); + + /** + * The column public.archive_syn_log.next_update_timestamp. + */ + public final TableField NEXT_UPDATE_TIMESTAMP = createField(DSL.name("next_update_timestamp"), SQLDataType.BIGINT, this, ""); + + /** + * The column public.archive_syn_log.end_time. + */ + public final TableField END_TIME = createField(DSL.name("end_time"), SQLDataType.LOCALDATETIME(6).nullable(false), this, ""); + + private ArchiveSynLog(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private ArchiveSynLog(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment("从电子档案系统同步档案目录数据的过程日志"), TableOptions.table()); + } + + /** + * Create an aliased public.archive_syn_log table reference + */ + public ArchiveSynLog(String alias) { + this(DSL.name(alias), ARCHIVE_SYN_LOG); + } + + /** + * Create an aliased public.archive_syn_log table reference + */ + public ArchiveSynLog(Name alias) { + this(alias, ARCHIVE_SYN_LOG); + } + + /** + * Create a public.archive_syn_log table reference + */ + public ArchiveSynLog() { + this(DSL.name("archive_syn_log"), null); + } + + public ArchiveSynLog(Table child, ForeignKey key) { + super(child, key, ARCHIVE_SYN_LOG); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.ARCHIVE_SYN_LOG_PKEY; + } + + @Override + public ArchiveSynLog as(String alias) { + return new ArchiveSynLog(DSL.name(alias), this); + } + + @Override + public ArchiveSynLog as(Name alias) { + return new ArchiveSynLog(alias, this); + } + + @Override + public ArchiveSynLog as(Table alias) { + return new ArchiveSynLog(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public ArchiveSynLog rename(String name) { + return new ArchiveSynLog(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public ArchiveSynLog rename(Name name) { + return new ArchiveSynLog(name, null); + } + + /** + * Rename this table + */ + @Override + public ArchiveSynLog rename(Table name) { + return new ArchiveSynLog(name.getQualifiedName(), null); + } + + // ------------------------------------------------------------------------- + // Row13 type methods + // ------------------------------------------------------------------------- + + @Override + public Row13 fieldsRow() { + return (Row13) super.fieldsRow(); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Function)}. + */ + public SelectField mapping(Function13 from) { + return convertFrom(Records.mapping(from)); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Class, + * Function)}. + */ + public SelectField mapping(Class toType, Function13 from) { + return convertFrom(toType, Records.mapping(from)); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/CertificateApply.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/CertificateApply.java new file mode 100644 index 0000000..bc8252a --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/CertificateApply.java @@ -0,0 +1,250 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables; + + +import java.time.LocalDateTime; +import java.util.Arrays; +import java.util.List; +import java.util.function.Function; + +import jj.tech.paolu.repository.jooq.Keys; +import jj.tech.paolu.repository.jooq.Public; +import jj.tech.paolu.repository.jooq.tables.records.CertificateApplyRecord; + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Function17; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Records; +import org.jooq.Row17; +import org.jooq.Schema; +import org.jooq.SelectField; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class CertificateApply extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.certificate_apply + */ + public static final CertificateApply CERTIFICATE_APPLY = new CertificateApply(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return CertificateApplyRecord.class; + } + + /** + * The column public.certificate_apply.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.certificate_apply.is_org. + */ + public final TableField IS_ORG = createField(DSL.name("is_org"), SQLDataType.INTEGER.nullable(false).defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.certificate_apply.user_id. + */ + public final TableField USER_ID = createField(DSL.name("user_id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.certificate_apply.user_name. + */ + public final TableField USER_NAME = createField(DSL.name("user_name"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.certificate_apply.user_real_name. + */ + public final TableField USER_REAL_NAME = createField(DSL.name("user_real_name"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.certificate_apply.user_phone. + */ + public final TableField USER_PHONE = createField(DSL.name("user_phone"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.certificate_apply.user_org_id. + */ + public final TableField USER_ORG_ID = createField(DSL.name("user_org_id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.certificate_apply.user_org_name. + */ + public final TableField USER_ORG_NAME = createField(DSL.name("user_org_name"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.certificate_apply.apply_type. + */ + public final TableField APPLY_TYPE = createField(DSL.name("apply_type"), SQLDataType.INTEGER.nullable(false).defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.certificate_apply.status. + */ + public final TableField STATUS = createField(DSL.name("status"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.certificate_apply.apply_time. + */ + public final TableField APPLY_TIME = createField(DSL.name("apply_time"), SQLDataType.LOCALDATETIME(6), this, ""); + + /** + * The column public.certificate_apply.apply_finish_time. + */ + public final TableField APPLY_FINISH_TIME = createField(DSL.name("apply_finish_time"), SQLDataType.LOCALDATETIME(6), this, ""); + + /** + * The column public.certificate_apply.apply_reason. + */ + public final TableField APPLY_REASON = createField(DSL.name("apply_reason"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column public.certificate_apply.next_check_org_id. + */ + public final TableField NEXT_CHECK_ORG_ID = createField(DSL.name("next_check_org_id"), SQLDataType.VARCHAR, this, ""); + + /** + * The column public.certificate_apply.end_check_org_id. + */ + public final TableField END_CHECK_ORG_ID = createField(DSL.name("end_check_org_id"), SQLDataType.VARCHAR, this, ""); + + /** + * The column public.certificate_apply.cer_id. + */ + public final TableField CER_ID = createField(DSL.name("cer_id"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.certificate_apply.company_id. + */ + public final TableField COMPANY_ID = createField(DSL.name("company_id"), SQLDataType.VARCHAR(32).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + private CertificateApply(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private CertificateApply(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table()); + } + + /** + * Create an aliased public.certificate_apply table reference + */ + public CertificateApply(String alias) { + this(DSL.name(alias), CERTIFICATE_APPLY); + } + + /** + * Create an aliased public.certificate_apply table reference + */ + public CertificateApply(Name alias) { + this(alias, CERTIFICATE_APPLY); + } + + /** + * Create a public.certificate_apply table reference + */ + public CertificateApply() { + this(DSL.name("certificate_apply"), null); + } + + public CertificateApply(Table child, ForeignKey key) { + super(child, key, CERTIFICATE_APPLY); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.CERTIFICATE_APPLY_PKEY; + } + + @Override + public List> getUniqueKeys() { + return Arrays.asList(Keys.CERTIFICATE_APPLY_CER_ID_KEY); + } + + @Override + public CertificateApply as(String alias) { + return new CertificateApply(DSL.name(alias), this); + } + + @Override + public CertificateApply as(Name alias) { + return new CertificateApply(alias, this); + } + + @Override + public CertificateApply as(Table alias) { + return new CertificateApply(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public CertificateApply rename(String name) { + return new CertificateApply(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public CertificateApply rename(Name name) { + return new CertificateApply(name, null); + } + + /** + * Rename this table + */ + @Override + public CertificateApply rename(Table name) { + return new CertificateApply(name.getQualifiedName(), null); + } + + // ------------------------------------------------------------------------- + // Row17 type methods + // ------------------------------------------------------------------------- + + @Override + public Row17 fieldsRow() { + return (Row17) super.fieldsRow(); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Function)}. + */ + public SelectField mapping(Function17 from) { + return convertFrom(Records.mapping(from)); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Class, + * Function)}. + */ + public SelectField mapping(Class toType, Function17 from) { + return convertFrom(toType, Records.mapping(from)); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/CertificateApplyRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/CertificateApplyRecord.java new file mode 100644 index 0000000..0d439a8 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/CertificateApplyRecord.java @@ -0,0 +1,240 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables; + + +import java.time.LocalDateTime; +import java.util.function.Function; + +import jj.tech.paolu.repository.jooq.Keys; +import jj.tech.paolu.repository.jooq.Public; +import jj.tech.paolu.repository.jooq.tables.records.CertificateApplyRecordRecord; + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Function15; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Records; +import org.jooq.Row15; +import org.jooq.Schema; +import org.jooq.SelectField; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class CertificateApplyRecord extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.certificate_apply_record + */ + public static final CertificateApplyRecord CERTIFICATE_APPLY_RECORD = new CertificateApplyRecord(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return CertificateApplyRecordRecord.class; + } + + /** + * The column public.certificate_apply_record.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column + * public.certificate_apply_record.certificate_apply_id. + */ + public final TableField CERTIFICATE_APPLY_ID = createField(DSL.name("certificate_apply_id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column + * public.certificate_apply_record.certificate_apply_user_id. + */ + public final TableField CERTIFICATE_APPLY_USER_ID = createField(DSL.name("certificate_apply_user_id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column + * public.certificate_apply_record.certificate_apply_user_org_id. + */ + public final TableField CERTIFICATE_APPLY_USER_ORG_ID = createField(DSL.name("certificate_apply_user_org_id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.certificate_apply_record.is_org. + */ + public final TableField IS_ORG = createField(DSL.name("is_org"), SQLDataType.INTEGER.nullable(false).defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.certificate_apply_record.apply_type. + */ + public final TableField APPLY_TYPE = createField(DSL.name("apply_type"), SQLDataType.INTEGER.nullable(false).defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.certificate_apply_record.check_user_id. + */ + public final TableField CHECK_USER_ID = createField(DSL.name("check_user_id"), SQLDataType.VARCHAR, this, ""); + + /** + * The column public.certificate_apply_record.check_user_name. + */ + public final TableField CHECK_USER_NAME = createField(DSL.name("check_user_name"), SQLDataType.VARCHAR, this, ""); + + /** + * The column public.certificate_apply_record.check_org_id. + */ + public final TableField CHECK_ORG_ID = createField(DSL.name("check_org_id"), SQLDataType.VARCHAR, this, ""); + + /** + * The column public.certificate_apply_record.check_org_name. + */ + public final TableField CHECK_ORG_NAME = createField(DSL.name("check_org_name"), SQLDataType.VARCHAR, this, ""); + + /** + * The column public.certificate_apply_record.check_describe. + */ + public final TableField CHECK_DESCRIBE = createField(DSL.name("check_describe"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column public.certificate_apply_record.check_status. + */ + public final TableField CHECK_STATUS = createField(DSL.name("check_status"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("1"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.certificate_apply_record.check_time. + */ + public final TableField CHECK_TIME = createField(DSL.name("check_time"), SQLDataType.LOCALDATETIME(6), this, ""); + + /** + * The column + * public.certificate_apply_record.next_check_org_id. + */ + public final TableField NEXT_CHECK_ORG_ID = createField(DSL.name("next_check_org_id"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column + * public.certificate_apply_record.next_check_org_name. + */ + public final TableField NEXT_CHECK_ORG_NAME = createField(DSL.name("next_check_org_name"), SQLDataType.VARCHAR(32), this, ""); + + private CertificateApplyRecord(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private CertificateApplyRecord(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table()); + } + + /** + * Create an aliased public.certificate_apply_record table + * reference + */ + public CertificateApplyRecord(String alias) { + this(DSL.name(alias), CERTIFICATE_APPLY_RECORD); + } + + /** + * Create an aliased public.certificate_apply_record table + * reference + */ + public CertificateApplyRecord(Name alias) { + this(alias, CERTIFICATE_APPLY_RECORD); + } + + /** + * Create a public.certificate_apply_record table reference + */ + public CertificateApplyRecord() { + this(DSL.name("certificate_apply_record"), null); + } + + public CertificateApplyRecord(Table child, ForeignKey key) { + super(child, key, CERTIFICATE_APPLY_RECORD); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.CERTIFICATE_APPLY_RECORD_PKEY; + } + + @Override + public CertificateApplyRecord as(String alias) { + return new CertificateApplyRecord(DSL.name(alias), this); + } + + @Override + public CertificateApplyRecord as(Name alias) { + return new CertificateApplyRecord(alias, this); + } + + @Override + public CertificateApplyRecord as(Table alias) { + return new CertificateApplyRecord(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public CertificateApplyRecord rename(String name) { + return new CertificateApplyRecord(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public CertificateApplyRecord rename(Name name) { + return new CertificateApplyRecord(name, null); + } + + /** + * Rename this table + */ + @Override + public CertificateApplyRecord rename(Table name) { + return new CertificateApplyRecord(name.getQualifiedName(), null); + } + + // ------------------------------------------------------------------------- + // Row15 type methods + // ------------------------------------------------------------------------- + + @Override + public Row15 fieldsRow() { + return (Row15) super.fieldsRow(); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Function)}. + */ + public SelectField mapping(Function15 from) { + return convertFrom(Records.mapping(from)); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Class, + * Function)}. + */ + public SelectField mapping(Class toType, Function15 from) { + return convertFrom(toType, Records.mapping(from)); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/CertificateDetail.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/CertificateDetail.java new file mode 100644 index 0000000..b815158 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/CertificateDetail.java @@ -0,0 +1,228 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables; + + +import java.time.LocalDateTime; +import java.util.function.Function; + +import jj.tech.paolu.repository.jooq.Keys; +import jj.tech.paolu.repository.jooq.Public; +import jj.tech.paolu.repository.jooq.tables.records.CertificateDetailRecord; + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Function14; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Records; +import org.jooq.Row14; +import org.jooq.Schema; +import org.jooq.SelectField; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class CertificateDetail extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.certificate_detail + */ + public static final CertificateDetail CERTIFICATE_DETAIL = new CertificateDetail(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return CertificateDetailRecord.class; + } + + /** + * The column public.certificate_detail.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.certificate_detail.certificate_apply_id. + */ + public final TableField CERTIFICATE_APPLY_ID = createField(DSL.name("certificate_apply_id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.certificate_detail.work_start_time. + */ + public final TableField WORK_START_TIME = createField(DSL.name("work_start_time"), SQLDataType.LOCALDATETIME(6), this, ""); + + /** + * The column public.certificate_detail.work_end_time. + */ + public final TableField WORK_END_TIME = createField(DSL.name("work_end_time"), SQLDataType.LOCALDATETIME(6), this, ""); + + /** + * The column public.certificate_detail.status. + */ + public final TableField STATUS = createField(DSL.name("status"), SQLDataType.INTEGER.nullable(false).defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.certificate_detail.cert_file_content. + */ + public final TableField CERT_FILE_CONTENT = createField(DSL.name("cert_file_content"), SQLDataType.VARCHAR(2048), this, ""); + + /** + * The column public.certificate_detail.is_up_chain. + */ + public final TableField IS_UP_CHAIN = createField(DSL.name("is_up_chain"), SQLDataType.INTEGER.nullable(false).defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.certificate_detail.weid. + */ + public final TableField WEID = createField(DSL.name("weid"), SQLDataType.VARCHAR(64), this, ""); + + /** + * The column public.certificate_detail.private_key_hex_str. + */ + public final TableField PRIVATE_KEY_HEX_STR = createField(DSL.name("private_key_hex_str"), SQLDataType.VARCHAR(128), this, ""); + + /** + * The column public.certificate_detail.x509_serial_number. + */ + public final TableField X509_SERIAL_NUMBER = createField(DSL.name("x509_serial_number"), SQLDataType.VARCHAR(256), this, ""); + + /** + * The column public.certificate_detail.x509_subject. + */ + public final TableField X509_SUBJECT = createField(DSL.name("x509_subject"), SQLDataType.VARCHAR(256), this, ""); + + /** + * The column public.certificate_detail.x509_issuer. + */ + public final TableField X509_ISSUER = createField(DSL.name("x509_issuer"), SQLDataType.VARCHAR(256), this, ""); + + /** + * The column public.certificate_detail.x509_public_key. + */ + public final TableField X509_PUBLIC_KEY = createField(DSL.name("x509_public_key"), SQLDataType.VARCHAR(256), this, ""); + + /** + * The column public.certificate_detail.x509_sig_alg_name. + */ + public final TableField X509_SIG_ALG_NAME = createField(DSL.name("x509_sig_alg_name"), SQLDataType.VARCHAR(256), this, ""); + + private CertificateDetail(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private CertificateDetail(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table()); + } + + /** + * Create an aliased public.certificate_detail table reference + */ + public CertificateDetail(String alias) { + this(DSL.name(alias), CERTIFICATE_DETAIL); + } + + /** + * Create an aliased public.certificate_detail table reference + */ + public CertificateDetail(Name alias) { + this(alias, CERTIFICATE_DETAIL); + } + + /** + * Create a public.certificate_detail table reference + */ + public CertificateDetail() { + this(DSL.name("certificate_detail"), null); + } + + public CertificateDetail(Table child, ForeignKey key) { + super(child, key, CERTIFICATE_DETAIL); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.CERTIFICATE_DETAIL_PKEY; + } + + @Override + public CertificateDetail as(String alias) { + return new CertificateDetail(DSL.name(alias), this); + } + + @Override + public CertificateDetail as(Name alias) { + return new CertificateDetail(alias, this); + } + + @Override + public CertificateDetail as(Table alias) { + return new CertificateDetail(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public CertificateDetail rename(String name) { + return new CertificateDetail(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public CertificateDetail rename(Name name) { + return new CertificateDetail(name, null); + } + + /** + * Rename this table + */ + @Override + public CertificateDetail rename(Table name) { + return new CertificateDetail(name.getQualifiedName(), null); + } + + // ------------------------------------------------------------------------- + // Row14 type methods + // ------------------------------------------------------------------------- + + @Override + public Row14 fieldsRow() { + return (Row14) super.fieldsRow(); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Function)}. + */ + public SelectField mapping(Function14 from) { + return convertFrom(Records.mapping(from)); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Class, + * Function)}. + */ + public SelectField mapping(Class toType, Function14 from) { + return convertFrom(toType, Records.mapping(from)); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/DecryptLog.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/DecryptLog.java new file mode 100644 index 0000000..b8dda3f --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/DecryptLog.java @@ -0,0 +1,203 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables; + + +import java.time.LocalDateTime; +import java.util.function.Function; + +import jj.tech.paolu.repository.jooq.Keys; +import jj.tech.paolu.repository.jooq.Public; +import jj.tech.paolu.repository.jooq.tables.records.DecryptLogRecord; + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Function9; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Records; +import org.jooq.Row9; +import org.jooq.Schema; +import org.jooq.SelectField; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * 解密情况 + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class DecryptLog extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.decrypt_log + */ + public static final DecryptLog DECRYPT_LOG = new DecryptLog(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return DecryptLogRecord.class; + } + + /** + * The column public.decrypt_log.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.decrypt_log.weid. 申请人id + */ + public final TableField WEID = createField(DSL.name("weid"), SQLDataType.VARCHAR(255), this, "申请人id"); + + /** + * The column public.decrypt_log.content_type. 档案类型(0件/1件内文件) + */ + public final TableField CONTENT_TYPE = createField(DSL.name("content_type"), SQLDataType.INTEGER, this, "档案类型(0件/1件内文件)"); + + /** + * The column public.decrypt_log.content_id. 档案id + */ + public final TableField CONTENT_ID = createField(DSL.name("content_id"), SQLDataType.VARCHAR(255), this, "档案id"); + + /** + * The column public.decrypt_log.dec_time. 解密时间 + */ + public final TableField DEC_TIME = createField(DSL.name("dec_time"), SQLDataType.LOCALDATETIME(6), this, "解密时间"); + + /** + * The column public.decrypt_log.location. 区域 + */ + public final TableField LOCATION = createField(DSL.name("location"), SQLDataType.VARCHAR(255), this, "区域"); + + /** + * The column public.decrypt_log.sm9hibeid. 秘钥id + */ + public final TableField SM9HIBEID = createField(DSL.name("sm9hibeid"), SQLDataType.VARCHAR(255), this, "秘钥id"); + + /** + * The column public.decrypt_log.status. 解密结果(0失败1成功) + */ + public final TableField STATUS = createField(DSL.name("status"), SQLDataType.INTEGER, this, "解密结果(0失败1成功)"); + + /** + * The column public.decrypt_log.sign. 数字签名 + */ + public final TableField SIGN = createField(DSL.name("sign"), SQLDataType.VARCHAR(255), this, "数字签名"); + + private DecryptLog(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private DecryptLog(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment("解密情况"), TableOptions.table()); + } + + /** + * Create an aliased public.decrypt_log table reference + */ + public DecryptLog(String alias) { + this(DSL.name(alias), DECRYPT_LOG); + } + + /** + * Create an aliased public.decrypt_log table reference + */ + public DecryptLog(Name alias) { + this(alias, DECRYPT_LOG); + } + + /** + * Create a public.decrypt_log table reference + */ + public DecryptLog() { + this(DSL.name("decrypt_log"), null); + } + + public DecryptLog(Table child, ForeignKey key) { + super(child, key, DECRYPT_LOG); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.DECRYPT_PKEY; + } + + @Override + public DecryptLog as(String alias) { + return new DecryptLog(DSL.name(alias), this); + } + + @Override + public DecryptLog as(Name alias) { + return new DecryptLog(alias, this); + } + + @Override + public DecryptLog as(Table alias) { + return new DecryptLog(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public DecryptLog rename(String name) { + return new DecryptLog(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public DecryptLog rename(Name name) { + return new DecryptLog(name, null); + } + + /** + * Rename this table + */ + @Override + public DecryptLog rename(Table name) { + return new DecryptLog(name.getQualifiedName(), null); + } + + // ------------------------------------------------------------------------- + // Row9 type methods + // ------------------------------------------------------------------------- + + @Override + public Row9 fieldsRow() { + return (Row9) super.fieldsRow(); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Function)}. + */ + public SelectField mapping(Function9 from) { + return convertFrom(Records.mapping(from)); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Class, + * Function)}. + */ + public SelectField mapping(Class toType, Function9 from) { + return convertFrom(toType, Records.mapping(from)); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/DownloadLog.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/DownloadLog.java new file mode 100644 index 0000000..8602b63 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/DownloadLog.java @@ -0,0 +1,195 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables; + + +import java.time.LocalDateTime; +import java.util.function.Function; + +import jj.tech.paolu.repository.jooq.Keys; +import jj.tech.paolu.repository.jooq.Public; +import jj.tech.paolu.repository.jooq.tables.records.DownloadLogRecord; + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Function7; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Records; +import org.jooq.Row7; +import org.jooq.Schema; +import org.jooq.SelectField; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * 下载行为记录 + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class DownloadLog extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.download_log + */ + public static final DownloadLog DOWNLOAD_LOG = new DownloadLog(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return DownloadLogRecord.class; + } + + /** + * The column public.download_log.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.download_log.weid. weid + */ + public final TableField WEID = createField(DSL.name("weid"), SQLDataType.VARCHAR(32), this, "weid"); + + /** + * The column public.download_log.downloadtime. 下载时间 + */ + public final TableField DOWNLOADTIME = createField(DSL.name("downloadtime"), SQLDataType.LOCALDATETIME(0), this, "下载时间"); + + /** + * The column public.download_log.filenum. 下载文件数 + */ + public final TableField FILENUM = createField(DSL.name("filenum"), SQLDataType.INTEGER, this, "下载文件数"); + + /** + * The column public.download_log.content_type. + * 下载类型(1文件包/2单个附件(SyncFile)/3单个件(DirecotryFile)) + */ + public final TableField CONTENT_TYPE = createField(DSL.name("content_type"), SQLDataType.INTEGER, this, "下载类型(1文件包/2单个附件(SyncFile)/3单个件(DirecotryFile))"); + + /** + * The column public.download_log.contentid. + * 下载记录ID(如果是单个文件,就取ID,如果是包,就是包内包含的文件的ID列表) + */ + public final TableField CONTENTID = createField(DSL.name("contentid"), SQLDataType.VARCHAR(255), this, "下载记录ID(如果是单个文件,就取ID,如果是包,就是包内包含的文件的ID列表)"); + + /** + * The column public.download_log.sign. 数字签名 + */ + public final TableField SIGN = createField(DSL.name("sign"), SQLDataType.VARCHAR(255), this, "数字签名"); + + private DownloadLog(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private DownloadLog(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment("下载行为记录"), TableOptions.table()); + } + + /** + * Create an aliased public.download_log table reference + */ + public DownloadLog(String alias) { + this(DSL.name(alias), DOWNLOAD_LOG); + } + + /** + * Create an aliased public.download_log table reference + */ + public DownloadLog(Name alias) { + this(alias, DOWNLOAD_LOG); + } + + /** + * Create a public.download_log table reference + */ + public DownloadLog() { + this(DSL.name("download_log"), null); + } + + public DownloadLog(Table child, ForeignKey key) { + super(child, key, DOWNLOAD_LOG); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.DOWNLOAD_LOG_PKEY; + } + + @Override + public DownloadLog as(String alias) { + return new DownloadLog(DSL.name(alias), this); + } + + @Override + public DownloadLog as(Name alias) { + return new DownloadLog(alias, this); + } + + @Override + public DownloadLog as(Table alias) { + return new DownloadLog(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public DownloadLog rename(String name) { + return new DownloadLog(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public DownloadLog rename(Name name) { + return new DownloadLog(name, null); + } + + /** + * Rename this table + */ + @Override + public DownloadLog rename(Table name) { + return new DownloadLog(name.getQualifiedName(), null); + } + + // ------------------------------------------------------------------------- + // Row7 type methods + // ------------------------------------------------------------------------- + + @Override + public Row7 fieldsRow() { + return (Row7) super.fieldsRow(); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Function)}. + */ + public SelectField mapping(Function7 from) { + return convertFrom(Records.mapping(from)); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Class, + * Function)}. + */ + public SelectField mapping(Class toType, Function7 from) { + return convertFrom(toType, Records.mapping(from)); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/FilesApply.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/FilesApply.java new file mode 100644 index 0000000..ff4122b --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/FilesApply.java @@ -0,0 +1,366 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables; + + +import java.time.LocalDateTime; + +import jj.tech.paolu.repository.jooq.Keys; +import jj.tech.paolu.repository.jooq.Public; +import jj.tech.paolu.repository.jooq.tables.records.FilesApplyRecord; + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Schema; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class FilesApply extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.files_apply + */ + public static final FilesApply FILES_APPLY = new FilesApply(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return FilesApplyRecord.class; + } + + /** + * The column public.files_apply.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.files_apply.apply_user_id. + */ + public final TableField APPLY_USER_ID = createField(DSL.name("apply_user_id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.files_apply.apply_user_name. + */ + public final TableField APPLY_USER_NAME = createField(DSL.name("apply_user_name"), SQLDataType.VARCHAR(200).nullable(false), this, ""); + + /** + * The column public.files_apply.apply_user_phone. + */ + public final TableField APPLY_USER_PHONE = createField(DSL.name("apply_user_phone"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.files_apply.apply_user_email. + */ + public final TableField APPLY_USER_EMAIL = createField(DSL.name("apply_user_email"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.files_apply.apply_org_id. + */ + public final TableField APPLY_ORG_ID = createField(DSL.name("apply_org_id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.files_apply.apply_org_name. + */ + public final TableField APPLY_ORG_NAME = createField(DSL.name("apply_org_name"), SQLDataType.VARCHAR(200).nullable(false), this, ""); + + /** + * The column public.files_apply.apply_in_check_user_id. + */ + public final TableField APPLY_IN_CHECK_USER_ID = createField(DSL.name("apply_in_check_user_id"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.files_apply.apply_in_check_user_name. + */ + public final TableField APPLY_IN_CHECK_USER_NAME = createField(DSL.name("apply_in_check_user_name"), SQLDataType.VARCHAR(200).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply.apply_in_check_org_id. + */ + public final TableField APPLY_IN_CHECK_ORG_ID = createField(DSL.name("apply_in_check_org_id"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.files_apply.apply_in_check_org_name. + */ + public final TableField APPLY_IN_CHECK_ORG_NAME = createField(DSL.name("apply_in_check_org_name"), SQLDataType.VARCHAR(200).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply.apply_next_check_org_id. + */ + public final TableField APPLY_NEXT_CHECK_ORG_ID = createField(DSL.name("apply_next_check_org_id"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.files_apply.apply_next_check_org_name. + */ + public final TableField APPLY_NEXT_CHECK_ORG_NAME = createField(DSL.name("apply_next_check_org_name"), SQLDataType.VARCHAR(200).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply.apply_end_check_user_id. + */ + public final TableField APPLY_END_CHECK_USER_ID = createField(DSL.name("apply_end_check_user_id"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.files_apply.apply_end_check_user_name. + */ + public final TableField APPLY_END_CHECK_USER_NAME = createField(DSL.name("apply_end_check_user_name"), SQLDataType.VARCHAR(200).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply.apply_end_check_org_id. + */ + public final TableField APPLY_END_CHECK_ORG_ID = createField(DSL.name("apply_end_check_org_id"), SQLDataType.VARCHAR(32).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply.apply_end_check_org_name. + */ + public final TableField APPLY_END_CHECK_ORG_NAME = createField(DSL.name("apply_end_check_org_name"), SQLDataType.VARCHAR(200).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply.apply_days. + */ + public final TableField APPLY_DAYS = createField(DSL.name("apply_days"), SQLDataType.INTEGER, this, ""); + + /** + * The column public.files_apply.apply_feedback. + */ + public final TableField APPLY_FEEDBACK = createField(DSL.name("apply_feedback"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.files_apply.apply_reason. + */ + public final TableField APPLY_REASON = createField(DSL.name("apply_reason"), SQLDataType.VARCHAR(200).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply.apply_cancel_reason. + */ + public final TableField APPLY_CANCEL_REASON = createField(DSL.name("apply_cancel_reason"), SQLDataType.VARCHAR(200).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply.apply_view_type_print. + */ + public final TableField APPLY_VIEW_TYPE_PRINT = createField(DSL.name("apply_view_type_print"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.files_apply.apply_view_type_online. + */ + public final TableField APPLY_VIEW_TYPE_ONLINE = createField(DSL.name("apply_view_type_online"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.files_apply.apply_file_num. + */ + public final TableField APPLY_FILE_NUM = createField(DSL.name("apply_file_num"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.files_apply.apply_time. + */ + public final TableField APPLY_TIME = createField(DSL.name("apply_time"), SQLDataType.LOCALDATETIME(6), this, ""); + + /** + * The column public.files_apply.apply_check_is_finish. + */ + public final TableField APPLY_CHECK_IS_FINISH = createField(DSL.name("apply_check_is_finish"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.files_apply.provider_org_id. + */ + public final TableField PROVIDER_ORG_ID = createField(DSL.name("provider_org_id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.files_apply.provider_org_name. + */ + public final TableField PROVIDER_ORG_NAME = createField(DSL.name("provider_org_name"), SQLDataType.VARCHAR(200).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply.provider_file_properties. + */ + public final TableField PROVIDER_FILE_PROPERTIES = createField(DSL.name("provider_file_properties"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.files_apply.provider_use_start_time. + */ + public final TableField PROVIDER_USE_START_TIME = createField(DSL.name("provider_use_start_time"), SQLDataType.LOCALDATETIME(6), this, ""); + + /** + * The column public.files_apply.provider_use_end_time. + */ + public final TableField PROVIDER_USE_END_TIME = createField(DSL.name("provider_use_end_time"), SQLDataType.LOCALDATETIME(6), this, ""); + + /** + * The column public.files_apply.provider_in_check_user_id. + */ + public final TableField PROVIDER_IN_CHECK_USER_ID = createField(DSL.name("provider_in_check_user_id"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.files_apply.provider_in_check_user_name. + */ + public final TableField PROVIDER_IN_CHECK_USER_NAME = createField(DSL.name("provider_in_check_user_name"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.files_apply.provider_in_check_org_id. + */ + public final TableField PROVIDER_IN_CHECK_ORG_ID = createField(DSL.name("provider_in_check_org_id"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.files_apply.provider_in_check_org_name. + */ + public final TableField PROVIDER_IN_CHECK_ORG_NAME = createField(DSL.name("provider_in_check_org_name"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column + * public.files_apply.provider_next_check_role_sign_id. + */ + public final TableField PROVIDER_NEXT_CHECK_ROLE_SIGN_ID = createField(DSL.name("provider_next_check_role_sign_id"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column + * public.files_apply.provider_next_check_role_sign_name. + */ + public final TableField PROVIDER_NEXT_CHECK_ROLE_SIGN_NAME = createField(DSL.name("provider_next_check_role_sign_name"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.files_apply.provider_end_check_user_id. + */ + public final TableField PROVIDER_END_CHECK_USER_ID = createField(DSL.name("provider_end_check_user_id"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.files_apply.provider_end_check_user_name. + */ + public final TableField PROVIDER_END_CHECK_USER_NAME = createField(DSL.name("provider_end_check_user_name"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.files_apply.provider_end_check_org_id. + */ + public final TableField PROVIDER_END_CHECK_ORG_ID = createField(DSL.name("provider_end_check_org_id"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.files_apply.provider_end_check_org_name. + */ + public final TableField PROVIDER_END_CHECK_ORG_NAME = createField(DSL.name("provider_end_check_org_name"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.files_apply.provider_check_is_finish. + */ + public final TableField PROVIDER_CHECK_IS_FINISH = createField(DSL.name("provider_check_is_finish"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.files_apply.secret_key. + */ + public final TableField SECRET_KEY = createField(DSL.name("secret_key"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.files_apply.status. + */ + public final TableField STATUS = createField(DSL.name("status"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("1"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.files_apply.project_id. + */ + public final TableField PROJECT_ID = createField(DSL.name("project_id"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.files_apply.project_name. + */ + public final TableField PROJECT_NAME = createField(DSL.name("project_name"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.files_apply.sign. 签名 + */ + public final TableField SIGN = createField(DSL.name("sign"), SQLDataType.VARCHAR(500), this, "签名"); + + private FilesApply(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private FilesApply(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table()); + } + + /** + * Create an aliased public.files_apply table reference + */ + public FilesApply(String alias) { + this(DSL.name(alias), FILES_APPLY); + } + + /** + * Create an aliased public.files_apply table reference + */ + public FilesApply(Name alias) { + this(alias, FILES_APPLY); + } + + /** + * Create a public.files_apply table reference + */ + public FilesApply() { + this(DSL.name("files_apply"), null); + } + + public FilesApply(Table child, ForeignKey key) { + super(child, key, FILES_APPLY); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.FILES_APPLY_PKEY; + } + + @Override + public FilesApply as(String alias) { + return new FilesApply(DSL.name(alias), this); + } + + @Override + public FilesApply as(Name alias) { + return new FilesApply(alias, this); + } + + @Override + public FilesApply as(Table alias) { + return new FilesApply(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public FilesApply rename(String name) { + return new FilesApply(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public FilesApply rename(Name name) { + return new FilesApply(name, null); + } + + /** + * Rename this table + */ + @Override + public FilesApply rename(Table name) { + return new FilesApply(name.getQualifiedName(), null); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/FilesApplyCheckRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/FilesApplyCheckRecord.java new file mode 100644 index 0000000..7e79f7a --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/FilesApplyCheckRecord.java @@ -0,0 +1,240 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables; + + +import java.time.LocalDateTime; +import java.util.function.Function; + +import jj.tech.paolu.repository.jooq.Keys; +import jj.tech.paolu.repository.jooq.Public; +import jj.tech.paolu.repository.jooq.tables.records.FilesApplyCheckRecordRecord; + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Function15; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Records; +import org.jooq.Row15; +import org.jooq.Schema; +import org.jooq.SelectField; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class FilesApplyCheckRecord extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.files_apply_check_record + */ + public static final FilesApplyCheckRecord FILES_APPLY_CHECK_RECORD = new FilesApplyCheckRecord(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return FilesApplyCheckRecordRecord.class; + } + + /** + * The column public.files_apply_check_record.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.files_apply_check_record.files_apply_id. + */ + public final TableField FILES_APPLY_ID = createField(DSL.name("files_apply_id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column + * public.files_apply_check_record.is_apply_provider. + */ + public final TableField IS_APPLY_PROVIDER = createField(DSL.name("is_apply_provider"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.files_apply_check_record.check_user_id. + */ + public final TableField CHECK_USER_ID = createField(DSL.name("check_user_id"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.files_apply_check_record.check_user_name. + */ + public final TableField CHECK_USER_NAME = createField(DSL.name("check_user_name"), SQLDataType.VARCHAR(200).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_check_record.check_org_id. + */ + public final TableField CHECK_ORG_ID = createField(DSL.name("check_org_id"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.files_apply_check_record.check_org_name. + */ + public final TableField CHECK_ORG_NAME = createField(DSL.name("check_org_name"), SQLDataType.VARCHAR(200).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column + * public.files_apply_check_record.next_check_org_id. + */ + public final TableField NEXT_CHECK_ORG_ID = createField(DSL.name("next_check_org_id"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column + * public.files_apply_check_record.next_check_org_name. + */ + public final TableField NEXT_CHECK_ORG_NAME = createField(DSL.name("next_check_org_name"), SQLDataType.VARCHAR(200).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_check_record.check_describe. + */ + public final TableField CHECK_DESCRIBE = createField(DSL.name("check_describe"), SQLDataType.VARCHAR(500).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_check_record.check_status. + */ + public final TableField CHECK_STATUS = createField(DSL.name("check_status"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("1"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.files_apply_check_record.check_time. + */ + public final TableField CHECK_TIME = createField(DSL.name("check_time"), SQLDataType.LOCALDATETIME(6), this, ""); + + /** + * The column + * public.files_apply_check_record.provider_next_check_role_sign_id. + */ + public final TableField PROVIDER_NEXT_CHECK_ROLE_SIGN_ID = createField(DSL.name("provider_next_check_role_sign_id"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column + * public.files_apply_check_record.provider_next_check_role_sign_name. + */ + public final TableField PROVIDER_NEXT_CHECK_ROLE_SIGN_NAME = createField(DSL.name("provider_next_check_role_sign_name"), SQLDataType.VARCHAR(100).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_check_record.sign. + */ + public final TableField SIGN = createField(DSL.name("sign"), SQLDataType.VARCHAR(200).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + private FilesApplyCheckRecord(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private FilesApplyCheckRecord(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table()); + } + + /** + * Create an aliased public.files_apply_check_record table + * reference + */ + public FilesApplyCheckRecord(String alias) { + this(DSL.name(alias), FILES_APPLY_CHECK_RECORD); + } + + /** + * Create an aliased public.files_apply_check_record table + * reference + */ + public FilesApplyCheckRecord(Name alias) { + this(alias, FILES_APPLY_CHECK_RECORD); + } + + /** + * Create a public.files_apply_check_record table reference + */ + public FilesApplyCheckRecord() { + this(DSL.name("files_apply_check_record"), null); + } + + public FilesApplyCheckRecord(Table child, ForeignKey key) { + super(child, key, FILES_APPLY_CHECK_RECORD); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.FILES_APPLY_CHECK_RECORD_PKEY; + } + + @Override + public FilesApplyCheckRecord as(String alias) { + return new FilesApplyCheckRecord(DSL.name(alias), this); + } + + @Override + public FilesApplyCheckRecord as(Name alias) { + return new FilesApplyCheckRecord(alias, this); + } + + @Override + public FilesApplyCheckRecord as(Table alias) { + return new FilesApplyCheckRecord(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public FilesApplyCheckRecord rename(String name) { + return new FilesApplyCheckRecord(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public FilesApplyCheckRecord rename(Name name) { + return new FilesApplyCheckRecord(name, null); + } + + /** + * Rename this table + */ + @Override + public FilesApplyCheckRecord rename(Table name) { + return new FilesApplyCheckRecord(name.getQualifiedName(), null); + } + + // ------------------------------------------------------------------------- + // Row15 type methods + // ------------------------------------------------------------------------- + + @Override + public Row15 fieldsRow() { + return (Row15) super.fieldsRow(); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Function)}. + */ + public SelectField mapping(Function15 from) { + return convertFrom(Records.mapping(from)); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Class, + * Function)}. + */ + public SelectField mapping(Class toType, Function15 from) { + return convertFrom(toType, Records.mapping(from)); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/FilesApplyDirectoryDocs.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/FilesApplyDirectoryDocs.java new file mode 100644 index 0000000..4a2da12 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/FilesApplyDirectoryDocs.java @@ -0,0 +1,246 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables; + + +import jj.tech.paolu.repository.jooq.Keys; +import jj.tech.paolu.repository.jooq.Public; +import jj.tech.paolu.repository.jooq.tables.records.FilesApplyDirectoryDocsRecord; + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Schema; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class FilesApplyDirectoryDocs extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.files_apply_directory_docs + */ + public static final FilesApplyDirectoryDocs FILES_APPLY_DIRECTORY_DOCS = new FilesApplyDirectoryDocs(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return FilesApplyDirectoryDocsRecord.class; + } + + /** + * The column public.files_apply_directory_docs.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.files_apply_directory_docs.files_apply_id. + */ + public final TableField FILES_APPLY_ID = createField(DSL.name("files_apply_id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column + * public.files_apply_directory_docs.directory_file_id. + */ + public final TableField DIRECTORY_FILE_ID = createField(DSL.name("directory_file_id"), SQLDataType.VARCHAR(50).nullable(false), this, ""); + + /** + * The column + * public.files_apply_directory_docs.directory_file_p_id. + */ + public final TableField DIRECTORY_FILE_P_ID = createField(DSL.name("directory_file_p_id"), SQLDataType.VARCHAR(50), this, ""); + + /** + * The column public.files_apply_directory_docs.filesuper. + */ + public final TableField FILESUPER = createField(DSL.name("filesuper"), SQLDataType.VARCHAR(500).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_directory_docs.filecount. + */ + public final TableField FILECOUNT = createField(DSL.name("filecount"), SQLDataType.INTEGER, this, ""); + + /** + * The column public.files_apply_directory_docs.dutyperson. + */ + public final TableField DUTYPERSON = createField(DSL.name("dutyperson"), SQLDataType.VARCHAR(100).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_directory_docs.eweavedate. + */ + public final TableField EWEAVEDATE = createField(DSL.name("eweavedate"), SQLDataType.VARCHAR(100).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_directory_docs.filepage. + */ + public final TableField FILEPAGE = createField(DSL.name("filepage"), SQLDataType.INTEGER, this, ""); + + /** + * The column public.files_apply_directory_docs.sortorder. + */ + public final TableField SORTORDER = createField(DSL.name("sortorder"), SQLDataType.VARCHAR(50).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_directory_docs.bpeg. + */ + public final TableField BPEG = createField(DSL.name("bpeg"), SQLDataType.VARCHAR(50).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_directory_docs.epeg. + */ + public final TableField EPEG = createField(DSL.name("epeg"), SQLDataType.VARCHAR(50).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_directory_docs.filenum. + */ + public final TableField FILENUM = createField(DSL.name("filenum"), SQLDataType.VARCHAR(100).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_directory_docs.remark. + */ + public final TableField REMARK = createField(DSL.name("remark"), SQLDataType.VARCHAR(300).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_directory_docs.recordnum. + */ + public final TableField RECORDNUM = createField(DSL.name("recordnum"), SQLDataType.VARCHAR(50).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_directory_docs.piecenumber. + */ + public final TableField PIECENUMBER = createField(DSL.name("piecenumber"), SQLDataType.VARCHAR(50).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_directory_docs.adddate. + */ + public final TableField ADDDATE = createField(DSL.name("adddate"), SQLDataType.VARCHAR(50).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_directory_docs.editdate. + */ + public final TableField EDITDATE = createField(DSL.name("editdate"), SQLDataType.VARCHAR(50).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_directory_docs.time_stamp. + */ + public final TableField TIME_STAMP = createField(DSL.name("time_stamp"), SQLDataType.VARCHAR(20).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_directory_docs.isdel. + */ + public final TableField ISDEL = createField(DSL.name("isdel"), SQLDataType.INTEGER, this, ""); + + /** + * The column public.files_apply_directory_docs.catalogpdfurl. + */ + public final TableField CATALOGPDFURL = createField(DSL.name("catalogpdfurl"), SQLDataType.VARCHAR(200).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_directory_docs.signtag. + */ + public final TableField SIGNTAG = createField(DSL.name("signtag"), SQLDataType.VARCHAR(20).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_directory_docs.collecttag. + */ + public final TableField COLLECTTAG = createField(DSL.name("collecttag"), SQLDataType.VARCHAR(20).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + private FilesApplyDirectoryDocs(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private FilesApplyDirectoryDocs(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table()); + } + + /** + * Create an aliased public.files_apply_directory_docs table + * reference + */ + public FilesApplyDirectoryDocs(String alias) { + this(DSL.name(alias), FILES_APPLY_DIRECTORY_DOCS); + } + + /** + * Create an aliased public.files_apply_directory_docs table + * reference + */ + public FilesApplyDirectoryDocs(Name alias) { + this(alias, FILES_APPLY_DIRECTORY_DOCS); + } + + /** + * Create a public.files_apply_directory_docs table reference + */ + public FilesApplyDirectoryDocs() { + this(DSL.name("files_apply_directory_docs"), null); + } + + public FilesApplyDirectoryDocs(Table child, ForeignKey key) { + super(child, key, FILES_APPLY_DIRECTORY_DOCS); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.FILES_APPLY_DIRECTORY_DOCS_PKEY; + } + + @Override + public FilesApplyDirectoryDocs as(String alias) { + return new FilesApplyDirectoryDocs(DSL.name(alias), this); + } + + @Override + public FilesApplyDirectoryDocs as(Name alias) { + return new FilesApplyDirectoryDocs(alias, this); + } + + @Override + public FilesApplyDirectoryDocs as(Table alias) { + return new FilesApplyDirectoryDocs(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public FilesApplyDirectoryDocs rename(String name) { + return new FilesApplyDirectoryDocs(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public FilesApplyDirectoryDocs rename(Name name) { + return new FilesApplyDirectoryDocs(name, null); + } + + /** + * Rename this table + */ + @Override + public FilesApplyDirectoryDocs rename(Table name) { + return new FilesApplyDirectoryDocs(name.getQualifiedName(), null); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/FilesApplyDocs.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/FilesApplyDocs.java new file mode 100644 index 0000000..8509ddc --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/FilesApplyDocs.java @@ -0,0 +1,271 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables; + + +import java.util.Arrays; +import java.util.List; +import java.util.function.Function; + +import jj.tech.paolu.repository.jooq.Indexes; +import jj.tech.paolu.repository.jooq.Keys; +import jj.tech.paolu.repository.jooq.Public; +import jj.tech.paolu.repository.jooq.tables.records.FilesApplyDocsRecord; + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Function21; +import org.jooq.Index; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Records; +import org.jooq.Row21; +import org.jooq.Schema; +import org.jooq.SelectField; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class FilesApplyDocs extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.files_apply_docs + */ + public static final FilesApplyDocs FILES_APPLY_DOCS = new FilesApplyDocs(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return FilesApplyDocsRecord.class; + } + + /** + * The column public.files_apply_docs.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.files_apply_docs.files_apply_id. + */ + public final TableField FILES_APPLY_ID = createField(DSL.name("files_apply_id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.files_apply_docs.syn_file_id. + */ + public final TableField SYN_FILE_ID = createField(DSL.name("syn_file_id"), SQLDataType.VARCHAR(50).nullable(false), this, ""); + + /** + * The column public.files_apply_docs.syn_file_p_id. + */ + public final TableField SYN_FILE_P_ID = createField(DSL.name("syn_file_p_id"), SQLDataType.VARCHAR(50), this, ""); + + /** + * The column public.files_apply_docs.tablenumber. + */ + public final TableField TABLENUMBER = createField(DSL.name("tablenumber"), SQLDataType.VARCHAR(200).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_docs.annexname. + */ + public final TableField ANNEXNAME = createField(DSL.name("annexname"), SQLDataType.VARCHAR(100).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_docs.projectname. + */ + public final TableField PROJECTNAME = createField(DSL.name("projectname"), SQLDataType.VARCHAR(100).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_docs.eweavedate. + */ + public final TableField EWEAVEDATE = createField(DSL.name("eweavedate"), SQLDataType.VARCHAR(100).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_docs.checkdate. + */ + public final TableField CHECKDATE = createField(DSL.name("checkdate"), SQLDataType.VARCHAR(100).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_docs.annexpage. + */ + public final TableField ANNEXPAGE = createField(DSL.name("annexpage"), SQLDataType.INTEGER, this, ""); + + /** + * The column public.files_apply_docs.sortorder. + */ + public final TableField SORTORDER = createField(DSL.name("sortorder"), SQLDataType.VARCHAR(50).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_docs.filefrom. + */ + public final TableField FILEFROM = createField(DSL.name("filefrom"), SQLDataType.VARCHAR(50).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_docs.archivestag. + */ + public final TableField ARCHIVESTAG = createField(DSL.name("archivestag"), SQLDataType.VARCHAR(50).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_docs.adddate. + */ + public final TableField ADDDATE = createField(DSL.name("adddate"), SQLDataType.VARCHAR(50).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_docs.editdate. + */ + public final TableField EDITDATE = createField(DSL.name("editdate"), SQLDataType.VARCHAR(50).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_docs.time_stamp. + */ + public final TableField TIME_STAMP = createField(DSL.name("time_stamp"), SQLDataType.VARCHAR(20).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_docs.isdel. + */ + public final TableField ISDEL = createField(DSL.name("isdel"), SQLDataType.INTEGER, this, ""); + + /** + * The column public.files_apply_docs.downurl. + */ + public final TableField DOWNURL = createField(DSL.name("downurl"), SQLDataType.VARCHAR(200).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_docs.filesize. + */ + public final TableField FILESIZE = createField(DSL.name("filesize"), SQLDataType.INTEGER, this, ""); + + /** + * The column public.files_apply_docs.apply_view_type_print. + */ + public final TableField APPLY_VIEW_TYPE_PRINT = createField(DSL.name("apply_view_type_print"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.files_apply_docs.apply_view_type_online. + */ + public final TableField APPLY_VIEW_TYPE_ONLINE = createField(DSL.name("apply_view_type_online"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + private FilesApplyDocs(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private FilesApplyDocs(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table()); + } + + /** + * Create an aliased public.files_apply_docs table reference + */ + public FilesApplyDocs(String alias) { + this(DSL.name(alias), FILES_APPLY_DOCS); + } + + /** + * Create an aliased public.files_apply_docs table reference + */ + public FilesApplyDocs(Name alias) { + this(alias, FILES_APPLY_DOCS); + } + + /** + * Create a public.files_apply_docs table reference + */ + public FilesApplyDocs() { + this(DSL.name("files_apply_docs"), null); + } + + public FilesApplyDocs(Table child, ForeignKey key) { + super(child, key, FILES_APPLY_DOCS); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public List getIndexes() { + return Arrays.asList(Indexes.FILES_APPLY_DOCS_FILES_APPLY_ID_IDX); + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.FILES_APPLY_DOCS_PKEY; + } + + @Override + public FilesApplyDocs as(String alias) { + return new FilesApplyDocs(DSL.name(alias), this); + } + + @Override + public FilesApplyDocs as(Name alias) { + return new FilesApplyDocs(alias, this); + } + + @Override + public FilesApplyDocs as(Table alias) { + return new FilesApplyDocs(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public FilesApplyDocs rename(String name) { + return new FilesApplyDocs(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public FilesApplyDocs rename(Name name) { + return new FilesApplyDocs(name, null); + } + + /** + * Rename this table + */ + @Override + public FilesApplyDocs rename(Table name) { + return new FilesApplyDocs(name.getQualifiedName(), null); + } + + // ------------------------------------------------------------------------- + // Row21 type methods + // ------------------------------------------------------------------------- + + @Override + public Row21 fieldsRow() { + return (Row21) super.fieldsRow(); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Function)}. + */ + public SelectField mapping(Function21 from) { + return convertFrom(Records.mapping(from)); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Class, + * Function)}. + */ + public SelectField mapping(Class toType, Function21 from) { + return convertFrom(toType, Records.mapping(from)); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/FilesApplyDownloadRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/FilesApplyDownloadRecord.java new file mode 100644 index 0000000..046a4b2 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/FilesApplyDownloadRecord.java @@ -0,0 +1,216 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables; + + +import java.time.LocalDateTime; +import java.util.function.Function; + +import jj.tech.paolu.repository.jooq.Keys; +import jj.tech.paolu.repository.jooq.Public; +import jj.tech.paolu.repository.jooq.tables.records.FilesApplyDownloadRecordRecord; + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Function11; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Records; +import org.jooq.Row11; +import org.jooq.Schema; +import org.jooq.SelectField; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class FilesApplyDownloadRecord extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.files_apply_download_record + */ + public static final FilesApplyDownloadRecord FILES_APPLY_DOWNLOAD_RECORD = new FilesApplyDownloadRecord(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return FilesApplyDownloadRecordRecord.class; + } + + /** + * The column public.files_apply_download_record.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(50).nullable(false), this, ""); + + /** + * The column + * public.files_apply_download_record.files_apply_id. + */ + public final TableField FILES_APPLY_ID = createField(DSL.name("files_apply_id"), SQLDataType.VARCHAR(50).nullable(false), this, ""); + + /** + * The column public.files_apply_download_record.is_dir_file. + */ + public final TableField IS_DIR_FILE = createField(DSL.name("is_dir_file"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.files_apply_download_record.syn_file_id. + */ + public final TableField SYN_FILE_ID = createField(DSL.name("syn_file_id"), SQLDataType.VARCHAR(50).nullable(false), this, ""); + + /** + * The column public.files_apply_download_record.syn_file_p_id. + */ + public final TableField SYN_FILE_P_ID = createField(DSL.name("syn_file_p_id"), SQLDataType.VARCHAR(50).nullable(false), this, ""); + + /** + * The column public.files_apply_download_record.syn_file_name. + */ + public final TableField SYN_FILE_NAME = createField(DSL.name("syn_file_name"), SQLDataType.VARCHAR(200).nullable(false), this, ""); + + /** + * The column public.files_apply_download_record.user_id. + */ + public final TableField USER_ID = createField(DSL.name("user_id"), SQLDataType.VARCHAR(50).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_download_record.user_name. + */ + public final TableField USER_NAME = createField(DSL.name("user_name"), SQLDataType.VARCHAR(200).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_download_record.org_id. + */ + public final TableField ORG_ID = createField(DSL.name("org_id"), SQLDataType.VARCHAR(50).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_download_record.org_name. + */ + public final TableField ORG_NAME = createField(DSL.name("org_name"), SQLDataType.VARCHAR(200).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.files_apply_download_record.download_time. + */ + public final TableField DOWNLOAD_TIME = createField(DSL.name("download_time"), SQLDataType.LOCALDATETIME(6), this, ""); + + private FilesApplyDownloadRecord(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private FilesApplyDownloadRecord(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table()); + } + + /** + * Create an aliased public.files_apply_download_record table + * reference + */ + public FilesApplyDownloadRecord(String alias) { + this(DSL.name(alias), FILES_APPLY_DOWNLOAD_RECORD); + } + + /** + * Create an aliased public.files_apply_download_record table + * reference + */ + public FilesApplyDownloadRecord(Name alias) { + this(alias, FILES_APPLY_DOWNLOAD_RECORD); + } + + /** + * Create a public.files_apply_download_record table reference + */ + public FilesApplyDownloadRecord() { + this(DSL.name("files_apply_download_record"), null); + } + + public FilesApplyDownloadRecord(Table child, ForeignKey key) { + super(child, key, FILES_APPLY_DOWNLOAD_RECORD); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.FILES_APPLY_DOWNLOAD_RECORD_PKEY; + } + + @Override + public FilesApplyDownloadRecord as(String alias) { + return new FilesApplyDownloadRecord(DSL.name(alias), this); + } + + @Override + public FilesApplyDownloadRecord as(Name alias) { + return new FilesApplyDownloadRecord(alias, this); + } + + @Override + public FilesApplyDownloadRecord as(Table alias) { + return new FilesApplyDownloadRecord(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public FilesApplyDownloadRecord rename(String name) { + return new FilesApplyDownloadRecord(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public FilesApplyDownloadRecord rename(Name name) { + return new FilesApplyDownloadRecord(name, null); + } + + /** + * Rename this table + */ + @Override + public FilesApplyDownloadRecord rename(Table name) { + return new FilesApplyDownloadRecord(name.getQualifiedName(), null); + } + + // ------------------------------------------------------------------------- + // Row11 type methods + // ------------------------------------------------------------------------- + + @Override + public Row11 fieldsRow() { + return (Row11) super.fieldsRow(); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Function)}. + */ + public SelectField mapping(Function11 from) { + return convertFrom(Records.mapping(from)); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Class, + * Function)}. + */ + public SelectField mapping(Class toType, Function11 from) { + return convertFrom(toType, Records.mapping(from)); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/Project.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/Project.java new file mode 100644 index 0000000..7466ef0 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/Project.java @@ -0,0 +1,177 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables; + + +import java.util.function.Function; + +import jj.tech.paolu.repository.jooq.Keys; +import jj.tech.paolu.repository.jooq.Public; +import jj.tech.paolu.repository.jooq.tables.records.ProjectRecord; + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Function4; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Records; +import org.jooq.Row4; +import org.jooq.Schema; +import org.jooq.SelectField; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class Project extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.project + */ + public static final Project PROJECT = new Project(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return ProjectRecord.class; + } + + /** + * The column public.project.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR.nullable(false), this, ""); + + /** + * The column public.project.project_name. + */ + public final TableField PROJECT_NAME = createField(DSL.name("project_name"), SQLDataType.VARCHAR.nullable(false), this, ""); + + /** + * The column public.project.org_id. + */ + public final TableField ORG_ID = createField(DSL.name("org_id"), SQLDataType.VARCHAR, this, ""); + + /** + * The column public.project.org_name. + */ + public final TableField ORG_NAME = createField(DSL.name("org_name"), SQLDataType.VARCHAR, this, ""); + + private Project(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private Project(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table()); + } + + /** + * Create an aliased public.project table reference + */ + public Project(String alias) { + this(DSL.name(alias), PROJECT); + } + + /** + * Create an aliased public.project table reference + */ + public Project(Name alias) { + this(alias, PROJECT); + } + + /** + * Create a public.project table reference + */ + public Project() { + this(DSL.name("project"), null); + } + + public Project(Table child, ForeignKey key) { + super(child, key, PROJECT); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.PROJECT_PKEY; + } + + @Override + public Project as(String alias) { + return new Project(DSL.name(alias), this); + } + + @Override + public Project as(Name alias) { + return new Project(alias, this); + } + + @Override + public Project as(Table alias) { + return new Project(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public Project rename(String name) { + return new Project(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public Project rename(Name name) { + return new Project(name, null); + } + + /** + * Rename this table + */ + @Override + public Project rename(Table name) { + return new Project(name.getQualifiedName(), null); + } + + // ------------------------------------------------------------------------- + // Row4 type methods + // ------------------------------------------------------------------------- + + @Override + public Row4 fieldsRow() { + return (Row4) super.fieldsRow(); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Function)}. + */ + public SelectField mapping(Function4 from) { + return convertFrom(Records.mapping(from)); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Class, + * Function)}. + */ + public SelectField mapping(Class toType, Function4 from) { + return convertFrom(toType, Records.mapping(from)); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/ReadLog.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/ReadLog.java new file mode 100644 index 0000000..39d7a57 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/ReadLog.java @@ -0,0 +1,223 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables; + + +import java.time.LocalDateTime; +import java.util.function.Function; + +import jj.tech.paolu.repository.jooq.Keys; +import jj.tech.paolu.repository.jooq.Public; +import jj.tech.paolu.repository.jooq.tables.records.ReadLogRecord; + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Function13; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Records; +import org.jooq.Row13; +import org.jooq.Schema; +import org.jooq.SelectField; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * 阅读情况 + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class ReadLog extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.read_log + */ + public static final ReadLog READ_LOG = new ReadLog(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return ReadLogRecord.class; + } + + /** + * The column public.read_log.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.read_log.weid. 申请人id + */ + public final TableField WEID = createField(DSL.name("weid"), SQLDataType.VARCHAR(255), this, "申请人id"); + + /** + * The column public.read_log.content_id. 档案id + */ + public final TableField CONTENT_ID = createField(DSL.name("content_id"), SQLDataType.VARCHAR(255), this, "档案id"); + + /** + * The column public.read_log.starttime. 开始时间 + */ + public final TableField STARTTIME = createField(DSL.name("starttime"), SQLDataType.LOCALDATETIME(6), this, "开始时间"); + + /** + * The column public.read_log.endtime. 结束时间 + */ + public final TableField ENDTIME = createField(DSL.name("endtime"), SQLDataType.LOCALDATETIME(6), this, "结束时间"); + + /** + * The column public.read_log.ip. ip地址 + */ + public final TableField IP = createField(DSL.name("ip"), SQLDataType.VARCHAR(32), this, "ip地址"); + + /** + * The column public.read_log.location. 区域 + */ + public final TableField LOCATION = createField(DSL.name("location"), SQLDataType.VARCHAR(255), this, "区域"); + + /** + * The column public.read_log.downloadtype. 下载类型(1文件包/0单文件) + */ + public final TableField DOWNLOADTYPE = createField(DSL.name("downloadtype"), SQLDataType.INTEGER, this, "下载类型(1文件包/0单文件)"); + + /** + * The column public.read_log.sign. 数字签名 + */ + public final TableField SIGN = createField(DSL.name("sign"), SQLDataType.VARCHAR(255), this, "数字签名"); + + /** + * The column public.read_log.readid. 一次阅读凭证id + */ + public final TableField READID = createField(DSL.name("readid"), SQLDataType.VARCHAR(32), this, "一次阅读凭证id"); + + /** + * The column public.read_log.sm9hibeid. 秘钥id + */ + public final TableField SM9HIBEID = createField(DSL.name("sm9hibeid"), SQLDataType.VARCHAR(255), this, "秘钥id"); + + /** + * The column public.read_log.content_type. 档案类型 + */ + public final TableField CONTENT_TYPE = createField(DSL.name("content_type"), SQLDataType.INTEGER, this, "档案类型"); + + /** + * The column public.read_log.ischeck. 是否上链(1是,0否) + */ + public final TableField ISCHECK = createField(DSL.name("ischeck"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, "是否上链(1是,0否)"); + + private ReadLog(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private ReadLog(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment("阅读情况"), TableOptions.table()); + } + + /** + * Create an aliased public.read_log table reference + */ + public ReadLog(String alias) { + this(DSL.name(alias), READ_LOG); + } + + /** + * Create an aliased public.read_log table reference + */ + public ReadLog(Name alias) { + this(alias, READ_LOG); + } + + /** + * Create a public.read_log table reference + */ + public ReadLog() { + this(DSL.name("read_log"), null); + } + + public ReadLog(Table child, ForeignKey key) { + super(child, key, READ_LOG); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.READ_LOG_PKEY; + } + + @Override + public ReadLog as(String alias) { + return new ReadLog(DSL.name(alias), this); + } + + @Override + public ReadLog as(Name alias) { + return new ReadLog(alias, this); + } + + @Override + public ReadLog as(Table alias) { + return new ReadLog(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public ReadLog rename(String name) { + return new ReadLog(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public ReadLog rename(Name name) { + return new ReadLog(name, null); + } + + /** + * Rename this table + */ + @Override + public ReadLog rename(Table name) { + return new ReadLog(name.getQualifiedName(), null); + } + + // ------------------------------------------------------------------------- + // Row13 type methods + // ------------------------------------------------------------------------- + + @Override + public Row13 fieldsRow() { + return (Row13) super.fieldsRow(); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Function)}. + */ + public SelectField mapping(Function13 from) { + return convertFrom(Records.mapping(from)); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Class, + * Function)}. + */ + public SelectField mapping(Class toType, Function13 from) { + return convertFrom(toType, Records.mapping(from)); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/SharedRuleConfig.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/SharedRuleConfig.java new file mode 100644 index 0000000..0b6fda0 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/SharedRuleConfig.java @@ -0,0 +1,187 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables; + + +import java.util.function.Function; + +import jj.tech.paolu.repository.jooq.Keys; +import jj.tech.paolu.repository.jooq.Public; +import jj.tech.paolu.repository.jooq.tables.records.SharedRuleConfigRecord; + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Function6; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Records; +import org.jooq.Row6; +import org.jooq.Schema; +import org.jooq.SelectField; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SharedRuleConfig extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.shared_rule_config + */ + public static final SharedRuleConfig SHARED_RULE_CONFIG = new SharedRuleConfig(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return SharedRuleConfigRecord.class; + } + + /** + * The column public.shared_rule_config.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR.nullable(false), this, ""); + + /** + * The column public.shared_rule_config.name. + */ + public final TableField NAME = createField(DSL.name("name"), SQLDataType.VARCHAR.nullable(false), this, ""); + + /** + * The column public.shared_rule_config.describe. + */ + public final TableField DESCRIBE = createField(DSL.name("describe"), SQLDataType.VARCHAR.nullable(false), this, ""); + + /** + * The column public.shared_rule_config.status. + */ + public final TableField STATUS = createField(DSL.name("status"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("1"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.shared_rule_config.sort. + */ + public final TableField SORT = createField(DSL.name("sort"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.shared_rule_config.project_name. + */ + public final TableField PROJECT_NAME = createField(DSL.name("project_name"), SQLDataType.VARCHAR.nullable(false), this, ""); + + private SharedRuleConfig(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private SharedRuleConfig(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table()); + } + + /** + * Create an aliased public.shared_rule_config table reference + */ + public SharedRuleConfig(String alias) { + this(DSL.name(alias), SHARED_RULE_CONFIG); + } + + /** + * Create an aliased public.shared_rule_config table reference + */ + public SharedRuleConfig(Name alias) { + this(alias, SHARED_RULE_CONFIG); + } + + /** + * Create a public.shared_rule_config table reference + */ + public SharedRuleConfig() { + this(DSL.name("shared_rule_config"), null); + } + + public SharedRuleConfig(Table child, ForeignKey key) { + super(child, key, SHARED_RULE_CONFIG); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.SHARED_RULE_CONFIG_PKEY; + } + + @Override + public SharedRuleConfig as(String alias) { + return new SharedRuleConfig(DSL.name(alias), this); + } + + @Override + public SharedRuleConfig as(Name alias) { + return new SharedRuleConfig(alias, this); + } + + @Override + public SharedRuleConfig as(Table alias) { + return new SharedRuleConfig(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public SharedRuleConfig rename(String name) { + return new SharedRuleConfig(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public SharedRuleConfig rename(Name name) { + return new SharedRuleConfig(name, null); + } + + /** + * Rename this table + */ + @Override + public SharedRuleConfig rename(Table name) { + return new SharedRuleConfig(name.getQualifiedName(), null); + } + + // ------------------------------------------------------------------------- + // Row6 type methods + // ------------------------------------------------------------------------- + + @Override + public Row6 fieldsRow() { + return (Row6) super.fieldsRow(); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Function)}. + */ + public SelectField mapping(Function6 from) { + return convertFrom(Records.mapping(from)); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Class, + * Function)}. + */ + public SelectField mapping(Class toType, Function6 from) { + return convertFrom(toType, Records.mapping(from)); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/SharedSynAll.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/SharedSynAll.java new file mode 100644 index 0000000..5667ef2 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/SharedSynAll.java @@ -0,0 +1,209 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables; + + +import java.util.Arrays; +import java.util.List; +import java.util.function.Function; + +import jj.tech.paolu.repository.jooq.Keys; +import jj.tech.paolu.repository.jooq.Public; +import jj.tech.paolu.repository.jooq.tables.records.SharedSynAllRecord; + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Function9; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Records; +import org.jooq.Row9; +import org.jooq.Schema; +import org.jooq.SelectField; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SharedSynAll extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.shared_syn_all + */ + public static final SharedSynAll SHARED_SYN_ALL = new SharedSynAll(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return SharedSynAllRecord.class; + } + + /** + * The column public.shared_syn_all.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.shared_syn_all.syn_id. + */ + public final TableField SYN_ID = createField(DSL.name("syn_id"), SQLDataType.VARCHAR(50).nullable(false), this, ""); + + /** + * The column public.shared_syn_all.syn_type. + */ + public final TableField SYN_TYPE = createField(DSL.name("syn_type"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.shared_syn_all.is_config_rule. + */ + public final TableField IS_CONFIG_RULE = createField(DSL.name("is_config_rule"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.shared_syn_all.shared_status. + */ + public final TableField SHARED_STATUS = createField(DSL.name("shared_status"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.shared_syn_all.syn_status. + */ + public final TableField SYN_STATUS = createField(DSL.name("syn_status"), SQLDataType.INTEGER, this, ""); + + /** + * The column public.shared_syn_all.block_number. + */ + public final TableField BLOCK_NUMBER = createField(DSL.name("block_number"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column public.shared_syn_all.block_hash. + */ + public final TableField BLOCK_HASH = createField(DSL.name("block_hash"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column public.shared_syn_all.block_time. + */ + public final TableField BLOCK_TIME = createField(DSL.name("block_time"), SQLDataType.VARCHAR(255), this, ""); + + private SharedSynAll(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private SharedSynAll(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table()); + } + + /** + * Create an aliased public.shared_syn_all table reference + */ + public SharedSynAll(String alias) { + this(DSL.name(alias), SHARED_SYN_ALL); + } + + /** + * Create an aliased public.shared_syn_all table reference + */ + public SharedSynAll(Name alias) { + this(alias, SHARED_SYN_ALL); + } + + /** + * Create a public.shared_syn_all table reference + */ + public SharedSynAll() { + this(DSL.name("shared_syn_all"), null); + } + + public SharedSynAll(Table child, ForeignKey key) { + super(child, key, SHARED_SYN_ALL); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.SHARED_SYN_ALL_PKEY; + } + + @Override + public List> getUniqueKeys() { + return Arrays.asList(Keys.SHARED_SYN_ALL_SYN_ID_KEY, Keys.SHARED_SYN_ALL_SYN_ID_SYN_TYPE_KEY); + } + + @Override + public SharedSynAll as(String alias) { + return new SharedSynAll(DSL.name(alias), this); + } + + @Override + public SharedSynAll as(Name alias) { + return new SharedSynAll(alias, this); + } + + @Override + public SharedSynAll as(Table alias) { + return new SharedSynAll(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public SharedSynAll rename(String name) { + return new SharedSynAll(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public SharedSynAll rename(Name name) { + return new SharedSynAll(name, null); + } + + /** + * Rename this table + */ + @Override + public SharedSynAll rename(Table name) { + return new SharedSynAll(name.getQualifiedName(), null); + } + + // ------------------------------------------------------------------------- + // Row9 type methods + // ------------------------------------------------------------------------- + + @Override + public Row9 fieldsRow() { + return (Row9) super.fieldsRow(); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Function)}. + */ + public SelectField mapping(Function9 from) { + return convertFrom(Records.mapping(from)); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Class, + * Function)}. + */ + public SelectField mapping(Class toType, Function9 from) { + return convertFrom(toType, Records.mapping(from)); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/SynDirectory.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/SynDirectory.java new file mode 100644 index 0000000..7791297 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/SynDirectory.java @@ -0,0 +1,206 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables; + + +import java.util.Arrays; +import java.util.List; +import java.util.function.Function; + +import jj.tech.paolu.repository.jooq.Indexes; +import jj.tech.paolu.repository.jooq.Keys; +import jj.tech.paolu.repository.jooq.Public; +import jj.tech.paolu.repository.jooq.tables.records.SynDirectoryRecord; + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Function8; +import org.jooq.Index; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Records; +import org.jooq.Row8; +import org.jooq.Schema; +import org.jooq.SelectField; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SynDirectory extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.syn_directory + */ + public static final SynDirectory SYN_DIRECTORY = new SynDirectory(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return SynDirectoryRecord.class; + } + + /** + * The column public.syn_directory.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(50).nullable(false), this, ""); + + /** + * The column public.syn_directory.p_id. + */ + public final TableField P_ID = createField(DSL.name("p_id"), SQLDataType.VARCHAR(50).nullable(false), this, ""); + + /** + * The column public.syn_directory.wbs_id. + */ + public final TableField WBS_ID = createField(DSL.name("wbs_id"), SQLDataType.VARCHAR(50), this, ""); + + /** + * The column public.syn_directory.time_stamp. + */ + public final TableField TIME_STAMP = createField(DSL.name("time_stamp"), SQLDataType.VARCHAR(20).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.syn_directory.sortorder. + */ + public final TableField SORTORDER = createField(DSL.name("sortorder"), SQLDataType.INTEGER, this, ""); + + /** + * The column public.syn_directory.tname. + */ + public final TableField TNAME = createField(DSL.name("tname"), SQLDataType.VARCHAR(300).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.syn_directory.subjoin. + */ + public final TableField SUBJOIN = createField(DSL.name("subjoin"), SQLDataType.INTEGER, this, ""); + + /** + * The column public.syn_directory.isdel. + */ + public final TableField ISDEL = createField(DSL.name("isdel"), SQLDataType.INTEGER, this, ""); + + private SynDirectory(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private SynDirectory(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table()); + } + + /** + * Create an aliased public.syn_directory table reference + */ + public SynDirectory(String alias) { + this(DSL.name(alias), SYN_DIRECTORY); + } + + /** + * Create an aliased public.syn_directory table reference + */ + public SynDirectory(Name alias) { + this(alias, SYN_DIRECTORY); + } + + /** + * Create a public.syn_directory table reference + */ + public SynDirectory() { + this(DSL.name("syn_directory"), null); + } + + public SynDirectory(Table child, ForeignKey key) { + super(child, key, SYN_DIRECTORY); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public List getIndexes() { + return Arrays.asList(Indexes.IDX_SYN_DIREC_PID); + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.SYN_DIRECTORY_PKEY; + } + + @Override + public SynDirectory as(String alias) { + return new SynDirectory(DSL.name(alias), this); + } + + @Override + public SynDirectory as(Name alias) { + return new SynDirectory(alias, this); + } + + @Override + public SynDirectory as(Table alias) { + return new SynDirectory(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public SynDirectory rename(String name) { + return new SynDirectory(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public SynDirectory rename(Name name) { + return new SynDirectory(name, null); + } + + /** + * Rename this table + */ + @Override + public SynDirectory rename(Table name) { + return new SynDirectory(name.getQualifiedName(), null); + } + + // ------------------------------------------------------------------------- + // Row8 type methods + // ------------------------------------------------------------------------- + + @Override + public Row8 fieldsRow() { + return (Row8) super.fieldsRow(); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Function)}. + */ + public SelectField mapping(Function8 from) { + return convertFrom(Records.mapping(from)); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Class, + * Function)}. + */ + public SelectField mapping(Class toType, Function8 from) { + return convertFrom(toType, Records.mapping(from)); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/SynDirectoryFile.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/SynDirectoryFile.java new file mode 100644 index 0000000..a64a1b3 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/SynDirectoryFile.java @@ -0,0 +1,271 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables; + + +import java.util.Arrays; +import java.util.List; +import java.util.function.Function; + +import jj.tech.paolu.repository.jooq.Indexes; +import jj.tech.paolu.repository.jooq.Keys; +import jj.tech.paolu.repository.jooq.Public; +import jj.tech.paolu.repository.jooq.tables.records.SynDirectoryFileRecord; + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Function21; +import org.jooq.Index; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Records; +import org.jooq.Row21; +import org.jooq.Schema; +import org.jooq.SelectField; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SynDirectoryFile extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.syn_directory_file + */ + public static final SynDirectoryFile SYN_DIRECTORY_FILE = new SynDirectoryFile(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return SynDirectoryFileRecord.class; + } + + /** + * The column public.syn_directory_file.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(50).nullable(false), this, ""); + + /** + * The column public.syn_directory_file.p_id. + */ + public final TableField P_ID = createField(DSL.name("p_id"), SQLDataType.VARCHAR(50).nullable(false), this, ""); + + /** + * The column public.syn_directory_file.filesuper. + */ + public final TableField FILESUPER = createField(DSL.name("filesuper"), SQLDataType.VARCHAR(500).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.syn_directory_file.filecount. + */ + public final TableField FILECOUNT = createField(DSL.name("filecount"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.syn_directory_file.dutyperson. + */ + public final TableField DUTYPERSON = createField(DSL.name("dutyperson"), SQLDataType.VARCHAR(100).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.syn_directory_file.eweavedate. + */ + public final TableField EWEAVEDATE = createField(DSL.name("eweavedate"), SQLDataType.VARCHAR(100).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.syn_directory_file.filepage. + */ + public final TableField FILEPAGE = createField(DSL.name("filepage"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.syn_directory_file.sortorder. + */ + public final TableField SORTORDER = createField(DSL.name("sortorder"), SQLDataType.VARCHAR(50).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.syn_directory_file.bpeg. + */ + public final TableField BPEG = createField(DSL.name("bpeg"), SQLDataType.VARCHAR(50).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.syn_directory_file.epeg. + */ + public final TableField EPEG = createField(DSL.name("epeg"), SQLDataType.VARCHAR(50).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.syn_directory_file.filenum. + */ + public final TableField FILENUM = createField(DSL.name("filenum"), SQLDataType.VARCHAR(100).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.syn_directory_file.remark. + */ + public final TableField REMARK = createField(DSL.name("remark"), SQLDataType.VARCHAR(300).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.syn_directory_file.recordnum. + */ + public final TableField RECORDNUM = createField(DSL.name("recordnum"), SQLDataType.VARCHAR(50).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.syn_directory_file.piecenumber. + */ + public final TableField PIECENUMBER = createField(DSL.name("piecenumber"), SQLDataType.VARCHAR(50).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.syn_directory_file.adddate. + */ + public final TableField ADDDATE = createField(DSL.name("adddate"), SQLDataType.VARCHAR(50).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.syn_directory_file.editdate. + */ + public final TableField EDITDATE = createField(DSL.name("editdate"), SQLDataType.VARCHAR(50).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.syn_directory_file.time_stamp. + */ + public final TableField TIME_STAMP = createField(DSL.name("time_stamp"), SQLDataType.VARCHAR(20).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.syn_directory_file.isdel. + */ + public final TableField ISDEL = createField(DSL.name("isdel"), SQLDataType.INTEGER, this, ""); + + /** + * The column public.syn_directory_file.catalogpdfurl. + */ + public final TableField CATALOGPDFURL = createField(DSL.name("catalogpdfurl"), SQLDataType.VARCHAR(200).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.syn_directory_file.signtag. + */ + public final TableField SIGNTAG = createField(DSL.name("signtag"), SQLDataType.VARCHAR(20).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.syn_directory_file.collecttag. + */ + public final TableField COLLECTTAG = createField(DSL.name("collecttag"), SQLDataType.VARCHAR(20).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + private SynDirectoryFile(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private SynDirectoryFile(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table()); + } + + /** + * Create an aliased public.syn_directory_file table reference + */ + public SynDirectoryFile(String alias) { + this(DSL.name(alias), SYN_DIRECTORY_FILE); + } + + /** + * Create an aliased public.syn_directory_file table reference + */ + public SynDirectoryFile(Name alias) { + this(alias, SYN_DIRECTORY_FILE); + } + + /** + * Create a public.syn_directory_file table reference + */ + public SynDirectoryFile() { + this(DSL.name("syn_directory_file"), null); + } + + public SynDirectoryFile(Table child, ForeignKey key) { + super(child, key, SYN_DIRECTORY_FILE); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public List getIndexes() { + return Arrays.asList(Indexes.IDX_SYN_DIRECTOR_FILE_PID); + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.SYN_DIRECTORY_FILE_PKEY; + } + + @Override + public SynDirectoryFile as(String alias) { + return new SynDirectoryFile(DSL.name(alias), this); + } + + @Override + public SynDirectoryFile as(Name alias) { + return new SynDirectoryFile(alias, this); + } + + @Override + public SynDirectoryFile as(Table alias) { + return new SynDirectoryFile(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public SynDirectoryFile rename(String name) { + return new SynDirectoryFile(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public SynDirectoryFile rename(Name name) { + return new SynDirectoryFile(name, null); + } + + /** + * Rename this table + */ + @Override + public SynDirectoryFile rename(Table name) { + return new SynDirectoryFile(name.getQualifiedName(), null); + } + + // ------------------------------------------------------------------------- + // Row21 type methods + // ------------------------------------------------------------------------- + + @Override + public Row21 fieldsRow() { + return (Row21) super.fieldsRow(); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Function)}. + */ + public SelectField mapping(Function21 from) { + return convertFrom(Records.mapping(from)); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Class, + * Function)}. + */ + public SelectField mapping(Class toType, Function21 from) { + return convertFrom(toType, Records.mapping(from)); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/SynFile.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/SynFile.java new file mode 100644 index 0000000..bcec80b --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/SynFile.java @@ -0,0 +1,251 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables; + + +import java.util.Arrays; +import java.util.List; +import java.util.function.Function; + +import jj.tech.paolu.repository.jooq.Indexes; +import jj.tech.paolu.repository.jooq.Keys; +import jj.tech.paolu.repository.jooq.Public; +import jj.tech.paolu.repository.jooq.tables.records.SynFileRecord; + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Function17; +import org.jooq.Index; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Records; +import org.jooq.Row17; +import org.jooq.Schema; +import org.jooq.SelectField; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SynFile extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.syn_file + */ + public static final SynFile SYN_FILE = new SynFile(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return SynFileRecord.class; + } + + /** + * The column public.syn_file.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(50).nullable(false), this, ""); + + /** + * The column public.syn_file.p_id. + */ + public final TableField P_ID = createField(DSL.name("p_id"), SQLDataType.VARCHAR(50).nullable(false), this, ""); + + /** + * The column public.syn_file.tablenumber. + */ + public final TableField TABLENUMBER = createField(DSL.name("tablenumber"), SQLDataType.VARCHAR(200).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.syn_file.annexname. + */ + public final TableField ANNEXNAME = createField(DSL.name("annexname"), SQLDataType.VARCHAR(500).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.syn_file.projectname. + */ + public final TableField PROJECTNAME = createField(DSL.name("projectname"), SQLDataType.VARCHAR(500).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.syn_file.eweavedate. + */ + public final TableField EWEAVEDATE = createField(DSL.name("eweavedate"), SQLDataType.VARCHAR(100).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.syn_file.checkdate. + */ + public final TableField CHECKDATE = createField(DSL.name("checkdate"), SQLDataType.VARCHAR(100).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.syn_file.annexpage. + */ + public final TableField ANNEXPAGE = createField(DSL.name("annexpage"), SQLDataType.INTEGER, this, ""); + + /** + * The column public.syn_file.sortorder. + */ + public final TableField SORTORDER = createField(DSL.name("sortorder"), SQLDataType.VARCHAR(50).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.syn_file.filefrom. + */ + public final TableField FILEFROM = createField(DSL.name("filefrom"), SQLDataType.VARCHAR(50).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.syn_file.archivestag. + */ + public final TableField ARCHIVESTAG = createField(DSL.name("archivestag"), SQLDataType.VARCHAR(50).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.syn_file.adddate. + */ + public final TableField ADDDATE = createField(DSL.name("adddate"), SQLDataType.VARCHAR(50).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.syn_file.editdate. + */ + public final TableField EDITDATE = createField(DSL.name("editdate"), SQLDataType.VARCHAR(50).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.syn_file.time_stamp. + */ + public final TableField TIME_STAMP = createField(DSL.name("time_stamp"), SQLDataType.VARCHAR(20).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.syn_file.isdel. + */ + public final TableField ISDEL = createField(DSL.name("isdel"), SQLDataType.INTEGER, this, ""); + + /** + * The column public.syn_file.downurl. + */ + public final TableField DOWNURL = createField(DSL.name("downurl"), SQLDataType.VARCHAR(200).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.syn_file.filesize. + */ + public final TableField FILESIZE = createField(DSL.name("filesize"), SQLDataType.INTEGER, this, ""); + + private SynFile(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private SynFile(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table()); + } + + /** + * Create an aliased public.syn_file table reference + */ + public SynFile(String alias) { + this(DSL.name(alias), SYN_FILE); + } + + /** + * Create an aliased public.syn_file table reference + */ + public SynFile(Name alias) { + this(alias, SYN_FILE); + } + + /** + * Create a public.syn_file table reference + */ + public SynFile() { + this(DSL.name("syn_file"), null); + } + + public SynFile(Table child, ForeignKey key) { + super(child, key, SYN_FILE); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public List getIndexes() { + return Arrays.asList(Indexes.IDX_SYN_FILE_PID); + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.SYN_FILE_PKEY; + } + + @Override + public SynFile as(String alias) { + return new SynFile(DSL.name(alias), this); + } + + @Override + public SynFile as(Name alias) { + return new SynFile(alias, this); + } + + @Override + public SynFile as(Table alias) { + return new SynFile(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public SynFile rename(String name) { + return new SynFile(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public SynFile rename(Name name) { + return new SynFile(name, null); + } + + /** + * Rename this table + */ + @Override + public SynFile rename(Table name) { + return new SynFile(name.getQualifiedName(), null); + } + + // ------------------------------------------------------------------------- + // Row17 type methods + // ------------------------------------------------------------------------- + + @Override + public Row17 fieldsRow() { + return (Row17) super.fieldsRow(); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Function)}. + */ + public SelectField mapping(Function17 from) { + return convertFrom(Records.mapping(from)); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Class, + * Function)}. + */ + public SelectField mapping(Class toType, Function17 from) { + return convertFrom(toType, Records.mapping(from)); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/SysAdmin.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/SysAdmin.java new file mode 100644 index 0000000..80f35ad --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/SysAdmin.java @@ -0,0 +1,234 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables; + + +import java.util.Arrays; +import java.util.List; +import java.util.function.Function; + +import jj.tech.paolu.repository.jooq.Keys; +import jj.tech.paolu.repository.jooq.Public; +import jj.tech.paolu.repository.jooq.tables.records.SysAdminRecord; + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Function14; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Records; +import org.jooq.Row14; +import org.jooq.Schema; +import org.jooq.SelectField; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysAdmin extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.sys_admin + */ + public static final SysAdmin SYS_ADMIN = new SysAdmin(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return SysAdminRecord.class; + } + + /** + * The column public.sys_admin.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.sys_admin.org_id. + */ + public final TableField ORG_ID = createField(DSL.name("org_id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.sys_admin.realname. + */ + public final TableField REALNAME = createField(DSL.name("realname"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column public.sys_admin.username. + */ + public final TableField USERNAME = createField(DSL.name("username"), SQLDataType.VARCHAR(255).nullable(false), this, ""); + + /** + * The column public.sys_admin.password. + */ + public final TableField PASSWORD = createField(DSL.name("password"), SQLDataType.VARCHAR(255).nullable(false), this, ""); + + /** + * The column public.sys_admin.phone. + */ + public final TableField PHONE = createField(DSL.name("phone"), SQLDataType.VARCHAR(255).nullable(false), this, ""); + + /** + * The column public.sys_admin.email. + */ + public final TableField EMAIL = createField(DSL.name("email"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column public.sys_admin.job. + */ + public final TableField JOB = createField(DSL.name("job"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column public.sys_admin.gender. + */ + public final TableField GENDER = createField(DSL.name("gender"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.sys_admin.islock. + */ + public final TableField ISLOCK = createField(DSL.name("islock"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.sys_admin.type. + */ + public final TableField TYPE = createField(DSL.name("type"), SQLDataType.INTEGER, this, ""); + + /** + * The column public.sys_admin.sort. + */ + public final TableField SORT = createField(DSL.name("sort"), SQLDataType.INTEGER, this, ""); + + /** + * The column public.sys_admin.cer_id. + */ + public final TableField CER_ID = createField(DSL.name("cer_id"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.sys_admin.company_id. 公司ID,组织ID的最高级 + */ + public final TableField COMPANY_ID = createField(DSL.name("company_id"), SQLDataType.VARCHAR(32), this, "公司ID,组织ID的最高级"); + + private SysAdmin(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private SysAdmin(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table()); + } + + /** + * Create an aliased public.sys_admin table reference + */ + public SysAdmin(String alias) { + this(DSL.name(alias), SYS_ADMIN); + } + + /** + * Create an aliased public.sys_admin table reference + */ + public SysAdmin(Name alias) { + this(alias, SYS_ADMIN); + } + + /** + * Create a public.sys_admin table reference + */ + public SysAdmin() { + this(DSL.name("sys_admin"), null); + } + + public SysAdmin(Table child, ForeignKey key) { + super(child, key, SYS_ADMIN); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.SYS_ADMIN_PKEY; + } + + @Override + public List> getUniqueKeys() { + return Arrays.asList(Keys.SYS_ADMIN_USERNAME_KEY); + } + + @Override + public SysAdmin as(String alias) { + return new SysAdmin(DSL.name(alias), this); + } + + @Override + public SysAdmin as(Name alias) { + return new SysAdmin(alias, this); + } + + @Override + public SysAdmin as(Table alias) { + return new SysAdmin(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public SysAdmin rename(String name) { + return new SysAdmin(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public SysAdmin rename(Name name) { + return new SysAdmin(name, null); + } + + /** + * Rename this table + */ + @Override + public SysAdmin rename(Table name) { + return new SysAdmin(name.getQualifiedName(), null); + } + + // ------------------------------------------------------------------------- + // Row14 type methods + // ------------------------------------------------------------------------- + + @Override + public Row14 fieldsRow() { + return (Row14) super.fieldsRow(); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Function)}. + */ + public SelectField mapping(Function14 from) { + return convertFrom(Records.mapping(from)); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Class, + * Function)}. + */ + public SelectField mapping(Class toType, Function14 from) { + return convertFrom(toType, Records.mapping(from)); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/SysAdminRole.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/SysAdminRole.java new file mode 100644 index 0000000..5030010 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/SysAdminRole.java @@ -0,0 +1,172 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables; + + +import java.util.function.Function; + +import jj.tech.paolu.repository.jooq.Keys; +import jj.tech.paolu.repository.jooq.Public; +import jj.tech.paolu.repository.jooq.tables.records.SysAdminRoleRecord; + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Function3; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Records; +import org.jooq.Row3; +import org.jooq.Schema; +import org.jooq.SelectField; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysAdminRole extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.sys_admin_role + */ + public static final SysAdminRole SYS_ADMIN_ROLE = new SysAdminRole(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return SysAdminRoleRecord.class; + } + + /** + * The column public.sys_admin_role.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.sys_admin_role.adminid. + */ + public final TableField ADMINID = createField(DSL.name("adminid"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.sys_admin_role.roleid. + */ + public final TableField ROLEID = createField(DSL.name("roleid"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + private SysAdminRole(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private SysAdminRole(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table()); + } + + /** + * Create an aliased public.sys_admin_role table reference + */ + public SysAdminRole(String alias) { + this(DSL.name(alias), SYS_ADMIN_ROLE); + } + + /** + * Create an aliased public.sys_admin_role table reference + */ + public SysAdminRole(Name alias) { + this(alias, SYS_ADMIN_ROLE); + } + + /** + * Create a public.sys_admin_role table reference + */ + public SysAdminRole() { + this(DSL.name("sys_admin_role"), null); + } + + public SysAdminRole(Table child, ForeignKey key) { + super(child, key, SYS_ADMIN_ROLE); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.SYS_ADMIN_ROLE_PKEY; + } + + @Override + public SysAdminRole as(String alias) { + return new SysAdminRole(DSL.name(alias), this); + } + + @Override + public SysAdminRole as(Name alias) { + return new SysAdminRole(alias, this); + } + + @Override + public SysAdminRole as(Table alias) { + return new SysAdminRole(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public SysAdminRole rename(String name) { + return new SysAdminRole(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public SysAdminRole rename(Name name) { + return new SysAdminRole(name, null); + } + + /** + * Rename this table + */ + @Override + public SysAdminRole rename(Table name) { + return new SysAdminRole(name.getQualifiedName(), null); + } + + // ------------------------------------------------------------------------- + // Row3 type methods + // ------------------------------------------------------------------------- + + @Override + public Row3 fieldsRow() { + return (Row3) super.fieldsRow(); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Function)}. + */ + public SelectField mapping(Function3 from) { + return convertFrom(Records.mapping(from)); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Class, + * Function)}. + */ + public SelectField mapping(Class toType, Function3 from) { + return convertFrom(toType, Records.mapping(from)); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/SysAdminWeid.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/SysAdminWeid.java new file mode 100644 index 0000000..f4ef671 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/SysAdminWeid.java @@ -0,0 +1,200 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables; + + +import java.time.LocalDateTime; +import java.util.Arrays; +import java.util.List; +import java.util.function.Function; + +import jj.tech.paolu.repository.jooq.Keys; +import jj.tech.paolu.repository.jooq.Public; +import jj.tech.paolu.repository.jooq.tables.records.SysAdminWeidRecord; + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Function7; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Records; +import org.jooq.Row7; +import org.jooq.Schema; +import org.jooq.SelectField; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysAdminWeid extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.sys_admin_weid + */ + public static final SysAdminWeid SYS_ADMIN_WEID = new SysAdminWeid(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return SysAdminWeidRecord.class; + } + + /** + * The column public.sys_admin_weid.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.sys_admin_weid.admin_id. + */ + public final TableField ADMIN_ID = createField(DSL.name("admin_id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.sys_admin_weid.wid. + */ + public final TableField WID = createField(DSL.name("wid"), SQLDataType.VARCHAR(255).defaultValue(DSL.field(DSL.raw("NULL::character varying"), SQLDataType.VARCHAR)), this, ""); + + /** + * The column public.sys_admin_weid.wprivate_key. + */ + public final TableField WPRIVATE_KEY = createField(DSL.name("wprivate_key"), SQLDataType.VARCHAR(500).nullable(false), this, ""); + + /** + * The column public.sys_admin_weid.add_time. + */ + public final TableField ADD_TIME = createField(DSL.name("add_time"), SQLDataType.LOCALDATETIME(6), this, ""); + + /** + * The column public.sys_admin_weid.certificate_hash. 存证哈希 + */ + public final TableField CERTIFICATE_HASH = createField(DSL.name("certificate_hash"), SQLDataType.VARCHAR(200), this, "存证哈希"); + + /** + * The column public.sys_admin_weid.chain_block. + */ + public final TableField CHAIN_BLOCK = createField(DSL.name("chain_block"), SQLDataType.VARCHAR, this, ""); + + private SysAdminWeid(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private SysAdminWeid(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table()); + } + + /** + * Create an aliased public.sys_admin_weid table reference + */ + public SysAdminWeid(String alias) { + this(DSL.name(alias), SYS_ADMIN_WEID); + } + + /** + * Create an aliased public.sys_admin_weid table reference + */ + public SysAdminWeid(Name alias) { + this(alias, SYS_ADMIN_WEID); + } + + /** + * Create a public.sys_admin_weid table reference + */ + public SysAdminWeid() { + this(DSL.name("sys_admin_weid"), null); + } + + public SysAdminWeid(Table child, ForeignKey key) { + super(child, key, SYS_ADMIN_WEID); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.SYS_ADMIN_WEID_PKEY; + } + + @Override + public List> getUniqueKeys() { + return Arrays.asList(Keys.SYS_ADMIN_WEID_ADMIN_ID_KEY); + } + + @Override + public SysAdminWeid as(String alias) { + return new SysAdminWeid(DSL.name(alias), this); + } + + @Override + public SysAdminWeid as(Name alias) { + return new SysAdminWeid(alias, this); + } + + @Override + public SysAdminWeid as(Table alias) { + return new SysAdminWeid(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public SysAdminWeid rename(String name) { + return new SysAdminWeid(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public SysAdminWeid rename(Name name) { + return new SysAdminWeid(name, null); + } + + /** + * Rename this table + */ + @Override + public SysAdminWeid rename(Table name) { + return new SysAdminWeid(name.getQualifiedName(), null); + } + + // ------------------------------------------------------------------------- + // Row7 type methods + // ------------------------------------------------------------------------- + + @Override + public Row7 fieldsRow() { + return (Row7) super.fieldsRow(); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Function)}. + */ + public SelectField mapping(Function7 from) { + return convertFrom(Records.mapping(from)); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Class, + * Function)}. + */ + public SelectField mapping(Class toType, Function7 from) { + return convertFrom(toType, Records.mapping(from)); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/SysArea.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/SysArea.java new file mode 100644 index 0000000..f1366a7 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/SysArea.java @@ -0,0 +1,201 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables; + + +import java.util.Arrays; +import java.util.List; +import java.util.function.Function; + +import jj.tech.paolu.repository.jooq.Indexes; +import jj.tech.paolu.repository.jooq.Keys; +import jj.tech.paolu.repository.jooq.Public; +import jj.tech.paolu.repository.jooq.tables.records.SysAreaRecord; + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Function7; +import org.jooq.Index; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Records; +import org.jooq.Row7; +import org.jooq.Schema; +import org.jooq.SelectField; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysArea extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.sys_area + */ + public static final SysArea SYS_AREA = new SysArea(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return SysAreaRecord.class; + } + + /** + * The column public.sys_area.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.sys_area.level_code. + */ + public final TableField LEVEL_CODE = createField(DSL.name("level_code"), SQLDataType.SMALLINT, this, ""); + + /** + * The column public.sys_area.parent_code. + */ + public final TableField PARENT_CODE = createField(DSL.name("parent_code"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.sys_area.area_code. + */ + public final TableField AREA_CODE = createField(DSL.name("area_code"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.sys_area.name. + */ + public final TableField NAME = createField(DSL.name("name"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column public.sys_area.pid. + */ + public final TableField PID = createField(DSL.name("pid"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.sys_area.pids. + */ + public final TableField PIDS = createField(DSL.name("pids"), SQLDataType.VARCHAR(1000), this, ""); + + private SysArea(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private SysArea(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table()); + } + + /** + * Create an aliased public.sys_area table reference + */ + public SysArea(String alias) { + this(DSL.name(alias), SYS_AREA); + } + + /** + * Create an aliased public.sys_area table reference + */ + public SysArea(Name alias) { + this(alias, SYS_AREA); + } + + /** + * Create a public.sys_area table reference + */ + public SysArea() { + this(DSL.name("sys_area"), null); + } + + public SysArea(Table child, ForeignKey key) { + super(child, key, SYS_AREA); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public List getIndexes() { + return Arrays.asList(Indexes.IDX_PARENT_CODE, Indexes.UK_CODE); + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.SYS_AREA_PKEY; + } + + @Override + public SysArea as(String alias) { + return new SysArea(DSL.name(alias), this); + } + + @Override + public SysArea as(Name alias) { + return new SysArea(alias, this); + } + + @Override + public SysArea as(Table alias) { + return new SysArea(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public SysArea rename(String name) { + return new SysArea(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public SysArea rename(Name name) { + return new SysArea(name, null); + } + + /** + * Rename this table + */ + @Override + public SysArea rename(Table name) { + return new SysArea(name.getQualifiedName(), null); + } + + // ------------------------------------------------------------------------- + // Row7 type methods + // ------------------------------------------------------------------------- + + @Override + public Row7 fieldsRow() { + return (Row7) super.fieldsRow(); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Function)}. + */ + public SelectField mapping(Function7 from) { + return convertFrom(Records.mapping(from)); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Class, + * Function)}. + */ + public SelectField mapping(Class toType, Function7 from) { + return convertFrom(toType, Records.mapping(from)); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/SysConfig.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/SysConfig.java new file mode 100644 index 0000000..b147a86 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/SysConfig.java @@ -0,0 +1,200 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables; + + +import java.time.LocalDateTime; +import java.util.Arrays; +import java.util.List; +import java.util.function.Function; + +import jj.tech.paolu.repository.jooq.Keys; +import jj.tech.paolu.repository.jooq.Public; +import jj.tech.paolu.repository.jooq.tables.records.SysConfigRecord; + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Function7; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Records; +import org.jooq.Row7; +import org.jooq.Schema; +import org.jooq.SelectField; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysConfig extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.sys_config + */ + public static final SysConfig SYS_CONFIG = new SysConfig(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return SysConfigRecord.class; + } + + /** + * The column public.sys_config.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.sys_config.subgroup. + */ + public final TableField SUBGROUP = createField(DSL.name("subgroup"), SQLDataType.VARCHAR(255).nullable(false), this, ""); + + /** + * The column public.sys_config.keys. + */ + public final TableField KEYS = createField(DSL.name("keys"), SQLDataType.VARCHAR(255).nullable(false), this, ""); + + /** + * The column public.sys_config.val. + */ + public final TableField VAL = createField(DSL.name("val"), SQLDataType.VARCHAR(1024), this, ""); + + /** + * The column public.sys_config.admin_id. + */ + public final TableField ADMIN_ID = createField(DSL.name("admin_id"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.sys_config.adminname. + */ + public final TableField ADMINNAME = createField(DSL.name("adminname"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.sys_config.edittime. + */ + public final TableField EDITTIME = createField(DSL.name("edittime"), SQLDataType.LOCALDATETIME(6), this, ""); + + private SysConfig(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private SysConfig(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table()); + } + + /** + * Create an aliased public.sys_config table reference + */ + public SysConfig(String alias) { + this(DSL.name(alias), SYS_CONFIG); + } + + /** + * Create an aliased public.sys_config table reference + */ + public SysConfig(Name alias) { + this(alias, SYS_CONFIG); + } + + /** + * Create a public.sys_config table reference + */ + public SysConfig() { + this(DSL.name("sys_config"), null); + } + + public SysConfig(Table child, ForeignKey key) { + super(child, key, SYS_CONFIG); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.SYS_CONFIG_PKEY; + } + + @Override + public List> getUniqueKeys() { + return Arrays.asList(Keys.SYS_CONFIG_KEYS_KEY); + } + + @Override + public SysConfig as(String alias) { + return new SysConfig(DSL.name(alias), this); + } + + @Override + public SysConfig as(Name alias) { + return new SysConfig(alias, this); + } + + @Override + public SysConfig as(Table alias) { + return new SysConfig(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public SysConfig rename(String name) { + return new SysConfig(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public SysConfig rename(Name name) { + return new SysConfig(name, null); + } + + /** + * Rename this table + */ + @Override + public SysConfig rename(Table name) { + return new SysConfig(name.getQualifiedName(), null); + } + + // ------------------------------------------------------------------------- + // Row7 type methods + // ------------------------------------------------------------------------- + + @Override + public Row7 fieldsRow() { + return (Row7) super.fieldsRow(); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Function)}. + */ + public SelectField mapping(Function7 from) { + return convertFrom(Records.mapping(from)); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Class, + * Function)}. + */ + public SelectField mapping(Class toType, Function7 from) { + return convertFrom(toType, Records.mapping(from)); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/SysMenu.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/SysMenu.java new file mode 100644 index 0000000..2f143e2 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/SysMenu.java @@ -0,0 +1,212 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables; + + +import java.util.function.Function; + +import jj.tech.paolu.repository.jooq.Keys; +import jj.tech.paolu.repository.jooq.Public; +import jj.tech.paolu.repository.jooq.tables.records.SysMenuRecord; + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Function11; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Records; +import org.jooq.Row11; +import org.jooq.Schema; +import org.jooq.SelectField; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysMenu extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.sys_menu + */ + public static final SysMenu SYS_MENU = new SysMenu(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return SysMenuRecord.class; + } + + /** + * The column public.sys_menu.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.sys_menu.parent_id. + */ + public final TableField PARENT_ID = createField(DSL.name("parent_id"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.sys_menu.level. + */ + public final TableField LEVEL = createField(DSL.name("level"), SQLDataType.INTEGER, this, ""); + + /** + * The column public.sys_menu.name. + */ + public final TableField NAME = createField(DSL.name("name"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column public.sys_menu.types. + */ + public final TableField TYPES = createField(DSL.name("types"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column public.sys_menu.url. + */ + public final TableField URL = createField(DSL.name("url"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column public.sys_menu.icon. + */ + public final TableField ICON = createField(DSL.name("icon"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column public.sys_menu.is_open. + */ + public final TableField IS_OPEN = createField(DSL.name("is_open"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.sys_menu.description. + */ + public final TableField DESCRIPTION = createField(DSL.name("description"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column public.sys_menu.sort. + */ + public final TableField SORT = createField(DSL.name("sort"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.sys_menu.parentpath. + */ + public final TableField PARENTPATH = createField(DSL.name("parentpath"), SQLDataType.VARCHAR(255), this, ""); + + private SysMenu(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private SysMenu(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table()); + } + + /** + * Create an aliased public.sys_menu table reference + */ + public SysMenu(String alias) { + this(DSL.name(alias), SYS_MENU); + } + + /** + * Create an aliased public.sys_menu table reference + */ + public SysMenu(Name alias) { + this(alias, SYS_MENU); + } + + /** + * Create a public.sys_menu table reference + */ + public SysMenu() { + this(DSL.name("sys_menu"), null); + } + + public SysMenu(Table child, ForeignKey key) { + super(child, key, SYS_MENU); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.SYS_MENU_PKEY; + } + + @Override + public SysMenu as(String alias) { + return new SysMenu(DSL.name(alias), this); + } + + @Override + public SysMenu as(Name alias) { + return new SysMenu(alias, this); + } + + @Override + public SysMenu as(Table alias) { + return new SysMenu(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public SysMenu rename(String name) { + return new SysMenu(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public SysMenu rename(Name name) { + return new SysMenu(name, null); + } + + /** + * Rename this table + */ + @Override + public SysMenu rename(Table name) { + return new SysMenu(name.getQualifiedName(), null); + } + + // ------------------------------------------------------------------------- + // Row11 type methods + // ------------------------------------------------------------------------- + + @Override + public Row11 fieldsRow() { + return (Row11) super.fieldsRow(); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Function)}. + */ + public SelectField mapping(Function11 from) { + return convertFrom(Records.mapping(from)); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Class, + * Function)}. + */ + public SelectField mapping(Class toType, Function11 from) { + return convertFrom(toType, Records.mapping(from)); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/SysOrg.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/SysOrg.java new file mode 100644 index 0000000..3cf8529 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/SysOrg.java @@ -0,0 +1,279 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables; + + +import java.time.LocalDateTime; + +import jj.tech.paolu.repository.jooq.Keys; +import jj.tech.paolu.repository.jooq.Public; +import jj.tech.paolu.repository.jooq.tables.records.SysOrgRecord; + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Schema; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysOrg extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.sys_org + */ + public static final SysOrg SYS_ORG = new SysOrg(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return SysOrgRecord.class; + } + + /** + * The column public.sys_org.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.sys_org.pid. + */ + public final TableField PID = createField(DSL.name("pid"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.sys_org.chinese_simple_name. + */ + public final TableField CHINESE_SIMPLE_NAME = createField(DSL.name("chinese_simple_name"), SQLDataType.VARCHAR(255).nullable(false), this, ""); + + /** + * The column public.sys_org.english_simple_name. + */ + public final TableField ENGLISH_SIMPLE_NAME = createField(DSL.name("english_simple_name"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column public.sys_org.chinese_full_name. + */ + public final TableField CHINESE_FULL_NAME = createField(DSL.name("chinese_full_name"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column public.sys_org.english_full_name. + */ + public final TableField ENGLISH_FULL_NAME = createField(DSL.name("english_full_name"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column public.sys_org.code. + */ + public final TableField CODE = createField(DSL.name("code"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column public.sys_org.sort. + */ + public final TableField SORT = createField(DSL.name("sort"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.sys_org.status. + */ + public final TableField STATUS = createField(DSL.name("status"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("1"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.sys_org.is_company_department. + */ + public final TableField IS_COMPANY_DEPARTMENT = createField(DSL.name("is_company_department"), SQLDataType.INTEGER.nullable(false), this, ""); + + /** + * The column public.sys_org.enterprise_legal_person. + */ + public final TableField ENTERPRISE_LEGAL_PERSON = createField(DSL.name("enterprise_legal_person"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column public.sys_org.contact_person. + */ + public final TableField CONTACT_PERSON = createField(DSL.name("contact_person"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column public.sys_org.contact_phone. + */ + public final TableField CONTACT_PHONE = createField(DSL.name("contact_phone"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column public.sys_org.remark. + */ + public final TableField REMARK = createField(DSL.name("remark"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column public.sys_org.create_time. + */ + public final TableField CREATE_TIME = createField(DSL.name("create_time"), SQLDataType.LOCALDATETIME(6), this, ""); + + /** + * The column public.sys_org.create_user. + */ + public final TableField CREATE_USER = createField(DSL.name("create_user"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.sys_org.update_time. + */ + public final TableField UPDATE_TIME = createField(DSL.name("update_time"), SQLDataType.LOCALDATETIME(6), this, ""); + + /** + * The column public.sys_org.update_user. + */ + public final TableField UPDATE_USER = createField(DSL.name("update_user"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.sys_org.name. + */ + public final TableField NAME = createField(DSL.name("name"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column public.sys_org.industry_name. + */ + public final TableField INDUSTRY_NAME = createField(DSL.name("industry_name"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column public.sys_org.industry_code. + */ + public final TableField INDUSTRY_CODE = createField(DSL.name("industry_code"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.sys_org.province_code. + */ + public final TableField PROVINCE_CODE = createField(DSL.name("province_code"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.sys_org.city_code. + */ + public final TableField CITY_CODE = createField(DSL.name("city_code"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.sys_org.area_code. + */ + public final TableField AREA_CODE = createField(DSL.name("area_code"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.sys_org.addr. + */ + public final TableField ADDR = createField(DSL.name("addr"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column public.sys_org.uscc. + */ + public final TableField USCC = createField(DSL.name("uscc"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column public.sys_org.org_type. + */ + public final TableField ORG_TYPE = createField(DSL.name("org_type"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column public.sys_org.is_archives_dep. + */ + public final TableField IS_ARCHIVES_DEP = createField(DSL.name("is_archives_dep"), SQLDataType.INTEGER, this, ""); + + /** + * The column public.sys_org.cer_id. + */ + public final TableField CER_ID = createField(DSL.name("cer_id"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.sys_org.is_forbidden. + */ + public final TableField IS_FORBIDDEN = createField(DSL.name("is_forbidden"), SQLDataType.INTEGER.nullable(false).defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + private SysOrg(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private SysOrg(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table()); + } + + /** + * Create an aliased public.sys_org table reference + */ + public SysOrg(String alias) { + this(DSL.name(alias), SYS_ORG); + } + + /** + * Create an aliased public.sys_org table reference + */ + public SysOrg(Name alias) { + this(alias, SYS_ORG); + } + + /** + * Create a public.sys_org table reference + */ + public SysOrg() { + this(DSL.name("sys_org"), null); + } + + public SysOrg(Table child, ForeignKey key) { + super(child, key, SYS_ORG); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.SYS_ORG_PKEY1; + } + + @Override + public SysOrg as(String alias) { + return new SysOrg(DSL.name(alias), this); + } + + @Override + public SysOrg as(Name alias) { + return new SysOrg(alias, this); + } + + @Override + public SysOrg as(Table alias) { + return new SysOrg(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public SysOrg rename(String name) { + return new SysOrg(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public SysOrg rename(Name name) { + return new SysOrg(name, null); + } + + /** + * Rename this table + */ + @Override + public SysOrg rename(Table name) { + return new SysOrg(name.getQualifiedName(), null); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/SysRole.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/SysRole.java new file mode 100644 index 0000000..8fe8ac9 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/SysRole.java @@ -0,0 +1,202 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables; + + +import java.util.function.Function; + +import jj.tech.paolu.repository.jooq.Keys; +import jj.tech.paolu.repository.jooq.Public; +import jj.tech.paolu.repository.jooq.tables.records.SysRoleRecord; + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Function9; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Records; +import org.jooq.Row9; +import org.jooq.Schema; +import org.jooq.SelectField; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysRole extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.sys_role + */ + public static final SysRole SYS_ROLE = new SysRole(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return SysRoleRecord.class; + } + + /** + * The column public.sys_role.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.sys_role.rolename. + */ + public final TableField ROLENAME = createField(DSL.name("rolename"), SQLDataType.VARCHAR(255).nullable(false), this, ""); + + /** + * The column public.sys_role.describe. + */ + public final TableField DESCRIBE = createField(DSL.name("describe"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column public.sys_role.sort. + */ + public final TableField SORT = createField(DSL.name("sort"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.sys_role.is_open. + */ + public final TableField IS_OPEN = createField(DSL.name("is_open"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("1"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.sys_role.sign_name. + */ + public final TableField SIGN_NAME = createField(DSL.name("sign_name"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column public.sys_role.sign_id. + */ + public final TableField SIGN_ID = createField(DSL.name("sign_id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.sys_role.company_id. + */ + public final TableField COMPANY_ID = createField(DSL.name("company_id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.sys_role.company_name. + */ + public final TableField COMPANY_NAME = createField(DSL.name("company_name"), SQLDataType.VARCHAR(100).nullable(false), this, ""); + + private SysRole(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private SysRole(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table()); + } + + /** + * Create an aliased public.sys_role table reference + */ + public SysRole(String alias) { + this(DSL.name(alias), SYS_ROLE); + } + + /** + * Create an aliased public.sys_role table reference + */ + public SysRole(Name alias) { + this(alias, SYS_ROLE); + } + + /** + * Create a public.sys_role table reference + */ + public SysRole() { + this(DSL.name("sys_role"), null); + } + + public SysRole(Table child, ForeignKey key) { + super(child, key, SYS_ROLE); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.SYS_ROLE_PKEY; + } + + @Override + public SysRole as(String alias) { + return new SysRole(DSL.name(alias), this); + } + + @Override + public SysRole as(Name alias) { + return new SysRole(alias, this); + } + + @Override + public SysRole as(Table alias) { + return new SysRole(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public SysRole rename(String name) { + return new SysRole(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public SysRole rename(Name name) { + return new SysRole(name, null); + } + + /** + * Rename this table + */ + @Override + public SysRole rename(Table name) { + return new SysRole(name.getQualifiedName(), null); + } + + // ------------------------------------------------------------------------- + // Row9 type methods + // ------------------------------------------------------------------------- + + @Override + public Row9 fieldsRow() { + return (Row9) super.fieldsRow(); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Function)}. + */ + public SelectField mapping(Function9 from) { + return convertFrom(Records.mapping(from)); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Class, + * Function)}. + */ + public SelectField mapping(Class toType, Function9 from) { + return convertFrom(toType, Records.mapping(from)); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/SysRoleMenu.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/SysRoleMenu.java new file mode 100644 index 0000000..67b70b0 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/SysRoleMenu.java @@ -0,0 +1,179 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables; + + +import java.util.Arrays; +import java.util.List; +import java.util.function.Function; + +import jj.tech.paolu.repository.jooq.Keys; +import jj.tech.paolu.repository.jooq.Public; +import jj.tech.paolu.repository.jooq.tables.records.SysRoleMenuRecord; + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Function3; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Records; +import org.jooq.Row3; +import org.jooq.Schema; +import org.jooq.SelectField; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysRoleMenu extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.sys_role_menu + */ + public static final SysRoleMenu SYS_ROLE_MENU = new SysRoleMenu(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return SysRoleMenuRecord.class; + } + + /** + * The column public.sys_role_menu.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.sys_role_menu.roleid. + */ + public final TableField ROLEID = createField(DSL.name("roleid"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.sys_role_menu.menuid. + */ + public final TableField MENUID = createField(DSL.name("menuid"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + private SysRoleMenu(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private SysRoleMenu(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table()); + } + + /** + * Create an aliased public.sys_role_menu table reference + */ + public SysRoleMenu(String alias) { + this(DSL.name(alias), SYS_ROLE_MENU); + } + + /** + * Create an aliased public.sys_role_menu table reference + */ + public SysRoleMenu(Name alias) { + this(alias, SYS_ROLE_MENU); + } + + /** + * Create a public.sys_role_menu table reference + */ + public SysRoleMenu() { + this(DSL.name("sys_role_menu"), null); + } + + public SysRoleMenu(Table child, ForeignKey key) { + super(child, key, SYS_ROLE_MENU); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.SYS_ROLE_MENU_PKEY; + } + + @Override + public List> getUniqueKeys() { + return Arrays.asList(Keys.SYS_ROLE_MENU_ROLEID_RESID_KEY); + } + + @Override + public SysRoleMenu as(String alias) { + return new SysRoleMenu(DSL.name(alias), this); + } + + @Override + public SysRoleMenu as(Name alias) { + return new SysRoleMenu(alias, this); + } + + @Override + public SysRoleMenu as(Table alias) { + return new SysRoleMenu(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public SysRoleMenu rename(String name) { + return new SysRoleMenu(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public SysRoleMenu rename(Name name) { + return new SysRoleMenu(name, null); + } + + /** + * Rename this table + */ + @Override + public SysRoleMenu rename(Table name) { + return new SysRoleMenu(name.getQualifiedName(), null); + } + + // ------------------------------------------------------------------------- + // Row3 type methods + // ------------------------------------------------------------------------- + + @Override + public Row3 fieldsRow() { + return (Row3) super.fieldsRow(); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Function)}. + */ + public SelectField mapping(Function3 from) { + return convertFrom(Records.mapping(from)); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Class, + * Function)}. + */ + public SelectField mapping(Class toType, Function3 from) { + return convertFrom(toType, Records.mapping(from)); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/SysRoleSign.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/SysRoleSign.java new file mode 100644 index 0000000..77eb9a8 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/SysRoleSign.java @@ -0,0 +1,172 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables; + + +import java.util.function.Function; + +import jj.tech.paolu.repository.jooq.Keys; +import jj.tech.paolu.repository.jooq.Public; +import jj.tech.paolu.repository.jooq.tables.records.SysRoleSignRecord; + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Function3; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Records; +import org.jooq.Row3; +import org.jooq.Schema; +import org.jooq.SelectField; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysRoleSign extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.sys_role_sign + */ + public static final SysRoleSign SYS_ROLE_SIGN = new SysRoleSign(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return SysRoleSignRecord.class; + } + + /** + * The column public.sys_role_sign.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.sys_role_sign.sign_name. + */ + public final TableField SIGN_NAME = createField(DSL.name("sign_name"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.sys_role_sign.sign_code. + */ + public final TableField SIGN_CODE = createField(DSL.name("sign_code"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + private SysRoleSign(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private SysRoleSign(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table()); + } + + /** + * Create an aliased public.sys_role_sign table reference + */ + public SysRoleSign(String alias) { + this(DSL.name(alias), SYS_ROLE_SIGN); + } + + /** + * Create an aliased public.sys_role_sign table reference + */ + public SysRoleSign(Name alias) { + this(alias, SYS_ROLE_SIGN); + } + + /** + * Create a public.sys_role_sign table reference + */ + public SysRoleSign() { + this(DSL.name("sys_role_sign"), null); + } + + public SysRoleSign(Table child, ForeignKey key) { + super(child, key, SYS_ROLE_SIGN); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.SYS_ROLE_SIGN_PKEY; + } + + @Override + public SysRoleSign as(String alias) { + return new SysRoleSign(DSL.name(alias), this); + } + + @Override + public SysRoleSign as(Name alias) { + return new SysRoleSign(alias, this); + } + + @Override + public SysRoleSign as(Table alias) { + return new SysRoleSign(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public SysRoleSign rename(String name) { + return new SysRoleSign(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public SysRoleSign rename(Name name) { + return new SysRoleSign(name, null); + } + + /** + * Rename this table + */ + @Override + public SysRoleSign rename(Table name) { + return new SysRoleSign(name.getQualifiedName(), null); + } + + // ------------------------------------------------------------------------- + // Row3 type methods + // ------------------------------------------------------------------------- + + @Override + public Row3 fieldsRow() { + return (Row3) super.fieldsRow(); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Function)}. + */ + public SelectField mapping(Function3 from) { + return convertFrom(Records.mapping(from)); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Class, + * Function)}. + */ + public SelectField mapping(Class toType, Function3 from) { + return convertFrom(toType, Records.mapping(from)); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/SysRoleUrl.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/SysRoleUrl.java new file mode 100644 index 0000000..f5961d7 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/SysRoleUrl.java @@ -0,0 +1,177 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables; + + +import java.util.function.Function; + +import jj.tech.paolu.repository.jooq.Keys; +import jj.tech.paolu.repository.jooq.Public; +import jj.tech.paolu.repository.jooq.tables.records.SysRoleUrlRecord; + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Function4; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Records; +import org.jooq.Row4; +import org.jooq.Schema; +import org.jooq.SelectField; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysRoleUrl extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.sys_role_url + */ + public static final SysRoleUrl SYS_ROLE_URL = new SysRoleUrl(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return SysRoleUrlRecord.class; + } + + /** + * The column public.sys_role_url.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.sys_role_url.roleid. + */ + public final TableField ROLEID = createField(DSL.name("roleid"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.sys_role_url.url. + */ + public final TableField URL = createField(DSL.name("url"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.sys_role_url.urltypes. + */ + public final TableField URLTYPES = createField(DSL.name("urltypes"), SQLDataType.INTEGER.nullable(false), this, ""); + + private SysRoleUrl(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private SysRoleUrl(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table()); + } + + /** + * Create an aliased public.sys_role_url table reference + */ + public SysRoleUrl(String alias) { + this(DSL.name(alias), SYS_ROLE_URL); + } + + /** + * Create an aliased public.sys_role_url table reference + */ + public SysRoleUrl(Name alias) { + this(alias, SYS_ROLE_URL); + } + + /** + * Create a public.sys_role_url table reference + */ + public SysRoleUrl() { + this(DSL.name("sys_role_url"), null); + } + + public SysRoleUrl(Table child, ForeignKey key) { + super(child, key, SYS_ROLE_URL); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.SYS_ROLE_URL_PKEY; + } + + @Override + public SysRoleUrl as(String alias) { + return new SysRoleUrl(DSL.name(alias), this); + } + + @Override + public SysRoleUrl as(Name alias) { + return new SysRoleUrl(alias, this); + } + + @Override + public SysRoleUrl as(Table alias) { + return new SysRoleUrl(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public SysRoleUrl rename(String name) { + return new SysRoleUrl(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public SysRoleUrl rename(Name name) { + return new SysRoleUrl(name, null); + } + + /** + * Rename this table + */ + @Override + public SysRoleUrl rename(Table name) { + return new SysRoleUrl(name.getQualifiedName(), null); + } + + // ------------------------------------------------------------------------- + // Row4 type methods + // ------------------------------------------------------------------------- + + @Override + public Row4 fieldsRow() { + return (Row4) super.fieldsRow(); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Function)}. + */ + public SelectField mapping(Function4 from) { + return convertFrom(Records.mapping(from)); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Class, + * Function)}. + */ + public SelectField mapping(Class toType, Function4 from) { + return convertFrom(toType, Records.mapping(from)); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/SysUrls.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/SysUrls.java new file mode 100644 index 0000000..507baa8 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/SysUrls.java @@ -0,0 +1,199 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables; + + +import java.util.Arrays; +import java.util.List; +import java.util.function.Function; + +import jj.tech.paolu.repository.jooq.Keys; +import jj.tech.paolu.repository.jooq.Public; +import jj.tech.paolu.repository.jooq.tables.records.SysUrlsRecord; + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Function7; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Records; +import org.jooq.Row7; +import org.jooq.Schema; +import org.jooq.SelectField; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysUrls extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.sys_urls + */ + public static final SysUrls SYS_URLS = new SysUrls(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return SysUrlsRecord.class; + } + + /** + * The column public.sys_urls.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(32).nullable(false), this, ""); + + /** + * The column public.sys_urls.pid. + */ + public final TableField PID = createField(DSL.name("pid"), SQLDataType.VARCHAR(32), this, ""); + + /** + * The column public.sys_urls.types. + */ + public final TableField TYPES = createField(DSL.name("types"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("1"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.sys_urls.level. + */ + public final TableField LEVEL = createField(DSL.name("level"), SQLDataType.INTEGER.defaultValue(DSL.field(DSL.raw("0"), SQLDataType.INTEGER)), this, ""); + + /** + * The column public.sys_urls.url. + */ + public final TableField URL = createField(DSL.name("url"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column public.sys_urls.name. + */ + public final TableField NAME = createField(DSL.name("name"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column public.sys_urls.method. + */ + public final TableField METHOD = createField(DSL.name("method"), SQLDataType.VARCHAR(255), this, ""); + + private SysUrls(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private SysUrls(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table()); + } + + /** + * Create an aliased public.sys_urls table reference + */ + public SysUrls(String alias) { + this(DSL.name(alias), SYS_URLS); + } + + /** + * Create an aliased public.sys_urls table reference + */ + public SysUrls(Name alias) { + this(alias, SYS_URLS); + } + + /** + * Create a public.sys_urls table reference + */ + public SysUrls() { + this(DSL.name("sys_urls"), null); + } + + public SysUrls(Table child, ForeignKey key) { + super(child, key, SYS_URLS); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.SYS_URLS_PKEY; + } + + @Override + public List> getUniqueKeys() { + return Arrays.asList(Keys.SYS_URLS_URL_KEY); + } + + @Override + public SysUrls as(String alias) { + return new SysUrls(DSL.name(alias), this); + } + + @Override + public SysUrls as(Name alias) { + return new SysUrls(alias, this); + } + + @Override + public SysUrls as(Table alias) { + return new SysUrls(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public SysUrls rename(String name) { + return new SysUrls(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public SysUrls rename(Name name) { + return new SysUrls(name, null); + } + + /** + * Rename this table + */ + @Override + public SysUrls rename(Table name) { + return new SysUrls(name.getQualifiedName(), null); + } + + // ------------------------------------------------------------------------- + // Row7 type methods + // ------------------------------------------------------------------------- + + @Override + public Row7 fieldsRow() { + return (Row7) super.fieldsRow(); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Function)}. + */ + public SelectField mapping(Function7 from) { + return convertFrom(Records.mapping(from)); + } + + /** + * Convenience mapping calling {@link SelectField#convertFrom(Class, + * Function)}. + */ + public SelectField mapping(Class toType, Function7 from) { + return convertFrom(toType, Records.mapping(from)); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/ArchiveSynLogDao.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/ArchiveSynLogDao.java new file mode 100644 index 0000000..a5ff3a6 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/ArchiveSynLogDao.java @@ -0,0 +1,255 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.daos; + + +import java.time.LocalDateTime; +import java.util.List; +import java.util.Optional; + +import jj.tech.paolu.repository.jooq.tables.ArchiveSynLog; +import jj.tech.paolu.repository.jooq.tables.records.ArchiveSynLogRecord; + +import org.jooq.Configuration; +import org.jooq.impl.DAOImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + + +/** + * 从电子档案系统同步档案目录数据的过程日志 + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +@Repository +public class ArchiveSynLogDao extends DAOImpl { + + /** + * Create a new ArchiveSynLogDao without any configuration + */ + public ArchiveSynLogDao() { + super(ArchiveSynLog.ARCHIVE_SYN_LOG, jj.tech.paolu.repository.jooq.tables.pojos.ArchiveSynLog.class); + } + + /** + * Create a new ArchiveSynLogDao with an attached configuration + */ + @Autowired + public ArchiveSynLogDao(Configuration configuration) { + super(ArchiveSynLog.ARCHIVE_SYN_LOG, jj.tech.paolu.repository.jooq.tables.pojos.ArchiveSynLog.class, configuration); + } + + @Override + public String getId(jj.tech.paolu.repository.jooq.tables.pojos.ArchiveSynLog object) { + return object.getId(); + } + + /** + * Fetch records that have start_time BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfStartTime(LocalDateTime lowerInclusive, LocalDateTime upperInclusive) { + return fetchRange(ArchiveSynLog.ARCHIVE_SYN_LOG.START_TIME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have start_time IN (values) + */ + public List fetchByStartTime(LocalDateTime... values) { + return fetch(ArchiveSynLog.ARCHIVE_SYN_LOG.START_TIME, values); + } + + /** + * Fetch records that have insert_dir_count BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfInsertDirCount(Long lowerInclusive, Long upperInclusive) { + return fetchRange(ArchiveSynLog.ARCHIVE_SYN_LOG.INSERT_DIR_COUNT, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have insert_dir_count IN (values) + */ + public List fetchByInsertDirCount(Long... values) { + return fetch(ArchiveSynLog.ARCHIVE_SYN_LOG.INSERT_DIR_COUNT, values); + } + + /** + * Fetch records that have update_dir_count BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfUpdateDirCount(Long lowerInclusive, Long upperInclusive) { + return fetchRange(ArchiveSynLog.ARCHIVE_SYN_LOG.UPDATE_DIR_COUNT, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have update_dir_count IN (values) + */ + public List fetchByUpdateDirCount(Long... values) { + return fetch(ArchiveSynLog.ARCHIVE_SYN_LOG.UPDATE_DIR_COUNT, values); + } + + /** + * Fetch records that have insert_dirfile_count BETWEEN lowerInclusive + * AND upperInclusive + */ + public List fetchRangeOfInsertDirfileCount(Long lowerInclusive, Long upperInclusive) { + return fetchRange(ArchiveSynLog.ARCHIVE_SYN_LOG.INSERT_DIRFILE_COUNT, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have insert_dirfile_count IN (values) + */ + public List fetchByInsertDirfileCount(Long... values) { + return fetch(ArchiveSynLog.ARCHIVE_SYN_LOG.INSERT_DIRFILE_COUNT, values); + } + + /** + * Fetch records that have update_dirfile_count BETWEEN lowerInclusive + * AND upperInclusive + */ + public List fetchRangeOfUpdateDirfileCount(Long lowerInclusive, Long upperInclusive) { + return fetchRange(ArchiveSynLog.ARCHIVE_SYN_LOG.UPDATE_DIRFILE_COUNT, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have update_dirfile_count IN (values) + */ + public List fetchByUpdateDirfileCount(Long... values) { + return fetch(ArchiveSynLog.ARCHIVE_SYN_LOG.UPDATE_DIRFILE_COUNT, values); + } + + /** + * Fetch records that have insert_file_count BETWEEN lowerInclusive + * AND upperInclusive + */ + public List fetchRangeOfInsertFileCount(Long lowerInclusive, Long upperInclusive) { + return fetchRange(ArchiveSynLog.ARCHIVE_SYN_LOG.INSERT_FILE_COUNT, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have insert_file_count IN (values) + */ + public List fetchByInsertFileCount(Long... values) { + return fetch(ArchiveSynLog.ARCHIVE_SYN_LOG.INSERT_FILE_COUNT, values); + } + + /** + * Fetch records that have update_file_count BETWEEN lowerInclusive + * AND upperInclusive + */ + public List fetchRangeOfUpdateFileCount(Long lowerInclusive, Long upperInclusive) { + return fetchRange(ArchiveSynLog.ARCHIVE_SYN_LOG.UPDATE_FILE_COUNT, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have update_file_count IN (values) + */ + public List fetchByUpdateFileCount(Long... values) { + return fetch(ArchiveSynLog.ARCHIVE_SYN_LOG.UPDATE_FILE_COUNT, values); + } + + /** + * Fetch records that have description BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfDescription(String lowerInclusive, String upperInclusive) { + return fetchRange(ArchiveSynLog.ARCHIVE_SYN_LOG.DESCRIPTION, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have description IN (values) + */ + public List fetchByDescription(String... values) { + return fetch(ArchiveSynLog.ARCHIVE_SYN_LOG.DESCRIPTION, values); + } + + /** + * Fetch records that have run_result BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfRunResult(String lowerInclusive, String upperInclusive) { + return fetchRange(ArchiveSynLog.ARCHIVE_SYN_LOG.RUN_RESULT, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have run_result IN (values) + */ + public List fetchByRunResult(String... values) { + return fetch(ArchiveSynLog.ARCHIVE_SYN_LOG.RUN_RESULT, values); + } + + /** + * Fetch records that have update_timestamp BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfUpdateTimestamp(Long lowerInclusive, Long upperInclusive) { + return fetchRange(ArchiveSynLog.ARCHIVE_SYN_LOG.UPDATE_TIMESTAMP, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have update_timestamp IN (values) + */ + public List fetchByUpdateTimestamp(Long... values) { + return fetch(ArchiveSynLog.ARCHIVE_SYN_LOG.UPDATE_TIMESTAMP, values); + } + + /** + * Fetch records that have id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfId(String lowerInclusive, String upperInclusive) { + return fetchRange(ArchiveSynLog.ARCHIVE_SYN_LOG.ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have id IN (values) + */ + public List fetchById(String... values) { + return fetch(ArchiveSynLog.ARCHIVE_SYN_LOG.ID, values); + } + + /** + * Fetch a unique record that has id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.ArchiveSynLog fetchOneById(String value) { + return fetchOne(ArchiveSynLog.ARCHIVE_SYN_LOG.ID, value); + } + + /** + * Fetch a unique record that has id = value + */ + public Optional fetchOptionalById(String value) { + return fetchOptional(ArchiveSynLog.ARCHIVE_SYN_LOG.ID, value); + } + + /** + * Fetch records that have next_update_timestamp BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfNextUpdateTimestamp(Long lowerInclusive, Long upperInclusive) { + return fetchRange(ArchiveSynLog.ARCHIVE_SYN_LOG.NEXT_UPDATE_TIMESTAMP, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have next_update_timestamp IN (values) + */ + public List fetchByNextUpdateTimestamp(Long... values) { + return fetch(ArchiveSynLog.ARCHIVE_SYN_LOG.NEXT_UPDATE_TIMESTAMP, values); + } + + /** + * Fetch records that have end_time BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfEndTime(LocalDateTime lowerInclusive, LocalDateTime upperInclusive) { + return fetchRange(ArchiveSynLog.ARCHIVE_SYN_LOG.END_TIME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have end_time IN (values) + */ + public List fetchByEndTime(LocalDateTime... values) { + return fetch(ArchiveSynLog.ARCHIVE_SYN_LOG.END_TIME, values); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/CertificateApplyDao.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/CertificateApplyDao.java new file mode 100644 index 0000000..f380f3c --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/CertificateApplyDao.java @@ -0,0 +1,329 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.daos; + + +import java.time.LocalDateTime; +import java.util.List; +import java.util.Optional; + +import jj.tech.paolu.repository.jooq.tables.CertificateApply; +import jj.tech.paolu.repository.jooq.tables.records.CertificateApplyRecord; + +import org.jooq.Configuration; +import org.jooq.impl.DAOImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +@Repository +public class CertificateApplyDao extends DAOImpl { + + /** + * Create a new CertificateApplyDao without any configuration + */ + public CertificateApplyDao() { + super(CertificateApply.CERTIFICATE_APPLY, jj.tech.paolu.repository.jooq.tables.pojos.CertificateApply.class); + } + + /** + * Create a new CertificateApplyDao with an attached configuration + */ + @Autowired + public CertificateApplyDao(Configuration configuration) { + super(CertificateApply.CERTIFICATE_APPLY, jj.tech.paolu.repository.jooq.tables.pojos.CertificateApply.class, configuration); + } + + @Override + public String getId(jj.tech.paolu.repository.jooq.tables.pojos.CertificateApply object) { + return object.getId(); + } + + /** + * Fetch records that have id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfId(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateApply.CERTIFICATE_APPLY.ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have id IN (values) + */ + public List fetchById(String... values) { + return fetch(CertificateApply.CERTIFICATE_APPLY.ID, values); + } + + /** + * Fetch a unique record that has id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.CertificateApply fetchOneById(String value) { + return fetchOne(CertificateApply.CERTIFICATE_APPLY.ID, value); + } + + /** + * Fetch a unique record that has id = value + */ + public Optional fetchOptionalById(String value) { + return fetchOptional(CertificateApply.CERTIFICATE_APPLY.ID, value); + } + + /** + * Fetch records that have is_org BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfIsOrg(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(CertificateApply.CERTIFICATE_APPLY.IS_ORG, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have is_org IN (values) + */ + public List fetchByIsOrg(Integer... values) { + return fetch(CertificateApply.CERTIFICATE_APPLY.IS_ORG, values); + } + + /** + * Fetch records that have user_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfUserId(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateApply.CERTIFICATE_APPLY.USER_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have user_id IN (values) + */ + public List fetchByUserId(String... values) { + return fetch(CertificateApply.CERTIFICATE_APPLY.USER_ID, values); + } + + /** + * Fetch records that have user_name BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfUserName(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateApply.CERTIFICATE_APPLY.USER_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have user_name IN (values) + */ + public List fetchByUserName(String... values) { + return fetch(CertificateApply.CERTIFICATE_APPLY.USER_NAME, values); + } + + /** + * Fetch records that have user_real_name BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfUserRealName(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateApply.CERTIFICATE_APPLY.USER_REAL_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have user_real_name IN (values) + */ + public List fetchByUserRealName(String... values) { + return fetch(CertificateApply.CERTIFICATE_APPLY.USER_REAL_NAME, values); + } + + /** + * Fetch records that have user_phone BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfUserPhone(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateApply.CERTIFICATE_APPLY.USER_PHONE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have user_phone IN (values) + */ + public List fetchByUserPhone(String... values) { + return fetch(CertificateApply.CERTIFICATE_APPLY.USER_PHONE, values); + } + + /** + * Fetch records that have user_org_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfUserOrgId(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateApply.CERTIFICATE_APPLY.USER_ORG_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have user_org_id IN (values) + */ + public List fetchByUserOrgId(String... values) { + return fetch(CertificateApply.CERTIFICATE_APPLY.USER_ORG_ID, values); + } + + /** + * Fetch records that have user_org_name BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfUserOrgName(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateApply.CERTIFICATE_APPLY.USER_ORG_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have user_org_name IN (values) + */ + public List fetchByUserOrgName(String... values) { + return fetch(CertificateApply.CERTIFICATE_APPLY.USER_ORG_NAME, values); + } + + /** + * Fetch records that have apply_type BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfApplyType(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(CertificateApply.CERTIFICATE_APPLY.APPLY_TYPE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_type IN (values) + */ + public List fetchByApplyType(Integer... values) { + return fetch(CertificateApply.CERTIFICATE_APPLY.APPLY_TYPE, values); + } + + /** + * Fetch records that have status BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfStatus(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(CertificateApply.CERTIFICATE_APPLY.STATUS, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have status IN (values) + */ + public List fetchByStatus(Integer... values) { + return fetch(CertificateApply.CERTIFICATE_APPLY.STATUS, values); + } + + /** + * Fetch records that have apply_time BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfApplyTime(LocalDateTime lowerInclusive, LocalDateTime upperInclusive) { + return fetchRange(CertificateApply.CERTIFICATE_APPLY.APPLY_TIME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_time IN (values) + */ + public List fetchByApplyTime(LocalDateTime... values) { + return fetch(CertificateApply.CERTIFICATE_APPLY.APPLY_TIME, values); + } + + /** + * Fetch records that have apply_finish_time BETWEEN lowerInclusive + * AND upperInclusive + */ + public List fetchRangeOfApplyFinishTime(LocalDateTime lowerInclusive, LocalDateTime upperInclusive) { + return fetchRange(CertificateApply.CERTIFICATE_APPLY.APPLY_FINISH_TIME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_finish_time IN (values) + */ + public List fetchByApplyFinishTime(LocalDateTime... values) { + return fetch(CertificateApply.CERTIFICATE_APPLY.APPLY_FINISH_TIME, values); + } + + /** + * Fetch records that have apply_reason BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfApplyReason(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateApply.CERTIFICATE_APPLY.APPLY_REASON, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_reason IN (values) + */ + public List fetchByApplyReason(String... values) { + return fetch(CertificateApply.CERTIFICATE_APPLY.APPLY_REASON, values); + } + + /** + * Fetch records that have next_check_org_id BETWEEN lowerInclusive + * AND upperInclusive + */ + public List fetchRangeOfNextCheckOrgId(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateApply.CERTIFICATE_APPLY.NEXT_CHECK_ORG_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have next_check_org_id IN (values) + */ + public List fetchByNextCheckOrgId(String... values) { + return fetch(CertificateApply.CERTIFICATE_APPLY.NEXT_CHECK_ORG_ID, values); + } + + /** + * Fetch records that have end_check_org_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfEndCheckOrgId(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateApply.CERTIFICATE_APPLY.END_CHECK_ORG_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have end_check_org_id IN (values) + */ + public List fetchByEndCheckOrgId(String... values) { + return fetch(CertificateApply.CERTIFICATE_APPLY.END_CHECK_ORG_ID, values); + } + + /** + * Fetch records that have cer_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCerId(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateApply.CERTIFICATE_APPLY.CER_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have cer_id IN (values) + */ + public List fetchByCerId(String... values) { + return fetch(CertificateApply.CERTIFICATE_APPLY.CER_ID, values); + } + + /** + * Fetch a unique record that has cer_id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.CertificateApply fetchOneByCerId(String value) { + return fetchOne(CertificateApply.CERTIFICATE_APPLY.CER_ID, value); + } + + /** + * Fetch a unique record that has cer_id = value + */ + public Optional fetchOptionalByCerId(String value) { + return fetchOptional(CertificateApply.CERTIFICATE_APPLY.CER_ID, value); + } + + /** + * Fetch records that have company_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCompanyId(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateApply.CERTIFICATE_APPLY.COMPANY_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have company_id IN (values) + */ + public List fetchByCompanyId(String... values) { + return fetch(CertificateApply.CERTIFICATE_APPLY.COMPANY_ID, values); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/CertificateApplyRecordDao.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/CertificateApplyRecordDao.java new file mode 100644 index 0000000..4e6201e --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/CertificateApplyRecordDao.java @@ -0,0 +1,287 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.daos; + + +import java.time.LocalDateTime; +import java.util.List; +import java.util.Optional; + +import jj.tech.paolu.repository.jooq.tables.CertificateApplyRecord; +import jj.tech.paolu.repository.jooq.tables.records.CertificateApplyRecordRecord; + +import org.jooq.Configuration; +import org.jooq.impl.DAOImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +@Repository +public class CertificateApplyRecordDao extends DAOImpl { + + /** + * Create a new CertificateApplyRecordDao without any configuration + */ + public CertificateApplyRecordDao() { + super(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD, jj.tech.paolu.repository.jooq.tables.pojos.CertificateApplyRecord.class); + } + + /** + * Create a new CertificateApplyRecordDao with an attached configuration + */ + @Autowired + public CertificateApplyRecordDao(Configuration configuration) { + super(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD, jj.tech.paolu.repository.jooq.tables.pojos.CertificateApplyRecord.class, configuration); + } + + @Override + public String getId(jj.tech.paolu.repository.jooq.tables.pojos.CertificateApplyRecord object) { + return object.getId(); + } + + /** + * Fetch records that have id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfId(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have id IN (values) + */ + public List fetchById(String... values) { + return fetch(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.ID, values); + } + + /** + * Fetch a unique record that has id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.CertificateApplyRecord fetchOneById(String value) { + return fetchOne(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.ID, value); + } + + /** + * Fetch a unique record that has id = value + */ + public Optional fetchOptionalById(String value) { + return fetchOptional(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.ID, value); + } + + /** + * Fetch records that have certificate_apply_id BETWEEN lowerInclusive + * AND upperInclusive + */ + public List fetchRangeOfCertificateApplyId(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.CERTIFICATE_APPLY_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have certificate_apply_id IN (values) + */ + public List fetchByCertificateApplyId(String... values) { + return fetch(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.CERTIFICATE_APPLY_ID, values); + } + + /** + * Fetch records that have certificate_apply_user_id BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfCertificateApplyUserId(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.CERTIFICATE_APPLY_USER_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have certificate_apply_user_id IN + * (values) + */ + public List fetchByCertificateApplyUserId(String... values) { + return fetch(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.CERTIFICATE_APPLY_USER_ID, values); + } + + /** + * Fetch records that have certificate_apply_user_org_id BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfCertificateApplyUserOrgId(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.CERTIFICATE_APPLY_USER_ORG_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have certificate_apply_user_org_id IN + * (values) + */ + public List fetchByCertificateApplyUserOrgId(String... values) { + return fetch(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.CERTIFICATE_APPLY_USER_ORG_ID, values); + } + + /** + * Fetch records that have is_org BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfIsOrg(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.IS_ORG, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have is_org IN (values) + */ + public List fetchByIsOrg(Integer... values) { + return fetch(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.IS_ORG, values); + } + + /** + * Fetch records that have apply_type BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfApplyType(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.APPLY_TYPE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_type IN (values) + */ + public List fetchByApplyType(Integer... values) { + return fetch(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.APPLY_TYPE, values); + } + + /** + * Fetch records that have check_user_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCheckUserId(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.CHECK_USER_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have check_user_id IN (values) + */ + public List fetchByCheckUserId(String... values) { + return fetch(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.CHECK_USER_ID, values); + } + + /** + * Fetch records that have check_user_name BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCheckUserName(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.CHECK_USER_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have check_user_name IN (values) + */ + public List fetchByCheckUserName(String... values) { + return fetch(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.CHECK_USER_NAME, values); + } + + /** + * Fetch records that have check_org_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCheckOrgId(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.CHECK_ORG_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have check_org_id IN (values) + */ + public List fetchByCheckOrgId(String... values) { + return fetch(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.CHECK_ORG_ID, values); + } + + /** + * Fetch records that have check_org_name BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCheckOrgName(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.CHECK_ORG_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have check_org_name IN (values) + */ + public List fetchByCheckOrgName(String... values) { + return fetch(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.CHECK_ORG_NAME, values); + } + + /** + * Fetch records that have check_describe BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCheckDescribe(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.CHECK_DESCRIBE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have check_describe IN (values) + */ + public List fetchByCheckDescribe(String... values) { + return fetch(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.CHECK_DESCRIBE, values); + } + + /** + * Fetch records that have check_status BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCheckStatus(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.CHECK_STATUS, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have check_status IN (values) + */ + public List fetchByCheckStatus(Integer... values) { + return fetch(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.CHECK_STATUS, values); + } + + /** + * Fetch records that have check_time BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCheckTime(LocalDateTime lowerInclusive, LocalDateTime upperInclusive) { + return fetchRange(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.CHECK_TIME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have check_time IN (values) + */ + public List fetchByCheckTime(LocalDateTime... values) { + return fetch(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.CHECK_TIME, values); + } + + /** + * Fetch records that have next_check_org_id BETWEEN lowerInclusive + * AND upperInclusive + */ + public List fetchRangeOfNextCheckOrgId(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.NEXT_CHECK_ORG_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have next_check_org_id IN (values) + */ + public List fetchByNextCheckOrgId(String... values) { + return fetch(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.NEXT_CHECK_ORG_ID, values); + } + + /** + * Fetch records that have next_check_org_name BETWEEN lowerInclusive + * AND upperInclusive + */ + public List fetchRangeOfNextCheckOrgName(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.NEXT_CHECK_ORG_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have next_check_org_name IN (values) + */ + public List fetchByNextCheckOrgName(String... values) { + return fetch(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.NEXT_CHECK_ORG_NAME, values); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/CertificateDetailDao.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/CertificateDetailDao.java new file mode 100644 index 0000000..2a457ed --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/CertificateDetailDao.java @@ -0,0 +1,270 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.daos; + + +import java.time.LocalDateTime; +import java.util.List; +import java.util.Optional; + +import jj.tech.paolu.repository.jooq.tables.CertificateDetail; +import jj.tech.paolu.repository.jooq.tables.records.CertificateDetailRecord; + +import org.jooq.Configuration; +import org.jooq.impl.DAOImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +@Repository +public class CertificateDetailDao extends DAOImpl { + + /** + * Create a new CertificateDetailDao without any configuration + */ + public CertificateDetailDao() { + super(CertificateDetail.CERTIFICATE_DETAIL, jj.tech.paolu.repository.jooq.tables.pojos.CertificateDetail.class); + } + + /** + * Create a new CertificateDetailDao with an attached configuration + */ + @Autowired + public CertificateDetailDao(Configuration configuration) { + super(CertificateDetail.CERTIFICATE_DETAIL, jj.tech.paolu.repository.jooq.tables.pojos.CertificateDetail.class, configuration); + } + + @Override + public String getId(jj.tech.paolu.repository.jooq.tables.pojos.CertificateDetail object) { + return object.getId(); + } + + /** + * Fetch records that have id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfId(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateDetail.CERTIFICATE_DETAIL.ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have id IN (values) + */ + public List fetchById(String... values) { + return fetch(CertificateDetail.CERTIFICATE_DETAIL.ID, values); + } + + /** + * Fetch a unique record that has id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.CertificateDetail fetchOneById(String value) { + return fetchOne(CertificateDetail.CERTIFICATE_DETAIL.ID, value); + } + + /** + * Fetch a unique record that has id = value + */ + public Optional fetchOptionalById(String value) { + return fetchOptional(CertificateDetail.CERTIFICATE_DETAIL.ID, value); + } + + /** + * Fetch records that have certificate_apply_id BETWEEN lowerInclusive + * AND upperInclusive + */ + public List fetchRangeOfCertificateApplyId(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateDetail.CERTIFICATE_DETAIL.CERTIFICATE_APPLY_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have certificate_apply_id IN (values) + */ + public List fetchByCertificateApplyId(String... values) { + return fetch(CertificateDetail.CERTIFICATE_DETAIL.CERTIFICATE_APPLY_ID, values); + } + + /** + * Fetch records that have work_start_time BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfWorkStartTime(LocalDateTime lowerInclusive, LocalDateTime upperInclusive) { + return fetchRange(CertificateDetail.CERTIFICATE_DETAIL.WORK_START_TIME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have work_start_time IN (values) + */ + public List fetchByWorkStartTime(LocalDateTime... values) { + return fetch(CertificateDetail.CERTIFICATE_DETAIL.WORK_START_TIME, values); + } + + /** + * Fetch records that have work_end_time BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfWorkEndTime(LocalDateTime lowerInclusive, LocalDateTime upperInclusive) { + return fetchRange(CertificateDetail.CERTIFICATE_DETAIL.WORK_END_TIME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have work_end_time IN (values) + */ + public List fetchByWorkEndTime(LocalDateTime... values) { + return fetch(CertificateDetail.CERTIFICATE_DETAIL.WORK_END_TIME, values); + } + + /** + * Fetch records that have status BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfStatus(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(CertificateDetail.CERTIFICATE_DETAIL.STATUS, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have status IN (values) + */ + public List fetchByStatus(Integer... values) { + return fetch(CertificateDetail.CERTIFICATE_DETAIL.STATUS, values); + } + + /** + * Fetch records that have cert_file_content BETWEEN lowerInclusive + * AND upperInclusive + */ + public List fetchRangeOfCertFileContent(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateDetail.CERTIFICATE_DETAIL.CERT_FILE_CONTENT, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have cert_file_content IN (values) + */ + public List fetchByCertFileContent(String... values) { + return fetch(CertificateDetail.CERTIFICATE_DETAIL.CERT_FILE_CONTENT, values); + } + + /** + * Fetch records that have is_up_chain BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfIsUpChain(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(CertificateDetail.CERTIFICATE_DETAIL.IS_UP_CHAIN, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have is_up_chain IN (values) + */ + public List fetchByIsUpChain(Integer... values) { + return fetch(CertificateDetail.CERTIFICATE_DETAIL.IS_UP_CHAIN, values); + } + + /** + * Fetch records that have weid BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfWeid(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateDetail.CERTIFICATE_DETAIL.WEID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have weid IN (values) + */ + public List fetchByWeid(String... values) { + return fetch(CertificateDetail.CERTIFICATE_DETAIL.WEID, values); + } + + /** + * Fetch records that have private_key_hex_str BETWEEN lowerInclusive + * AND upperInclusive + */ + public List fetchRangeOfPrivateKeyHexStr(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateDetail.CERTIFICATE_DETAIL.PRIVATE_KEY_HEX_STR, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have private_key_hex_str IN (values) + */ + public List fetchByPrivateKeyHexStr(String... values) { + return fetch(CertificateDetail.CERTIFICATE_DETAIL.PRIVATE_KEY_HEX_STR, values); + } + + /** + * Fetch records that have x509_serial_number BETWEEN lowerInclusive + * AND upperInclusive + */ + public List fetchRangeOfX509SerialNumber(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateDetail.CERTIFICATE_DETAIL.X509_SERIAL_NUMBER, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have x509_serial_number IN (values) + */ + public List fetchByX509SerialNumber(String... values) { + return fetch(CertificateDetail.CERTIFICATE_DETAIL.X509_SERIAL_NUMBER, values); + } + + /** + * Fetch records that have x509_subject BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfX509Subject(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateDetail.CERTIFICATE_DETAIL.X509_SUBJECT, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have x509_subject IN (values) + */ + public List fetchByX509Subject(String... values) { + return fetch(CertificateDetail.CERTIFICATE_DETAIL.X509_SUBJECT, values); + } + + /** + * Fetch records that have x509_issuer BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfX509Issuer(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateDetail.CERTIFICATE_DETAIL.X509_ISSUER, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have x509_issuer IN (values) + */ + public List fetchByX509Issuer(String... values) { + return fetch(CertificateDetail.CERTIFICATE_DETAIL.X509_ISSUER, values); + } + + /** + * Fetch records that have x509_public_key BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfX509PublicKey(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateDetail.CERTIFICATE_DETAIL.X509_PUBLIC_KEY, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have x509_public_key IN (values) + */ + public List fetchByX509PublicKey(String... values) { + return fetch(CertificateDetail.CERTIFICATE_DETAIL.X509_PUBLIC_KEY, values); + } + + /** + * Fetch records that have x509_sig_alg_name BETWEEN lowerInclusive + * AND upperInclusive + */ + public List fetchRangeOfX509SigAlgName(String lowerInclusive, String upperInclusive) { + return fetchRange(CertificateDetail.CERTIFICATE_DETAIL.X509_SIG_ALG_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have x509_sig_alg_name IN (values) + */ + public List fetchByX509SigAlgName(String... values) { + return fetch(CertificateDetail.CERTIFICATE_DETAIL.X509_SIG_ALG_NAME, values); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/DecryptLogDao.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/DecryptLogDao.java new file mode 100644 index 0000000..204efce --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/DecryptLogDao.java @@ -0,0 +1,195 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.daos; + + +import java.time.LocalDateTime; +import java.util.List; +import java.util.Optional; + +import jj.tech.paolu.repository.jooq.tables.DecryptLog; +import jj.tech.paolu.repository.jooq.tables.records.DecryptLogRecord; + +import org.jooq.Configuration; +import org.jooq.impl.DAOImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + + +/** + * 解密情况 + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +@Repository +public class DecryptLogDao extends DAOImpl { + + /** + * Create a new DecryptLogDao without any configuration + */ + public DecryptLogDao() { + super(DecryptLog.DECRYPT_LOG, jj.tech.paolu.repository.jooq.tables.pojos.DecryptLog.class); + } + + /** + * Create a new DecryptLogDao with an attached configuration + */ + @Autowired + public DecryptLogDao(Configuration configuration) { + super(DecryptLog.DECRYPT_LOG, jj.tech.paolu.repository.jooq.tables.pojos.DecryptLog.class, configuration); + } + + @Override + public String getId(jj.tech.paolu.repository.jooq.tables.pojos.DecryptLog object) { + return object.getId(); + } + + /** + * Fetch records that have id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfId(String lowerInclusive, String upperInclusive) { + return fetchRange(DecryptLog.DECRYPT_LOG.ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have id IN (values) + */ + public List fetchById(String... values) { + return fetch(DecryptLog.DECRYPT_LOG.ID, values); + } + + /** + * Fetch a unique record that has id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.DecryptLog fetchOneById(String value) { + return fetchOne(DecryptLog.DECRYPT_LOG.ID, value); + } + + /** + * Fetch a unique record that has id = value + */ + public Optional fetchOptionalById(String value) { + return fetchOptional(DecryptLog.DECRYPT_LOG.ID, value); + } + + /** + * Fetch records that have weid BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfWeid(String lowerInclusive, String upperInclusive) { + return fetchRange(DecryptLog.DECRYPT_LOG.WEID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have weid IN (values) + */ + public List fetchByWeid(String... values) { + return fetch(DecryptLog.DECRYPT_LOG.WEID, values); + } + + /** + * Fetch records that have content_type BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfContentType(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(DecryptLog.DECRYPT_LOG.CONTENT_TYPE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have content_type IN (values) + */ + public List fetchByContentType(Integer... values) { + return fetch(DecryptLog.DECRYPT_LOG.CONTENT_TYPE, values); + } + + /** + * Fetch records that have content_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfContentId(String lowerInclusive, String upperInclusive) { + return fetchRange(DecryptLog.DECRYPT_LOG.CONTENT_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have content_id IN (values) + */ + public List fetchByContentId(String... values) { + return fetch(DecryptLog.DECRYPT_LOG.CONTENT_ID, values); + } + + /** + * Fetch records that have dec_time BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfDecTime(LocalDateTime lowerInclusive, LocalDateTime upperInclusive) { + return fetchRange(DecryptLog.DECRYPT_LOG.DEC_TIME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have dec_time IN (values) + */ + public List fetchByDecTime(LocalDateTime... values) { + return fetch(DecryptLog.DECRYPT_LOG.DEC_TIME, values); + } + + /** + * Fetch records that have location BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfLocation(String lowerInclusive, String upperInclusive) { + return fetchRange(DecryptLog.DECRYPT_LOG.LOCATION, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have location IN (values) + */ + public List fetchByLocation(String... values) { + return fetch(DecryptLog.DECRYPT_LOG.LOCATION, values); + } + + /** + * Fetch records that have sm9hibeid BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSm9hibeid(String lowerInclusive, String upperInclusive) { + return fetchRange(DecryptLog.DECRYPT_LOG.SM9HIBEID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have sm9hibeid IN (values) + */ + public List fetchBySm9hibeid(String... values) { + return fetch(DecryptLog.DECRYPT_LOG.SM9HIBEID, values); + } + + /** + * Fetch records that have status BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfStatus(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(DecryptLog.DECRYPT_LOG.STATUS, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have status IN (values) + */ + public List fetchByStatus(Integer... values) { + return fetch(DecryptLog.DECRYPT_LOG.STATUS, values); + } + + /** + * Fetch records that have sign BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSign(String lowerInclusive, String upperInclusive) { + return fetchRange(DecryptLog.DECRYPT_LOG.SIGN, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have sign IN (values) + */ + public List fetchBySign(String... values) { + return fetch(DecryptLog.DECRYPT_LOG.SIGN, values); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/DownloadLogDao.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/DownloadLogDao.java new file mode 100644 index 0000000..2f6b683 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/DownloadLogDao.java @@ -0,0 +1,165 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.daos; + + +import java.time.LocalDateTime; +import java.util.List; +import java.util.Optional; + +import jj.tech.paolu.repository.jooq.tables.DownloadLog; +import jj.tech.paolu.repository.jooq.tables.records.DownloadLogRecord; + +import org.jooq.Configuration; +import org.jooq.impl.DAOImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + + +/** + * 下载行为记录 + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +@Repository +public class DownloadLogDao extends DAOImpl { + + /** + * Create a new DownloadLogDao without any configuration + */ + public DownloadLogDao() { + super(DownloadLog.DOWNLOAD_LOG, jj.tech.paolu.repository.jooq.tables.pojos.DownloadLog.class); + } + + /** + * Create a new DownloadLogDao with an attached configuration + */ + @Autowired + public DownloadLogDao(Configuration configuration) { + super(DownloadLog.DOWNLOAD_LOG, jj.tech.paolu.repository.jooq.tables.pojos.DownloadLog.class, configuration); + } + + @Override + public String getId(jj.tech.paolu.repository.jooq.tables.pojos.DownloadLog object) { + return object.getId(); + } + + /** + * Fetch records that have id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfId(String lowerInclusive, String upperInclusive) { + return fetchRange(DownloadLog.DOWNLOAD_LOG.ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have id IN (values) + */ + public List fetchById(String... values) { + return fetch(DownloadLog.DOWNLOAD_LOG.ID, values); + } + + /** + * Fetch a unique record that has id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.DownloadLog fetchOneById(String value) { + return fetchOne(DownloadLog.DOWNLOAD_LOG.ID, value); + } + + /** + * Fetch a unique record that has id = value + */ + public Optional fetchOptionalById(String value) { + return fetchOptional(DownloadLog.DOWNLOAD_LOG.ID, value); + } + + /** + * Fetch records that have weid BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfWeid(String lowerInclusive, String upperInclusive) { + return fetchRange(DownloadLog.DOWNLOAD_LOG.WEID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have weid IN (values) + */ + public List fetchByWeid(String... values) { + return fetch(DownloadLog.DOWNLOAD_LOG.WEID, values); + } + + /** + * Fetch records that have downloadtime BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfDownloadtime(LocalDateTime lowerInclusive, LocalDateTime upperInclusive) { + return fetchRange(DownloadLog.DOWNLOAD_LOG.DOWNLOADTIME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have downloadtime IN (values) + */ + public List fetchByDownloadtime(LocalDateTime... values) { + return fetch(DownloadLog.DOWNLOAD_LOG.DOWNLOADTIME, values); + } + + /** + * Fetch records that have filenum BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfFilenum(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(DownloadLog.DOWNLOAD_LOG.FILENUM, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have filenum IN (values) + */ + public List fetchByFilenum(Integer... values) { + return fetch(DownloadLog.DOWNLOAD_LOG.FILENUM, values); + } + + /** + * Fetch records that have content_type BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfContentType(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(DownloadLog.DOWNLOAD_LOG.CONTENT_TYPE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have content_type IN (values) + */ + public List fetchByContentType(Integer... values) { + return fetch(DownloadLog.DOWNLOAD_LOG.CONTENT_TYPE, values); + } + + /** + * Fetch records that have contentid BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfContentid(String lowerInclusive, String upperInclusive) { + return fetchRange(DownloadLog.DOWNLOAD_LOG.CONTENTID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have contentid IN (values) + */ + public List fetchByContentid(String... values) { + return fetch(DownloadLog.DOWNLOAD_LOG.CONTENTID, values); + } + + /** + * Fetch records that have sign BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSign(String lowerInclusive, String upperInclusive) { + return fetchRange(DownloadLog.DOWNLOAD_LOG.SIGN, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have sign IN (values) + */ + public List fetchBySign(String... values) { + return fetch(DownloadLog.DOWNLOAD_LOG.SIGN, values); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/FilesApplyCheckRecordDao.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/FilesApplyCheckRecordDao.java new file mode 100644 index 0000000..d70e43e --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/FilesApplyCheckRecordDao.java @@ -0,0 +1,287 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.daos; + + +import java.time.LocalDateTime; +import java.util.List; +import java.util.Optional; + +import jj.tech.paolu.repository.jooq.tables.FilesApplyCheckRecord; +import jj.tech.paolu.repository.jooq.tables.records.FilesApplyCheckRecordRecord; + +import org.jooq.Configuration; +import org.jooq.impl.DAOImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +@Repository +public class FilesApplyCheckRecordDao extends DAOImpl { + + /** + * Create a new FilesApplyCheckRecordDao without any configuration + */ + public FilesApplyCheckRecordDao() { + super(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD, jj.tech.paolu.repository.jooq.tables.pojos.FilesApplyCheckRecord.class); + } + + /** + * Create a new FilesApplyCheckRecordDao with an attached configuration + */ + @Autowired + public FilesApplyCheckRecordDao(Configuration configuration) { + super(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD, jj.tech.paolu.repository.jooq.tables.pojos.FilesApplyCheckRecord.class, configuration); + } + + @Override + public String getId(jj.tech.paolu.repository.jooq.tables.pojos.FilesApplyCheckRecord object) { + return object.getId(); + } + + /** + * Fetch records that have id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have id IN (values) + */ + public List fetchById(String... values) { + return fetch(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.ID, values); + } + + /** + * Fetch a unique record that has id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.FilesApplyCheckRecord fetchOneById(String value) { + return fetchOne(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.ID, value); + } + + /** + * Fetch a unique record that has id = value + */ + public Optional fetchOptionalById(String value) { + return fetchOptional(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.ID, value); + } + + /** + * Fetch records that have files_apply_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfFilesApplyId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.FILES_APPLY_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have files_apply_id IN (values) + */ + public List fetchByFilesApplyId(String... values) { + return fetch(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.FILES_APPLY_ID, values); + } + + /** + * Fetch records that have is_apply_provider BETWEEN lowerInclusive + * AND upperInclusive + */ + public List fetchRangeOfIsApplyProvider(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.IS_APPLY_PROVIDER, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have is_apply_provider IN (values) + */ + public List fetchByIsApplyProvider(Integer... values) { + return fetch(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.IS_APPLY_PROVIDER, values); + } + + /** + * Fetch records that have check_user_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCheckUserId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.CHECK_USER_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have check_user_id IN (values) + */ + public List fetchByCheckUserId(String... values) { + return fetch(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.CHECK_USER_ID, values); + } + + /** + * Fetch records that have check_user_name BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCheckUserName(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.CHECK_USER_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have check_user_name IN (values) + */ + public List fetchByCheckUserName(String... values) { + return fetch(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.CHECK_USER_NAME, values); + } + + /** + * Fetch records that have check_org_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCheckOrgId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.CHECK_ORG_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have check_org_id IN (values) + */ + public List fetchByCheckOrgId(String... values) { + return fetch(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.CHECK_ORG_ID, values); + } + + /** + * Fetch records that have check_org_name BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCheckOrgName(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.CHECK_ORG_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have check_org_name IN (values) + */ + public List fetchByCheckOrgName(String... values) { + return fetch(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.CHECK_ORG_NAME, values); + } + + /** + * Fetch records that have next_check_org_id BETWEEN lowerInclusive + * AND upperInclusive + */ + public List fetchRangeOfNextCheckOrgId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.NEXT_CHECK_ORG_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have next_check_org_id IN (values) + */ + public List fetchByNextCheckOrgId(String... values) { + return fetch(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.NEXT_CHECK_ORG_ID, values); + } + + /** + * Fetch records that have next_check_org_name BETWEEN lowerInclusive + * AND upperInclusive + */ + public List fetchRangeOfNextCheckOrgName(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.NEXT_CHECK_ORG_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have next_check_org_name IN (values) + */ + public List fetchByNextCheckOrgName(String... values) { + return fetch(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.NEXT_CHECK_ORG_NAME, values); + } + + /** + * Fetch records that have check_describe BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCheckDescribe(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.CHECK_DESCRIBE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have check_describe IN (values) + */ + public List fetchByCheckDescribe(String... values) { + return fetch(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.CHECK_DESCRIBE, values); + } + + /** + * Fetch records that have check_status BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCheckStatus(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.CHECK_STATUS, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have check_status IN (values) + */ + public List fetchByCheckStatus(Integer... values) { + return fetch(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.CHECK_STATUS, values); + } + + /** + * Fetch records that have check_time BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCheckTime(LocalDateTime lowerInclusive, LocalDateTime upperInclusive) { + return fetchRange(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.CHECK_TIME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have check_time IN (values) + */ + public List fetchByCheckTime(LocalDateTime... values) { + return fetch(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.CHECK_TIME, values); + } + + /** + * Fetch records that have provider_next_check_role_sign_id BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfProviderNextCheckRoleSignId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.PROVIDER_NEXT_CHECK_ROLE_SIGN_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have provider_next_check_role_sign_id IN + * (values) + */ + public List fetchByProviderNextCheckRoleSignId(String... values) { + return fetch(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.PROVIDER_NEXT_CHECK_ROLE_SIGN_ID, values); + } + + /** + * Fetch records that have provider_next_check_role_sign_name BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfProviderNextCheckRoleSignName(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.PROVIDER_NEXT_CHECK_ROLE_SIGN_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have provider_next_check_role_sign_name IN + * (values) + */ + public List fetchByProviderNextCheckRoleSignName(String... values) { + return fetch(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.PROVIDER_NEXT_CHECK_ROLE_SIGN_NAME, values); + } + + /** + * Fetch records that have sign BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSign(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.SIGN, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have sign IN (values) + */ + public List fetchBySign(String... values) { + return fetch(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.SIGN, values); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/FilesApplyDao.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/FilesApplyDao.java new file mode 100644 index 0000000..0a8abc3 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/FilesApplyDao.java @@ -0,0 +1,776 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.daos; + + +import java.time.LocalDateTime; +import java.util.List; +import java.util.Optional; + +import jj.tech.paolu.repository.jooq.tables.FilesApply; +import jj.tech.paolu.repository.jooq.tables.records.FilesApplyRecord; + +import org.jooq.Configuration; +import org.jooq.impl.DAOImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +@Repository +public class FilesApplyDao extends DAOImpl { + + /** + * Create a new FilesApplyDao without any configuration + */ + public FilesApplyDao() { + super(FilesApply.FILES_APPLY, jj.tech.paolu.repository.jooq.tables.pojos.FilesApply.class); + } + + /** + * Create a new FilesApplyDao with an attached configuration + */ + @Autowired + public FilesApplyDao(Configuration configuration) { + super(FilesApply.FILES_APPLY, jj.tech.paolu.repository.jooq.tables.pojos.FilesApply.class, configuration); + } + + @Override + public String getId(jj.tech.paolu.repository.jooq.tables.pojos.FilesApply object) { + return object.getId(); + } + + /** + * Fetch records that have id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have id IN (values) + */ + public List fetchById(String... values) { + return fetch(FilesApply.FILES_APPLY.ID, values); + } + + /** + * Fetch a unique record that has id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.FilesApply fetchOneById(String value) { + return fetchOne(FilesApply.FILES_APPLY.ID, value); + } + + /** + * Fetch a unique record that has id = value + */ + public Optional fetchOptionalById(String value) { + return fetchOptional(FilesApply.FILES_APPLY.ID, value); + } + + /** + * Fetch records that have apply_user_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfApplyUserId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.APPLY_USER_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_user_id IN (values) + */ + public List fetchByApplyUserId(String... values) { + return fetch(FilesApply.FILES_APPLY.APPLY_USER_ID, values); + } + + /** + * Fetch records that have apply_user_name BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfApplyUserName(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.APPLY_USER_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_user_name IN (values) + */ + public List fetchByApplyUserName(String... values) { + return fetch(FilesApply.FILES_APPLY.APPLY_USER_NAME, values); + } + + /** + * Fetch records that have apply_user_phone BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfApplyUserPhone(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.APPLY_USER_PHONE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_user_phone IN (values) + */ + public List fetchByApplyUserPhone(String... values) { + return fetch(FilesApply.FILES_APPLY.APPLY_USER_PHONE, values); + } + + /** + * Fetch records that have apply_user_email BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfApplyUserEmail(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.APPLY_USER_EMAIL, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_user_email IN (values) + */ + public List fetchByApplyUserEmail(String... values) { + return fetch(FilesApply.FILES_APPLY.APPLY_USER_EMAIL, values); + } + + /** + * Fetch records that have apply_org_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfApplyOrgId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.APPLY_ORG_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_org_id IN (values) + */ + public List fetchByApplyOrgId(String... values) { + return fetch(FilesApply.FILES_APPLY.APPLY_ORG_ID, values); + } + + /** + * Fetch records that have apply_org_name BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfApplyOrgName(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.APPLY_ORG_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_org_name IN (values) + */ + public List fetchByApplyOrgName(String... values) { + return fetch(FilesApply.FILES_APPLY.APPLY_ORG_NAME, values); + } + + /** + * Fetch records that have apply_in_check_user_id BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfApplyInCheckUserId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.APPLY_IN_CHECK_USER_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_in_check_user_id IN (values) + */ + public List fetchByApplyInCheckUserId(String... values) { + return fetch(FilesApply.FILES_APPLY.APPLY_IN_CHECK_USER_ID, values); + } + + /** + * Fetch records that have apply_in_check_user_name BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfApplyInCheckUserName(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.APPLY_IN_CHECK_USER_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_in_check_user_name IN (values) + */ + public List fetchByApplyInCheckUserName(String... values) { + return fetch(FilesApply.FILES_APPLY.APPLY_IN_CHECK_USER_NAME, values); + } + + /** + * Fetch records that have apply_in_check_org_id BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfApplyInCheckOrgId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.APPLY_IN_CHECK_ORG_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_in_check_org_id IN (values) + */ + public List fetchByApplyInCheckOrgId(String... values) { + return fetch(FilesApply.FILES_APPLY.APPLY_IN_CHECK_ORG_ID, values); + } + + /** + * Fetch records that have apply_in_check_org_name BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfApplyInCheckOrgName(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.APPLY_IN_CHECK_ORG_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_in_check_org_name IN (values) + */ + public List fetchByApplyInCheckOrgName(String... values) { + return fetch(FilesApply.FILES_APPLY.APPLY_IN_CHECK_ORG_NAME, values); + } + + /** + * Fetch records that have apply_next_check_org_id BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfApplyNextCheckOrgId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.APPLY_NEXT_CHECK_ORG_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_next_check_org_id IN (values) + */ + public List fetchByApplyNextCheckOrgId(String... values) { + return fetch(FilesApply.FILES_APPLY.APPLY_NEXT_CHECK_ORG_ID, values); + } + + /** + * Fetch records that have apply_next_check_org_name BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfApplyNextCheckOrgName(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.APPLY_NEXT_CHECK_ORG_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_next_check_org_name IN + * (values) + */ + public List fetchByApplyNextCheckOrgName(String... values) { + return fetch(FilesApply.FILES_APPLY.APPLY_NEXT_CHECK_ORG_NAME, values); + } + + /** + * Fetch records that have apply_end_check_user_id BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfApplyEndCheckUserId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.APPLY_END_CHECK_USER_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_end_check_user_id IN (values) + */ + public List fetchByApplyEndCheckUserId(String... values) { + return fetch(FilesApply.FILES_APPLY.APPLY_END_CHECK_USER_ID, values); + } + + /** + * Fetch records that have apply_end_check_user_name BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfApplyEndCheckUserName(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.APPLY_END_CHECK_USER_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_end_check_user_name IN + * (values) + */ + public List fetchByApplyEndCheckUserName(String... values) { + return fetch(FilesApply.FILES_APPLY.APPLY_END_CHECK_USER_NAME, values); + } + + /** + * Fetch records that have apply_end_check_org_id BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfApplyEndCheckOrgId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.APPLY_END_CHECK_ORG_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_end_check_org_id IN (values) + */ + public List fetchByApplyEndCheckOrgId(String... values) { + return fetch(FilesApply.FILES_APPLY.APPLY_END_CHECK_ORG_ID, values); + } + + /** + * Fetch records that have apply_end_check_org_name BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfApplyEndCheckOrgName(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.APPLY_END_CHECK_ORG_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_end_check_org_name IN (values) + */ + public List fetchByApplyEndCheckOrgName(String... values) { + return fetch(FilesApply.FILES_APPLY.APPLY_END_CHECK_ORG_NAME, values); + } + + /** + * Fetch records that have apply_days BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfApplyDays(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.APPLY_DAYS, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_days IN (values) + */ + public List fetchByApplyDays(Integer... values) { + return fetch(FilesApply.FILES_APPLY.APPLY_DAYS, values); + } + + /** + * Fetch records that have apply_feedback BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfApplyFeedback(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.APPLY_FEEDBACK, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_feedback IN (values) + */ + public List fetchByApplyFeedback(String... values) { + return fetch(FilesApply.FILES_APPLY.APPLY_FEEDBACK, values); + } + + /** + * Fetch records that have apply_reason BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfApplyReason(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.APPLY_REASON, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_reason IN (values) + */ + public List fetchByApplyReason(String... values) { + return fetch(FilesApply.FILES_APPLY.APPLY_REASON, values); + } + + /** + * Fetch records that have apply_cancel_reason BETWEEN lowerInclusive + * AND upperInclusive + */ + public List fetchRangeOfApplyCancelReason(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.APPLY_CANCEL_REASON, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_cancel_reason IN (values) + */ + public List fetchByApplyCancelReason(String... values) { + return fetch(FilesApply.FILES_APPLY.APPLY_CANCEL_REASON, values); + } + + /** + * Fetch records that have apply_view_type_print BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfApplyViewTypePrint(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.APPLY_VIEW_TYPE_PRINT, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_view_type_print IN (values) + */ + public List fetchByApplyViewTypePrint(Integer... values) { + return fetch(FilesApply.FILES_APPLY.APPLY_VIEW_TYPE_PRINT, values); + } + + /** + * Fetch records that have apply_view_type_online BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfApplyViewTypeOnline(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.APPLY_VIEW_TYPE_ONLINE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_view_type_online IN (values) + */ + public List fetchByApplyViewTypeOnline(Integer... values) { + return fetch(FilesApply.FILES_APPLY.APPLY_VIEW_TYPE_ONLINE, values); + } + + /** + * Fetch records that have apply_file_num BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfApplyFileNum(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.APPLY_FILE_NUM, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_file_num IN (values) + */ + public List fetchByApplyFileNum(Integer... values) { + return fetch(FilesApply.FILES_APPLY.APPLY_FILE_NUM, values); + } + + /** + * Fetch records that have apply_time BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfApplyTime(LocalDateTime lowerInclusive, LocalDateTime upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.APPLY_TIME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_time IN (values) + */ + public List fetchByApplyTime(LocalDateTime... values) { + return fetch(FilesApply.FILES_APPLY.APPLY_TIME, values); + } + + /** + * Fetch records that have apply_check_is_finish BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfApplyCheckIsFinish(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.APPLY_CHECK_IS_FINISH, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_check_is_finish IN (values) + */ + public List fetchByApplyCheckIsFinish(Integer... values) { + return fetch(FilesApply.FILES_APPLY.APPLY_CHECK_IS_FINISH, values); + } + + /** + * Fetch records that have provider_org_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfProviderOrgId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.PROVIDER_ORG_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have provider_org_id IN (values) + */ + public List fetchByProviderOrgId(String... values) { + return fetch(FilesApply.FILES_APPLY.PROVIDER_ORG_ID, values); + } + + /** + * Fetch records that have provider_org_name BETWEEN lowerInclusive + * AND upperInclusive + */ + public List fetchRangeOfProviderOrgName(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.PROVIDER_ORG_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have provider_org_name IN (values) + */ + public List fetchByProviderOrgName(String... values) { + return fetch(FilesApply.FILES_APPLY.PROVIDER_ORG_NAME, values); + } + + /** + * Fetch records that have provider_file_properties BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfProviderFileProperties(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.PROVIDER_FILE_PROPERTIES, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have provider_file_properties IN (values) + */ + public List fetchByProviderFileProperties(Integer... values) { + return fetch(FilesApply.FILES_APPLY.PROVIDER_FILE_PROPERTIES, values); + } + + /** + * Fetch records that have provider_use_start_time BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfProviderUseStartTime(LocalDateTime lowerInclusive, LocalDateTime upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.PROVIDER_USE_START_TIME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have provider_use_start_time IN (values) + */ + public List fetchByProviderUseStartTime(LocalDateTime... values) { + return fetch(FilesApply.FILES_APPLY.PROVIDER_USE_START_TIME, values); + } + + /** + * Fetch records that have provider_use_end_time BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfProviderUseEndTime(LocalDateTime lowerInclusive, LocalDateTime upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.PROVIDER_USE_END_TIME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have provider_use_end_time IN (values) + */ + public List fetchByProviderUseEndTime(LocalDateTime... values) { + return fetch(FilesApply.FILES_APPLY.PROVIDER_USE_END_TIME, values); + } + + /** + * Fetch records that have provider_in_check_user_id BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfProviderInCheckUserId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.PROVIDER_IN_CHECK_USER_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have provider_in_check_user_id IN + * (values) + */ + public List fetchByProviderInCheckUserId(String... values) { + return fetch(FilesApply.FILES_APPLY.PROVIDER_IN_CHECK_USER_ID, values); + } + + /** + * Fetch records that have provider_in_check_user_name BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfProviderInCheckUserName(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.PROVIDER_IN_CHECK_USER_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have provider_in_check_user_name IN + * (values) + */ + public List fetchByProviderInCheckUserName(String... values) { + return fetch(FilesApply.FILES_APPLY.PROVIDER_IN_CHECK_USER_NAME, values); + } + + /** + * Fetch records that have provider_in_check_org_id BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfProviderInCheckOrgId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.PROVIDER_IN_CHECK_ORG_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have provider_in_check_org_id IN (values) + */ + public List fetchByProviderInCheckOrgId(String... values) { + return fetch(FilesApply.FILES_APPLY.PROVIDER_IN_CHECK_ORG_ID, values); + } + + /** + * Fetch records that have provider_in_check_org_name BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfProviderInCheckOrgName(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.PROVIDER_IN_CHECK_ORG_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have provider_in_check_org_name IN + * (values) + */ + public List fetchByProviderInCheckOrgName(String... values) { + return fetch(FilesApply.FILES_APPLY.PROVIDER_IN_CHECK_ORG_NAME, values); + } + + /** + * Fetch records that have provider_next_check_role_sign_id BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfProviderNextCheckRoleSignId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.PROVIDER_NEXT_CHECK_ROLE_SIGN_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have provider_next_check_role_sign_id IN + * (values) + */ + public List fetchByProviderNextCheckRoleSignId(String... values) { + return fetch(FilesApply.FILES_APPLY.PROVIDER_NEXT_CHECK_ROLE_SIGN_ID, values); + } + + /** + * Fetch records that have provider_next_check_role_sign_name BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfProviderNextCheckRoleSignName(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.PROVIDER_NEXT_CHECK_ROLE_SIGN_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have provider_next_check_role_sign_name IN + * (values) + */ + public List fetchByProviderNextCheckRoleSignName(String... values) { + return fetch(FilesApply.FILES_APPLY.PROVIDER_NEXT_CHECK_ROLE_SIGN_NAME, values); + } + + /** + * Fetch records that have provider_end_check_user_id BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfProviderEndCheckUserId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.PROVIDER_END_CHECK_USER_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have provider_end_check_user_id IN + * (values) + */ + public List fetchByProviderEndCheckUserId(String... values) { + return fetch(FilesApply.FILES_APPLY.PROVIDER_END_CHECK_USER_ID, values); + } + + /** + * Fetch records that have provider_end_check_user_name BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfProviderEndCheckUserName(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.PROVIDER_END_CHECK_USER_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have provider_end_check_user_name IN + * (values) + */ + public List fetchByProviderEndCheckUserName(String... values) { + return fetch(FilesApply.FILES_APPLY.PROVIDER_END_CHECK_USER_NAME, values); + } + + /** + * Fetch records that have provider_end_check_org_id BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfProviderEndCheckOrgId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.PROVIDER_END_CHECK_ORG_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have provider_end_check_org_id IN + * (values) + */ + public List fetchByProviderEndCheckOrgId(String... values) { + return fetch(FilesApply.FILES_APPLY.PROVIDER_END_CHECK_ORG_ID, values); + } + + /** + * Fetch records that have provider_end_check_org_name BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfProviderEndCheckOrgName(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.PROVIDER_END_CHECK_ORG_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have provider_end_check_org_name IN + * (values) + */ + public List fetchByProviderEndCheckOrgName(String... values) { + return fetch(FilesApply.FILES_APPLY.PROVIDER_END_CHECK_ORG_NAME, values); + } + + /** + * Fetch records that have provider_check_is_finish BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfProviderCheckIsFinish(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.PROVIDER_CHECK_IS_FINISH, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have provider_check_is_finish IN (values) + */ + public List fetchByProviderCheckIsFinish(Integer... values) { + return fetch(FilesApply.FILES_APPLY.PROVIDER_CHECK_IS_FINISH, values); + } + + /** + * Fetch records that have secret_key BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSecretKey(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.SECRET_KEY, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have secret_key IN (values) + */ + public List fetchBySecretKey(String... values) { + return fetch(FilesApply.FILES_APPLY.SECRET_KEY, values); + } + + /** + * Fetch records that have status BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfStatus(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.STATUS, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have status IN (values) + */ + public List fetchByStatus(Integer... values) { + return fetch(FilesApply.FILES_APPLY.STATUS, values); + } + + /** + * Fetch records that have project_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfProjectId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.PROJECT_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have project_id IN (values) + */ + public List fetchByProjectId(String... values) { + return fetch(FilesApply.FILES_APPLY.PROJECT_ID, values); + } + + /** + * Fetch records that have project_name BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfProjectName(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.PROJECT_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have project_name IN (values) + */ + public List fetchByProjectName(String... values) { + return fetch(FilesApply.FILES_APPLY.PROJECT_NAME, values); + } + + /** + * Fetch records that have sign BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSign(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApply.FILES_APPLY.SIGN, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have sign IN (values) + */ + public List fetchBySign(String... values) { + return fetch(FilesApply.FILES_APPLY.SIGN, values); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/FilesApplyDirectoryDocsDao.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/FilesApplyDirectoryDocsDao.java new file mode 100644 index 0000000..2f7ac65 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/FilesApplyDirectoryDocsDao.java @@ -0,0 +1,404 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.daos; + + +import java.util.List; +import java.util.Optional; + +import jj.tech.paolu.repository.jooq.tables.FilesApplyDirectoryDocs; +import jj.tech.paolu.repository.jooq.tables.records.FilesApplyDirectoryDocsRecord; + +import org.jooq.Configuration; +import org.jooq.impl.DAOImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +@Repository +public class FilesApplyDirectoryDocsDao extends DAOImpl { + + /** + * Create a new FilesApplyDirectoryDocsDao without any configuration + */ + public FilesApplyDirectoryDocsDao() { + super(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS, jj.tech.paolu.repository.jooq.tables.pojos.FilesApplyDirectoryDocs.class); + } + + /** + * Create a new FilesApplyDirectoryDocsDao with an attached configuration + */ + @Autowired + public FilesApplyDirectoryDocsDao(Configuration configuration) { + super(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS, jj.tech.paolu.repository.jooq.tables.pojos.FilesApplyDirectoryDocs.class, configuration); + } + + @Override + public String getId(jj.tech.paolu.repository.jooq.tables.pojos.FilesApplyDirectoryDocs object) { + return object.getId(); + } + + /** + * Fetch records that have id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have id IN (values) + */ + public List fetchById(String... values) { + return fetch(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.ID, values); + } + + /** + * Fetch a unique record that has id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.FilesApplyDirectoryDocs fetchOneById(String value) { + return fetchOne(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.ID, value); + } + + /** + * Fetch a unique record that has id = value + */ + public Optional fetchOptionalById(String value) { + return fetchOptional(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.ID, value); + } + + /** + * Fetch records that have files_apply_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfFilesApplyId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.FILES_APPLY_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have files_apply_id IN (values) + */ + public List fetchByFilesApplyId(String... values) { + return fetch(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.FILES_APPLY_ID, values); + } + + /** + * Fetch records that have directory_file_id BETWEEN lowerInclusive + * AND upperInclusive + */ + public List fetchRangeOfDirectoryFileId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.DIRECTORY_FILE_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have directory_file_id IN (values) + */ + public List fetchByDirectoryFileId(String... values) { + return fetch(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.DIRECTORY_FILE_ID, values); + } + + /** + * Fetch records that have directory_file_p_id BETWEEN lowerInclusive + * AND upperInclusive + */ + public List fetchRangeOfDirectoryFilePId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.DIRECTORY_FILE_P_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have directory_file_p_id IN (values) + */ + public List fetchByDirectoryFilePId(String... values) { + return fetch(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.DIRECTORY_FILE_P_ID, values); + } + + /** + * Fetch records that have filesuper BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfFilesuper(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.FILESUPER, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have filesuper IN (values) + */ + public List fetchByFilesuper(String... values) { + return fetch(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.FILESUPER, values); + } + + /** + * Fetch records that have filecount BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfFilecount(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.FILECOUNT, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have filecount IN (values) + */ + public List fetchByFilecount(Integer... values) { + return fetch(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.FILECOUNT, values); + } + + /** + * Fetch records that have dutyperson BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfDutyperson(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.DUTYPERSON, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have dutyperson IN (values) + */ + public List fetchByDutyperson(String... values) { + return fetch(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.DUTYPERSON, values); + } + + /** + * Fetch records that have eweavedate BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfEweavedate(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.EWEAVEDATE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have eweavedate IN (values) + */ + public List fetchByEweavedate(String... values) { + return fetch(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.EWEAVEDATE, values); + } + + /** + * Fetch records that have filepage BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfFilepage(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.FILEPAGE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have filepage IN (values) + */ + public List fetchByFilepage(Integer... values) { + return fetch(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.FILEPAGE, values); + } + + /** + * Fetch records that have sortorder BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSortorder(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.SORTORDER, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have sortorder IN (values) + */ + public List fetchBySortorder(String... values) { + return fetch(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.SORTORDER, values); + } + + /** + * Fetch records that have bpeg BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfBpeg(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.BPEG, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have bpeg IN (values) + */ + public List fetchByBpeg(String... values) { + return fetch(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.BPEG, values); + } + + /** + * Fetch records that have epeg BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfEpeg(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.EPEG, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have epeg IN (values) + */ + public List fetchByEpeg(String... values) { + return fetch(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.EPEG, values); + } + + /** + * Fetch records that have filenum BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfFilenum(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.FILENUM, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have filenum IN (values) + */ + public List fetchByFilenum(String... values) { + return fetch(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.FILENUM, values); + } + + /** + * Fetch records that have remark BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfRemark(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.REMARK, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have remark IN (values) + */ + public List fetchByRemark(String... values) { + return fetch(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.REMARK, values); + } + + /** + * Fetch records that have recordnum BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfRecordnum(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.RECORDNUM, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have recordnum IN (values) + */ + public List fetchByRecordnum(String... values) { + return fetch(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.RECORDNUM, values); + } + + /** + * Fetch records that have piecenumber BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfPiecenumber(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.PIECENUMBER, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have piecenumber IN (values) + */ + public List fetchByPiecenumber(String... values) { + return fetch(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.PIECENUMBER, values); + } + + /** + * Fetch records that have adddate BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfAdddate(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.ADDDATE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have adddate IN (values) + */ + public List fetchByAdddate(String... values) { + return fetch(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.ADDDATE, values); + } + + /** + * Fetch records that have editdate BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfEditdate(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.EDITDATE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have editdate IN (values) + */ + public List fetchByEditdate(String... values) { + return fetch(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.EDITDATE, values); + } + + /** + * Fetch records that have time_stamp BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfTimeStamp(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.TIME_STAMP, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have time_stamp IN (values) + */ + public List fetchByTimeStamp(String... values) { + return fetch(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.TIME_STAMP, values); + } + + /** + * Fetch records that have isdel BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfIsdel(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.ISDEL, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have isdel IN (values) + */ + public List fetchByIsdel(Integer... values) { + return fetch(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.ISDEL, values); + } + + /** + * Fetch records that have catalogpdfurl BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCatalogpdfurl(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.CATALOGPDFURL, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have catalogpdfurl IN (values) + */ + public List fetchByCatalogpdfurl(String... values) { + return fetch(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.CATALOGPDFURL, values); + } + + /** + * Fetch records that have signtag BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSigntag(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.SIGNTAG, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have signtag IN (values) + */ + public List fetchBySigntag(String... values) { + return fetch(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.SIGNTAG, values); + } + + /** + * Fetch records that have collecttag BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCollecttag(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.COLLECTTAG, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have collecttag IN (values) + */ + public List fetchByCollecttag(String... values) { + return fetch(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS.COLLECTTAG, values); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/FilesApplyDocsDao.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/FilesApplyDocsDao.java new file mode 100644 index 0000000..c406a47 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/FilesApplyDocsDao.java @@ -0,0 +1,374 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.daos; + + +import java.util.List; +import java.util.Optional; + +import jj.tech.paolu.repository.jooq.tables.FilesApplyDocs; +import jj.tech.paolu.repository.jooq.tables.records.FilesApplyDocsRecord; + +import org.jooq.Configuration; +import org.jooq.impl.DAOImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +@Repository +public class FilesApplyDocsDao extends DAOImpl { + + /** + * Create a new FilesApplyDocsDao without any configuration + */ + public FilesApplyDocsDao() { + super(FilesApplyDocs.FILES_APPLY_DOCS, jj.tech.paolu.repository.jooq.tables.pojos.FilesApplyDocs.class); + } + + /** + * Create a new FilesApplyDocsDao with an attached configuration + */ + @Autowired + public FilesApplyDocsDao(Configuration configuration) { + super(FilesApplyDocs.FILES_APPLY_DOCS, jj.tech.paolu.repository.jooq.tables.pojos.FilesApplyDocs.class, configuration); + } + + @Override + public String getId(jj.tech.paolu.repository.jooq.tables.pojos.FilesApplyDocs object) { + return object.getId(); + } + + /** + * Fetch records that have id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDocs.FILES_APPLY_DOCS.ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have id IN (values) + */ + public List fetchById(String... values) { + return fetch(FilesApplyDocs.FILES_APPLY_DOCS.ID, values); + } + + /** + * Fetch a unique record that has id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.FilesApplyDocs fetchOneById(String value) { + return fetchOne(FilesApplyDocs.FILES_APPLY_DOCS.ID, value); + } + + /** + * Fetch a unique record that has id = value + */ + public Optional fetchOptionalById(String value) { + return fetchOptional(FilesApplyDocs.FILES_APPLY_DOCS.ID, value); + } + + /** + * Fetch records that have files_apply_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfFilesApplyId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDocs.FILES_APPLY_DOCS.FILES_APPLY_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have files_apply_id IN (values) + */ + public List fetchByFilesApplyId(String... values) { + return fetch(FilesApplyDocs.FILES_APPLY_DOCS.FILES_APPLY_ID, values); + } + + /** + * Fetch records that have syn_file_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSynFileId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDocs.FILES_APPLY_DOCS.SYN_FILE_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have syn_file_id IN (values) + */ + public List fetchBySynFileId(String... values) { + return fetch(FilesApplyDocs.FILES_APPLY_DOCS.SYN_FILE_ID, values); + } + + /** + * Fetch records that have syn_file_p_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSynFilePId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDocs.FILES_APPLY_DOCS.SYN_FILE_P_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have syn_file_p_id IN (values) + */ + public List fetchBySynFilePId(String... values) { + return fetch(FilesApplyDocs.FILES_APPLY_DOCS.SYN_FILE_P_ID, values); + } + + /** + * Fetch records that have tablenumber BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfTablenumber(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDocs.FILES_APPLY_DOCS.TABLENUMBER, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have tablenumber IN (values) + */ + public List fetchByTablenumber(String... values) { + return fetch(FilesApplyDocs.FILES_APPLY_DOCS.TABLENUMBER, values); + } + + /** + * Fetch records that have annexname BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfAnnexname(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDocs.FILES_APPLY_DOCS.ANNEXNAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have annexname IN (values) + */ + public List fetchByAnnexname(String... values) { + return fetch(FilesApplyDocs.FILES_APPLY_DOCS.ANNEXNAME, values); + } + + /** + * Fetch records that have projectname BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfProjectname(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDocs.FILES_APPLY_DOCS.PROJECTNAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have projectname IN (values) + */ + public List fetchByProjectname(String... values) { + return fetch(FilesApplyDocs.FILES_APPLY_DOCS.PROJECTNAME, values); + } + + /** + * Fetch records that have eweavedate BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfEweavedate(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDocs.FILES_APPLY_DOCS.EWEAVEDATE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have eweavedate IN (values) + */ + public List fetchByEweavedate(String... values) { + return fetch(FilesApplyDocs.FILES_APPLY_DOCS.EWEAVEDATE, values); + } + + /** + * Fetch records that have checkdate BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCheckdate(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDocs.FILES_APPLY_DOCS.CHECKDATE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have checkdate IN (values) + */ + public List fetchByCheckdate(String... values) { + return fetch(FilesApplyDocs.FILES_APPLY_DOCS.CHECKDATE, values); + } + + /** + * Fetch records that have annexpage BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfAnnexpage(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(FilesApplyDocs.FILES_APPLY_DOCS.ANNEXPAGE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have annexpage IN (values) + */ + public List fetchByAnnexpage(Integer... values) { + return fetch(FilesApplyDocs.FILES_APPLY_DOCS.ANNEXPAGE, values); + } + + /** + * Fetch records that have sortorder BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSortorder(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDocs.FILES_APPLY_DOCS.SORTORDER, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have sortorder IN (values) + */ + public List fetchBySortorder(String... values) { + return fetch(FilesApplyDocs.FILES_APPLY_DOCS.SORTORDER, values); + } + + /** + * Fetch records that have filefrom BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfFilefrom(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDocs.FILES_APPLY_DOCS.FILEFROM, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have filefrom IN (values) + */ + public List fetchByFilefrom(String... values) { + return fetch(FilesApplyDocs.FILES_APPLY_DOCS.FILEFROM, values); + } + + /** + * Fetch records that have archivestag BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfArchivestag(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDocs.FILES_APPLY_DOCS.ARCHIVESTAG, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have archivestag IN (values) + */ + public List fetchByArchivestag(String... values) { + return fetch(FilesApplyDocs.FILES_APPLY_DOCS.ARCHIVESTAG, values); + } + + /** + * Fetch records that have adddate BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfAdddate(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDocs.FILES_APPLY_DOCS.ADDDATE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have adddate IN (values) + */ + public List fetchByAdddate(String... values) { + return fetch(FilesApplyDocs.FILES_APPLY_DOCS.ADDDATE, values); + } + + /** + * Fetch records that have editdate BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfEditdate(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDocs.FILES_APPLY_DOCS.EDITDATE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have editdate IN (values) + */ + public List fetchByEditdate(String... values) { + return fetch(FilesApplyDocs.FILES_APPLY_DOCS.EDITDATE, values); + } + + /** + * Fetch records that have time_stamp BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfTimeStamp(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDocs.FILES_APPLY_DOCS.TIME_STAMP, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have time_stamp IN (values) + */ + public List fetchByTimeStamp(String... values) { + return fetch(FilesApplyDocs.FILES_APPLY_DOCS.TIME_STAMP, values); + } + + /** + * Fetch records that have isdel BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfIsdel(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(FilesApplyDocs.FILES_APPLY_DOCS.ISDEL, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have isdel IN (values) + */ + public List fetchByIsdel(Integer... values) { + return fetch(FilesApplyDocs.FILES_APPLY_DOCS.ISDEL, values); + } + + /** + * Fetch records that have downurl BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfDownurl(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDocs.FILES_APPLY_DOCS.DOWNURL, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have downurl IN (values) + */ + public List fetchByDownurl(String... values) { + return fetch(FilesApplyDocs.FILES_APPLY_DOCS.DOWNURL, values); + } + + /** + * Fetch records that have filesize BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfFilesize(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(FilesApplyDocs.FILES_APPLY_DOCS.FILESIZE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have filesize IN (values) + */ + public List fetchByFilesize(Integer... values) { + return fetch(FilesApplyDocs.FILES_APPLY_DOCS.FILESIZE, values); + } + + /** + * Fetch records that have apply_view_type_print BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfApplyViewTypePrint(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(FilesApplyDocs.FILES_APPLY_DOCS.APPLY_VIEW_TYPE_PRINT, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_view_type_print IN (values) + */ + public List fetchByApplyViewTypePrint(Integer... values) { + return fetch(FilesApplyDocs.FILES_APPLY_DOCS.APPLY_VIEW_TYPE_PRINT, values); + } + + /** + * Fetch records that have apply_view_type_online BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfApplyViewTypeOnline(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(FilesApplyDocs.FILES_APPLY_DOCS.APPLY_VIEW_TYPE_ONLINE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have apply_view_type_online IN (values) + */ + public List fetchByApplyViewTypeOnline(Integer... values) { + return fetch(FilesApplyDocs.FILES_APPLY_DOCS.APPLY_VIEW_TYPE_ONLINE, values); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/FilesApplyDownloadRecordDao.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/FilesApplyDownloadRecordDao.java new file mode 100644 index 0000000..947f9e4 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/FilesApplyDownloadRecordDao.java @@ -0,0 +1,225 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.daos; + + +import java.time.LocalDateTime; +import java.util.List; +import java.util.Optional; + +import jj.tech.paolu.repository.jooq.tables.FilesApplyDownloadRecord; +import jj.tech.paolu.repository.jooq.tables.records.FilesApplyDownloadRecordRecord; + +import org.jooq.Configuration; +import org.jooq.impl.DAOImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +@Repository +public class FilesApplyDownloadRecordDao extends DAOImpl { + + /** + * Create a new FilesApplyDownloadRecordDao without any configuration + */ + public FilesApplyDownloadRecordDao() { + super(FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD, jj.tech.paolu.repository.jooq.tables.pojos.FilesApplyDownloadRecord.class); + } + + /** + * Create a new FilesApplyDownloadRecordDao with an attached configuration + */ + @Autowired + public FilesApplyDownloadRecordDao(Configuration configuration) { + super(FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD, jj.tech.paolu.repository.jooq.tables.pojos.FilesApplyDownloadRecord.class, configuration); + } + + @Override + public String getId(jj.tech.paolu.repository.jooq.tables.pojos.FilesApplyDownloadRecord object) { + return object.getId(); + } + + /** + * Fetch records that have id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have id IN (values) + */ + public List fetchById(String... values) { + return fetch(FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.ID, values); + } + + /** + * Fetch a unique record that has id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.FilesApplyDownloadRecord fetchOneById(String value) { + return fetchOne(FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.ID, value); + } + + /** + * Fetch a unique record that has id = value + */ + public Optional fetchOptionalById(String value) { + return fetchOptional(FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.ID, value); + } + + /** + * Fetch records that have files_apply_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfFilesApplyId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.FILES_APPLY_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have files_apply_id IN (values) + */ + public List fetchByFilesApplyId(String... values) { + return fetch(FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.FILES_APPLY_ID, values); + } + + /** + * Fetch records that have is_dir_file BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfIsDirFile(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.IS_DIR_FILE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have is_dir_file IN (values) + */ + public List fetchByIsDirFile(Integer... values) { + return fetch(FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.IS_DIR_FILE, values); + } + + /** + * Fetch records that have syn_file_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSynFileId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.SYN_FILE_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have syn_file_id IN (values) + */ + public List fetchBySynFileId(String... values) { + return fetch(FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.SYN_FILE_ID, values); + } + + /** + * Fetch records that have syn_file_p_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSynFilePId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.SYN_FILE_P_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have syn_file_p_id IN (values) + */ + public List fetchBySynFilePId(String... values) { + return fetch(FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.SYN_FILE_P_ID, values); + } + + /** + * Fetch records that have syn_file_name BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSynFileName(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.SYN_FILE_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have syn_file_name IN (values) + */ + public List fetchBySynFileName(String... values) { + return fetch(FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.SYN_FILE_NAME, values); + } + + /** + * Fetch records that have user_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfUserId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.USER_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have user_id IN (values) + */ + public List fetchByUserId(String... values) { + return fetch(FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.USER_ID, values); + } + + /** + * Fetch records that have user_name BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfUserName(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.USER_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have user_name IN (values) + */ + public List fetchByUserName(String... values) { + return fetch(FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.USER_NAME, values); + } + + /** + * Fetch records that have org_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfOrgId(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.ORG_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have org_id IN (values) + */ + public List fetchByOrgId(String... values) { + return fetch(FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.ORG_ID, values); + } + + /** + * Fetch records that have org_name BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfOrgName(String lowerInclusive, String upperInclusive) { + return fetchRange(FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.ORG_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have org_name IN (values) + */ + public List fetchByOrgName(String... values) { + return fetch(FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.ORG_NAME, values); + } + + /** + * Fetch records that have download_time BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfDownloadTime(LocalDateTime lowerInclusive, LocalDateTime upperInclusive) { + return fetchRange(FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.DOWNLOAD_TIME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have download_time IN (values) + */ + public List fetchByDownloadTime(LocalDateTime... values) { + return fetch(FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.DOWNLOAD_TIME, values); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/ProjectDao.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/ProjectDao.java new file mode 100644 index 0000000..0754841 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/ProjectDao.java @@ -0,0 +1,119 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.daos; + + +import java.util.List; +import java.util.Optional; + +import jj.tech.paolu.repository.jooq.tables.Project; +import jj.tech.paolu.repository.jooq.tables.records.ProjectRecord; + +import org.jooq.Configuration; +import org.jooq.impl.DAOImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +@Repository +public class ProjectDao extends DAOImpl { + + /** + * Create a new ProjectDao without any configuration + */ + public ProjectDao() { + super(Project.PROJECT, jj.tech.paolu.repository.jooq.tables.pojos.Project.class); + } + + /** + * Create a new ProjectDao with an attached configuration + */ + @Autowired + public ProjectDao(Configuration configuration) { + super(Project.PROJECT, jj.tech.paolu.repository.jooq.tables.pojos.Project.class, configuration); + } + + @Override + public String getId(jj.tech.paolu.repository.jooq.tables.pojos.Project object) { + return object.getId(); + } + + /** + * Fetch records that have id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfId(String lowerInclusive, String upperInclusive) { + return fetchRange(Project.PROJECT.ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have id IN (values) + */ + public List fetchById(String... values) { + return fetch(Project.PROJECT.ID, values); + } + + /** + * Fetch a unique record that has id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.Project fetchOneById(String value) { + return fetchOne(Project.PROJECT.ID, value); + } + + /** + * Fetch a unique record that has id = value + */ + public Optional fetchOptionalById(String value) { + return fetchOptional(Project.PROJECT.ID, value); + } + + /** + * Fetch records that have project_name BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfProjectName(String lowerInclusive, String upperInclusive) { + return fetchRange(Project.PROJECT.PROJECT_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have project_name IN (values) + */ + public List fetchByProjectName(String... values) { + return fetch(Project.PROJECT.PROJECT_NAME, values); + } + + /** + * Fetch records that have org_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfOrgId(String lowerInclusive, String upperInclusive) { + return fetchRange(Project.PROJECT.ORG_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have org_id IN (values) + */ + public List fetchByOrgId(String... values) { + return fetch(Project.PROJECT.ORG_ID, values); + } + + /** + * Fetch records that have org_name BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfOrgName(String lowerInclusive, String upperInclusive) { + return fetchRange(Project.PROJECT.ORG_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have org_name IN (values) + */ + public List fetchByOrgName(String... values) { + return fetch(Project.PROJECT.ORG_NAME, values); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/ReadLogDao.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/ReadLogDao.java new file mode 100644 index 0000000..c7bea32 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/ReadLogDao.java @@ -0,0 +1,255 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.daos; + + +import java.time.LocalDateTime; +import java.util.List; +import java.util.Optional; + +import jj.tech.paolu.repository.jooq.tables.ReadLog; +import jj.tech.paolu.repository.jooq.tables.records.ReadLogRecord; + +import org.jooq.Configuration; +import org.jooq.impl.DAOImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + + +/** + * 阅读情况 + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +@Repository +public class ReadLogDao extends DAOImpl { + + /** + * Create a new ReadLogDao without any configuration + */ + public ReadLogDao() { + super(ReadLog.READ_LOG, jj.tech.paolu.repository.jooq.tables.pojos.ReadLog.class); + } + + /** + * Create a new ReadLogDao with an attached configuration + */ + @Autowired + public ReadLogDao(Configuration configuration) { + super(ReadLog.READ_LOG, jj.tech.paolu.repository.jooq.tables.pojos.ReadLog.class, configuration); + } + + @Override + public String getId(jj.tech.paolu.repository.jooq.tables.pojos.ReadLog object) { + return object.getId(); + } + + /** + * Fetch records that have id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfId(String lowerInclusive, String upperInclusive) { + return fetchRange(ReadLog.READ_LOG.ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have id IN (values) + */ + public List fetchById(String... values) { + return fetch(ReadLog.READ_LOG.ID, values); + } + + /** + * Fetch a unique record that has id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.ReadLog fetchOneById(String value) { + return fetchOne(ReadLog.READ_LOG.ID, value); + } + + /** + * Fetch a unique record that has id = value + */ + public Optional fetchOptionalById(String value) { + return fetchOptional(ReadLog.READ_LOG.ID, value); + } + + /** + * Fetch records that have weid BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfWeid(String lowerInclusive, String upperInclusive) { + return fetchRange(ReadLog.READ_LOG.WEID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have weid IN (values) + */ + public List fetchByWeid(String... values) { + return fetch(ReadLog.READ_LOG.WEID, values); + } + + /** + * Fetch records that have content_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfContentId(String lowerInclusive, String upperInclusive) { + return fetchRange(ReadLog.READ_LOG.CONTENT_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have content_id IN (values) + */ + public List fetchByContentId(String... values) { + return fetch(ReadLog.READ_LOG.CONTENT_ID, values); + } + + /** + * Fetch records that have starttime BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfStarttime(LocalDateTime lowerInclusive, LocalDateTime upperInclusive) { + return fetchRange(ReadLog.READ_LOG.STARTTIME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have starttime IN (values) + */ + public List fetchByStarttime(LocalDateTime... values) { + return fetch(ReadLog.READ_LOG.STARTTIME, values); + } + + /** + * Fetch records that have endtime BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfEndtime(LocalDateTime lowerInclusive, LocalDateTime upperInclusive) { + return fetchRange(ReadLog.READ_LOG.ENDTIME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have endtime IN (values) + */ + public List fetchByEndtime(LocalDateTime... values) { + return fetch(ReadLog.READ_LOG.ENDTIME, values); + } + + /** + * Fetch records that have ip BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfIp(String lowerInclusive, String upperInclusive) { + return fetchRange(ReadLog.READ_LOG.IP, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have ip IN (values) + */ + public List fetchByIp(String... values) { + return fetch(ReadLog.READ_LOG.IP, values); + } + + /** + * Fetch records that have location BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfLocation(String lowerInclusive, String upperInclusive) { + return fetchRange(ReadLog.READ_LOG.LOCATION, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have location IN (values) + */ + public List fetchByLocation(String... values) { + return fetch(ReadLog.READ_LOG.LOCATION, values); + } + + /** + * Fetch records that have downloadtype BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfDownloadtype(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(ReadLog.READ_LOG.DOWNLOADTYPE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have downloadtype IN (values) + */ + public List fetchByDownloadtype(Integer... values) { + return fetch(ReadLog.READ_LOG.DOWNLOADTYPE, values); + } + + /** + * Fetch records that have sign BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSign(String lowerInclusive, String upperInclusive) { + return fetchRange(ReadLog.READ_LOG.SIGN, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have sign IN (values) + */ + public List fetchBySign(String... values) { + return fetch(ReadLog.READ_LOG.SIGN, values); + } + + /** + * Fetch records that have readid BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfReadid(String lowerInclusive, String upperInclusive) { + return fetchRange(ReadLog.READ_LOG.READID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have readid IN (values) + */ + public List fetchByReadid(String... values) { + return fetch(ReadLog.READ_LOG.READID, values); + } + + /** + * Fetch records that have sm9hibeid BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSm9hibeid(String lowerInclusive, String upperInclusive) { + return fetchRange(ReadLog.READ_LOG.SM9HIBEID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have sm9hibeid IN (values) + */ + public List fetchBySm9hibeid(String... values) { + return fetch(ReadLog.READ_LOG.SM9HIBEID, values); + } + + /** + * Fetch records that have content_type BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfContentType(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(ReadLog.READ_LOG.CONTENT_TYPE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have content_type IN (values) + */ + public List fetchByContentType(Integer... values) { + return fetch(ReadLog.READ_LOG.CONTENT_TYPE, values); + } + + /** + * Fetch records that have ischeck BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfIscheck(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(ReadLog.READ_LOG.ISCHECK, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have ischeck IN (values) + */ + public List fetchByIscheck(Integer... values) { + return fetch(ReadLog.READ_LOG.ISCHECK, values); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SharedRuleConfigDao.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SharedRuleConfigDao.java new file mode 100644 index 0000000..c79ec1d --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SharedRuleConfigDao.java @@ -0,0 +1,149 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.daos; + + +import java.util.List; +import java.util.Optional; + +import jj.tech.paolu.repository.jooq.tables.SharedRuleConfig; +import jj.tech.paolu.repository.jooq.tables.records.SharedRuleConfigRecord; + +import org.jooq.Configuration; +import org.jooq.impl.DAOImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +@Repository +public class SharedRuleConfigDao extends DAOImpl { + + /** + * Create a new SharedRuleConfigDao without any configuration + */ + public SharedRuleConfigDao() { + super(SharedRuleConfig.SHARED_RULE_CONFIG, jj.tech.paolu.repository.jooq.tables.pojos.SharedRuleConfig.class); + } + + /** + * Create a new SharedRuleConfigDao with an attached configuration + */ + @Autowired + public SharedRuleConfigDao(Configuration configuration) { + super(SharedRuleConfig.SHARED_RULE_CONFIG, jj.tech.paolu.repository.jooq.tables.pojos.SharedRuleConfig.class, configuration); + } + + @Override + public String getId(jj.tech.paolu.repository.jooq.tables.pojos.SharedRuleConfig object) { + return object.getId(); + } + + /** + * Fetch records that have id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfId(String lowerInclusive, String upperInclusive) { + return fetchRange(SharedRuleConfig.SHARED_RULE_CONFIG.ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have id IN (values) + */ + public List fetchById(String... values) { + return fetch(SharedRuleConfig.SHARED_RULE_CONFIG.ID, values); + } + + /** + * Fetch a unique record that has id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.SharedRuleConfig fetchOneById(String value) { + return fetchOne(SharedRuleConfig.SHARED_RULE_CONFIG.ID, value); + } + + /** + * Fetch a unique record that has id = value + */ + public Optional fetchOptionalById(String value) { + return fetchOptional(SharedRuleConfig.SHARED_RULE_CONFIG.ID, value); + } + + /** + * Fetch records that have name BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfName(String lowerInclusive, String upperInclusive) { + return fetchRange(SharedRuleConfig.SHARED_RULE_CONFIG.NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have name IN (values) + */ + public List fetchByName(String... values) { + return fetch(SharedRuleConfig.SHARED_RULE_CONFIG.NAME, values); + } + + /** + * Fetch records that have describe BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfDescribe(String lowerInclusive, String upperInclusive) { + return fetchRange(SharedRuleConfig.SHARED_RULE_CONFIG.DESCRIBE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have describe IN (values) + */ + public List fetchByDescribe(String... values) { + return fetch(SharedRuleConfig.SHARED_RULE_CONFIG.DESCRIBE, values); + } + + /** + * Fetch records that have status BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfStatus(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SharedRuleConfig.SHARED_RULE_CONFIG.STATUS, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have status IN (values) + */ + public List fetchByStatus(Integer... values) { + return fetch(SharedRuleConfig.SHARED_RULE_CONFIG.STATUS, values); + } + + /** + * Fetch records that have sort BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSort(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SharedRuleConfig.SHARED_RULE_CONFIG.SORT, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have sort IN (values) + */ + public List fetchBySort(Integer... values) { + return fetch(SharedRuleConfig.SHARED_RULE_CONFIG.SORT, values); + } + + /** + * Fetch records that have project_name BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfProjectName(String lowerInclusive, String upperInclusive) { + return fetchRange(SharedRuleConfig.SHARED_RULE_CONFIG.PROJECT_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have project_name IN (values) + */ + public List fetchByProjectName(String... values) { + return fetch(SharedRuleConfig.SHARED_RULE_CONFIG.PROJECT_NAME, values); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SharedSynAllDao.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SharedSynAllDao.java new file mode 100644 index 0000000..f533342 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SharedSynAllDao.java @@ -0,0 +1,208 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.daos; + + +import java.util.List; +import java.util.Optional; + +import jj.tech.paolu.repository.jooq.tables.SharedSynAll; +import jj.tech.paolu.repository.jooq.tables.records.SharedSynAllRecord; + +import org.jooq.Configuration; +import org.jooq.impl.DAOImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +@Repository +public class SharedSynAllDao extends DAOImpl { + + /** + * Create a new SharedSynAllDao without any configuration + */ + public SharedSynAllDao() { + super(SharedSynAll.SHARED_SYN_ALL, jj.tech.paolu.repository.jooq.tables.pojos.SharedSynAll.class); + } + + /** + * Create a new SharedSynAllDao with an attached configuration + */ + @Autowired + public SharedSynAllDao(Configuration configuration) { + super(SharedSynAll.SHARED_SYN_ALL, jj.tech.paolu.repository.jooq.tables.pojos.SharedSynAll.class, configuration); + } + + @Override + public String getId(jj.tech.paolu.repository.jooq.tables.pojos.SharedSynAll object) { + return object.getId(); + } + + /** + * Fetch records that have id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfId(String lowerInclusive, String upperInclusive) { + return fetchRange(SharedSynAll.SHARED_SYN_ALL.ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have id IN (values) + */ + public List fetchById(String... values) { + return fetch(SharedSynAll.SHARED_SYN_ALL.ID, values); + } + + /** + * Fetch a unique record that has id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.SharedSynAll fetchOneById(String value) { + return fetchOne(SharedSynAll.SHARED_SYN_ALL.ID, value); + } + + /** + * Fetch a unique record that has id = value + */ + public Optional fetchOptionalById(String value) { + return fetchOptional(SharedSynAll.SHARED_SYN_ALL.ID, value); + } + + /** + * Fetch records that have syn_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSynId(String lowerInclusive, String upperInclusive) { + return fetchRange(SharedSynAll.SHARED_SYN_ALL.SYN_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have syn_id IN (values) + */ + public List fetchBySynId(String... values) { + return fetch(SharedSynAll.SHARED_SYN_ALL.SYN_ID, values); + } + + /** + * Fetch a unique record that has syn_id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.SharedSynAll fetchOneBySynId(String value) { + return fetchOne(SharedSynAll.SHARED_SYN_ALL.SYN_ID, value); + } + + /** + * Fetch a unique record that has syn_id = value + */ + public Optional fetchOptionalBySynId(String value) { + return fetchOptional(SharedSynAll.SHARED_SYN_ALL.SYN_ID, value); + } + + /** + * Fetch records that have syn_type BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSynType(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SharedSynAll.SHARED_SYN_ALL.SYN_TYPE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have syn_type IN (values) + */ + public List fetchBySynType(Integer... values) { + return fetch(SharedSynAll.SHARED_SYN_ALL.SYN_TYPE, values); + } + + /** + * Fetch records that have is_config_rule BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfIsConfigRule(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SharedSynAll.SHARED_SYN_ALL.IS_CONFIG_RULE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have is_config_rule IN (values) + */ + public List fetchByIsConfigRule(Integer... values) { + return fetch(SharedSynAll.SHARED_SYN_ALL.IS_CONFIG_RULE, values); + } + + /** + * Fetch records that have shared_status BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSharedStatus(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SharedSynAll.SHARED_SYN_ALL.SHARED_STATUS, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have shared_status IN (values) + */ + public List fetchBySharedStatus(Integer... values) { + return fetch(SharedSynAll.SHARED_SYN_ALL.SHARED_STATUS, values); + } + + /** + * Fetch records that have syn_status BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSynStatus(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SharedSynAll.SHARED_SYN_ALL.SYN_STATUS, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have syn_status IN (values) + */ + public List fetchBySynStatus(Integer... values) { + return fetch(SharedSynAll.SHARED_SYN_ALL.SYN_STATUS, values); + } + + /** + * Fetch records that have block_number BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfBlockNumber(String lowerInclusive, String upperInclusive) { + return fetchRange(SharedSynAll.SHARED_SYN_ALL.BLOCK_NUMBER, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have block_number IN (values) + */ + public List fetchByBlockNumber(String... values) { + return fetch(SharedSynAll.SHARED_SYN_ALL.BLOCK_NUMBER, values); + } + + /** + * Fetch records that have block_hash BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfBlockHash(String lowerInclusive, String upperInclusive) { + return fetchRange(SharedSynAll.SHARED_SYN_ALL.BLOCK_HASH, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have block_hash IN (values) + */ + public List fetchByBlockHash(String... values) { + return fetch(SharedSynAll.SHARED_SYN_ALL.BLOCK_HASH, values); + } + + /** + * Fetch records that have block_time BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfBlockTime(String lowerInclusive, String upperInclusive) { + return fetchRange(SharedSynAll.SHARED_SYN_ALL.BLOCK_TIME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have block_time IN (values) + */ + public List fetchByBlockTime(String... values) { + return fetch(SharedSynAll.SHARED_SYN_ALL.BLOCK_TIME, values); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SynDirectoryDao.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SynDirectoryDao.java new file mode 100644 index 0000000..7b0f109 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SynDirectoryDao.java @@ -0,0 +1,179 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.daos; + + +import java.util.List; +import java.util.Optional; + +import jj.tech.paolu.repository.jooq.tables.SynDirectory; +import jj.tech.paolu.repository.jooq.tables.records.SynDirectoryRecord; + +import org.jooq.Configuration; +import org.jooq.impl.DAOImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +@Repository +public class SynDirectoryDao extends DAOImpl { + + /** + * Create a new SynDirectoryDao without any configuration + */ + public SynDirectoryDao() { + super(SynDirectory.SYN_DIRECTORY, jj.tech.paolu.repository.jooq.tables.pojos.SynDirectory.class); + } + + /** + * Create a new SynDirectoryDao with an attached configuration + */ + @Autowired + public SynDirectoryDao(Configuration configuration) { + super(SynDirectory.SYN_DIRECTORY, jj.tech.paolu.repository.jooq.tables.pojos.SynDirectory.class, configuration); + } + + @Override + public String getId(jj.tech.paolu.repository.jooq.tables.pojos.SynDirectory object) { + return object.getId(); + } + + /** + * Fetch records that have id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfId(String lowerInclusive, String upperInclusive) { + return fetchRange(SynDirectory.SYN_DIRECTORY.ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have id IN (values) + */ + public List fetchById(String... values) { + return fetch(SynDirectory.SYN_DIRECTORY.ID, values); + } + + /** + * Fetch a unique record that has id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.SynDirectory fetchOneById(String value) { + return fetchOne(SynDirectory.SYN_DIRECTORY.ID, value); + } + + /** + * Fetch a unique record that has id = value + */ + public Optional fetchOptionalById(String value) { + return fetchOptional(SynDirectory.SYN_DIRECTORY.ID, value); + } + + /** + * Fetch records that have p_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfPId(String lowerInclusive, String upperInclusive) { + return fetchRange(SynDirectory.SYN_DIRECTORY.P_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have p_id IN (values) + */ + public List fetchByPId(String... values) { + return fetch(SynDirectory.SYN_DIRECTORY.P_ID, values); + } + + /** + * Fetch records that have wbs_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfWbsId(String lowerInclusive, String upperInclusive) { + return fetchRange(SynDirectory.SYN_DIRECTORY.WBS_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have wbs_id IN (values) + */ + public List fetchByWbsId(String... values) { + return fetch(SynDirectory.SYN_DIRECTORY.WBS_ID, values); + } + + /** + * Fetch records that have time_stamp BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfTimeStamp(String lowerInclusive, String upperInclusive) { + return fetchRange(SynDirectory.SYN_DIRECTORY.TIME_STAMP, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have time_stamp IN (values) + */ + public List fetchByTimeStamp(String... values) { + return fetch(SynDirectory.SYN_DIRECTORY.TIME_STAMP, values); + } + + /** + * Fetch records that have sortorder BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSortorder(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SynDirectory.SYN_DIRECTORY.SORTORDER, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have sortorder IN (values) + */ + public List fetchBySortorder(Integer... values) { + return fetch(SynDirectory.SYN_DIRECTORY.SORTORDER, values); + } + + /** + * Fetch records that have tname BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfTname(String lowerInclusive, String upperInclusive) { + return fetchRange(SynDirectory.SYN_DIRECTORY.TNAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have tname IN (values) + */ + public List fetchByTname(String... values) { + return fetch(SynDirectory.SYN_DIRECTORY.TNAME, values); + } + + /** + * Fetch records that have subjoin BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSubjoin(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SynDirectory.SYN_DIRECTORY.SUBJOIN, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have subjoin IN (values) + */ + public List fetchBySubjoin(Integer... values) { + return fetch(SynDirectory.SYN_DIRECTORY.SUBJOIN, values); + } + + /** + * Fetch records that have isdel BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfIsdel(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SynDirectory.SYN_DIRECTORY.ISDEL, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have isdel IN (values) + */ + public List fetchByIsdel(Integer... values) { + return fetch(SynDirectory.SYN_DIRECTORY.ISDEL, values); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SynDirectoryFileDao.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SynDirectoryFileDao.java new file mode 100644 index 0000000..e531712 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SynDirectoryFileDao.java @@ -0,0 +1,374 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.daos; + + +import java.util.List; +import java.util.Optional; + +import jj.tech.paolu.repository.jooq.tables.SynDirectoryFile; +import jj.tech.paolu.repository.jooq.tables.records.SynDirectoryFileRecord; + +import org.jooq.Configuration; +import org.jooq.impl.DAOImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +@Repository +public class SynDirectoryFileDao extends DAOImpl { + + /** + * Create a new SynDirectoryFileDao without any configuration + */ + public SynDirectoryFileDao() { + super(SynDirectoryFile.SYN_DIRECTORY_FILE, jj.tech.paolu.repository.jooq.tables.pojos.SynDirectoryFile.class); + } + + /** + * Create a new SynDirectoryFileDao with an attached configuration + */ + @Autowired + public SynDirectoryFileDao(Configuration configuration) { + super(SynDirectoryFile.SYN_DIRECTORY_FILE, jj.tech.paolu.repository.jooq.tables.pojos.SynDirectoryFile.class, configuration); + } + + @Override + public String getId(jj.tech.paolu.repository.jooq.tables.pojos.SynDirectoryFile object) { + return object.getId(); + } + + /** + * Fetch records that have id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfId(String lowerInclusive, String upperInclusive) { + return fetchRange(SynDirectoryFile.SYN_DIRECTORY_FILE.ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have id IN (values) + */ + public List fetchById(String... values) { + return fetch(SynDirectoryFile.SYN_DIRECTORY_FILE.ID, values); + } + + /** + * Fetch a unique record that has id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.SynDirectoryFile fetchOneById(String value) { + return fetchOne(SynDirectoryFile.SYN_DIRECTORY_FILE.ID, value); + } + + /** + * Fetch a unique record that has id = value + */ + public Optional fetchOptionalById(String value) { + return fetchOptional(SynDirectoryFile.SYN_DIRECTORY_FILE.ID, value); + } + + /** + * Fetch records that have p_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfPId(String lowerInclusive, String upperInclusive) { + return fetchRange(SynDirectoryFile.SYN_DIRECTORY_FILE.P_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have p_id IN (values) + */ + public List fetchByPId(String... values) { + return fetch(SynDirectoryFile.SYN_DIRECTORY_FILE.P_ID, values); + } + + /** + * Fetch records that have filesuper BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfFilesuper(String lowerInclusive, String upperInclusive) { + return fetchRange(SynDirectoryFile.SYN_DIRECTORY_FILE.FILESUPER, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have filesuper IN (values) + */ + public List fetchByFilesuper(String... values) { + return fetch(SynDirectoryFile.SYN_DIRECTORY_FILE.FILESUPER, values); + } + + /** + * Fetch records that have filecount BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfFilecount(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SynDirectoryFile.SYN_DIRECTORY_FILE.FILECOUNT, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have filecount IN (values) + */ + public List fetchByFilecount(Integer... values) { + return fetch(SynDirectoryFile.SYN_DIRECTORY_FILE.FILECOUNT, values); + } + + /** + * Fetch records that have dutyperson BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfDutyperson(String lowerInclusive, String upperInclusive) { + return fetchRange(SynDirectoryFile.SYN_DIRECTORY_FILE.DUTYPERSON, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have dutyperson IN (values) + */ + public List fetchByDutyperson(String... values) { + return fetch(SynDirectoryFile.SYN_DIRECTORY_FILE.DUTYPERSON, values); + } + + /** + * Fetch records that have eweavedate BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfEweavedate(String lowerInclusive, String upperInclusive) { + return fetchRange(SynDirectoryFile.SYN_DIRECTORY_FILE.EWEAVEDATE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have eweavedate IN (values) + */ + public List fetchByEweavedate(String... values) { + return fetch(SynDirectoryFile.SYN_DIRECTORY_FILE.EWEAVEDATE, values); + } + + /** + * Fetch records that have filepage BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfFilepage(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SynDirectoryFile.SYN_DIRECTORY_FILE.FILEPAGE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have filepage IN (values) + */ + public List fetchByFilepage(Integer... values) { + return fetch(SynDirectoryFile.SYN_DIRECTORY_FILE.FILEPAGE, values); + } + + /** + * Fetch records that have sortorder BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSortorder(String lowerInclusive, String upperInclusive) { + return fetchRange(SynDirectoryFile.SYN_DIRECTORY_FILE.SORTORDER, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have sortorder IN (values) + */ + public List fetchBySortorder(String... values) { + return fetch(SynDirectoryFile.SYN_DIRECTORY_FILE.SORTORDER, values); + } + + /** + * Fetch records that have bpeg BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfBpeg(String lowerInclusive, String upperInclusive) { + return fetchRange(SynDirectoryFile.SYN_DIRECTORY_FILE.BPEG, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have bpeg IN (values) + */ + public List fetchByBpeg(String... values) { + return fetch(SynDirectoryFile.SYN_DIRECTORY_FILE.BPEG, values); + } + + /** + * Fetch records that have epeg BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfEpeg(String lowerInclusive, String upperInclusive) { + return fetchRange(SynDirectoryFile.SYN_DIRECTORY_FILE.EPEG, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have epeg IN (values) + */ + public List fetchByEpeg(String... values) { + return fetch(SynDirectoryFile.SYN_DIRECTORY_FILE.EPEG, values); + } + + /** + * Fetch records that have filenum BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfFilenum(String lowerInclusive, String upperInclusive) { + return fetchRange(SynDirectoryFile.SYN_DIRECTORY_FILE.FILENUM, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have filenum IN (values) + */ + public List fetchByFilenum(String... values) { + return fetch(SynDirectoryFile.SYN_DIRECTORY_FILE.FILENUM, values); + } + + /** + * Fetch records that have remark BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfRemark(String lowerInclusive, String upperInclusive) { + return fetchRange(SynDirectoryFile.SYN_DIRECTORY_FILE.REMARK, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have remark IN (values) + */ + public List fetchByRemark(String... values) { + return fetch(SynDirectoryFile.SYN_DIRECTORY_FILE.REMARK, values); + } + + /** + * Fetch records that have recordnum BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfRecordnum(String lowerInclusive, String upperInclusive) { + return fetchRange(SynDirectoryFile.SYN_DIRECTORY_FILE.RECORDNUM, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have recordnum IN (values) + */ + public List fetchByRecordnum(String... values) { + return fetch(SynDirectoryFile.SYN_DIRECTORY_FILE.RECORDNUM, values); + } + + /** + * Fetch records that have piecenumber BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfPiecenumber(String lowerInclusive, String upperInclusive) { + return fetchRange(SynDirectoryFile.SYN_DIRECTORY_FILE.PIECENUMBER, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have piecenumber IN (values) + */ + public List fetchByPiecenumber(String... values) { + return fetch(SynDirectoryFile.SYN_DIRECTORY_FILE.PIECENUMBER, values); + } + + /** + * Fetch records that have adddate BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfAdddate(String lowerInclusive, String upperInclusive) { + return fetchRange(SynDirectoryFile.SYN_DIRECTORY_FILE.ADDDATE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have adddate IN (values) + */ + public List fetchByAdddate(String... values) { + return fetch(SynDirectoryFile.SYN_DIRECTORY_FILE.ADDDATE, values); + } + + /** + * Fetch records that have editdate BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfEditdate(String lowerInclusive, String upperInclusive) { + return fetchRange(SynDirectoryFile.SYN_DIRECTORY_FILE.EDITDATE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have editdate IN (values) + */ + public List fetchByEditdate(String... values) { + return fetch(SynDirectoryFile.SYN_DIRECTORY_FILE.EDITDATE, values); + } + + /** + * Fetch records that have time_stamp BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfTimeStamp(String lowerInclusive, String upperInclusive) { + return fetchRange(SynDirectoryFile.SYN_DIRECTORY_FILE.TIME_STAMP, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have time_stamp IN (values) + */ + public List fetchByTimeStamp(String... values) { + return fetch(SynDirectoryFile.SYN_DIRECTORY_FILE.TIME_STAMP, values); + } + + /** + * Fetch records that have isdel BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfIsdel(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SynDirectoryFile.SYN_DIRECTORY_FILE.ISDEL, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have isdel IN (values) + */ + public List fetchByIsdel(Integer... values) { + return fetch(SynDirectoryFile.SYN_DIRECTORY_FILE.ISDEL, values); + } + + /** + * Fetch records that have catalogpdfurl BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCatalogpdfurl(String lowerInclusive, String upperInclusive) { + return fetchRange(SynDirectoryFile.SYN_DIRECTORY_FILE.CATALOGPDFURL, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have catalogpdfurl IN (values) + */ + public List fetchByCatalogpdfurl(String... values) { + return fetch(SynDirectoryFile.SYN_DIRECTORY_FILE.CATALOGPDFURL, values); + } + + /** + * Fetch records that have signtag BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSigntag(String lowerInclusive, String upperInclusive) { + return fetchRange(SynDirectoryFile.SYN_DIRECTORY_FILE.SIGNTAG, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have signtag IN (values) + */ + public List fetchBySigntag(String... values) { + return fetch(SynDirectoryFile.SYN_DIRECTORY_FILE.SIGNTAG, values); + } + + /** + * Fetch records that have collecttag BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCollecttag(String lowerInclusive, String upperInclusive) { + return fetchRange(SynDirectoryFile.SYN_DIRECTORY_FILE.COLLECTTAG, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have collecttag IN (values) + */ + public List fetchByCollecttag(String... values) { + return fetch(SynDirectoryFile.SYN_DIRECTORY_FILE.COLLECTTAG, values); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SynFileDao.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SynFileDao.java new file mode 100644 index 0000000..8fc3a78 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SynFileDao.java @@ -0,0 +1,314 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.daos; + + +import java.util.List; +import java.util.Optional; + +import jj.tech.paolu.repository.jooq.tables.SynFile; +import jj.tech.paolu.repository.jooq.tables.records.SynFileRecord; + +import org.jooq.Configuration; +import org.jooq.impl.DAOImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +@Repository +public class SynFileDao extends DAOImpl { + + /** + * Create a new SynFileDao without any configuration + */ + public SynFileDao() { + super(SynFile.SYN_FILE, jj.tech.paolu.repository.jooq.tables.pojos.SynFile.class); + } + + /** + * Create a new SynFileDao with an attached configuration + */ + @Autowired + public SynFileDao(Configuration configuration) { + super(SynFile.SYN_FILE, jj.tech.paolu.repository.jooq.tables.pojos.SynFile.class, configuration); + } + + @Override + public String getId(jj.tech.paolu.repository.jooq.tables.pojos.SynFile object) { + return object.getId(); + } + + /** + * Fetch records that have id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfId(String lowerInclusive, String upperInclusive) { + return fetchRange(SynFile.SYN_FILE.ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have id IN (values) + */ + public List fetchById(String... values) { + return fetch(SynFile.SYN_FILE.ID, values); + } + + /** + * Fetch a unique record that has id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.SynFile fetchOneById(String value) { + return fetchOne(SynFile.SYN_FILE.ID, value); + } + + /** + * Fetch a unique record that has id = value + */ + public Optional fetchOptionalById(String value) { + return fetchOptional(SynFile.SYN_FILE.ID, value); + } + + /** + * Fetch records that have p_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfPId(String lowerInclusive, String upperInclusive) { + return fetchRange(SynFile.SYN_FILE.P_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have p_id IN (values) + */ + public List fetchByPId(String... values) { + return fetch(SynFile.SYN_FILE.P_ID, values); + } + + /** + * Fetch records that have tablenumber BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfTablenumber(String lowerInclusive, String upperInclusive) { + return fetchRange(SynFile.SYN_FILE.TABLENUMBER, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have tablenumber IN (values) + */ + public List fetchByTablenumber(String... values) { + return fetch(SynFile.SYN_FILE.TABLENUMBER, values); + } + + /** + * Fetch records that have annexname BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfAnnexname(String lowerInclusive, String upperInclusive) { + return fetchRange(SynFile.SYN_FILE.ANNEXNAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have annexname IN (values) + */ + public List fetchByAnnexname(String... values) { + return fetch(SynFile.SYN_FILE.ANNEXNAME, values); + } + + /** + * Fetch records that have projectname BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfProjectname(String lowerInclusive, String upperInclusive) { + return fetchRange(SynFile.SYN_FILE.PROJECTNAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have projectname IN (values) + */ + public List fetchByProjectname(String... values) { + return fetch(SynFile.SYN_FILE.PROJECTNAME, values); + } + + /** + * Fetch records that have eweavedate BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfEweavedate(String lowerInclusive, String upperInclusive) { + return fetchRange(SynFile.SYN_FILE.EWEAVEDATE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have eweavedate IN (values) + */ + public List fetchByEweavedate(String... values) { + return fetch(SynFile.SYN_FILE.EWEAVEDATE, values); + } + + /** + * Fetch records that have checkdate BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCheckdate(String lowerInclusive, String upperInclusive) { + return fetchRange(SynFile.SYN_FILE.CHECKDATE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have checkdate IN (values) + */ + public List fetchByCheckdate(String... values) { + return fetch(SynFile.SYN_FILE.CHECKDATE, values); + } + + /** + * Fetch records that have annexpage BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfAnnexpage(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SynFile.SYN_FILE.ANNEXPAGE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have annexpage IN (values) + */ + public List fetchByAnnexpage(Integer... values) { + return fetch(SynFile.SYN_FILE.ANNEXPAGE, values); + } + + /** + * Fetch records that have sortorder BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSortorder(String lowerInclusive, String upperInclusive) { + return fetchRange(SynFile.SYN_FILE.SORTORDER, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have sortorder IN (values) + */ + public List fetchBySortorder(String... values) { + return fetch(SynFile.SYN_FILE.SORTORDER, values); + } + + /** + * Fetch records that have filefrom BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfFilefrom(String lowerInclusive, String upperInclusive) { + return fetchRange(SynFile.SYN_FILE.FILEFROM, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have filefrom IN (values) + */ + public List fetchByFilefrom(String... values) { + return fetch(SynFile.SYN_FILE.FILEFROM, values); + } + + /** + * Fetch records that have archivestag BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfArchivestag(String lowerInclusive, String upperInclusive) { + return fetchRange(SynFile.SYN_FILE.ARCHIVESTAG, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have archivestag IN (values) + */ + public List fetchByArchivestag(String... values) { + return fetch(SynFile.SYN_FILE.ARCHIVESTAG, values); + } + + /** + * Fetch records that have adddate BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfAdddate(String lowerInclusive, String upperInclusive) { + return fetchRange(SynFile.SYN_FILE.ADDDATE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have adddate IN (values) + */ + public List fetchByAdddate(String... values) { + return fetch(SynFile.SYN_FILE.ADDDATE, values); + } + + /** + * Fetch records that have editdate BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfEditdate(String lowerInclusive, String upperInclusive) { + return fetchRange(SynFile.SYN_FILE.EDITDATE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have editdate IN (values) + */ + public List fetchByEditdate(String... values) { + return fetch(SynFile.SYN_FILE.EDITDATE, values); + } + + /** + * Fetch records that have time_stamp BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfTimeStamp(String lowerInclusive, String upperInclusive) { + return fetchRange(SynFile.SYN_FILE.TIME_STAMP, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have time_stamp IN (values) + */ + public List fetchByTimeStamp(String... values) { + return fetch(SynFile.SYN_FILE.TIME_STAMP, values); + } + + /** + * Fetch records that have isdel BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfIsdel(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SynFile.SYN_FILE.ISDEL, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have isdel IN (values) + */ + public List fetchByIsdel(Integer... values) { + return fetch(SynFile.SYN_FILE.ISDEL, values); + } + + /** + * Fetch records that have downurl BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfDownurl(String lowerInclusive, String upperInclusive) { + return fetchRange(SynFile.SYN_FILE.DOWNURL, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have downurl IN (values) + */ + public List fetchByDownurl(String... values) { + return fetch(SynFile.SYN_FILE.DOWNURL, values); + } + + /** + * Fetch records that have filesize BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfFilesize(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SynFile.SYN_FILE.FILESIZE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have filesize IN (values) + */ + public List fetchByFilesize(Integer... values) { + return fetch(SynFile.SYN_FILE.FILESIZE, values); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysAdminDao.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysAdminDao.java new file mode 100644 index 0000000..74111c2 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysAdminDao.java @@ -0,0 +1,283 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.daos; + + +import java.util.List; +import java.util.Optional; + +import jj.tech.paolu.repository.jooq.tables.SysAdmin; +import jj.tech.paolu.repository.jooq.tables.records.SysAdminRecord; + +import org.jooq.Configuration; +import org.jooq.impl.DAOImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +@Repository +public class SysAdminDao extends DAOImpl { + + /** + * Create a new SysAdminDao without any configuration + */ + public SysAdminDao() { + super(SysAdmin.SYS_ADMIN, jj.tech.paolu.repository.jooq.tables.pojos.SysAdmin.class); + } + + /** + * Create a new SysAdminDao with an attached configuration + */ + @Autowired + public SysAdminDao(Configuration configuration) { + super(SysAdmin.SYS_ADMIN, jj.tech.paolu.repository.jooq.tables.pojos.SysAdmin.class, configuration); + } + + @Override + public String getId(jj.tech.paolu.repository.jooq.tables.pojos.SysAdmin object) { + return object.getId(); + } + + /** + * Fetch records that have id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfId(String lowerInclusive, String upperInclusive) { + return fetchRange(SysAdmin.SYS_ADMIN.ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have id IN (values) + */ + public List fetchById(String... values) { + return fetch(SysAdmin.SYS_ADMIN.ID, values); + } + + /** + * Fetch a unique record that has id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.SysAdmin fetchOneById(String value) { + return fetchOne(SysAdmin.SYS_ADMIN.ID, value); + } + + /** + * Fetch a unique record that has id = value + */ + public Optional fetchOptionalById(String value) { + return fetchOptional(SysAdmin.SYS_ADMIN.ID, value); + } + + /** + * Fetch records that have org_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfOrgId(String lowerInclusive, String upperInclusive) { + return fetchRange(SysAdmin.SYS_ADMIN.ORG_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have org_id IN (values) + */ + public List fetchByOrgId(String... values) { + return fetch(SysAdmin.SYS_ADMIN.ORG_ID, values); + } + + /** + * Fetch records that have realname BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfRealname(String lowerInclusive, String upperInclusive) { + return fetchRange(SysAdmin.SYS_ADMIN.REALNAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have realname IN (values) + */ + public List fetchByRealname(String... values) { + return fetch(SysAdmin.SYS_ADMIN.REALNAME, values); + } + + /** + * Fetch records that have username BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfUsername(String lowerInclusive, String upperInclusive) { + return fetchRange(SysAdmin.SYS_ADMIN.USERNAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have username IN (values) + */ + public List fetchByUsername(String... values) { + return fetch(SysAdmin.SYS_ADMIN.USERNAME, values); + } + + /** + * Fetch a unique record that has username = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.SysAdmin fetchOneByUsername(String value) { + return fetchOne(SysAdmin.SYS_ADMIN.USERNAME, value); + } + + /** + * Fetch a unique record that has username = value + */ + public Optional fetchOptionalByUsername(String value) { + return fetchOptional(SysAdmin.SYS_ADMIN.USERNAME, value); + } + + /** + * Fetch records that have password BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfPassword(String lowerInclusive, String upperInclusive) { + return fetchRange(SysAdmin.SYS_ADMIN.PASSWORD, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have password IN (values) + */ + public List fetchByPassword(String... values) { + return fetch(SysAdmin.SYS_ADMIN.PASSWORD, values); + } + + /** + * Fetch records that have phone BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfPhone(String lowerInclusive, String upperInclusive) { + return fetchRange(SysAdmin.SYS_ADMIN.PHONE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have phone IN (values) + */ + public List fetchByPhone(String... values) { + return fetch(SysAdmin.SYS_ADMIN.PHONE, values); + } + + /** + * Fetch records that have email BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfEmail(String lowerInclusive, String upperInclusive) { + return fetchRange(SysAdmin.SYS_ADMIN.EMAIL, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have email IN (values) + */ + public List fetchByEmail(String... values) { + return fetch(SysAdmin.SYS_ADMIN.EMAIL, values); + } + + /** + * Fetch records that have job BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfJob(String lowerInclusive, String upperInclusive) { + return fetchRange(SysAdmin.SYS_ADMIN.JOB, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have job IN (values) + */ + public List fetchByJob(String... values) { + return fetch(SysAdmin.SYS_ADMIN.JOB, values); + } + + /** + * Fetch records that have gender BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfGender(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SysAdmin.SYS_ADMIN.GENDER, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have gender IN (values) + */ + public List fetchByGender(Integer... values) { + return fetch(SysAdmin.SYS_ADMIN.GENDER, values); + } + + /** + * Fetch records that have islock BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfIslock(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SysAdmin.SYS_ADMIN.ISLOCK, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have islock IN (values) + */ + public List fetchByIslock(Integer... values) { + return fetch(SysAdmin.SYS_ADMIN.ISLOCK, values); + } + + /** + * Fetch records that have type BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfType(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SysAdmin.SYS_ADMIN.TYPE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have type IN (values) + */ + public List fetchByType(Integer... values) { + return fetch(SysAdmin.SYS_ADMIN.TYPE, values); + } + + /** + * Fetch records that have sort BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSort(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SysAdmin.SYS_ADMIN.SORT, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have sort IN (values) + */ + public List fetchBySort(Integer... values) { + return fetch(SysAdmin.SYS_ADMIN.SORT, values); + } + + /** + * Fetch records that have cer_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCerId(String lowerInclusive, String upperInclusive) { + return fetchRange(SysAdmin.SYS_ADMIN.CER_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have cer_id IN (values) + */ + public List fetchByCerId(String... values) { + return fetch(SysAdmin.SYS_ADMIN.CER_ID, values); + } + + /** + * Fetch records that have company_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCompanyId(String lowerInclusive, String upperInclusive) { + return fetchRange(SysAdmin.SYS_ADMIN.COMPANY_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have company_id IN (values) + */ + public List fetchByCompanyId(String... values) { + return fetch(SysAdmin.SYS_ADMIN.COMPANY_ID, values); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysAdminRoleDao.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysAdminRoleDao.java new file mode 100644 index 0000000..40fd005 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysAdminRoleDao.java @@ -0,0 +1,104 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.daos; + + +import java.util.List; +import java.util.Optional; + +import jj.tech.paolu.repository.jooq.tables.SysAdminRole; +import jj.tech.paolu.repository.jooq.tables.records.SysAdminRoleRecord; + +import org.jooq.Configuration; +import org.jooq.impl.DAOImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +@Repository +public class SysAdminRoleDao extends DAOImpl { + + /** + * Create a new SysAdminRoleDao without any configuration + */ + public SysAdminRoleDao() { + super(SysAdminRole.SYS_ADMIN_ROLE, jj.tech.paolu.repository.jooq.tables.pojos.SysAdminRole.class); + } + + /** + * Create a new SysAdminRoleDao with an attached configuration + */ + @Autowired + public SysAdminRoleDao(Configuration configuration) { + super(SysAdminRole.SYS_ADMIN_ROLE, jj.tech.paolu.repository.jooq.tables.pojos.SysAdminRole.class, configuration); + } + + @Override + public String getId(jj.tech.paolu.repository.jooq.tables.pojos.SysAdminRole object) { + return object.getId(); + } + + /** + * Fetch records that have id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfId(String lowerInclusive, String upperInclusive) { + return fetchRange(SysAdminRole.SYS_ADMIN_ROLE.ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have id IN (values) + */ + public List fetchById(String... values) { + return fetch(SysAdminRole.SYS_ADMIN_ROLE.ID, values); + } + + /** + * Fetch a unique record that has id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.SysAdminRole fetchOneById(String value) { + return fetchOne(SysAdminRole.SYS_ADMIN_ROLE.ID, value); + } + + /** + * Fetch a unique record that has id = value + */ + public Optional fetchOptionalById(String value) { + return fetchOptional(SysAdminRole.SYS_ADMIN_ROLE.ID, value); + } + + /** + * Fetch records that have adminid BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfAdminid(String lowerInclusive, String upperInclusive) { + return fetchRange(SysAdminRole.SYS_ADMIN_ROLE.ADMINID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have adminid IN (values) + */ + public List fetchByAdminid(String... values) { + return fetch(SysAdminRole.SYS_ADMIN_ROLE.ADMINID, values); + } + + /** + * Fetch records that have roleid BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfRoleid(String lowerInclusive, String upperInclusive) { + return fetchRange(SysAdminRole.SYS_ADMIN_ROLE.ROLEID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have roleid IN (values) + */ + public List fetchByRoleid(String... values) { + return fetch(SysAdminRole.SYS_ADMIN_ROLE.ROLEID, values); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysAdminWeidDao.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysAdminWeidDao.java new file mode 100644 index 0000000..8c0884d --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysAdminWeidDao.java @@ -0,0 +1,179 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.daos; + + +import java.time.LocalDateTime; +import java.util.List; +import java.util.Optional; + +import jj.tech.paolu.repository.jooq.tables.SysAdminWeid; +import jj.tech.paolu.repository.jooq.tables.records.SysAdminWeidRecord; + +import org.jooq.Configuration; +import org.jooq.impl.DAOImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +@Repository +public class SysAdminWeidDao extends DAOImpl { + + /** + * Create a new SysAdminWeidDao without any configuration + */ + public SysAdminWeidDao() { + super(SysAdminWeid.SYS_ADMIN_WEID, jj.tech.paolu.repository.jooq.tables.pojos.SysAdminWeid.class); + } + + /** + * Create a new SysAdminWeidDao with an attached configuration + */ + @Autowired + public SysAdminWeidDao(Configuration configuration) { + super(SysAdminWeid.SYS_ADMIN_WEID, jj.tech.paolu.repository.jooq.tables.pojos.SysAdminWeid.class, configuration); + } + + @Override + public String getId(jj.tech.paolu.repository.jooq.tables.pojos.SysAdminWeid object) { + return object.getId(); + } + + /** + * Fetch records that have id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfId(String lowerInclusive, String upperInclusive) { + return fetchRange(SysAdminWeid.SYS_ADMIN_WEID.ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have id IN (values) + */ + public List fetchById(String... values) { + return fetch(SysAdminWeid.SYS_ADMIN_WEID.ID, values); + } + + /** + * Fetch a unique record that has id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.SysAdminWeid fetchOneById(String value) { + return fetchOne(SysAdminWeid.SYS_ADMIN_WEID.ID, value); + } + + /** + * Fetch a unique record that has id = value + */ + public Optional fetchOptionalById(String value) { + return fetchOptional(SysAdminWeid.SYS_ADMIN_WEID.ID, value); + } + + /** + * Fetch records that have admin_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfAdminId(String lowerInclusive, String upperInclusive) { + return fetchRange(SysAdminWeid.SYS_ADMIN_WEID.ADMIN_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have admin_id IN (values) + */ + public List fetchByAdminId(String... values) { + return fetch(SysAdminWeid.SYS_ADMIN_WEID.ADMIN_ID, values); + } + + /** + * Fetch a unique record that has admin_id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.SysAdminWeid fetchOneByAdminId(String value) { + return fetchOne(SysAdminWeid.SYS_ADMIN_WEID.ADMIN_ID, value); + } + + /** + * Fetch a unique record that has admin_id = value + */ + public Optional fetchOptionalByAdminId(String value) { + return fetchOptional(SysAdminWeid.SYS_ADMIN_WEID.ADMIN_ID, value); + } + + /** + * Fetch records that have wid BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfWid(String lowerInclusive, String upperInclusive) { + return fetchRange(SysAdminWeid.SYS_ADMIN_WEID.WID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have wid IN (values) + */ + public List fetchByWid(String... values) { + return fetch(SysAdminWeid.SYS_ADMIN_WEID.WID, values); + } + + /** + * Fetch records that have wprivate_key BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfWprivateKey(String lowerInclusive, String upperInclusive) { + return fetchRange(SysAdminWeid.SYS_ADMIN_WEID.WPRIVATE_KEY, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have wprivate_key IN (values) + */ + public List fetchByWprivateKey(String... values) { + return fetch(SysAdminWeid.SYS_ADMIN_WEID.WPRIVATE_KEY, values); + } + + /** + * Fetch records that have add_time BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfAddTime(LocalDateTime lowerInclusive, LocalDateTime upperInclusive) { + return fetchRange(SysAdminWeid.SYS_ADMIN_WEID.ADD_TIME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have add_time IN (values) + */ + public List fetchByAddTime(LocalDateTime... values) { + return fetch(SysAdminWeid.SYS_ADMIN_WEID.ADD_TIME, values); + } + + /** + * Fetch records that have certificate_hash BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCertificateHash(String lowerInclusive, String upperInclusive) { + return fetchRange(SysAdminWeid.SYS_ADMIN_WEID.CERTIFICATE_HASH, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have certificate_hash IN (values) + */ + public List fetchByCertificateHash(String... values) { + return fetch(SysAdminWeid.SYS_ADMIN_WEID.CERTIFICATE_HASH, values); + } + + /** + * Fetch records that have chain_block BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfChainBlock(String lowerInclusive, String upperInclusive) { + return fetchRange(SysAdminWeid.SYS_ADMIN_WEID.CHAIN_BLOCK, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have chain_block IN (values) + */ + public List fetchByChainBlock(String... values) { + return fetch(SysAdminWeid.SYS_ADMIN_WEID.CHAIN_BLOCK, values); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysAreaDao.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysAreaDao.java new file mode 100644 index 0000000..a30bf39 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysAreaDao.java @@ -0,0 +1,164 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.daos; + + +import java.util.List; +import java.util.Optional; + +import jj.tech.paolu.repository.jooq.tables.SysArea; +import jj.tech.paolu.repository.jooq.tables.records.SysAreaRecord; + +import org.jooq.Configuration; +import org.jooq.impl.DAOImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +@Repository +public class SysAreaDao extends DAOImpl { + + /** + * Create a new SysAreaDao without any configuration + */ + public SysAreaDao() { + super(SysArea.SYS_AREA, jj.tech.paolu.repository.jooq.tables.pojos.SysArea.class); + } + + /** + * Create a new SysAreaDao with an attached configuration + */ + @Autowired + public SysAreaDao(Configuration configuration) { + super(SysArea.SYS_AREA, jj.tech.paolu.repository.jooq.tables.pojos.SysArea.class, configuration); + } + + @Override + public String getId(jj.tech.paolu.repository.jooq.tables.pojos.SysArea object) { + return object.getId(); + } + + /** + * Fetch records that have id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfId(String lowerInclusive, String upperInclusive) { + return fetchRange(SysArea.SYS_AREA.ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have id IN (values) + */ + public List fetchById(String... values) { + return fetch(SysArea.SYS_AREA.ID, values); + } + + /** + * Fetch a unique record that has id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.SysArea fetchOneById(String value) { + return fetchOne(SysArea.SYS_AREA.ID, value); + } + + /** + * Fetch a unique record that has id = value + */ + public Optional fetchOptionalById(String value) { + return fetchOptional(SysArea.SYS_AREA.ID, value); + } + + /** + * Fetch records that have level_code BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfLevelCode(Short lowerInclusive, Short upperInclusive) { + return fetchRange(SysArea.SYS_AREA.LEVEL_CODE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have level_code IN (values) + */ + public List fetchByLevelCode(Short... values) { + return fetch(SysArea.SYS_AREA.LEVEL_CODE, values); + } + + /** + * Fetch records that have parent_code BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfParentCode(String lowerInclusive, String upperInclusive) { + return fetchRange(SysArea.SYS_AREA.PARENT_CODE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have parent_code IN (values) + */ + public List fetchByParentCode(String... values) { + return fetch(SysArea.SYS_AREA.PARENT_CODE, values); + } + + /** + * Fetch records that have area_code BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfAreaCode(String lowerInclusive, String upperInclusive) { + return fetchRange(SysArea.SYS_AREA.AREA_CODE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have area_code IN (values) + */ + public List fetchByAreaCode(String... values) { + return fetch(SysArea.SYS_AREA.AREA_CODE, values); + } + + /** + * Fetch records that have name BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfName(String lowerInclusive, String upperInclusive) { + return fetchRange(SysArea.SYS_AREA.NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have name IN (values) + */ + public List fetchByName(String... values) { + return fetch(SysArea.SYS_AREA.NAME, values); + } + + /** + * Fetch records that have pid BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfPid(String lowerInclusive, String upperInclusive) { + return fetchRange(SysArea.SYS_AREA.PID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have pid IN (values) + */ + public List fetchByPid(String... values) { + return fetch(SysArea.SYS_AREA.PID, values); + } + + /** + * Fetch records that have pids BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfPids(String lowerInclusive, String upperInclusive) { + return fetchRange(SysArea.SYS_AREA.PIDS, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have pids IN (values) + */ + public List fetchByPids(String... values) { + return fetch(SysArea.SYS_AREA.PIDS, values); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysConfigDao.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysConfigDao.java new file mode 100644 index 0000000..4c8cb13 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysConfigDao.java @@ -0,0 +1,179 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.daos; + + +import java.time.LocalDateTime; +import java.util.List; +import java.util.Optional; + +import jj.tech.paolu.repository.jooq.tables.SysConfig; +import jj.tech.paolu.repository.jooq.tables.records.SysConfigRecord; + +import org.jooq.Configuration; +import org.jooq.impl.DAOImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +@Repository +public class SysConfigDao extends DAOImpl { + + /** + * Create a new SysConfigDao without any configuration + */ + public SysConfigDao() { + super(SysConfig.SYS_CONFIG, jj.tech.paolu.repository.jooq.tables.pojos.SysConfig.class); + } + + /** + * Create a new SysConfigDao with an attached configuration + */ + @Autowired + public SysConfigDao(Configuration configuration) { + super(SysConfig.SYS_CONFIG, jj.tech.paolu.repository.jooq.tables.pojos.SysConfig.class, configuration); + } + + @Override + public String getId(jj.tech.paolu.repository.jooq.tables.pojos.SysConfig object) { + return object.getId(); + } + + /** + * Fetch records that have id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfId(String lowerInclusive, String upperInclusive) { + return fetchRange(SysConfig.SYS_CONFIG.ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have id IN (values) + */ + public List fetchById(String... values) { + return fetch(SysConfig.SYS_CONFIG.ID, values); + } + + /** + * Fetch a unique record that has id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.SysConfig fetchOneById(String value) { + return fetchOne(SysConfig.SYS_CONFIG.ID, value); + } + + /** + * Fetch a unique record that has id = value + */ + public Optional fetchOptionalById(String value) { + return fetchOptional(SysConfig.SYS_CONFIG.ID, value); + } + + /** + * Fetch records that have subgroup BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSubgroup(String lowerInclusive, String upperInclusive) { + return fetchRange(SysConfig.SYS_CONFIG.SUBGROUP, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have subgroup IN (values) + */ + public List fetchBySubgroup(String... values) { + return fetch(SysConfig.SYS_CONFIG.SUBGROUP, values); + } + + /** + * Fetch records that have keys BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfKeys(String lowerInclusive, String upperInclusive) { + return fetchRange(SysConfig.SYS_CONFIG.KEYS, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have keys IN (values) + */ + public List fetchByKeys(String... values) { + return fetch(SysConfig.SYS_CONFIG.KEYS, values); + } + + /** + * Fetch a unique record that has keys = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.SysConfig fetchOneByKeys(String value) { + return fetchOne(SysConfig.SYS_CONFIG.KEYS, value); + } + + /** + * Fetch a unique record that has keys = value + */ + public Optional fetchOptionalByKeys(String value) { + return fetchOptional(SysConfig.SYS_CONFIG.KEYS, value); + } + + /** + * Fetch records that have val BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfVal(String lowerInclusive, String upperInclusive) { + return fetchRange(SysConfig.SYS_CONFIG.VAL, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have val IN (values) + */ + public List fetchByVal(String... values) { + return fetch(SysConfig.SYS_CONFIG.VAL, values); + } + + /** + * Fetch records that have admin_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfAdminId(String lowerInclusive, String upperInclusive) { + return fetchRange(SysConfig.SYS_CONFIG.ADMIN_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have admin_id IN (values) + */ + public List fetchByAdminId(String... values) { + return fetch(SysConfig.SYS_CONFIG.ADMIN_ID, values); + } + + /** + * Fetch records that have adminname BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfAdminname(String lowerInclusive, String upperInclusive) { + return fetchRange(SysConfig.SYS_CONFIG.ADMINNAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have adminname IN (values) + */ + public List fetchByAdminname(String... values) { + return fetch(SysConfig.SYS_CONFIG.ADMINNAME, values); + } + + /** + * Fetch records that have edittime BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfEdittime(LocalDateTime lowerInclusive, LocalDateTime upperInclusive) { + return fetchRange(SysConfig.SYS_CONFIG.EDITTIME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have edittime IN (values) + */ + public List fetchByEdittime(LocalDateTime... values) { + return fetch(SysConfig.SYS_CONFIG.EDITTIME, values); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysMenuDao.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysMenuDao.java new file mode 100644 index 0000000..fc29aef --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysMenuDao.java @@ -0,0 +1,224 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.daos; + + +import java.util.List; +import java.util.Optional; + +import jj.tech.paolu.repository.jooq.tables.SysMenu; +import jj.tech.paolu.repository.jooq.tables.records.SysMenuRecord; + +import org.jooq.Configuration; +import org.jooq.impl.DAOImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +@Repository +public class SysMenuDao extends DAOImpl { + + /** + * Create a new SysMenuDao without any configuration + */ + public SysMenuDao() { + super(SysMenu.SYS_MENU, jj.tech.paolu.repository.jooq.tables.pojos.SysMenu.class); + } + + /** + * Create a new SysMenuDao with an attached configuration + */ + @Autowired + public SysMenuDao(Configuration configuration) { + super(SysMenu.SYS_MENU, jj.tech.paolu.repository.jooq.tables.pojos.SysMenu.class, configuration); + } + + @Override + public String getId(jj.tech.paolu.repository.jooq.tables.pojos.SysMenu object) { + return object.getId(); + } + + /** + * Fetch records that have id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfId(String lowerInclusive, String upperInclusive) { + return fetchRange(SysMenu.SYS_MENU.ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have id IN (values) + */ + public List fetchById(String... values) { + return fetch(SysMenu.SYS_MENU.ID, values); + } + + /** + * Fetch a unique record that has id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.SysMenu fetchOneById(String value) { + return fetchOne(SysMenu.SYS_MENU.ID, value); + } + + /** + * Fetch a unique record that has id = value + */ + public Optional fetchOptionalById(String value) { + return fetchOptional(SysMenu.SYS_MENU.ID, value); + } + + /** + * Fetch records that have parent_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfParentId(String lowerInclusive, String upperInclusive) { + return fetchRange(SysMenu.SYS_MENU.PARENT_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have parent_id IN (values) + */ + public List fetchByParentId(String... values) { + return fetch(SysMenu.SYS_MENU.PARENT_ID, values); + } + + /** + * Fetch records that have level BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfLevel(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SysMenu.SYS_MENU.LEVEL, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have level IN (values) + */ + public List fetchByLevel(Integer... values) { + return fetch(SysMenu.SYS_MENU.LEVEL, values); + } + + /** + * Fetch records that have name BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfName(String lowerInclusive, String upperInclusive) { + return fetchRange(SysMenu.SYS_MENU.NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have name IN (values) + */ + public List fetchByName(String... values) { + return fetch(SysMenu.SYS_MENU.NAME, values); + } + + /** + * Fetch records that have types BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfTypes(String lowerInclusive, String upperInclusive) { + return fetchRange(SysMenu.SYS_MENU.TYPES, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have types IN (values) + */ + public List fetchByTypes(String... values) { + return fetch(SysMenu.SYS_MENU.TYPES, values); + } + + /** + * Fetch records that have url BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfUrl(String lowerInclusive, String upperInclusive) { + return fetchRange(SysMenu.SYS_MENU.URL, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have url IN (values) + */ + public List fetchByUrl(String... values) { + return fetch(SysMenu.SYS_MENU.URL, values); + } + + /** + * Fetch records that have icon BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfIcon(String lowerInclusive, String upperInclusive) { + return fetchRange(SysMenu.SYS_MENU.ICON, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have icon IN (values) + */ + public List fetchByIcon(String... values) { + return fetch(SysMenu.SYS_MENU.ICON, values); + } + + /** + * Fetch records that have is_open BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfIsOpen(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SysMenu.SYS_MENU.IS_OPEN, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have is_open IN (values) + */ + public List fetchByIsOpen(Integer... values) { + return fetch(SysMenu.SYS_MENU.IS_OPEN, values); + } + + /** + * Fetch records that have description BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfDescription(String lowerInclusive, String upperInclusive) { + return fetchRange(SysMenu.SYS_MENU.DESCRIPTION, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have description IN (values) + */ + public List fetchByDescription(String... values) { + return fetch(SysMenu.SYS_MENU.DESCRIPTION, values); + } + + /** + * Fetch records that have sort BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSort(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SysMenu.SYS_MENU.SORT, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have sort IN (values) + */ + public List fetchBySort(Integer... values) { + return fetch(SysMenu.SYS_MENU.SORT, values); + } + + /** + * Fetch records that have parentpath BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfParentpath(String lowerInclusive, String upperInclusive) { + return fetchRange(SysMenu.SYS_MENU.PARENTPATH, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have parentpath IN (values) + */ + public List fetchByParentpath(String... values) { + return fetch(SysMenu.SYS_MENU.PARENTPATH, values); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysOrgDao.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysOrgDao.java new file mode 100644 index 0000000..a117e1f --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysOrgDao.java @@ -0,0 +1,510 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.daos; + + +import java.time.LocalDateTime; +import java.util.List; +import java.util.Optional; + +import jj.tech.paolu.repository.jooq.tables.SysOrg; +import jj.tech.paolu.repository.jooq.tables.records.SysOrgRecord; + +import org.jooq.Configuration; +import org.jooq.impl.DAOImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +@Repository +public class SysOrgDao extends DAOImpl { + + /** + * Create a new SysOrgDao without any configuration + */ + public SysOrgDao() { + super(SysOrg.SYS_ORG, jj.tech.paolu.repository.jooq.tables.pojos.SysOrg.class); + } + + /** + * Create a new SysOrgDao with an attached configuration + */ + @Autowired + public SysOrgDao(Configuration configuration) { + super(SysOrg.SYS_ORG, jj.tech.paolu.repository.jooq.tables.pojos.SysOrg.class, configuration); + } + + @Override + public String getId(jj.tech.paolu.repository.jooq.tables.pojos.SysOrg object) { + return object.getId(); + } + + /** + * Fetch records that have id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfId(String lowerInclusive, String upperInclusive) { + return fetchRange(SysOrg.SYS_ORG.ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have id IN (values) + */ + public List fetchById(String... values) { + return fetch(SysOrg.SYS_ORG.ID, values); + } + + /** + * Fetch a unique record that has id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.SysOrg fetchOneById(String value) { + return fetchOne(SysOrg.SYS_ORG.ID, value); + } + + /** + * Fetch a unique record that has id = value + */ + public Optional fetchOptionalById(String value) { + return fetchOptional(SysOrg.SYS_ORG.ID, value); + } + + /** + * Fetch records that have pid BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfPid(String lowerInclusive, String upperInclusive) { + return fetchRange(SysOrg.SYS_ORG.PID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have pid IN (values) + */ + public List fetchByPid(String... values) { + return fetch(SysOrg.SYS_ORG.PID, values); + } + + /** + * Fetch records that have chinese_simple_name BETWEEN lowerInclusive + * AND upperInclusive + */ + public List fetchRangeOfChineseSimpleName(String lowerInclusive, String upperInclusive) { + return fetchRange(SysOrg.SYS_ORG.CHINESE_SIMPLE_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have chinese_simple_name IN (values) + */ + public List fetchByChineseSimpleName(String... values) { + return fetch(SysOrg.SYS_ORG.CHINESE_SIMPLE_NAME, values); + } + + /** + * Fetch records that have english_simple_name BETWEEN lowerInclusive + * AND upperInclusive + */ + public List fetchRangeOfEnglishSimpleName(String lowerInclusive, String upperInclusive) { + return fetchRange(SysOrg.SYS_ORG.ENGLISH_SIMPLE_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have english_simple_name IN (values) + */ + public List fetchByEnglishSimpleName(String... values) { + return fetch(SysOrg.SYS_ORG.ENGLISH_SIMPLE_NAME, values); + } + + /** + * Fetch records that have chinese_full_name BETWEEN lowerInclusive + * AND upperInclusive + */ + public List fetchRangeOfChineseFullName(String lowerInclusive, String upperInclusive) { + return fetchRange(SysOrg.SYS_ORG.CHINESE_FULL_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have chinese_full_name IN (values) + */ + public List fetchByChineseFullName(String... values) { + return fetch(SysOrg.SYS_ORG.CHINESE_FULL_NAME, values); + } + + /** + * Fetch records that have english_full_name BETWEEN lowerInclusive + * AND upperInclusive + */ + public List fetchRangeOfEnglishFullName(String lowerInclusive, String upperInclusive) { + return fetchRange(SysOrg.SYS_ORG.ENGLISH_FULL_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have english_full_name IN (values) + */ + public List fetchByEnglishFullName(String... values) { + return fetch(SysOrg.SYS_ORG.ENGLISH_FULL_NAME, values); + } + + /** + * Fetch records that have code BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCode(String lowerInclusive, String upperInclusive) { + return fetchRange(SysOrg.SYS_ORG.CODE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have code IN (values) + */ + public List fetchByCode(String... values) { + return fetch(SysOrg.SYS_ORG.CODE, values); + } + + /** + * Fetch records that have sort BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSort(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SysOrg.SYS_ORG.SORT, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have sort IN (values) + */ + public List fetchBySort(Integer... values) { + return fetch(SysOrg.SYS_ORG.SORT, values); + } + + /** + * Fetch records that have status BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfStatus(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SysOrg.SYS_ORG.STATUS, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have status IN (values) + */ + public List fetchByStatus(Integer... values) { + return fetch(SysOrg.SYS_ORG.STATUS, values); + } + + /** + * Fetch records that have is_company_department BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfIsCompanyDepartment(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SysOrg.SYS_ORG.IS_COMPANY_DEPARTMENT, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have is_company_department IN (values) + */ + public List fetchByIsCompanyDepartment(Integer... values) { + return fetch(SysOrg.SYS_ORG.IS_COMPANY_DEPARTMENT, values); + } + + /** + * Fetch records that have enterprise_legal_person BETWEEN + * lowerInclusive AND upperInclusive + */ + public List fetchRangeOfEnterpriseLegalPerson(String lowerInclusive, String upperInclusive) { + return fetchRange(SysOrg.SYS_ORG.ENTERPRISE_LEGAL_PERSON, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have enterprise_legal_person IN (values) + */ + public List fetchByEnterpriseLegalPerson(String... values) { + return fetch(SysOrg.SYS_ORG.ENTERPRISE_LEGAL_PERSON, values); + } + + /** + * Fetch records that have contact_person BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfContactPerson(String lowerInclusive, String upperInclusive) { + return fetchRange(SysOrg.SYS_ORG.CONTACT_PERSON, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have contact_person IN (values) + */ + public List fetchByContactPerson(String... values) { + return fetch(SysOrg.SYS_ORG.CONTACT_PERSON, values); + } + + /** + * Fetch records that have contact_phone BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfContactPhone(String lowerInclusive, String upperInclusive) { + return fetchRange(SysOrg.SYS_ORG.CONTACT_PHONE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have contact_phone IN (values) + */ + public List fetchByContactPhone(String... values) { + return fetch(SysOrg.SYS_ORG.CONTACT_PHONE, values); + } + + /** + * Fetch records that have remark BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfRemark(String lowerInclusive, String upperInclusive) { + return fetchRange(SysOrg.SYS_ORG.REMARK, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have remark IN (values) + */ + public List fetchByRemark(String... values) { + return fetch(SysOrg.SYS_ORG.REMARK, values); + } + + /** + * Fetch records that have create_time BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCreateTime(LocalDateTime lowerInclusive, LocalDateTime upperInclusive) { + return fetchRange(SysOrg.SYS_ORG.CREATE_TIME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have create_time IN (values) + */ + public List fetchByCreateTime(LocalDateTime... values) { + return fetch(SysOrg.SYS_ORG.CREATE_TIME, values); + } + + /** + * Fetch records that have create_user BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCreateUser(String lowerInclusive, String upperInclusive) { + return fetchRange(SysOrg.SYS_ORG.CREATE_USER, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have create_user IN (values) + */ + public List fetchByCreateUser(String... values) { + return fetch(SysOrg.SYS_ORG.CREATE_USER, values); + } + + /** + * Fetch records that have update_time BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfUpdateTime(LocalDateTime lowerInclusive, LocalDateTime upperInclusive) { + return fetchRange(SysOrg.SYS_ORG.UPDATE_TIME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have update_time IN (values) + */ + public List fetchByUpdateTime(LocalDateTime... values) { + return fetch(SysOrg.SYS_ORG.UPDATE_TIME, values); + } + + /** + * Fetch records that have update_user BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfUpdateUser(String lowerInclusive, String upperInclusive) { + return fetchRange(SysOrg.SYS_ORG.UPDATE_USER, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have update_user IN (values) + */ + public List fetchByUpdateUser(String... values) { + return fetch(SysOrg.SYS_ORG.UPDATE_USER, values); + } + + /** + * Fetch records that have name BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfName(String lowerInclusive, String upperInclusive) { + return fetchRange(SysOrg.SYS_ORG.NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have name IN (values) + */ + public List fetchByName(String... values) { + return fetch(SysOrg.SYS_ORG.NAME, values); + } + + /** + * Fetch records that have industry_name BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfIndustryName(String lowerInclusive, String upperInclusive) { + return fetchRange(SysOrg.SYS_ORG.INDUSTRY_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have industry_name IN (values) + */ + public List fetchByIndustryName(String... values) { + return fetch(SysOrg.SYS_ORG.INDUSTRY_NAME, values); + } + + /** + * Fetch records that have industry_code BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfIndustryCode(String lowerInclusive, String upperInclusive) { + return fetchRange(SysOrg.SYS_ORG.INDUSTRY_CODE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have industry_code IN (values) + */ + public List fetchByIndustryCode(String... values) { + return fetch(SysOrg.SYS_ORG.INDUSTRY_CODE, values); + } + + /** + * Fetch records that have province_code BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfProvinceCode(String lowerInclusive, String upperInclusive) { + return fetchRange(SysOrg.SYS_ORG.PROVINCE_CODE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have province_code IN (values) + */ + public List fetchByProvinceCode(String... values) { + return fetch(SysOrg.SYS_ORG.PROVINCE_CODE, values); + } + + /** + * Fetch records that have city_code BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCityCode(String lowerInclusive, String upperInclusive) { + return fetchRange(SysOrg.SYS_ORG.CITY_CODE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have city_code IN (values) + */ + public List fetchByCityCode(String... values) { + return fetch(SysOrg.SYS_ORG.CITY_CODE, values); + } + + /** + * Fetch records that have area_code BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfAreaCode(String lowerInclusive, String upperInclusive) { + return fetchRange(SysOrg.SYS_ORG.AREA_CODE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have area_code IN (values) + */ + public List fetchByAreaCode(String... values) { + return fetch(SysOrg.SYS_ORG.AREA_CODE, values); + } + + /** + * Fetch records that have addr BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfAddr(String lowerInclusive, String upperInclusive) { + return fetchRange(SysOrg.SYS_ORG.ADDR, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have addr IN (values) + */ + public List fetchByAddr(String... values) { + return fetch(SysOrg.SYS_ORG.ADDR, values); + } + + /** + * Fetch records that have uscc BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfUscc(String lowerInclusive, String upperInclusive) { + return fetchRange(SysOrg.SYS_ORG.USCC, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have uscc IN (values) + */ + public List fetchByUscc(String... values) { + return fetch(SysOrg.SYS_ORG.USCC, values); + } + + /** + * Fetch records that have org_type BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfOrgType(String lowerInclusive, String upperInclusive) { + return fetchRange(SysOrg.SYS_ORG.ORG_TYPE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have org_type IN (values) + */ + public List fetchByOrgType(String... values) { + return fetch(SysOrg.SYS_ORG.ORG_TYPE, values); + } + + /** + * Fetch records that have is_archives_dep BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfIsArchivesDep(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SysOrg.SYS_ORG.IS_ARCHIVES_DEP, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have is_archives_dep IN (values) + */ + public List fetchByIsArchivesDep(Integer... values) { + return fetch(SysOrg.SYS_ORG.IS_ARCHIVES_DEP, values); + } + + /** + * Fetch records that have cer_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCerId(String lowerInclusive, String upperInclusive) { + return fetchRange(SysOrg.SYS_ORG.CER_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have cer_id IN (values) + */ + public List fetchByCerId(String... values) { + return fetch(SysOrg.SYS_ORG.CER_ID, values); + } + + /** + * Fetch records that have is_forbidden BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfIsForbidden(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SysOrg.SYS_ORG.IS_FORBIDDEN, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have is_forbidden IN (values) + */ + public List fetchByIsForbidden(Integer... values) { + return fetch(SysOrg.SYS_ORG.IS_FORBIDDEN, values); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysRoleDao.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysRoleDao.java new file mode 100644 index 0000000..d33f0c8 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysRoleDao.java @@ -0,0 +1,194 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.daos; + + +import java.util.List; +import java.util.Optional; + +import jj.tech.paolu.repository.jooq.tables.SysRole; +import jj.tech.paolu.repository.jooq.tables.records.SysRoleRecord; + +import org.jooq.Configuration; +import org.jooq.impl.DAOImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +@Repository +public class SysRoleDao extends DAOImpl { + + /** + * Create a new SysRoleDao without any configuration + */ + public SysRoleDao() { + super(SysRole.SYS_ROLE, jj.tech.paolu.repository.jooq.tables.pojos.SysRole.class); + } + + /** + * Create a new SysRoleDao with an attached configuration + */ + @Autowired + public SysRoleDao(Configuration configuration) { + super(SysRole.SYS_ROLE, jj.tech.paolu.repository.jooq.tables.pojos.SysRole.class, configuration); + } + + @Override + public String getId(jj.tech.paolu.repository.jooq.tables.pojos.SysRole object) { + return object.getId(); + } + + /** + * Fetch records that have id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfId(String lowerInclusive, String upperInclusive) { + return fetchRange(SysRole.SYS_ROLE.ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have id IN (values) + */ + public List fetchById(String... values) { + return fetch(SysRole.SYS_ROLE.ID, values); + } + + /** + * Fetch a unique record that has id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.SysRole fetchOneById(String value) { + return fetchOne(SysRole.SYS_ROLE.ID, value); + } + + /** + * Fetch a unique record that has id = value + */ + public Optional fetchOptionalById(String value) { + return fetchOptional(SysRole.SYS_ROLE.ID, value); + } + + /** + * Fetch records that have rolename BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfRolename(String lowerInclusive, String upperInclusive) { + return fetchRange(SysRole.SYS_ROLE.ROLENAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have rolename IN (values) + */ + public List fetchByRolename(String... values) { + return fetch(SysRole.SYS_ROLE.ROLENAME, values); + } + + /** + * Fetch records that have describe BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfDescribe(String lowerInclusive, String upperInclusive) { + return fetchRange(SysRole.SYS_ROLE.DESCRIBE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have describe IN (values) + */ + public List fetchByDescribe(String... values) { + return fetch(SysRole.SYS_ROLE.DESCRIBE, values); + } + + /** + * Fetch records that have sort BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSort(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SysRole.SYS_ROLE.SORT, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have sort IN (values) + */ + public List fetchBySort(Integer... values) { + return fetch(SysRole.SYS_ROLE.SORT, values); + } + + /** + * Fetch records that have is_open BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfIsOpen(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SysRole.SYS_ROLE.IS_OPEN, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have is_open IN (values) + */ + public List fetchByIsOpen(Integer... values) { + return fetch(SysRole.SYS_ROLE.IS_OPEN, values); + } + + /** + * Fetch records that have sign_name BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSignName(String lowerInclusive, String upperInclusive) { + return fetchRange(SysRole.SYS_ROLE.SIGN_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have sign_name IN (values) + */ + public List fetchBySignName(String... values) { + return fetch(SysRole.SYS_ROLE.SIGN_NAME, values); + } + + /** + * Fetch records that have sign_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSignId(String lowerInclusive, String upperInclusive) { + return fetchRange(SysRole.SYS_ROLE.SIGN_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have sign_id IN (values) + */ + public List fetchBySignId(String... values) { + return fetch(SysRole.SYS_ROLE.SIGN_ID, values); + } + + /** + * Fetch records that have company_id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCompanyId(String lowerInclusive, String upperInclusive) { + return fetchRange(SysRole.SYS_ROLE.COMPANY_ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have company_id IN (values) + */ + public List fetchByCompanyId(String... values) { + return fetch(SysRole.SYS_ROLE.COMPANY_ID, values); + } + + /** + * Fetch records that have company_name BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfCompanyName(String lowerInclusive, String upperInclusive) { + return fetchRange(SysRole.SYS_ROLE.COMPANY_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have company_name IN (values) + */ + public List fetchByCompanyName(String... values) { + return fetch(SysRole.SYS_ROLE.COMPANY_NAME, values); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysRoleMenuDao.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysRoleMenuDao.java new file mode 100644 index 0000000..403b318 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysRoleMenuDao.java @@ -0,0 +1,104 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.daos; + + +import java.util.List; +import java.util.Optional; + +import jj.tech.paolu.repository.jooq.tables.SysRoleMenu; +import jj.tech.paolu.repository.jooq.tables.records.SysRoleMenuRecord; + +import org.jooq.Configuration; +import org.jooq.impl.DAOImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +@Repository +public class SysRoleMenuDao extends DAOImpl { + + /** + * Create a new SysRoleMenuDao without any configuration + */ + public SysRoleMenuDao() { + super(SysRoleMenu.SYS_ROLE_MENU, jj.tech.paolu.repository.jooq.tables.pojos.SysRoleMenu.class); + } + + /** + * Create a new SysRoleMenuDao with an attached configuration + */ + @Autowired + public SysRoleMenuDao(Configuration configuration) { + super(SysRoleMenu.SYS_ROLE_MENU, jj.tech.paolu.repository.jooq.tables.pojos.SysRoleMenu.class, configuration); + } + + @Override + public String getId(jj.tech.paolu.repository.jooq.tables.pojos.SysRoleMenu object) { + return object.getId(); + } + + /** + * Fetch records that have id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfId(String lowerInclusive, String upperInclusive) { + return fetchRange(SysRoleMenu.SYS_ROLE_MENU.ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have id IN (values) + */ + public List fetchById(String... values) { + return fetch(SysRoleMenu.SYS_ROLE_MENU.ID, values); + } + + /** + * Fetch a unique record that has id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.SysRoleMenu fetchOneById(String value) { + return fetchOne(SysRoleMenu.SYS_ROLE_MENU.ID, value); + } + + /** + * Fetch a unique record that has id = value + */ + public Optional fetchOptionalById(String value) { + return fetchOptional(SysRoleMenu.SYS_ROLE_MENU.ID, value); + } + + /** + * Fetch records that have roleid BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfRoleid(String lowerInclusive, String upperInclusive) { + return fetchRange(SysRoleMenu.SYS_ROLE_MENU.ROLEID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have roleid IN (values) + */ + public List fetchByRoleid(String... values) { + return fetch(SysRoleMenu.SYS_ROLE_MENU.ROLEID, values); + } + + /** + * Fetch records that have menuid BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfMenuid(String lowerInclusive, String upperInclusive) { + return fetchRange(SysRoleMenu.SYS_ROLE_MENU.MENUID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have menuid IN (values) + */ + public List fetchByMenuid(String... values) { + return fetch(SysRoleMenu.SYS_ROLE_MENU.MENUID, values); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysRoleSignDao.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysRoleSignDao.java new file mode 100644 index 0000000..2806ce4 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysRoleSignDao.java @@ -0,0 +1,104 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.daos; + + +import java.util.List; +import java.util.Optional; + +import jj.tech.paolu.repository.jooq.tables.SysRoleSign; +import jj.tech.paolu.repository.jooq.tables.records.SysRoleSignRecord; + +import org.jooq.Configuration; +import org.jooq.impl.DAOImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +@Repository +public class SysRoleSignDao extends DAOImpl { + + /** + * Create a new SysRoleSignDao without any configuration + */ + public SysRoleSignDao() { + super(SysRoleSign.SYS_ROLE_SIGN, jj.tech.paolu.repository.jooq.tables.pojos.SysRoleSign.class); + } + + /** + * Create a new SysRoleSignDao with an attached configuration + */ + @Autowired + public SysRoleSignDao(Configuration configuration) { + super(SysRoleSign.SYS_ROLE_SIGN, jj.tech.paolu.repository.jooq.tables.pojos.SysRoleSign.class, configuration); + } + + @Override + public String getId(jj.tech.paolu.repository.jooq.tables.pojos.SysRoleSign object) { + return object.getId(); + } + + /** + * Fetch records that have id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfId(String lowerInclusive, String upperInclusive) { + return fetchRange(SysRoleSign.SYS_ROLE_SIGN.ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have id IN (values) + */ + public List fetchById(String... values) { + return fetch(SysRoleSign.SYS_ROLE_SIGN.ID, values); + } + + /** + * Fetch a unique record that has id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.SysRoleSign fetchOneById(String value) { + return fetchOne(SysRoleSign.SYS_ROLE_SIGN.ID, value); + } + + /** + * Fetch a unique record that has id = value + */ + public Optional fetchOptionalById(String value) { + return fetchOptional(SysRoleSign.SYS_ROLE_SIGN.ID, value); + } + + /** + * Fetch records that have sign_name BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSignName(String lowerInclusive, String upperInclusive) { + return fetchRange(SysRoleSign.SYS_ROLE_SIGN.SIGN_NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have sign_name IN (values) + */ + public List fetchBySignName(String... values) { + return fetch(SysRoleSign.SYS_ROLE_SIGN.SIGN_NAME, values); + } + + /** + * Fetch records that have sign_code BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfSignCode(String lowerInclusive, String upperInclusive) { + return fetchRange(SysRoleSign.SYS_ROLE_SIGN.SIGN_CODE, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have sign_code IN (values) + */ + public List fetchBySignCode(String... values) { + return fetch(SysRoleSign.SYS_ROLE_SIGN.SIGN_CODE, values); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysRoleUrlDao.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysRoleUrlDao.java new file mode 100644 index 0000000..7ae34b3 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysRoleUrlDao.java @@ -0,0 +1,119 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.daos; + + +import java.util.List; +import java.util.Optional; + +import jj.tech.paolu.repository.jooq.tables.SysRoleUrl; +import jj.tech.paolu.repository.jooq.tables.records.SysRoleUrlRecord; + +import org.jooq.Configuration; +import org.jooq.impl.DAOImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +@Repository +public class SysRoleUrlDao extends DAOImpl { + + /** + * Create a new SysRoleUrlDao without any configuration + */ + public SysRoleUrlDao() { + super(SysRoleUrl.SYS_ROLE_URL, jj.tech.paolu.repository.jooq.tables.pojos.SysRoleUrl.class); + } + + /** + * Create a new SysRoleUrlDao with an attached configuration + */ + @Autowired + public SysRoleUrlDao(Configuration configuration) { + super(SysRoleUrl.SYS_ROLE_URL, jj.tech.paolu.repository.jooq.tables.pojos.SysRoleUrl.class, configuration); + } + + @Override + public String getId(jj.tech.paolu.repository.jooq.tables.pojos.SysRoleUrl object) { + return object.getId(); + } + + /** + * Fetch records that have id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfId(String lowerInclusive, String upperInclusive) { + return fetchRange(SysRoleUrl.SYS_ROLE_URL.ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have id IN (values) + */ + public List fetchById(String... values) { + return fetch(SysRoleUrl.SYS_ROLE_URL.ID, values); + } + + /** + * Fetch a unique record that has id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.SysRoleUrl fetchOneById(String value) { + return fetchOne(SysRoleUrl.SYS_ROLE_URL.ID, value); + } + + /** + * Fetch a unique record that has id = value + */ + public Optional fetchOptionalById(String value) { + return fetchOptional(SysRoleUrl.SYS_ROLE_URL.ID, value); + } + + /** + * Fetch records that have roleid BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfRoleid(String lowerInclusive, String upperInclusive) { + return fetchRange(SysRoleUrl.SYS_ROLE_URL.ROLEID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have roleid IN (values) + */ + public List fetchByRoleid(String... values) { + return fetch(SysRoleUrl.SYS_ROLE_URL.ROLEID, values); + } + + /** + * Fetch records that have url BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfUrl(String lowerInclusive, String upperInclusive) { + return fetchRange(SysRoleUrl.SYS_ROLE_URL.URL, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have url IN (values) + */ + public List fetchByUrl(String... values) { + return fetch(SysRoleUrl.SYS_ROLE_URL.URL, values); + } + + /** + * Fetch records that have urltypes BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfUrltypes(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SysRoleUrl.SYS_ROLE_URL.URLTYPES, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have urltypes IN (values) + */ + public List fetchByUrltypes(Integer... values) { + return fetch(SysRoleUrl.SYS_ROLE_URL.URLTYPES, values); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysUrlsDao.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysUrlsDao.java new file mode 100644 index 0000000..acd5dcd --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/daos/SysUrlsDao.java @@ -0,0 +1,178 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.daos; + + +import java.util.List; +import java.util.Optional; + +import jj.tech.paolu.repository.jooq.tables.SysUrls; +import jj.tech.paolu.repository.jooq.tables.records.SysUrlsRecord; + +import org.jooq.Configuration; +import org.jooq.impl.DAOImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +@Repository +public class SysUrlsDao extends DAOImpl { + + /** + * Create a new SysUrlsDao without any configuration + */ + public SysUrlsDao() { + super(SysUrls.SYS_URLS, jj.tech.paolu.repository.jooq.tables.pojos.SysUrls.class); + } + + /** + * Create a new SysUrlsDao with an attached configuration + */ + @Autowired + public SysUrlsDao(Configuration configuration) { + super(SysUrls.SYS_URLS, jj.tech.paolu.repository.jooq.tables.pojos.SysUrls.class, configuration); + } + + @Override + public String getId(jj.tech.paolu.repository.jooq.tables.pojos.SysUrls object) { + return object.getId(); + } + + /** + * Fetch records that have id BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfId(String lowerInclusive, String upperInclusive) { + return fetchRange(SysUrls.SYS_URLS.ID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have id IN (values) + */ + public List fetchById(String... values) { + return fetch(SysUrls.SYS_URLS.ID, values); + } + + /** + * Fetch a unique record that has id = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.SysUrls fetchOneById(String value) { + return fetchOne(SysUrls.SYS_URLS.ID, value); + } + + /** + * Fetch a unique record that has id = value + */ + public Optional fetchOptionalById(String value) { + return fetchOptional(SysUrls.SYS_URLS.ID, value); + } + + /** + * Fetch records that have pid BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfPid(String lowerInclusive, String upperInclusive) { + return fetchRange(SysUrls.SYS_URLS.PID, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have pid IN (values) + */ + public List fetchByPid(String... values) { + return fetch(SysUrls.SYS_URLS.PID, values); + } + + /** + * Fetch records that have types BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfTypes(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SysUrls.SYS_URLS.TYPES, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have types IN (values) + */ + public List fetchByTypes(Integer... values) { + return fetch(SysUrls.SYS_URLS.TYPES, values); + } + + /** + * Fetch records that have level BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfLevel(Integer lowerInclusive, Integer upperInclusive) { + return fetchRange(SysUrls.SYS_URLS.LEVEL, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have level IN (values) + */ + public List fetchByLevel(Integer... values) { + return fetch(SysUrls.SYS_URLS.LEVEL, values); + } + + /** + * Fetch records that have url BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfUrl(String lowerInclusive, String upperInclusive) { + return fetchRange(SysUrls.SYS_URLS.URL, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have url IN (values) + */ + public List fetchByUrl(String... values) { + return fetch(SysUrls.SYS_URLS.URL, values); + } + + /** + * Fetch a unique record that has url = value + */ + public jj.tech.paolu.repository.jooq.tables.pojos.SysUrls fetchOneByUrl(String value) { + return fetchOne(SysUrls.SYS_URLS.URL, value); + } + + /** + * Fetch a unique record that has url = value + */ + public Optional fetchOptionalByUrl(String value) { + return fetchOptional(SysUrls.SYS_URLS.URL, value); + } + + /** + * Fetch records that have name BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfName(String lowerInclusive, String upperInclusive) { + return fetchRange(SysUrls.SYS_URLS.NAME, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have name IN (values) + */ + public List fetchByName(String... values) { + return fetch(SysUrls.SYS_URLS.NAME, values); + } + + /** + * Fetch records that have method BETWEEN lowerInclusive AND + * upperInclusive + */ + public List fetchRangeOfMethod(String lowerInclusive, String upperInclusive) { + return fetchRange(SysUrls.SYS_URLS.METHOD, lowerInclusive, upperInclusive); + } + + /** + * Fetch records that have method IN (values) + */ + public List fetchByMethod(String... values) { + return fetch(SysUrls.SYS_URLS.METHOD, values); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/ArchiveSynLog.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/ArchiveSynLog.java new file mode 100644 index 0000000..059cb21 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/ArchiveSynLog.java @@ -0,0 +1,394 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.pojos; + + +import java.io.Serializable; +import java.time.LocalDateTime; + + +/** + * 从电子档案系统同步档案目录数据的过程日志 + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class ArchiveSynLog implements Serializable { + + private static final long serialVersionUID = 1L; + + private LocalDateTime startTime; + private Long insertDirCount; + private Long updateDirCount; + private Long insertDirfileCount; + private Long updateDirfileCount; + private Long insertFileCount; + private Long updateFileCount; + private String description; + private String runResult; + private Long updateTimestamp; + private String id; + private Long nextUpdateTimestamp; + private LocalDateTime endTime; + + public ArchiveSynLog() {} + + public ArchiveSynLog(ArchiveSynLog value) { + this.startTime = value.startTime; + this.insertDirCount = value.insertDirCount; + this.updateDirCount = value.updateDirCount; + this.insertDirfileCount = value.insertDirfileCount; + this.updateDirfileCount = value.updateDirfileCount; + this.insertFileCount = value.insertFileCount; + this.updateFileCount = value.updateFileCount; + this.description = value.description; + this.runResult = value.runResult; + this.updateTimestamp = value.updateTimestamp; + this.id = value.id; + this.nextUpdateTimestamp = value.nextUpdateTimestamp; + this.endTime = value.endTime; + } + + public ArchiveSynLog( + LocalDateTime startTime, + Long insertDirCount, + Long updateDirCount, + Long insertDirfileCount, + Long updateDirfileCount, + Long insertFileCount, + Long updateFileCount, + String description, + String runResult, + Long updateTimestamp, + String id, + Long nextUpdateTimestamp, + LocalDateTime endTime + ) { + this.startTime = startTime; + this.insertDirCount = insertDirCount; + this.updateDirCount = updateDirCount; + this.insertDirfileCount = insertDirfileCount; + this.updateDirfileCount = updateDirfileCount; + this.insertFileCount = insertFileCount; + this.updateFileCount = updateFileCount; + this.description = description; + this.runResult = runResult; + this.updateTimestamp = updateTimestamp; + this.id = id; + this.nextUpdateTimestamp = nextUpdateTimestamp; + this.endTime = endTime; + } + + /** + * Getter for public.archive_syn_log.start_time. + */ + public LocalDateTime getStartTime() { + return this.startTime; + } + + /** + * Setter for public.archive_syn_log.start_time. + */ + public void setStartTime(LocalDateTime startTime) { + this.startTime = startTime; + } + + /** + * Getter for public.archive_syn_log.insert_dir_count. + */ + public Long getInsertDirCount() { + return this.insertDirCount; + } + + /** + * Setter for public.archive_syn_log.insert_dir_count. + */ + public void setInsertDirCount(Long insertDirCount) { + this.insertDirCount = insertDirCount; + } + + /** + * Getter for public.archive_syn_log.update_dir_count. + */ + public Long getUpdateDirCount() { + return this.updateDirCount; + } + + /** + * Setter for public.archive_syn_log.update_dir_count. + */ + public void setUpdateDirCount(Long updateDirCount) { + this.updateDirCount = updateDirCount; + } + + /** + * Getter for public.archive_syn_log.insert_dirfile_count. + */ + public Long getInsertDirfileCount() { + return this.insertDirfileCount; + } + + /** + * Setter for public.archive_syn_log.insert_dirfile_count. + */ + public void setInsertDirfileCount(Long insertDirfileCount) { + this.insertDirfileCount = insertDirfileCount; + } + + /** + * Getter for public.archive_syn_log.update_dirfile_count. + */ + public Long getUpdateDirfileCount() { + return this.updateDirfileCount; + } + + /** + * Setter for public.archive_syn_log.update_dirfile_count. + */ + public void setUpdateDirfileCount(Long updateDirfileCount) { + this.updateDirfileCount = updateDirfileCount; + } + + /** + * Getter for public.archive_syn_log.insert_file_count. + */ + public Long getInsertFileCount() { + return this.insertFileCount; + } + + /** + * Setter for public.archive_syn_log.insert_file_count. + */ + public void setInsertFileCount(Long insertFileCount) { + this.insertFileCount = insertFileCount; + } + + /** + * Getter for public.archive_syn_log.update_file_count. + */ + public Long getUpdateFileCount() { + return this.updateFileCount; + } + + /** + * Setter for public.archive_syn_log.update_file_count. + */ + public void setUpdateFileCount(Long updateFileCount) { + this.updateFileCount = updateFileCount; + } + + /** + * Getter for public.archive_syn_log.description. + */ + public String getDescription() { + return this.description; + } + + /** + * Setter for public.archive_syn_log.description. + */ + public void setDescription(String description) { + this.description = description; + } + + /** + * Getter for public.archive_syn_log.run_result. + */ + public String getRunResult() { + return this.runResult; + } + + /** + * Setter for public.archive_syn_log.run_result. + */ + public void setRunResult(String runResult) { + this.runResult = runResult; + } + + /** + * Getter for public.archive_syn_log.update_timestamp. + */ + public Long getUpdateTimestamp() { + return this.updateTimestamp; + } + + /** + * Setter for public.archive_syn_log.update_timestamp. + */ + public void setUpdateTimestamp(Long updateTimestamp) { + this.updateTimestamp = updateTimestamp; + } + + /** + * Getter for public.archive_syn_log.id. + */ + public String getId() { + return this.id; + } + + /** + * Setter for public.archive_syn_log.id. + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter for public.archive_syn_log.next_update_timestamp. + */ + public Long getNextUpdateTimestamp() { + return this.nextUpdateTimestamp; + } + + /** + * Setter for public.archive_syn_log.next_update_timestamp. + */ + public void setNextUpdateTimestamp(Long nextUpdateTimestamp) { + this.nextUpdateTimestamp = nextUpdateTimestamp; + } + + /** + * Getter for public.archive_syn_log.end_time. + */ + public LocalDateTime getEndTime() { + return this.endTime; + } + + /** + * Setter for public.archive_syn_log.end_time. + */ + public void setEndTime(LocalDateTime endTime) { + this.endTime = endTime; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final ArchiveSynLog other = (ArchiveSynLog) obj; + if (this.startTime == null) { + if (other.startTime != null) + return false; + } + else if (!this.startTime.equals(other.startTime)) + return false; + if (this.insertDirCount == null) { + if (other.insertDirCount != null) + return false; + } + else if (!this.insertDirCount.equals(other.insertDirCount)) + return false; + if (this.updateDirCount == null) { + if (other.updateDirCount != null) + return false; + } + else if (!this.updateDirCount.equals(other.updateDirCount)) + return false; + if (this.insertDirfileCount == null) { + if (other.insertDirfileCount != null) + return false; + } + else if (!this.insertDirfileCount.equals(other.insertDirfileCount)) + return false; + if (this.updateDirfileCount == null) { + if (other.updateDirfileCount != null) + return false; + } + else if (!this.updateDirfileCount.equals(other.updateDirfileCount)) + return false; + if (this.insertFileCount == null) { + if (other.insertFileCount != null) + return false; + } + else if (!this.insertFileCount.equals(other.insertFileCount)) + return false; + if (this.updateFileCount == null) { + if (other.updateFileCount != null) + return false; + } + else if (!this.updateFileCount.equals(other.updateFileCount)) + return false; + if (this.description == null) { + if (other.description != null) + return false; + } + else if (!this.description.equals(other.description)) + return false; + if (this.runResult == null) { + if (other.runResult != null) + return false; + } + else if (!this.runResult.equals(other.runResult)) + return false; + if (this.updateTimestamp == null) { + if (other.updateTimestamp != null) + return false; + } + else if (!this.updateTimestamp.equals(other.updateTimestamp)) + return false; + if (this.id == null) { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + return false; + if (this.nextUpdateTimestamp == null) { + if (other.nextUpdateTimestamp != null) + return false; + } + else if (!this.nextUpdateTimestamp.equals(other.nextUpdateTimestamp)) + return false; + if (this.endTime == null) { + if (other.endTime != null) + return false; + } + else if (!this.endTime.equals(other.endTime)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.startTime == null) ? 0 : this.startTime.hashCode()); + result = prime * result + ((this.insertDirCount == null) ? 0 : this.insertDirCount.hashCode()); + result = prime * result + ((this.updateDirCount == null) ? 0 : this.updateDirCount.hashCode()); + result = prime * result + ((this.insertDirfileCount == null) ? 0 : this.insertDirfileCount.hashCode()); + result = prime * result + ((this.updateDirfileCount == null) ? 0 : this.updateDirfileCount.hashCode()); + result = prime * result + ((this.insertFileCount == null) ? 0 : this.insertFileCount.hashCode()); + result = prime * result + ((this.updateFileCount == null) ? 0 : this.updateFileCount.hashCode()); + result = prime * result + ((this.description == null) ? 0 : this.description.hashCode()); + result = prime * result + ((this.runResult == null) ? 0 : this.runResult.hashCode()); + result = prime * result + ((this.updateTimestamp == null) ? 0 : this.updateTimestamp.hashCode()); + result = prime * result + ((this.id == null) ? 0 : this.id.hashCode()); + result = prime * result + ((this.nextUpdateTimestamp == null) ? 0 : this.nextUpdateTimestamp.hashCode()); + result = prime * result + ((this.endTime == null) ? 0 : this.endTime.hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("ArchiveSynLog ("); + + sb.append(startTime); + sb.append(", ").append(insertDirCount); + sb.append(", ").append(updateDirCount); + sb.append(", ").append(insertDirfileCount); + sb.append(", ").append(updateDirfileCount); + sb.append(", ").append(insertFileCount); + sb.append(", ").append(updateFileCount); + sb.append(", ").append(description); + sb.append(", ").append(runResult); + sb.append(", ").append(updateTimestamp); + sb.append(", ").append(id); + sb.append(", ").append(nextUpdateTimestamp); + sb.append(", ").append(endTime); + + sb.append(")"); + return sb.toString(); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/CertificateApply.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/CertificateApply.java new file mode 100644 index 0000000..d4a71f0 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/CertificateApply.java @@ -0,0 +1,498 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.pojos; + + +import java.io.Serializable; +import java.time.LocalDateTime; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class CertificateApply implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + private Integer isOrg; + private String userId; + private String userName; + private String userRealName; + private String userPhone; + private String userOrgId; + private String userOrgName; + private Integer applyType; + private Integer status; + private LocalDateTime applyTime; + private LocalDateTime applyFinishTime; + private String applyReason; + private String nextCheckOrgId; + private String endCheckOrgId; + private String cerId; + private String companyId; + + public CertificateApply() {} + + public CertificateApply(CertificateApply value) { + this.id = value.id; + this.isOrg = value.isOrg; + this.userId = value.userId; + this.userName = value.userName; + this.userRealName = value.userRealName; + this.userPhone = value.userPhone; + this.userOrgId = value.userOrgId; + this.userOrgName = value.userOrgName; + this.applyType = value.applyType; + this.status = value.status; + this.applyTime = value.applyTime; + this.applyFinishTime = value.applyFinishTime; + this.applyReason = value.applyReason; + this.nextCheckOrgId = value.nextCheckOrgId; + this.endCheckOrgId = value.endCheckOrgId; + this.cerId = value.cerId; + this.companyId = value.companyId; + } + + public CertificateApply( + String id, + Integer isOrg, + String userId, + String userName, + String userRealName, + String userPhone, + String userOrgId, + String userOrgName, + Integer applyType, + Integer status, + LocalDateTime applyTime, + LocalDateTime applyFinishTime, + String applyReason, + String nextCheckOrgId, + String endCheckOrgId, + String cerId, + String companyId + ) { + this.id = id; + this.isOrg = isOrg; + this.userId = userId; + this.userName = userName; + this.userRealName = userRealName; + this.userPhone = userPhone; + this.userOrgId = userOrgId; + this.userOrgName = userOrgName; + this.applyType = applyType; + this.status = status; + this.applyTime = applyTime; + this.applyFinishTime = applyFinishTime; + this.applyReason = applyReason; + this.nextCheckOrgId = nextCheckOrgId; + this.endCheckOrgId = endCheckOrgId; + this.cerId = cerId; + this.companyId = companyId; + } + + /** + * Getter for public.certificate_apply.id. + */ + public String getId() { + return this.id; + } + + /** + * Setter for public.certificate_apply.id. + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter for public.certificate_apply.is_org. + */ + public Integer getIsOrg() { + return this.isOrg; + } + + /** + * Setter for public.certificate_apply.is_org. + */ + public void setIsOrg(Integer isOrg) { + this.isOrg = isOrg; + } + + /** + * Getter for public.certificate_apply.user_id. + */ + public String getUserId() { + return this.userId; + } + + /** + * Setter for public.certificate_apply.user_id. + */ + public void setUserId(String userId) { + this.userId = userId; + } + + /** + * Getter for public.certificate_apply.user_name. + */ + public String getUserName() { + return this.userName; + } + + /** + * Setter for public.certificate_apply.user_name. + */ + public void setUserName(String userName) { + this.userName = userName; + } + + /** + * Getter for public.certificate_apply.user_real_name. + */ + public String getUserRealName() { + return this.userRealName; + } + + /** + * Setter for public.certificate_apply.user_real_name. + */ + public void setUserRealName(String userRealName) { + this.userRealName = userRealName; + } + + /** + * Getter for public.certificate_apply.user_phone. + */ + public String getUserPhone() { + return this.userPhone; + } + + /** + * Setter for public.certificate_apply.user_phone. + */ + public void setUserPhone(String userPhone) { + this.userPhone = userPhone; + } + + /** + * Getter for public.certificate_apply.user_org_id. + */ + public String getUserOrgId() { + return this.userOrgId; + } + + /** + * Setter for public.certificate_apply.user_org_id. + */ + public void setUserOrgId(String userOrgId) { + this.userOrgId = userOrgId; + } + + /** + * Getter for public.certificate_apply.user_org_name. + */ + public String getUserOrgName() { + return this.userOrgName; + } + + /** + * Setter for public.certificate_apply.user_org_name. + */ + public void setUserOrgName(String userOrgName) { + this.userOrgName = userOrgName; + } + + /** + * Getter for public.certificate_apply.apply_type. + */ + public Integer getApplyType() { + return this.applyType; + } + + /** + * Setter for public.certificate_apply.apply_type. + */ + public void setApplyType(Integer applyType) { + this.applyType = applyType; + } + + /** + * Getter for public.certificate_apply.status. + */ + public Integer getStatus() { + return this.status; + } + + /** + * Setter for public.certificate_apply.status. + */ + public void setStatus(Integer status) { + this.status = status; + } + + /** + * Getter for public.certificate_apply.apply_time. + */ + public LocalDateTime getApplyTime() { + return this.applyTime; + } + + /** + * Setter for public.certificate_apply.apply_time. + */ + public void setApplyTime(LocalDateTime applyTime) { + this.applyTime = applyTime; + } + + /** + * Getter for public.certificate_apply.apply_finish_time. + */ + public LocalDateTime getApplyFinishTime() { + return this.applyFinishTime; + } + + /** + * Setter for public.certificate_apply.apply_finish_time. + */ + public void setApplyFinishTime(LocalDateTime applyFinishTime) { + this.applyFinishTime = applyFinishTime; + } + + /** + * Getter for public.certificate_apply.apply_reason. + */ + public String getApplyReason() { + return this.applyReason; + } + + /** + * Setter for public.certificate_apply.apply_reason. + */ + public void setApplyReason(String applyReason) { + this.applyReason = applyReason; + } + + /** + * Getter for public.certificate_apply.next_check_org_id. + */ + public String getNextCheckOrgId() { + return this.nextCheckOrgId; + } + + /** + * Setter for public.certificate_apply.next_check_org_id. + */ + public void setNextCheckOrgId(String nextCheckOrgId) { + this.nextCheckOrgId = nextCheckOrgId; + } + + /** + * Getter for public.certificate_apply.end_check_org_id. + */ + public String getEndCheckOrgId() { + return this.endCheckOrgId; + } + + /** + * Setter for public.certificate_apply.end_check_org_id. + */ + public void setEndCheckOrgId(String endCheckOrgId) { + this.endCheckOrgId = endCheckOrgId; + } + + /** + * Getter for public.certificate_apply.cer_id. + */ + public String getCerId() { + return this.cerId; + } + + /** + * Setter for public.certificate_apply.cer_id. + */ + public void setCerId(String cerId) { + this.cerId = cerId; + } + + /** + * Getter for public.certificate_apply.company_id. + */ + public String getCompanyId() { + return this.companyId; + } + + /** + * Setter for public.certificate_apply.company_id. + */ + public void setCompanyId(String companyId) { + this.companyId = companyId; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final CertificateApply other = (CertificateApply) obj; + if (this.id == null) { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + return false; + if (this.isOrg == null) { + if (other.isOrg != null) + return false; + } + else if (!this.isOrg.equals(other.isOrg)) + return false; + if (this.userId == null) { + if (other.userId != null) + return false; + } + else if (!this.userId.equals(other.userId)) + return false; + if (this.userName == null) { + if (other.userName != null) + return false; + } + else if (!this.userName.equals(other.userName)) + return false; + if (this.userRealName == null) { + if (other.userRealName != null) + return false; + } + else if (!this.userRealName.equals(other.userRealName)) + return false; + if (this.userPhone == null) { + if (other.userPhone != null) + return false; + } + else if (!this.userPhone.equals(other.userPhone)) + return false; + if (this.userOrgId == null) { + if (other.userOrgId != null) + return false; + } + else if (!this.userOrgId.equals(other.userOrgId)) + return false; + if (this.userOrgName == null) { + if (other.userOrgName != null) + return false; + } + else if (!this.userOrgName.equals(other.userOrgName)) + return false; + if (this.applyType == null) { + if (other.applyType != null) + return false; + } + else if (!this.applyType.equals(other.applyType)) + return false; + if (this.status == null) { + if (other.status != null) + return false; + } + else if (!this.status.equals(other.status)) + return false; + if (this.applyTime == null) { + if (other.applyTime != null) + return false; + } + else if (!this.applyTime.equals(other.applyTime)) + return false; + if (this.applyFinishTime == null) { + if (other.applyFinishTime != null) + return false; + } + else if (!this.applyFinishTime.equals(other.applyFinishTime)) + return false; + if (this.applyReason == null) { + if (other.applyReason != null) + return false; + } + else if (!this.applyReason.equals(other.applyReason)) + return false; + if (this.nextCheckOrgId == null) { + if (other.nextCheckOrgId != null) + return false; + } + else if (!this.nextCheckOrgId.equals(other.nextCheckOrgId)) + return false; + if (this.endCheckOrgId == null) { + if (other.endCheckOrgId != null) + return false; + } + else if (!this.endCheckOrgId.equals(other.endCheckOrgId)) + return false; + if (this.cerId == null) { + if (other.cerId != null) + return false; + } + else if (!this.cerId.equals(other.cerId)) + return false; + if (this.companyId == null) { + if (other.companyId != null) + return false; + } + else if (!this.companyId.equals(other.companyId)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.id == null) ? 0 : this.id.hashCode()); + result = prime * result + ((this.isOrg == null) ? 0 : this.isOrg.hashCode()); + result = prime * result + ((this.userId == null) ? 0 : this.userId.hashCode()); + result = prime * result + ((this.userName == null) ? 0 : this.userName.hashCode()); + result = prime * result + ((this.userRealName == null) ? 0 : this.userRealName.hashCode()); + result = prime * result + ((this.userPhone == null) ? 0 : this.userPhone.hashCode()); + result = prime * result + ((this.userOrgId == null) ? 0 : this.userOrgId.hashCode()); + result = prime * result + ((this.userOrgName == null) ? 0 : this.userOrgName.hashCode()); + result = prime * result + ((this.applyType == null) ? 0 : this.applyType.hashCode()); + result = prime * result + ((this.status == null) ? 0 : this.status.hashCode()); + result = prime * result + ((this.applyTime == null) ? 0 : this.applyTime.hashCode()); + result = prime * result + ((this.applyFinishTime == null) ? 0 : this.applyFinishTime.hashCode()); + result = prime * result + ((this.applyReason == null) ? 0 : this.applyReason.hashCode()); + result = prime * result + ((this.nextCheckOrgId == null) ? 0 : this.nextCheckOrgId.hashCode()); + result = prime * result + ((this.endCheckOrgId == null) ? 0 : this.endCheckOrgId.hashCode()); + result = prime * result + ((this.cerId == null) ? 0 : this.cerId.hashCode()); + result = prime * result + ((this.companyId == null) ? 0 : this.companyId.hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("CertificateApply ("); + + sb.append(id); + sb.append(", ").append(isOrg); + sb.append(", ").append(userId); + sb.append(", ").append(userName); + sb.append(", ").append(userRealName); + sb.append(", ").append(userPhone); + sb.append(", ").append(userOrgId); + sb.append(", ").append(userOrgName); + sb.append(", ").append(applyType); + sb.append(", ").append(status); + sb.append(", ").append(applyTime); + sb.append(", ").append(applyFinishTime); + sb.append(", ").append(applyReason); + sb.append(", ").append(nextCheckOrgId); + sb.append(", ").append(endCheckOrgId); + sb.append(", ").append(cerId); + sb.append(", ").append(companyId); + + sb.append(")"); + return sb.toString(); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/CertificateApplyRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/CertificateApplyRecord.java new file mode 100644 index 0000000..c0bf958 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/CertificateApplyRecord.java @@ -0,0 +1,456 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.pojos; + + +import java.io.Serializable; +import java.time.LocalDateTime; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class CertificateApplyRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + private String certificateApplyId; + private String certificateApplyUserId; + private String certificateApplyUserOrgId; + private Integer isOrg; + private Integer applyType; + private String checkUserId; + private String checkUserName; + private String checkOrgId; + private String checkOrgName; + private String checkDescribe; + private Integer checkStatus; + private LocalDateTime checkTime; + private String nextCheckOrgId; + private String nextCheckOrgName; + + public CertificateApplyRecord() {} + + public CertificateApplyRecord(CertificateApplyRecord value) { + this.id = value.id; + this.certificateApplyId = value.certificateApplyId; + this.certificateApplyUserId = value.certificateApplyUserId; + this.certificateApplyUserOrgId = value.certificateApplyUserOrgId; + this.isOrg = value.isOrg; + this.applyType = value.applyType; + this.checkUserId = value.checkUserId; + this.checkUserName = value.checkUserName; + this.checkOrgId = value.checkOrgId; + this.checkOrgName = value.checkOrgName; + this.checkDescribe = value.checkDescribe; + this.checkStatus = value.checkStatus; + this.checkTime = value.checkTime; + this.nextCheckOrgId = value.nextCheckOrgId; + this.nextCheckOrgName = value.nextCheckOrgName; + } + + public CertificateApplyRecord( + String id, + String certificateApplyId, + String certificateApplyUserId, + String certificateApplyUserOrgId, + Integer isOrg, + Integer applyType, + String checkUserId, + String checkUserName, + String checkOrgId, + String checkOrgName, + String checkDescribe, + Integer checkStatus, + LocalDateTime checkTime, + String nextCheckOrgId, + String nextCheckOrgName + ) { + this.id = id; + this.certificateApplyId = certificateApplyId; + this.certificateApplyUserId = certificateApplyUserId; + this.certificateApplyUserOrgId = certificateApplyUserOrgId; + this.isOrg = isOrg; + this.applyType = applyType; + this.checkUserId = checkUserId; + this.checkUserName = checkUserName; + this.checkOrgId = checkOrgId; + this.checkOrgName = checkOrgName; + this.checkDescribe = checkDescribe; + this.checkStatus = checkStatus; + this.checkTime = checkTime; + this.nextCheckOrgId = nextCheckOrgId; + this.nextCheckOrgName = nextCheckOrgName; + } + + /** + * Getter for public.certificate_apply_record.id. + */ + public String getId() { + return this.id; + } + + /** + * Setter for public.certificate_apply_record.id. + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter for + * public.certificate_apply_record.certificate_apply_id. + */ + public String getCertificateApplyId() { + return this.certificateApplyId; + } + + /** + * Setter for + * public.certificate_apply_record.certificate_apply_id. + */ + public void setCertificateApplyId(String certificateApplyId) { + this.certificateApplyId = certificateApplyId; + } + + /** + * Getter for + * public.certificate_apply_record.certificate_apply_user_id. + */ + public String getCertificateApplyUserId() { + return this.certificateApplyUserId; + } + + /** + * Setter for + * public.certificate_apply_record.certificate_apply_user_id. + */ + public void setCertificateApplyUserId(String certificateApplyUserId) { + this.certificateApplyUserId = certificateApplyUserId; + } + + /** + * Getter for + * public.certificate_apply_record.certificate_apply_user_org_id. + */ + public String getCertificateApplyUserOrgId() { + return this.certificateApplyUserOrgId; + } + + /** + * Setter for + * public.certificate_apply_record.certificate_apply_user_org_id. + */ + public void setCertificateApplyUserOrgId(String certificateApplyUserOrgId) { + this.certificateApplyUserOrgId = certificateApplyUserOrgId; + } + + /** + * Getter for public.certificate_apply_record.is_org. + */ + public Integer getIsOrg() { + return this.isOrg; + } + + /** + * Setter for public.certificate_apply_record.is_org. + */ + public void setIsOrg(Integer isOrg) { + this.isOrg = isOrg; + } + + /** + * Getter for public.certificate_apply_record.apply_type. + */ + public Integer getApplyType() { + return this.applyType; + } + + /** + * Setter for public.certificate_apply_record.apply_type. + */ + public void setApplyType(Integer applyType) { + this.applyType = applyType; + } + + /** + * Getter for public.certificate_apply_record.check_user_id. + */ + public String getCheckUserId() { + return this.checkUserId; + } + + /** + * Setter for public.certificate_apply_record.check_user_id. + */ + public void setCheckUserId(String checkUserId) { + this.checkUserId = checkUserId; + } + + /** + * Getter for public.certificate_apply_record.check_user_name. + */ + public String getCheckUserName() { + return this.checkUserName; + } + + /** + * Setter for public.certificate_apply_record.check_user_name. + */ + public void setCheckUserName(String checkUserName) { + this.checkUserName = checkUserName; + } + + /** + * Getter for public.certificate_apply_record.check_org_id. + */ + public String getCheckOrgId() { + return this.checkOrgId; + } + + /** + * Setter for public.certificate_apply_record.check_org_id. + */ + public void setCheckOrgId(String checkOrgId) { + this.checkOrgId = checkOrgId; + } + + /** + * Getter for public.certificate_apply_record.check_org_name. + */ + public String getCheckOrgName() { + return this.checkOrgName; + } + + /** + * Setter for public.certificate_apply_record.check_org_name. + */ + public void setCheckOrgName(String checkOrgName) { + this.checkOrgName = checkOrgName; + } + + /** + * Getter for public.certificate_apply_record.check_describe. + */ + public String getCheckDescribe() { + return this.checkDescribe; + } + + /** + * Setter for public.certificate_apply_record.check_describe. + */ + public void setCheckDescribe(String checkDescribe) { + this.checkDescribe = checkDescribe; + } + + /** + * Getter for public.certificate_apply_record.check_status. + */ + public Integer getCheckStatus() { + return this.checkStatus; + } + + /** + * Setter for public.certificate_apply_record.check_status. + */ + public void setCheckStatus(Integer checkStatus) { + this.checkStatus = checkStatus; + } + + /** + * Getter for public.certificate_apply_record.check_time. + */ + public LocalDateTime getCheckTime() { + return this.checkTime; + } + + /** + * Setter for public.certificate_apply_record.check_time. + */ + public void setCheckTime(LocalDateTime checkTime) { + this.checkTime = checkTime; + } + + /** + * Getter for + * public.certificate_apply_record.next_check_org_id. + */ + public String getNextCheckOrgId() { + return this.nextCheckOrgId; + } + + /** + * Setter for + * public.certificate_apply_record.next_check_org_id. + */ + public void setNextCheckOrgId(String nextCheckOrgId) { + this.nextCheckOrgId = nextCheckOrgId; + } + + /** + * Getter for + * public.certificate_apply_record.next_check_org_name. + */ + public String getNextCheckOrgName() { + return this.nextCheckOrgName; + } + + /** + * Setter for + * public.certificate_apply_record.next_check_org_name. + */ + public void setNextCheckOrgName(String nextCheckOrgName) { + this.nextCheckOrgName = nextCheckOrgName; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final CertificateApplyRecord other = (CertificateApplyRecord) obj; + if (this.id == null) { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + return false; + if (this.certificateApplyId == null) { + if (other.certificateApplyId != null) + return false; + } + else if (!this.certificateApplyId.equals(other.certificateApplyId)) + return false; + if (this.certificateApplyUserId == null) { + if (other.certificateApplyUserId != null) + return false; + } + else if (!this.certificateApplyUserId.equals(other.certificateApplyUserId)) + return false; + if (this.certificateApplyUserOrgId == null) { + if (other.certificateApplyUserOrgId != null) + return false; + } + else if (!this.certificateApplyUserOrgId.equals(other.certificateApplyUserOrgId)) + return false; + if (this.isOrg == null) { + if (other.isOrg != null) + return false; + } + else if (!this.isOrg.equals(other.isOrg)) + return false; + if (this.applyType == null) { + if (other.applyType != null) + return false; + } + else if (!this.applyType.equals(other.applyType)) + return false; + if (this.checkUserId == null) { + if (other.checkUserId != null) + return false; + } + else if (!this.checkUserId.equals(other.checkUserId)) + return false; + if (this.checkUserName == null) { + if (other.checkUserName != null) + return false; + } + else if (!this.checkUserName.equals(other.checkUserName)) + return false; + if (this.checkOrgId == null) { + if (other.checkOrgId != null) + return false; + } + else if (!this.checkOrgId.equals(other.checkOrgId)) + return false; + if (this.checkOrgName == null) { + if (other.checkOrgName != null) + return false; + } + else if (!this.checkOrgName.equals(other.checkOrgName)) + return false; + if (this.checkDescribe == null) { + if (other.checkDescribe != null) + return false; + } + else if (!this.checkDescribe.equals(other.checkDescribe)) + return false; + if (this.checkStatus == null) { + if (other.checkStatus != null) + return false; + } + else if (!this.checkStatus.equals(other.checkStatus)) + return false; + if (this.checkTime == null) { + if (other.checkTime != null) + return false; + } + else if (!this.checkTime.equals(other.checkTime)) + return false; + if (this.nextCheckOrgId == null) { + if (other.nextCheckOrgId != null) + return false; + } + else if (!this.nextCheckOrgId.equals(other.nextCheckOrgId)) + return false; + if (this.nextCheckOrgName == null) { + if (other.nextCheckOrgName != null) + return false; + } + else if (!this.nextCheckOrgName.equals(other.nextCheckOrgName)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.id == null) ? 0 : this.id.hashCode()); + result = prime * result + ((this.certificateApplyId == null) ? 0 : this.certificateApplyId.hashCode()); + result = prime * result + ((this.certificateApplyUserId == null) ? 0 : this.certificateApplyUserId.hashCode()); + result = prime * result + ((this.certificateApplyUserOrgId == null) ? 0 : this.certificateApplyUserOrgId.hashCode()); + result = prime * result + ((this.isOrg == null) ? 0 : this.isOrg.hashCode()); + result = prime * result + ((this.applyType == null) ? 0 : this.applyType.hashCode()); + result = prime * result + ((this.checkUserId == null) ? 0 : this.checkUserId.hashCode()); + result = prime * result + ((this.checkUserName == null) ? 0 : this.checkUserName.hashCode()); + result = prime * result + ((this.checkOrgId == null) ? 0 : this.checkOrgId.hashCode()); + result = prime * result + ((this.checkOrgName == null) ? 0 : this.checkOrgName.hashCode()); + result = prime * result + ((this.checkDescribe == null) ? 0 : this.checkDescribe.hashCode()); + result = prime * result + ((this.checkStatus == null) ? 0 : this.checkStatus.hashCode()); + result = prime * result + ((this.checkTime == null) ? 0 : this.checkTime.hashCode()); + result = prime * result + ((this.nextCheckOrgId == null) ? 0 : this.nextCheckOrgId.hashCode()); + result = prime * result + ((this.nextCheckOrgName == null) ? 0 : this.nextCheckOrgName.hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("CertificateApplyRecord ("); + + sb.append(id); + sb.append(", ").append(certificateApplyId); + sb.append(", ").append(certificateApplyUserId); + sb.append(", ").append(certificateApplyUserOrgId); + sb.append(", ").append(isOrg); + sb.append(", ").append(applyType); + sb.append(", ").append(checkUserId); + sb.append(", ").append(checkUserName); + sb.append(", ").append(checkOrgId); + sb.append(", ").append(checkOrgName); + sb.append(", ").append(checkDescribe); + sb.append(", ").append(checkStatus); + sb.append(", ").append(checkTime); + sb.append(", ").append(nextCheckOrgId); + sb.append(", ").append(nextCheckOrgName); + + sb.append(")"); + return sb.toString(); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/CertificateDetail.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/CertificateDetail.java new file mode 100644 index 0000000..6a8737e --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/CertificateDetail.java @@ -0,0 +1,420 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.pojos; + + +import java.io.Serializable; +import java.time.LocalDateTime; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class CertificateDetail implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + private String certificateApplyId; + private LocalDateTime workStartTime; + private LocalDateTime workEndTime; + private Integer status; + private String certFileContent; + private Integer isUpChain; + private String weid; + private String privateKeyHexStr; + private String x509SerialNumber; + private String x509Subject; + private String x509Issuer; + private String x509PublicKey; + private String x509SigAlgName; + + public CertificateDetail() {} + + public CertificateDetail(CertificateDetail value) { + this.id = value.id; + this.certificateApplyId = value.certificateApplyId; + this.workStartTime = value.workStartTime; + this.workEndTime = value.workEndTime; + this.status = value.status; + this.certFileContent = value.certFileContent; + this.isUpChain = value.isUpChain; + this.weid = value.weid; + this.privateKeyHexStr = value.privateKeyHexStr; + this.x509SerialNumber = value.x509SerialNumber; + this.x509Subject = value.x509Subject; + this.x509Issuer = value.x509Issuer; + this.x509PublicKey = value.x509PublicKey; + this.x509SigAlgName = value.x509SigAlgName; + } + + public CertificateDetail( + String id, + String certificateApplyId, + LocalDateTime workStartTime, + LocalDateTime workEndTime, + Integer status, + String certFileContent, + Integer isUpChain, + String weid, + String privateKeyHexStr, + String x509SerialNumber, + String x509Subject, + String x509Issuer, + String x509PublicKey, + String x509SigAlgName + ) { + this.id = id; + this.certificateApplyId = certificateApplyId; + this.workStartTime = workStartTime; + this.workEndTime = workEndTime; + this.status = status; + this.certFileContent = certFileContent; + this.isUpChain = isUpChain; + this.weid = weid; + this.privateKeyHexStr = privateKeyHexStr; + this.x509SerialNumber = x509SerialNumber; + this.x509Subject = x509Subject; + this.x509Issuer = x509Issuer; + this.x509PublicKey = x509PublicKey; + this.x509SigAlgName = x509SigAlgName; + } + + /** + * Getter for public.certificate_detail.id. + */ + public String getId() { + return this.id; + } + + /** + * Setter for public.certificate_detail.id. + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter for public.certificate_detail.certificate_apply_id. + */ + public String getCertificateApplyId() { + return this.certificateApplyId; + } + + /** + * Setter for public.certificate_detail.certificate_apply_id. + */ + public void setCertificateApplyId(String certificateApplyId) { + this.certificateApplyId = certificateApplyId; + } + + /** + * Getter for public.certificate_detail.work_start_time. + */ + public LocalDateTime getWorkStartTime() { + return this.workStartTime; + } + + /** + * Setter for public.certificate_detail.work_start_time. + */ + public void setWorkStartTime(LocalDateTime workStartTime) { + this.workStartTime = workStartTime; + } + + /** + * Getter for public.certificate_detail.work_end_time. + */ + public LocalDateTime getWorkEndTime() { + return this.workEndTime; + } + + /** + * Setter for public.certificate_detail.work_end_time. + */ + public void setWorkEndTime(LocalDateTime workEndTime) { + this.workEndTime = workEndTime; + } + + /** + * Getter for public.certificate_detail.status. + */ + public Integer getStatus() { + return this.status; + } + + /** + * Setter for public.certificate_detail.status. + */ + public void setStatus(Integer status) { + this.status = status; + } + + /** + * Getter for public.certificate_detail.cert_file_content. + */ + public String getCertFileContent() { + return this.certFileContent; + } + + /** + * Setter for public.certificate_detail.cert_file_content. + */ + public void setCertFileContent(String certFileContent) { + this.certFileContent = certFileContent; + } + + /** + * Getter for public.certificate_detail.is_up_chain. + */ + public Integer getIsUpChain() { + return this.isUpChain; + } + + /** + * Setter for public.certificate_detail.is_up_chain. + */ + public void setIsUpChain(Integer isUpChain) { + this.isUpChain = isUpChain; + } + + /** + * Getter for public.certificate_detail.weid. + */ + public String getWeid() { + return this.weid; + } + + /** + * Setter for public.certificate_detail.weid. + */ + public void setWeid(String weid) { + this.weid = weid; + } + + /** + * Getter for public.certificate_detail.private_key_hex_str. + */ + public String getPrivateKeyHexStr() { + return this.privateKeyHexStr; + } + + /** + * Setter for public.certificate_detail.private_key_hex_str. + */ + public void setPrivateKeyHexStr(String privateKeyHexStr) { + this.privateKeyHexStr = privateKeyHexStr; + } + + /** + * Getter for public.certificate_detail.x509_serial_number. + */ + public String getX509SerialNumber() { + return this.x509SerialNumber; + } + + /** + * Setter for public.certificate_detail.x509_serial_number. + */ + public void setX509SerialNumber(String x509SerialNumber) { + this.x509SerialNumber = x509SerialNumber; + } + + /** + * Getter for public.certificate_detail.x509_subject. + */ + public String getX509Subject() { + return this.x509Subject; + } + + /** + * Setter for public.certificate_detail.x509_subject. + */ + public void setX509Subject(String x509Subject) { + this.x509Subject = x509Subject; + } + + /** + * Getter for public.certificate_detail.x509_issuer. + */ + public String getX509Issuer() { + return this.x509Issuer; + } + + /** + * Setter for public.certificate_detail.x509_issuer. + */ + public void setX509Issuer(String x509Issuer) { + this.x509Issuer = x509Issuer; + } + + /** + * Getter for public.certificate_detail.x509_public_key. + */ + public String getX509PublicKey() { + return this.x509PublicKey; + } + + /** + * Setter for public.certificate_detail.x509_public_key. + */ + public void setX509PublicKey(String x509PublicKey) { + this.x509PublicKey = x509PublicKey; + } + + /** + * Getter for public.certificate_detail.x509_sig_alg_name. + */ + public String getX509SigAlgName() { + return this.x509SigAlgName; + } + + /** + * Setter for public.certificate_detail.x509_sig_alg_name. + */ + public void setX509SigAlgName(String x509SigAlgName) { + this.x509SigAlgName = x509SigAlgName; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final CertificateDetail other = (CertificateDetail) obj; + if (this.id == null) { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + return false; + if (this.certificateApplyId == null) { + if (other.certificateApplyId != null) + return false; + } + else if (!this.certificateApplyId.equals(other.certificateApplyId)) + return false; + if (this.workStartTime == null) { + if (other.workStartTime != null) + return false; + } + else if (!this.workStartTime.equals(other.workStartTime)) + return false; + if (this.workEndTime == null) { + if (other.workEndTime != null) + return false; + } + else if (!this.workEndTime.equals(other.workEndTime)) + return false; + if (this.status == null) { + if (other.status != null) + return false; + } + else if (!this.status.equals(other.status)) + return false; + if (this.certFileContent == null) { + if (other.certFileContent != null) + return false; + } + else if (!this.certFileContent.equals(other.certFileContent)) + return false; + if (this.isUpChain == null) { + if (other.isUpChain != null) + return false; + } + else if (!this.isUpChain.equals(other.isUpChain)) + return false; + if (this.weid == null) { + if (other.weid != null) + return false; + } + else if (!this.weid.equals(other.weid)) + return false; + if (this.privateKeyHexStr == null) { + if (other.privateKeyHexStr != null) + return false; + } + else if (!this.privateKeyHexStr.equals(other.privateKeyHexStr)) + return false; + if (this.x509SerialNumber == null) { + if (other.x509SerialNumber != null) + return false; + } + else if (!this.x509SerialNumber.equals(other.x509SerialNumber)) + return false; + if (this.x509Subject == null) { + if (other.x509Subject != null) + return false; + } + else if (!this.x509Subject.equals(other.x509Subject)) + return false; + if (this.x509Issuer == null) { + if (other.x509Issuer != null) + return false; + } + else if (!this.x509Issuer.equals(other.x509Issuer)) + return false; + if (this.x509PublicKey == null) { + if (other.x509PublicKey != null) + return false; + } + else if (!this.x509PublicKey.equals(other.x509PublicKey)) + return false; + if (this.x509SigAlgName == null) { + if (other.x509SigAlgName != null) + return false; + } + else if (!this.x509SigAlgName.equals(other.x509SigAlgName)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.id == null) ? 0 : this.id.hashCode()); + result = prime * result + ((this.certificateApplyId == null) ? 0 : this.certificateApplyId.hashCode()); + result = prime * result + ((this.workStartTime == null) ? 0 : this.workStartTime.hashCode()); + result = prime * result + ((this.workEndTime == null) ? 0 : this.workEndTime.hashCode()); + result = prime * result + ((this.status == null) ? 0 : this.status.hashCode()); + result = prime * result + ((this.certFileContent == null) ? 0 : this.certFileContent.hashCode()); + result = prime * result + ((this.isUpChain == null) ? 0 : this.isUpChain.hashCode()); + result = prime * result + ((this.weid == null) ? 0 : this.weid.hashCode()); + result = prime * result + ((this.privateKeyHexStr == null) ? 0 : this.privateKeyHexStr.hashCode()); + result = prime * result + ((this.x509SerialNumber == null) ? 0 : this.x509SerialNumber.hashCode()); + result = prime * result + ((this.x509Subject == null) ? 0 : this.x509Subject.hashCode()); + result = prime * result + ((this.x509Issuer == null) ? 0 : this.x509Issuer.hashCode()); + result = prime * result + ((this.x509PublicKey == null) ? 0 : this.x509PublicKey.hashCode()); + result = prime * result + ((this.x509SigAlgName == null) ? 0 : this.x509SigAlgName.hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("CertificateDetail ("); + + sb.append(id); + sb.append(", ").append(certificateApplyId); + sb.append(", ").append(workStartTime); + sb.append(", ").append(workEndTime); + sb.append(", ").append(status); + sb.append(", ").append(certFileContent); + sb.append(", ").append(isUpChain); + sb.append(", ").append(weid); + sb.append(", ").append(privateKeyHexStr); + sb.append(", ").append(x509SerialNumber); + sb.append(", ").append(x509Subject); + sb.append(", ").append(x509Issuer); + sb.append(", ").append(x509PublicKey); + sb.append(", ").append(x509SigAlgName); + + sb.append(")"); + return sb.toString(); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/DecryptLog.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/DecryptLog.java new file mode 100644 index 0000000..aa37a2c --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/DecryptLog.java @@ -0,0 +1,290 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.pojos; + + +import java.io.Serializable; +import java.time.LocalDateTime; + + +/** + * 解密情况 + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class DecryptLog implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + private String weid; + private Integer contentType; + private String contentId; + private LocalDateTime decTime; + private String location; + private String sm9hibeid; + private Integer status; + private String sign; + + public DecryptLog() {} + + public DecryptLog(DecryptLog value) { + this.id = value.id; + this.weid = value.weid; + this.contentType = value.contentType; + this.contentId = value.contentId; + this.decTime = value.decTime; + this.location = value.location; + this.sm9hibeid = value.sm9hibeid; + this.status = value.status; + this.sign = value.sign; + } + + public DecryptLog( + String id, + String weid, + Integer contentType, + String contentId, + LocalDateTime decTime, + String location, + String sm9hibeid, + Integer status, + String sign + ) { + this.id = id; + this.weid = weid; + this.contentType = contentType; + this.contentId = contentId; + this.decTime = decTime; + this.location = location; + this.sm9hibeid = sm9hibeid; + this.status = status; + this.sign = sign; + } + + /** + * Getter for public.decrypt_log.id. + */ + public String getId() { + return this.id; + } + + /** + * Setter for public.decrypt_log.id. + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter for public.decrypt_log.weid. 申请人id + */ + public String getWeid() { + return this.weid; + } + + /** + * Setter for public.decrypt_log.weid. 申请人id + */ + public void setWeid(String weid) { + this.weid = weid; + } + + /** + * Getter for public.decrypt_log.content_type. 档案类型(0件/1件内文件) + */ + public Integer getContentType() { + return this.contentType; + } + + /** + * Setter for public.decrypt_log.content_type. 档案类型(0件/1件内文件) + */ + public void setContentType(Integer contentType) { + this.contentType = contentType; + } + + /** + * Getter for public.decrypt_log.content_id. 档案id + */ + public String getContentId() { + return this.contentId; + } + + /** + * Setter for public.decrypt_log.content_id. 档案id + */ + public void setContentId(String contentId) { + this.contentId = contentId; + } + + /** + * Getter for public.decrypt_log.dec_time. 解密时间 + */ + public LocalDateTime getDecTime() { + return this.decTime; + } + + /** + * Setter for public.decrypt_log.dec_time. 解密时间 + */ + public void setDecTime(LocalDateTime decTime) { + this.decTime = decTime; + } + + /** + * Getter for public.decrypt_log.location. 区域 + */ + public String getLocation() { + return this.location; + } + + /** + * Setter for public.decrypt_log.location. 区域 + */ + public void setLocation(String location) { + this.location = location; + } + + /** + * Getter for public.decrypt_log.sm9hibeid. 秘钥id + */ + public String getSm9hibeid() { + return this.sm9hibeid; + } + + /** + * Setter for public.decrypt_log.sm9hibeid. 秘钥id + */ + public void setSm9hibeid(String sm9hibeid) { + this.sm9hibeid = sm9hibeid; + } + + /** + * Getter for public.decrypt_log.status. 解密结果(0失败1成功) + */ + public Integer getStatus() { + return this.status; + } + + /** + * Setter for public.decrypt_log.status. 解密结果(0失败1成功) + */ + public void setStatus(Integer status) { + this.status = status; + } + + /** + * Getter for public.decrypt_log.sign. 数字签名 + */ + public String getSign() { + return this.sign; + } + + /** + * Setter for public.decrypt_log.sign. 数字签名 + */ + public void setSign(String sign) { + this.sign = sign; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final DecryptLog other = (DecryptLog) obj; + if (this.id == null) { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + return false; + if (this.weid == null) { + if (other.weid != null) + return false; + } + else if (!this.weid.equals(other.weid)) + return false; + if (this.contentType == null) { + if (other.contentType != null) + return false; + } + else if (!this.contentType.equals(other.contentType)) + return false; + if (this.contentId == null) { + if (other.contentId != null) + return false; + } + else if (!this.contentId.equals(other.contentId)) + return false; + if (this.decTime == null) { + if (other.decTime != null) + return false; + } + else if (!this.decTime.equals(other.decTime)) + return false; + if (this.location == null) { + if (other.location != null) + return false; + } + else if (!this.location.equals(other.location)) + return false; + if (this.sm9hibeid == null) { + if (other.sm9hibeid != null) + return false; + } + else if (!this.sm9hibeid.equals(other.sm9hibeid)) + return false; + if (this.status == null) { + if (other.status != null) + return false; + } + else if (!this.status.equals(other.status)) + return false; + if (this.sign == null) { + if (other.sign != null) + return false; + } + else if (!this.sign.equals(other.sign)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.id == null) ? 0 : this.id.hashCode()); + result = prime * result + ((this.weid == null) ? 0 : this.weid.hashCode()); + result = prime * result + ((this.contentType == null) ? 0 : this.contentType.hashCode()); + result = prime * result + ((this.contentId == null) ? 0 : this.contentId.hashCode()); + result = prime * result + ((this.decTime == null) ? 0 : this.decTime.hashCode()); + result = prime * result + ((this.location == null) ? 0 : this.location.hashCode()); + result = prime * result + ((this.sm9hibeid == null) ? 0 : this.sm9hibeid.hashCode()); + result = prime * result + ((this.status == null) ? 0 : this.status.hashCode()); + result = prime * result + ((this.sign == null) ? 0 : this.sign.hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("DecryptLog ("); + + sb.append(id); + sb.append(", ").append(weid); + sb.append(", ").append(contentType); + sb.append(", ").append(contentId); + sb.append(", ").append(decTime); + sb.append(", ").append(location); + sb.append(", ").append(sm9hibeid); + sb.append(", ").append(status); + sb.append(", ").append(sign); + + sb.append(")"); + return sb.toString(); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/DownloadLog.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/DownloadLog.java new file mode 100644 index 0000000..0101d9a --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/DownloadLog.java @@ -0,0 +1,242 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.pojos; + + +import java.io.Serializable; +import java.time.LocalDateTime; + + +/** + * 下载行为记录 + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class DownloadLog implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + private String weid; + private LocalDateTime downloadtime; + private Integer filenum; + private Integer contentType; + private String contentid; + private String sign; + + public DownloadLog() {} + + public DownloadLog(DownloadLog value) { + this.id = value.id; + this.weid = value.weid; + this.downloadtime = value.downloadtime; + this.filenum = value.filenum; + this.contentType = value.contentType; + this.contentid = value.contentid; + this.sign = value.sign; + } + + public DownloadLog( + String id, + String weid, + LocalDateTime downloadtime, + Integer filenum, + Integer contentType, + String contentid, + String sign + ) { + this.id = id; + this.weid = weid; + this.downloadtime = downloadtime; + this.filenum = filenum; + this.contentType = contentType; + this.contentid = contentid; + this.sign = sign; + } + + /** + * Getter for public.download_log.id. + */ + public String getId() { + return this.id; + } + + /** + * Setter for public.download_log.id. + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter for public.download_log.weid. weid + */ + public String getWeid() { + return this.weid; + } + + /** + * Setter for public.download_log.weid. weid + */ + public void setWeid(String weid) { + this.weid = weid; + } + + /** + * Getter for public.download_log.downloadtime. 下载时间 + */ + public LocalDateTime getDownloadtime() { + return this.downloadtime; + } + + /** + * Setter for public.download_log.downloadtime. 下载时间 + */ + public void setDownloadtime(LocalDateTime downloadtime) { + this.downloadtime = downloadtime; + } + + /** + * Getter for public.download_log.filenum. 下载文件数 + */ + public Integer getFilenum() { + return this.filenum; + } + + /** + * Setter for public.download_log.filenum. 下载文件数 + */ + public void setFilenum(Integer filenum) { + this.filenum = filenum; + } + + /** + * Getter for public.download_log.content_type. + * 下载类型(1文件包/2单个附件(SyncFile)/3单个件(DirecotryFile)) + */ + public Integer getContentType() { + return this.contentType; + } + + /** + * Setter for public.download_log.content_type. + * 下载类型(1文件包/2单个附件(SyncFile)/3单个件(DirecotryFile)) + */ + public void setContentType(Integer contentType) { + this.contentType = contentType; + } + + /** + * Getter for public.download_log.contentid. + * 下载记录ID(如果是单个文件,就取ID,如果是包,就是包内包含的文件的ID列表) + */ + public String getContentid() { + return this.contentid; + } + + /** + * Setter for public.download_log.contentid. + * 下载记录ID(如果是单个文件,就取ID,如果是包,就是包内包含的文件的ID列表) + */ + public void setContentid(String contentid) { + this.contentid = contentid; + } + + /** + * Getter for public.download_log.sign. 数字签名 + */ + public String getSign() { + return this.sign; + } + + /** + * Setter for public.download_log.sign. 数字签名 + */ + public void setSign(String sign) { + this.sign = sign; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final DownloadLog other = (DownloadLog) obj; + if (this.id == null) { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + return false; + if (this.weid == null) { + if (other.weid != null) + return false; + } + else if (!this.weid.equals(other.weid)) + return false; + if (this.downloadtime == null) { + if (other.downloadtime != null) + return false; + } + else if (!this.downloadtime.equals(other.downloadtime)) + return false; + if (this.filenum == null) { + if (other.filenum != null) + return false; + } + else if (!this.filenum.equals(other.filenum)) + return false; + if (this.contentType == null) { + if (other.contentType != null) + return false; + } + else if (!this.contentType.equals(other.contentType)) + return false; + if (this.contentid == null) { + if (other.contentid != null) + return false; + } + else if (!this.contentid.equals(other.contentid)) + return false; + if (this.sign == null) { + if (other.sign != null) + return false; + } + else if (!this.sign.equals(other.sign)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.id == null) ? 0 : this.id.hashCode()); + result = prime * result + ((this.weid == null) ? 0 : this.weid.hashCode()); + result = prime * result + ((this.downloadtime == null) ? 0 : this.downloadtime.hashCode()); + result = prime * result + ((this.filenum == null) ? 0 : this.filenum.hashCode()); + result = prime * result + ((this.contentType == null) ? 0 : this.contentType.hashCode()); + result = prime * result + ((this.contentid == null) ? 0 : this.contentid.hashCode()); + result = prime * result + ((this.sign == null) ? 0 : this.sign.hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("DownloadLog ("); + + sb.append(id); + sb.append(", ").append(weid); + sb.append(", ").append(downloadtime); + sb.append(", ").append(filenum); + sb.append(", ").append(contentType); + sb.append(", ").append(contentid); + sb.append(", ").append(sign); + + sb.append(")"); + return sb.toString(); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/FilesApply.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/FilesApply.java new file mode 100644 index 0000000..16432e8 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/FilesApply.java @@ -0,0 +1,1282 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.pojos; + + +import java.io.Serializable; +import java.time.LocalDateTime; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class FilesApply implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + private String applyUserId; + private String applyUserName; + private String applyUserPhone; + private String applyUserEmail; + private String applyOrgId; + private String applyOrgName; + private String applyInCheckUserId; + private String applyInCheckUserName; + private String applyInCheckOrgId; + private String applyInCheckOrgName; + private String applyNextCheckOrgId; + private String applyNextCheckOrgName; + private String applyEndCheckUserId; + private String applyEndCheckUserName; + private String applyEndCheckOrgId; + private String applyEndCheckOrgName; + private Integer applyDays; + private String applyFeedback; + private String applyReason; + private String applyCancelReason; + private Integer applyViewTypePrint; + private Integer applyViewTypeOnline; + private Integer applyFileNum; + private LocalDateTime applyTime; + private Integer applyCheckIsFinish; + private String providerOrgId; + private String providerOrgName; + private Integer providerFileProperties; + private LocalDateTime providerUseStartTime; + private LocalDateTime providerUseEndTime; + private String providerInCheckUserId; + private String providerInCheckUserName; + private String providerInCheckOrgId; + private String providerInCheckOrgName; + private String providerNextCheckRoleSignId; + private String providerNextCheckRoleSignName; + private String providerEndCheckUserId; + private String providerEndCheckUserName; + private String providerEndCheckOrgId; + private String providerEndCheckOrgName; + private Integer providerCheckIsFinish; + private String secretKey; + private Integer status; + private String projectId; + private String projectName; + private String sign; + + public FilesApply() {} + + public FilesApply(FilesApply value) { + this.id = value.id; + this.applyUserId = value.applyUserId; + this.applyUserName = value.applyUserName; + this.applyUserPhone = value.applyUserPhone; + this.applyUserEmail = value.applyUserEmail; + this.applyOrgId = value.applyOrgId; + this.applyOrgName = value.applyOrgName; + this.applyInCheckUserId = value.applyInCheckUserId; + this.applyInCheckUserName = value.applyInCheckUserName; + this.applyInCheckOrgId = value.applyInCheckOrgId; + this.applyInCheckOrgName = value.applyInCheckOrgName; + this.applyNextCheckOrgId = value.applyNextCheckOrgId; + this.applyNextCheckOrgName = value.applyNextCheckOrgName; + this.applyEndCheckUserId = value.applyEndCheckUserId; + this.applyEndCheckUserName = value.applyEndCheckUserName; + this.applyEndCheckOrgId = value.applyEndCheckOrgId; + this.applyEndCheckOrgName = value.applyEndCheckOrgName; + this.applyDays = value.applyDays; + this.applyFeedback = value.applyFeedback; + this.applyReason = value.applyReason; + this.applyCancelReason = value.applyCancelReason; + this.applyViewTypePrint = value.applyViewTypePrint; + this.applyViewTypeOnline = value.applyViewTypeOnline; + this.applyFileNum = value.applyFileNum; + this.applyTime = value.applyTime; + this.applyCheckIsFinish = value.applyCheckIsFinish; + this.providerOrgId = value.providerOrgId; + this.providerOrgName = value.providerOrgName; + this.providerFileProperties = value.providerFileProperties; + this.providerUseStartTime = value.providerUseStartTime; + this.providerUseEndTime = value.providerUseEndTime; + this.providerInCheckUserId = value.providerInCheckUserId; + this.providerInCheckUserName = value.providerInCheckUserName; + this.providerInCheckOrgId = value.providerInCheckOrgId; + this.providerInCheckOrgName = value.providerInCheckOrgName; + this.providerNextCheckRoleSignId = value.providerNextCheckRoleSignId; + this.providerNextCheckRoleSignName = value.providerNextCheckRoleSignName; + this.providerEndCheckUserId = value.providerEndCheckUserId; + this.providerEndCheckUserName = value.providerEndCheckUserName; + this.providerEndCheckOrgId = value.providerEndCheckOrgId; + this.providerEndCheckOrgName = value.providerEndCheckOrgName; + this.providerCheckIsFinish = value.providerCheckIsFinish; + this.secretKey = value.secretKey; + this.status = value.status; + this.projectId = value.projectId; + this.projectName = value.projectName; + this.sign = value.sign; + } + + public FilesApply( + String id, + String applyUserId, + String applyUserName, + String applyUserPhone, + String applyUserEmail, + String applyOrgId, + String applyOrgName, + String applyInCheckUserId, + String applyInCheckUserName, + String applyInCheckOrgId, + String applyInCheckOrgName, + String applyNextCheckOrgId, + String applyNextCheckOrgName, + String applyEndCheckUserId, + String applyEndCheckUserName, + String applyEndCheckOrgId, + String applyEndCheckOrgName, + Integer applyDays, + String applyFeedback, + String applyReason, + String applyCancelReason, + Integer applyViewTypePrint, + Integer applyViewTypeOnline, + Integer applyFileNum, + LocalDateTime applyTime, + Integer applyCheckIsFinish, + String providerOrgId, + String providerOrgName, + Integer providerFileProperties, + LocalDateTime providerUseStartTime, + LocalDateTime providerUseEndTime, + String providerInCheckUserId, + String providerInCheckUserName, + String providerInCheckOrgId, + String providerInCheckOrgName, + String providerNextCheckRoleSignId, + String providerNextCheckRoleSignName, + String providerEndCheckUserId, + String providerEndCheckUserName, + String providerEndCheckOrgId, + String providerEndCheckOrgName, + Integer providerCheckIsFinish, + String secretKey, + Integer status, + String projectId, + String projectName, + String sign + ) { + this.id = id; + this.applyUserId = applyUserId; + this.applyUserName = applyUserName; + this.applyUserPhone = applyUserPhone; + this.applyUserEmail = applyUserEmail; + this.applyOrgId = applyOrgId; + this.applyOrgName = applyOrgName; + this.applyInCheckUserId = applyInCheckUserId; + this.applyInCheckUserName = applyInCheckUserName; + this.applyInCheckOrgId = applyInCheckOrgId; + this.applyInCheckOrgName = applyInCheckOrgName; + this.applyNextCheckOrgId = applyNextCheckOrgId; + this.applyNextCheckOrgName = applyNextCheckOrgName; + this.applyEndCheckUserId = applyEndCheckUserId; + this.applyEndCheckUserName = applyEndCheckUserName; + this.applyEndCheckOrgId = applyEndCheckOrgId; + this.applyEndCheckOrgName = applyEndCheckOrgName; + this.applyDays = applyDays; + this.applyFeedback = applyFeedback; + this.applyReason = applyReason; + this.applyCancelReason = applyCancelReason; + this.applyViewTypePrint = applyViewTypePrint; + this.applyViewTypeOnline = applyViewTypeOnline; + this.applyFileNum = applyFileNum; + this.applyTime = applyTime; + this.applyCheckIsFinish = applyCheckIsFinish; + this.providerOrgId = providerOrgId; + this.providerOrgName = providerOrgName; + this.providerFileProperties = providerFileProperties; + this.providerUseStartTime = providerUseStartTime; + this.providerUseEndTime = providerUseEndTime; + this.providerInCheckUserId = providerInCheckUserId; + this.providerInCheckUserName = providerInCheckUserName; + this.providerInCheckOrgId = providerInCheckOrgId; + this.providerInCheckOrgName = providerInCheckOrgName; + this.providerNextCheckRoleSignId = providerNextCheckRoleSignId; + this.providerNextCheckRoleSignName = providerNextCheckRoleSignName; + this.providerEndCheckUserId = providerEndCheckUserId; + this.providerEndCheckUserName = providerEndCheckUserName; + this.providerEndCheckOrgId = providerEndCheckOrgId; + this.providerEndCheckOrgName = providerEndCheckOrgName; + this.providerCheckIsFinish = providerCheckIsFinish; + this.secretKey = secretKey; + this.status = status; + this.projectId = projectId; + this.projectName = projectName; + this.sign = sign; + } + + /** + * Getter for public.files_apply.id. + */ + public String getId() { + return this.id; + } + + /** + * Setter for public.files_apply.id. + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter for public.files_apply.apply_user_id. + */ + public String getApplyUserId() { + return this.applyUserId; + } + + /** + * Setter for public.files_apply.apply_user_id. + */ + public void setApplyUserId(String applyUserId) { + this.applyUserId = applyUserId; + } + + /** + * Getter for public.files_apply.apply_user_name. + */ + public String getApplyUserName() { + return this.applyUserName; + } + + /** + * Setter for public.files_apply.apply_user_name. + */ + public void setApplyUserName(String applyUserName) { + this.applyUserName = applyUserName; + } + + /** + * Getter for public.files_apply.apply_user_phone. + */ + public String getApplyUserPhone() { + return this.applyUserPhone; + } + + /** + * Setter for public.files_apply.apply_user_phone. + */ + public void setApplyUserPhone(String applyUserPhone) { + this.applyUserPhone = applyUserPhone; + } + + /** + * Getter for public.files_apply.apply_user_email. + */ + public String getApplyUserEmail() { + return this.applyUserEmail; + } + + /** + * Setter for public.files_apply.apply_user_email. + */ + public void setApplyUserEmail(String applyUserEmail) { + this.applyUserEmail = applyUserEmail; + } + + /** + * Getter for public.files_apply.apply_org_id. + */ + public String getApplyOrgId() { + return this.applyOrgId; + } + + /** + * Setter for public.files_apply.apply_org_id. + */ + public void setApplyOrgId(String applyOrgId) { + this.applyOrgId = applyOrgId; + } + + /** + * Getter for public.files_apply.apply_org_name. + */ + public String getApplyOrgName() { + return this.applyOrgName; + } + + /** + * Setter for public.files_apply.apply_org_name. + */ + public void setApplyOrgName(String applyOrgName) { + this.applyOrgName = applyOrgName; + } + + /** + * Getter for public.files_apply.apply_in_check_user_id. + */ + public String getApplyInCheckUserId() { + return this.applyInCheckUserId; + } + + /** + * Setter for public.files_apply.apply_in_check_user_id. + */ + public void setApplyInCheckUserId(String applyInCheckUserId) { + this.applyInCheckUserId = applyInCheckUserId; + } + + /** + * Getter for public.files_apply.apply_in_check_user_name. + */ + public String getApplyInCheckUserName() { + return this.applyInCheckUserName; + } + + /** + * Setter for public.files_apply.apply_in_check_user_name. + */ + public void setApplyInCheckUserName(String applyInCheckUserName) { + this.applyInCheckUserName = applyInCheckUserName; + } + + /** + * Getter for public.files_apply.apply_in_check_org_id. + */ + public String getApplyInCheckOrgId() { + return this.applyInCheckOrgId; + } + + /** + * Setter for public.files_apply.apply_in_check_org_id. + */ + public void setApplyInCheckOrgId(String applyInCheckOrgId) { + this.applyInCheckOrgId = applyInCheckOrgId; + } + + /** + * Getter for public.files_apply.apply_in_check_org_name. + */ + public String getApplyInCheckOrgName() { + return this.applyInCheckOrgName; + } + + /** + * Setter for public.files_apply.apply_in_check_org_name. + */ + public void setApplyInCheckOrgName(String applyInCheckOrgName) { + this.applyInCheckOrgName = applyInCheckOrgName; + } + + /** + * Getter for public.files_apply.apply_next_check_org_id. + */ + public String getApplyNextCheckOrgId() { + return this.applyNextCheckOrgId; + } + + /** + * Setter for public.files_apply.apply_next_check_org_id. + */ + public void setApplyNextCheckOrgId(String applyNextCheckOrgId) { + this.applyNextCheckOrgId = applyNextCheckOrgId; + } + + /** + * Getter for public.files_apply.apply_next_check_org_name. + */ + public String getApplyNextCheckOrgName() { + return this.applyNextCheckOrgName; + } + + /** + * Setter for public.files_apply.apply_next_check_org_name. + */ + public void setApplyNextCheckOrgName(String applyNextCheckOrgName) { + this.applyNextCheckOrgName = applyNextCheckOrgName; + } + + /** + * Getter for public.files_apply.apply_end_check_user_id. + */ + public String getApplyEndCheckUserId() { + return this.applyEndCheckUserId; + } + + /** + * Setter for public.files_apply.apply_end_check_user_id. + */ + public void setApplyEndCheckUserId(String applyEndCheckUserId) { + this.applyEndCheckUserId = applyEndCheckUserId; + } + + /** + * Getter for public.files_apply.apply_end_check_user_name. + */ + public String getApplyEndCheckUserName() { + return this.applyEndCheckUserName; + } + + /** + * Setter for public.files_apply.apply_end_check_user_name. + */ + public void setApplyEndCheckUserName(String applyEndCheckUserName) { + this.applyEndCheckUserName = applyEndCheckUserName; + } + + /** + * Getter for public.files_apply.apply_end_check_org_id. + */ + public String getApplyEndCheckOrgId() { + return this.applyEndCheckOrgId; + } + + /** + * Setter for public.files_apply.apply_end_check_org_id. + */ + public void setApplyEndCheckOrgId(String applyEndCheckOrgId) { + this.applyEndCheckOrgId = applyEndCheckOrgId; + } + + /** + * Getter for public.files_apply.apply_end_check_org_name. + */ + public String getApplyEndCheckOrgName() { + return this.applyEndCheckOrgName; + } + + /** + * Setter for public.files_apply.apply_end_check_org_name. + */ + public void setApplyEndCheckOrgName(String applyEndCheckOrgName) { + this.applyEndCheckOrgName = applyEndCheckOrgName; + } + + /** + * Getter for public.files_apply.apply_days. + */ + public Integer getApplyDays() { + return this.applyDays; + } + + /** + * Setter for public.files_apply.apply_days. + */ + public void setApplyDays(Integer applyDays) { + this.applyDays = applyDays; + } + + /** + * Getter for public.files_apply.apply_feedback. + */ + public String getApplyFeedback() { + return this.applyFeedback; + } + + /** + * Setter for public.files_apply.apply_feedback. + */ + public void setApplyFeedback(String applyFeedback) { + this.applyFeedback = applyFeedback; + } + + /** + * Getter for public.files_apply.apply_reason. + */ + public String getApplyReason() { + return this.applyReason; + } + + /** + * Setter for public.files_apply.apply_reason. + */ + public void setApplyReason(String applyReason) { + this.applyReason = applyReason; + } + + /** + * Getter for public.files_apply.apply_cancel_reason. + */ + public String getApplyCancelReason() { + return this.applyCancelReason; + } + + /** + * Setter for public.files_apply.apply_cancel_reason. + */ + public void setApplyCancelReason(String applyCancelReason) { + this.applyCancelReason = applyCancelReason; + } + + /** + * Getter for public.files_apply.apply_view_type_print. + */ + public Integer getApplyViewTypePrint() { + return this.applyViewTypePrint; + } + + /** + * Setter for public.files_apply.apply_view_type_print. + */ + public void setApplyViewTypePrint(Integer applyViewTypePrint) { + this.applyViewTypePrint = applyViewTypePrint; + } + + /** + * Getter for public.files_apply.apply_view_type_online. + */ + public Integer getApplyViewTypeOnline() { + return this.applyViewTypeOnline; + } + + /** + * Setter for public.files_apply.apply_view_type_online. + */ + public void setApplyViewTypeOnline(Integer applyViewTypeOnline) { + this.applyViewTypeOnline = applyViewTypeOnline; + } + + /** + * Getter for public.files_apply.apply_file_num. + */ + public Integer getApplyFileNum() { + return this.applyFileNum; + } + + /** + * Setter for public.files_apply.apply_file_num. + */ + public void setApplyFileNum(Integer applyFileNum) { + this.applyFileNum = applyFileNum; + } + + /** + * Getter for public.files_apply.apply_time. + */ + public LocalDateTime getApplyTime() { + return this.applyTime; + } + + /** + * Setter for public.files_apply.apply_time. + */ + public void setApplyTime(LocalDateTime applyTime) { + this.applyTime = applyTime; + } + + /** + * Getter for public.files_apply.apply_check_is_finish. + */ + public Integer getApplyCheckIsFinish() { + return this.applyCheckIsFinish; + } + + /** + * Setter for public.files_apply.apply_check_is_finish. + */ + public void setApplyCheckIsFinish(Integer applyCheckIsFinish) { + this.applyCheckIsFinish = applyCheckIsFinish; + } + + /** + * Getter for public.files_apply.provider_org_id. + */ + public String getProviderOrgId() { + return this.providerOrgId; + } + + /** + * Setter for public.files_apply.provider_org_id. + */ + public void setProviderOrgId(String providerOrgId) { + this.providerOrgId = providerOrgId; + } + + /** + * Getter for public.files_apply.provider_org_name. + */ + public String getProviderOrgName() { + return this.providerOrgName; + } + + /** + * Setter for public.files_apply.provider_org_name. + */ + public void setProviderOrgName(String providerOrgName) { + this.providerOrgName = providerOrgName; + } + + /** + * Getter for public.files_apply.provider_file_properties. + */ + public Integer getProviderFileProperties() { + return this.providerFileProperties; + } + + /** + * Setter for public.files_apply.provider_file_properties. + */ + public void setProviderFileProperties(Integer providerFileProperties) { + this.providerFileProperties = providerFileProperties; + } + + /** + * Getter for public.files_apply.provider_use_start_time. + */ + public LocalDateTime getProviderUseStartTime() { + return this.providerUseStartTime; + } + + /** + * Setter for public.files_apply.provider_use_start_time. + */ + public void setProviderUseStartTime(LocalDateTime providerUseStartTime) { + this.providerUseStartTime = providerUseStartTime; + } + + /** + * Getter for public.files_apply.provider_use_end_time. + */ + public LocalDateTime getProviderUseEndTime() { + return this.providerUseEndTime; + } + + /** + * Setter for public.files_apply.provider_use_end_time. + */ + public void setProviderUseEndTime(LocalDateTime providerUseEndTime) { + this.providerUseEndTime = providerUseEndTime; + } + + /** + * Getter for public.files_apply.provider_in_check_user_id. + */ + public String getProviderInCheckUserId() { + return this.providerInCheckUserId; + } + + /** + * Setter for public.files_apply.provider_in_check_user_id. + */ + public void setProviderInCheckUserId(String providerInCheckUserId) { + this.providerInCheckUserId = providerInCheckUserId; + } + + /** + * Getter for public.files_apply.provider_in_check_user_name. + */ + public String getProviderInCheckUserName() { + return this.providerInCheckUserName; + } + + /** + * Setter for public.files_apply.provider_in_check_user_name. + */ + public void setProviderInCheckUserName(String providerInCheckUserName) { + this.providerInCheckUserName = providerInCheckUserName; + } + + /** + * Getter for public.files_apply.provider_in_check_org_id. + */ + public String getProviderInCheckOrgId() { + return this.providerInCheckOrgId; + } + + /** + * Setter for public.files_apply.provider_in_check_org_id. + */ + public void setProviderInCheckOrgId(String providerInCheckOrgId) { + this.providerInCheckOrgId = providerInCheckOrgId; + } + + /** + * Getter for public.files_apply.provider_in_check_org_name. + */ + public String getProviderInCheckOrgName() { + return this.providerInCheckOrgName; + } + + /** + * Setter for public.files_apply.provider_in_check_org_name. + */ + public void setProviderInCheckOrgName(String providerInCheckOrgName) { + this.providerInCheckOrgName = providerInCheckOrgName; + } + + /** + * Getter for + * public.files_apply.provider_next_check_role_sign_id. + */ + public String getProviderNextCheckRoleSignId() { + return this.providerNextCheckRoleSignId; + } + + /** + * Setter for + * public.files_apply.provider_next_check_role_sign_id. + */ + public void setProviderNextCheckRoleSignId(String providerNextCheckRoleSignId) { + this.providerNextCheckRoleSignId = providerNextCheckRoleSignId; + } + + /** + * Getter for + * public.files_apply.provider_next_check_role_sign_name. + */ + public String getProviderNextCheckRoleSignName() { + return this.providerNextCheckRoleSignName; + } + + /** + * Setter for + * public.files_apply.provider_next_check_role_sign_name. + */ + public void setProviderNextCheckRoleSignName(String providerNextCheckRoleSignName) { + this.providerNextCheckRoleSignName = providerNextCheckRoleSignName; + } + + /** + * Getter for public.files_apply.provider_end_check_user_id. + */ + public String getProviderEndCheckUserId() { + return this.providerEndCheckUserId; + } + + /** + * Setter for public.files_apply.provider_end_check_user_id. + */ + public void setProviderEndCheckUserId(String providerEndCheckUserId) { + this.providerEndCheckUserId = providerEndCheckUserId; + } + + /** + * Getter for public.files_apply.provider_end_check_user_name. + */ + public String getProviderEndCheckUserName() { + return this.providerEndCheckUserName; + } + + /** + * Setter for public.files_apply.provider_end_check_user_name. + */ + public void setProviderEndCheckUserName(String providerEndCheckUserName) { + this.providerEndCheckUserName = providerEndCheckUserName; + } + + /** + * Getter for public.files_apply.provider_end_check_org_id. + */ + public String getProviderEndCheckOrgId() { + return this.providerEndCheckOrgId; + } + + /** + * Setter for public.files_apply.provider_end_check_org_id. + */ + public void setProviderEndCheckOrgId(String providerEndCheckOrgId) { + this.providerEndCheckOrgId = providerEndCheckOrgId; + } + + /** + * Getter for public.files_apply.provider_end_check_org_name. + */ + public String getProviderEndCheckOrgName() { + return this.providerEndCheckOrgName; + } + + /** + * Setter for public.files_apply.provider_end_check_org_name. + */ + public void setProviderEndCheckOrgName(String providerEndCheckOrgName) { + this.providerEndCheckOrgName = providerEndCheckOrgName; + } + + /** + * Getter for public.files_apply.provider_check_is_finish. + */ + public Integer getProviderCheckIsFinish() { + return this.providerCheckIsFinish; + } + + /** + * Setter for public.files_apply.provider_check_is_finish. + */ + public void setProviderCheckIsFinish(Integer providerCheckIsFinish) { + this.providerCheckIsFinish = providerCheckIsFinish; + } + + /** + * Getter for public.files_apply.secret_key. + */ + public String getSecretKey() { + return this.secretKey; + } + + /** + * Setter for public.files_apply.secret_key. + */ + public void setSecretKey(String secretKey) { + this.secretKey = secretKey; + } + + /** + * Getter for public.files_apply.status. + */ + public Integer getStatus() { + return this.status; + } + + /** + * Setter for public.files_apply.status. + */ + public void setStatus(Integer status) { + this.status = status; + } + + /** + * Getter for public.files_apply.project_id. + */ + public String getProjectId() { + return this.projectId; + } + + /** + * Setter for public.files_apply.project_id. + */ + public void setProjectId(String projectId) { + this.projectId = projectId; + } + + /** + * Getter for public.files_apply.project_name. + */ + public String getProjectName() { + return this.projectName; + } + + /** + * Setter for public.files_apply.project_name. + */ + public void setProjectName(String projectName) { + this.projectName = projectName; + } + + /** + * Getter for public.files_apply.sign. 签名 + */ + public String getSign() { + return this.sign; + } + + /** + * Setter for public.files_apply.sign. 签名 + */ + public void setSign(String sign) { + this.sign = sign; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final FilesApply other = (FilesApply) obj; + if (this.id == null) { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + return false; + if (this.applyUserId == null) { + if (other.applyUserId != null) + return false; + } + else if (!this.applyUserId.equals(other.applyUserId)) + return false; + if (this.applyUserName == null) { + if (other.applyUserName != null) + return false; + } + else if (!this.applyUserName.equals(other.applyUserName)) + return false; + if (this.applyUserPhone == null) { + if (other.applyUserPhone != null) + return false; + } + else if (!this.applyUserPhone.equals(other.applyUserPhone)) + return false; + if (this.applyUserEmail == null) { + if (other.applyUserEmail != null) + return false; + } + else if (!this.applyUserEmail.equals(other.applyUserEmail)) + return false; + if (this.applyOrgId == null) { + if (other.applyOrgId != null) + return false; + } + else if (!this.applyOrgId.equals(other.applyOrgId)) + return false; + if (this.applyOrgName == null) { + if (other.applyOrgName != null) + return false; + } + else if (!this.applyOrgName.equals(other.applyOrgName)) + return false; + if (this.applyInCheckUserId == null) { + if (other.applyInCheckUserId != null) + return false; + } + else if (!this.applyInCheckUserId.equals(other.applyInCheckUserId)) + return false; + if (this.applyInCheckUserName == null) { + if (other.applyInCheckUserName != null) + return false; + } + else if (!this.applyInCheckUserName.equals(other.applyInCheckUserName)) + return false; + if (this.applyInCheckOrgId == null) { + if (other.applyInCheckOrgId != null) + return false; + } + else if (!this.applyInCheckOrgId.equals(other.applyInCheckOrgId)) + return false; + if (this.applyInCheckOrgName == null) { + if (other.applyInCheckOrgName != null) + return false; + } + else if (!this.applyInCheckOrgName.equals(other.applyInCheckOrgName)) + return false; + if (this.applyNextCheckOrgId == null) { + if (other.applyNextCheckOrgId != null) + return false; + } + else if (!this.applyNextCheckOrgId.equals(other.applyNextCheckOrgId)) + return false; + if (this.applyNextCheckOrgName == null) { + if (other.applyNextCheckOrgName != null) + return false; + } + else if (!this.applyNextCheckOrgName.equals(other.applyNextCheckOrgName)) + return false; + if (this.applyEndCheckUserId == null) { + if (other.applyEndCheckUserId != null) + return false; + } + else if (!this.applyEndCheckUserId.equals(other.applyEndCheckUserId)) + return false; + if (this.applyEndCheckUserName == null) { + if (other.applyEndCheckUserName != null) + return false; + } + else if (!this.applyEndCheckUserName.equals(other.applyEndCheckUserName)) + return false; + if (this.applyEndCheckOrgId == null) { + if (other.applyEndCheckOrgId != null) + return false; + } + else if (!this.applyEndCheckOrgId.equals(other.applyEndCheckOrgId)) + return false; + if (this.applyEndCheckOrgName == null) { + if (other.applyEndCheckOrgName != null) + return false; + } + else if (!this.applyEndCheckOrgName.equals(other.applyEndCheckOrgName)) + return false; + if (this.applyDays == null) { + if (other.applyDays != null) + return false; + } + else if (!this.applyDays.equals(other.applyDays)) + return false; + if (this.applyFeedback == null) { + if (other.applyFeedback != null) + return false; + } + else if (!this.applyFeedback.equals(other.applyFeedback)) + return false; + if (this.applyReason == null) { + if (other.applyReason != null) + return false; + } + else if (!this.applyReason.equals(other.applyReason)) + return false; + if (this.applyCancelReason == null) { + if (other.applyCancelReason != null) + return false; + } + else if (!this.applyCancelReason.equals(other.applyCancelReason)) + return false; + if (this.applyViewTypePrint == null) { + if (other.applyViewTypePrint != null) + return false; + } + else if (!this.applyViewTypePrint.equals(other.applyViewTypePrint)) + return false; + if (this.applyViewTypeOnline == null) { + if (other.applyViewTypeOnline != null) + return false; + } + else if (!this.applyViewTypeOnline.equals(other.applyViewTypeOnline)) + return false; + if (this.applyFileNum == null) { + if (other.applyFileNum != null) + return false; + } + else if (!this.applyFileNum.equals(other.applyFileNum)) + return false; + if (this.applyTime == null) { + if (other.applyTime != null) + return false; + } + else if (!this.applyTime.equals(other.applyTime)) + return false; + if (this.applyCheckIsFinish == null) { + if (other.applyCheckIsFinish != null) + return false; + } + else if (!this.applyCheckIsFinish.equals(other.applyCheckIsFinish)) + return false; + if (this.providerOrgId == null) { + if (other.providerOrgId != null) + return false; + } + else if (!this.providerOrgId.equals(other.providerOrgId)) + return false; + if (this.providerOrgName == null) { + if (other.providerOrgName != null) + return false; + } + else if (!this.providerOrgName.equals(other.providerOrgName)) + return false; + if (this.providerFileProperties == null) { + if (other.providerFileProperties != null) + return false; + } + else if (!this.providerFileProperties.equals(other.providerFileProperties)) + return false; + if (this.providerUseStartTime == null) { + if (other.providerUseStartTime != null) + return false; + } + else if (!this.providerUseStartTime.equals(other.providerUseStartTime)) + return false; + if (this.providerUseEndTime == null) { + if (other.providerUseEndTime != null) + return false; + } + else if (!this.providerUseEndTime.equals(other.providerUseEndTime)) + return false; + if (this.providerInCheckUserId == null) { + if (other.providerInCheckUserId != null) + return false; + } + else if (!this.providerInCheckUserId.equals(other.providerInCheckUserId)) + return false; + if (this.providerInCheckUserName == null) { + if (other.providerInCheckUserName != null) + return false; + } + else if (!this.providerInCheckUserName.equals(other.providerInCheckUserName)) + return false; + if (this.providerInCheckOrgId == null) { + if (other.providerInCheckOrgId != null) + return false; + } + else if (!this.providerInCheckOrgId.equals(other.providerInCheckOrgId)) + return false; + if (this.providerInCheckOrgName == null) { + if (other.providerInCheckOrgName != null) + return false; + } + else if (!this.providerInCheckOrgName.equals(other.providerInCheckOrgName)) + return false; + if (this.providerNextCheckRoleSignId == null) { + if (other.providerNextCheckRoleSignId != null) + return false; + } + else if (!this.providerNextCheckRoleSignId.equals(other.providerNextCheckRoleSignId)) + return false; + if (this.providerNextCheckRoleSignName == null) { + if (other.providerNextCheckRoleSignName != null) + return false; + } + else if (!this.providerNextCheckRoleSignName.equals(other.providerNextCheckRoleSignName)) + return false; + if (this.providerEndCheckUserId == null) { + if (other.providerEndCheckUserId != null) + return false; + } + else if (!this.providerEndCheckUserId.equals(other.providerEndCheckUserId)) + return false; + if (this.providerEndCheckUserName == null) { + if (other.providerEndCheckUserName != null) + return false; + } + else if (!this.providerEndCheckUserName.equals(other.providerEndCheckUserName)) + return false; + if (this.providerEndCheckOrgId == null) { + if (other.providerEndCheckOrgId != null) + return false; + } + else if (!this.providerEndCheckOrgId.equals(other.providerEndCheckOrgId)) + return false; + if (this.providerEndCheckOrgName == null) { + if (other.providerEndCheckOrgName != null) + return false; + } + else if (!this.providerEndCheckOrgName.equals(other.providerEndCheckOrgName)) + return false; + if (this.providerCheckIsFinish == null) { + if (other.providerCheckIsFinish != null) + return false; + } + else if (!this.providerCheckIsFinish.equals(other.providerCheckIsFinish)) + return false; + if (this.secretKey == null) { + if (other.secretKey != null) + return false; + } + else if (!this.secretKey.equals(other.secretKey)) + return false; + if (this.status == null) { + if (other.status != null) + return false; + } + else if (!this.status.equals(other.status)) + return false; + if (this.projectId == null) { + if (other.projectId != null) + return false; + } + else if (!this.projectId.equals(other.projectId)) + return false; + if (this.projectName == null) { + if (other.projectName != null) + return false; + } + else if (!this.projectName.equals(other.projectName)) + return false; + if (this.sign == null) { + if (other.sign != null) + return false; + } + else if (!this.sign.equals(other.sign)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.id == null) ? 0 : this.id.hashCode()); + result = prime * result + ((this.applyUserId == null) ? 0 : this.applyUserId.hashCode()); + result = prime * result + ((this.applyUserName == null) ? 0 : this.applyUserName.hashCode()); + result = prime * result + ((this.applyUserPhone == null) ? 0 : this.applyUserPhone.hashCode()); + result = prime * result + ((this.applyUserEmail == null) ? 0 : this.applyUserEmail.hashCode()); + result = prime * result + ((this.applyOrgId == null) ? 0 : this.applyOrgId.hashCode()); + result = prime * result + ((this.applyOrgName == null) ? 0 : this.applyOrgName.hashCode()); + result = prime * result + ((this.applyInCheckUserId == null) ? 0 : this.applyInCheckUserId.hashCode()); + result = prime * result + ((this.applyInCheckUserName == null) ? 0 : this.applyInCheckUserName.hashCode()); + result = prime * result + ((this.applyInCheckOrgId == null) ? 0 : this.applyInCheckOrgId.hashCode()); + result = prime * result + ((this.applyInCheckOrgName == null) ? 0 : this.applyInCheckOrgName.hashCode()); + result = prime * result + ((this.applyNextCheckOrgId == null) ? 0 : this.applyNextCheckOrgId.hashCode()); + result = prime * result + ((this.applyNextCheckOrgName == null) ? 0 : this.applyNextCheckOrgName.hashCode()); + result = prime * result + ((this.applyEndCheckUserId == null) ? 0 : this.applyEndCheckUserId.hashCode()); + result = prime * result + ((this.applyEndCheckUserName == null) ? 0 : this.applyEndCheckUserName.hashCode()); + result = prime * result + ((this.applyEndCheckOrgId == null) ? 0 : this.applyEndCheckOrgId.hashCode()); + result = prime * result + ((this.applyEndCheckOrgName == null) ? 0 : this.applyEndCheckOrgName.hashCode()); + result = prime * result + ((this.applyDays == null) ? 0 : this.applyDays.hashCode()); + result = prime * result + ((this.applyFeedback == null) ? 0 : this.applyFeedback.hashCode()); + result = prime * result + ((this.applyReason == null) ? 0 : this.applyReason.hashCode()); + result = prime * result + ((this.applyCancelReason == null) ? 0 : this.applyCancelReason.hashCode()); + result = prime * result + ((this.applyViewTypePrint == null) ? 0 : this.applyViewTypePrint.hashCode()); + result = prime * result + ((this.applyViewTypeOnline == null) ? 0 : this.applyViewTypeOnline.hashCode()); + result = prime * result + ((this.applyFileNum == null) ? 0 : this.applyFileNum.hashCode()); + result = prime * result + ((this.applyTime == null) ? 0 : this.applyTime.hashCode()); + result = prime * result + ((this.applyCheckIsFinish == null) ? 0 : this.applyCheckIsFinish.hashCode()); + result = prime * result + ((this.providerOrgId == null) ? 0 : this.providerOrgId.hashCode()); + result = prime * result + ((this.providerOrgName == null) ? 0 : this.providerOrgName.hashCode()); + result = prime * result + ((this.providerFileProperties == null) ? 0 : this.providerFileProperties.hashCode()); + result = prime * result + ((this.providerUseStartTime == null) ? 0 : this.providerUseStartTime.hashCode()); + result = prime * result + ((this.providerUseEndTime == null) ? 0 : this.providerUseEndTime.hashCode()); + result = prime * result + ((this.providerInCheckUserId == null) ? 0 : this.providerInCheckUserId.hashCode()); + result = prime * result + ((this.providerInCheckUserName == null) ? 0 : this.providerInCheckUserName.hashCode()); + result = prime * result + ((this.providerInCheckOrgId == null) ? 0 : this.providerInCheckOrgId.hashCode()); + result = prime * result + ((this.providerInCheckOrgName == null) ? 0 : this.providerInCheckOrgName.hashCode()); + result = prime * result + ((this.providerNextCheckRoleSignId == null) ? 0 : this.providerNextCheckRoleSignId.hashCode()); + result = prime * result + ((this.providerNextCheckRoleSignName == null) ? 0 : this.providerNextCheckRoleSignName.hashCode()); + result = prime * result + ((this.providerEndCheckUserId == null) ? 0 : this.providerEndCheckUserId.hashCode()); + result = prime * result + ((this.providerEndCheckUserName == null) ? 0 : this.providerEndCheckUserName.hashCode()); + result = prime * result + ((this.providerEndCheckOrgId == null) ? 0 : this.providerEndCheckOrgId.hashCode()); + result = prime * result + ((this.providerEndCheckOrgName == null) ? 0 : this.providerEndCheckOrgName.hashCode()); + result = prime * result + ((this.providerCheckIsFinish == null) ? 0 : this.providerCheckIsFinish.hashCode()); + result = prime * result + ((this.secretKey == null) ? 0 : this.secretKey.hashCode()); + result = prime * result + ((this.status == null) ? 0 : this.status.hashCode()); + result = prime * result + ((this.projectId == null) ? 0 : this.projectId.hashCode()); + result = prime * result + ((this.projectName == null) ? 0 : this.projectName.hashCode()); + result = prime * result + ((this.sign == null) ? 0 : this.sign.hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("FilesApply ("); + + sb.append(id); + sb.append(", ").append(applyUserId); + sb.append(", ").append(applyUserName); + sb.append(", ").append(applyUserPhone); + sb.append(", ").append(applyUserEmail); + sb.append(", ").append(applyOrgId); + sb.append(", ").append(applyOrgName); + sb.append(", ").append(applyInCheckUserId); + sb.append(", ").append(applyInCheckUserName); + sb.append(", ").append(applyInCheckOrgId); + sb.append(", ").append(applyInCheckOrgName); + sb.append(", ").append(applyNextCheckOrgId); + sb.append(", ").append(applyNextCheckOrgName); + sb.append(", ").append(applyEndCheckUserId); + sb.append(", ").append(applyEndCheckUserName); + sb.append(", ").append(applyEndCheckOrgId); + sb.append(", ").append(applyEndCheckOrgName); + sb.append(", ").append(applyDays); + sb.append(", ").append(applyFeedback); + sb.append(", ").append(applyReason); + sb.append(", ").append(applyCancelReason); + sb.append(", ").append(applyViewTypePrint); + sb.append(", ").append(applyViewTypeOnline); + sb.append(", ").append(applyFileNum); + sb.append(", ").append(applyTime); + sb.append(", ").append(applyCheckIsFinish); + sb.append(", ").append(providerOrgId); + sb.append(", ").append(providerOrgName); + sb.append(", ").append(providerFileProperties); + sb.append(", ").append(providerUseStartTime); + sb.append(", ").append(providerUseEndTime); + sb.append(", ").append(providerInCheckUserId); + sb.append(", ").append(providerInCheckUserName); + sb.append(", ").append(providerInCheckOrgId); + sb.append(", ").append(providerInCheckOrgName); + sb.append(", ").append(providerNextCheckRoleSignId); + sb.append(", ").append(providerNextCheckRoleSignName); + sb.append(", ").append(providerEndCheckUserId); + sb.append(", ").append(providerEndCheckUserName); + sb.append(", ").append(providerEndCheckOrgId); + sb.append(", ").append(providerEndCheckOrgName); + sb.append(", ").append(providerCheckIsFinish); + sb.append(", ").append(secretKey); + sb.append(", ").append(status); + sb.append(", ").append(projectId); + sb.append(", ").append(projectName); + sb.append(", ").append(sign); + + sb.append(")"); + return sb.toString(); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/FilesApplyCheckRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/FilesApplyCheckRecord.java new file mode 100644 index 0000000..2b538aa --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/FilesApplyCheckRecord.java @@ -0,0 +1,456 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.pojos; + + +import java.io.Serializable; +import java.time.LocalDateTime; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class FilesApplyCheckRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + private String filesApplyId; + private Integer isApplyProvider; + private String checkUserId; + private String checkUserName; + private String checkOrgId; + private String checkOrgName; + private String nextCheckOrgId; + private String nextCheckOrgName; + private String checkDescribe; + private Integer checkStatus; + private LocalDateTime checkTime; + private String providerNextCheckRoleSignId; + private String providerNextCheckRoleSignName; + private String sign; + + public FilesApplyCheckRecord() {} + + public FilesApplyCheckRecord(FilesApplyCheckRecord value) { + this.id = value.id; + this.filesApplyId = value.filesApplyId; + this.isApplyProvider = value.isApplyProvider; + this.checkUserId = value.checkUserId; + this.checkUserName = value.checkUserName; + this.checkOrgId = value.checkOrgId; + this.checkOrgName = value.checkOrgName; + this.nextCheckOrgId = value.nextCheckOrgId; + this.nextCheckOrgName = value.nextCheckOrgName; + this.checkDescribe = value.checkDescribe; + this.checkStatus = value.checkStatus; + this.checkTime = value.checkTime; + this.providerNextCheckRoleSignId = value.providerNextCheckRoleSignId; + this.providerNextCheckRoleSignName = value.providerNextCheckRoleSignName; + this.sign = value.sign; + } + + public FilesApplyCheckRecord( + String id, + String filesApplyId, + Integer isApplyProvider, + String checkUserId, + String checkUserName, + String checkOrgId, + String checkOrgName, + String nextCheckOrgId, + String nextCheckOrgName, + String checkDescribe, + Integer checkStatus, + LocalDateTime checkTime, + String providerNextCheckRoleSignId, + String providerNextCheckRoleSignName, + String sign + ) { + this.id = id; + this.filesApplyId = filesApplyId; + this.isApplyProvider = isApplyProvider; + this.checkUserId = checkUserId; + this.checkUserName = checkUserName; + this.checkOrgId = checkOrgId; + this.checkOrgName = checkOrgName; + this.nextCheckOrgId = nextCheckOrgId; + this.nextCheckOrgName = nextCheckOrgName; + this.checkDescribe = checkDescribe; + this.checkStatus = checkStatus; + this.checkTime = checkTime; + this.providerNextCheckRoleSignId = providerNextCheckRoleSignId; + this.providerNextCheckRoleSignName = providerNextCheckRoleSignName; + this.sign = sign; + } + + /** + * Getter for public.files_apply_check_record.id. + */ + public String getId() { + return this.id; + } + + /** + * Setter for public.files_apply_check_record.id. + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter for public.files_apply_check_record.files_apply_id. + */ + public String getFilesApplyId() { + return this.filesApplyId; + } + + /** + * Setter for public.files_apply_check_record.files_apply_id. + */ + public void setFilesApplyId(String filesApplyId) { + this.filesApplyId = filesApplyId; + } + + /** + * Getter for + * public.files_apply_check_record.is_apply_provider. + */ + public Integer getIsApplyProvider() { + return this.isApplyProvider; + } + + /** + * Setter for + * public.files_apply_check_record.is_apply_provider. + */ + public void setIsApplyProvider(Integer isApplyProvider) { + this.isApplyProvider = isApplyProvider; + } + + /** + * Getter for public.files_apply_check_record.check_user_id. + */ + public String getCheckUserId() { + return this.checkUserId; + } + + /** + * Setter for public.files_apply_check_record.check_user_id. + */ + public void setCheckUserId(String checkUserId) { + this.checkUserId = checkUserId; + } + + /** + * Getter for public.files_apply_check_record.check_user_name. + */ + public String getCheckUserName() { + return this.checkUserName; + } + + /** + * Setter for public.files_apply_check_record.check_user_name. + */ + public void setCheckUserName(String checkUserName) { + this.checkUserName = checkUserName; + } + + /** + * Getter for public.files_apply_check_record.check_org_id. + */ + public String getCheckOrgId() { + return this.checkOrgId; + } + + /** + * Setter for public.files_apply_check_record.check_org_id. + */ + public void setCheckOrgId(String checkOrgId) { + this.checkOrgId = checkOrgId; + } + + /** + * Getter for public.files_apply_check_record.check_org_name. + */ + public String getCheckOrgName() { + return this.checkOrgName; + } + + /** + * Setter for public.files_apply_check_record.check_org_name. + */ + public void setCheckOrgName(String checkOrgName) { + this.checkOrgName = checkOrgName; + } + + /** + * Getter for + * public.files_apply_check_record.next_check_org_id. + */ + public String getNextCheckOrgId() { + return this.nextCheckOrgId; + } + + /** + * Setter for + * public.files_apply_check_record.next_check_org_id. + */ + public void setNextCheckOrgId(String nextCheckOrgId) { + this.nextCheckOrgId = nextCheckOrgId; + } + + /** + * Getter for + * public.files_apply_check_record.next_check_org_name. + */ + public String getNextCheckOrgName() { + return this.nextCheckOrgName; + } + + /** + * Setter for + * public.files_apply_check_record.next_check_org_name. + */ + public void setNextCheckOrgName(String nextCheckOrgName) { + this.nextCheckOrgName = nextCheckOrgName; + } + + /** + * Getter for public.files_apply_check_record.check_describe. + */ + public String getCheckDescribe() { + return this.checkDescribe; + } + + /** + * Setter for public.files_apply_check_record.check_describe. + */ + public void setCheckDescribe(String checkDescribe) { + this.checkDescribe = checkDescribe; + } + + /** + * Getter for public.files_apply_check_record.check_status. + */ + public Integer getCheckStatus() { + return this.checkStatus; + } + + /** + * Setter for public.files_apply_check_record.check_status. + */ + public void setCheckStatus(Integer checkStatus) { + this.checkStatus = checkStatus; + } + + /** + * Getter for public.files_apply_check_record.check_time. + */ + public LocalDateTime getCheckTime() { + return this.checkTime; + } + + /** + * Setter for public.files_apply_check_record.check_time. + */ + public void setCheckTime(LocalDateTime checkTime) { + this.checkTime = checkTime; + } + + /** + * Getter for + * public.files_apply_check_record.provider_next_check_role_sign_id. + */ + public String getProviderNextCheckRoleSignId() { + return this.providerNextCheckRoleSignId; + } + + /** + * Setter for + * public.files_apply_check_record.provider_next_check_role_sign_id. + */ + public void setProviderNextCheckRoleSignId(String providerNextCheckRoleSignId) { + this.providerNextCheckRoleSignId = providerNextCheckRoleSignId; + } + + /** + * Getter for + * public.files_apply_check_record.provider_next_check_role_sign_name. + */ + public String getProviderNextCheckRoleSignName() { + return this.providerNextCheckRoleSignName; + } + + /** + * Setter for + * public.files_apply_check_record.provider_next_check_role_sign_name. + */ + public void setProviderNextCheckRoleSignName(String providerNextCheckRoleSignName) { + this.providerNextCheckRoleSignName = providerNextCheckRoleSignName; + } + + /** + * Getter for public.files_apply_check_record.sign. + */ + public String getSign() { + return this.sign; + } + + /** + * Setter for public.files_apply_check_record.sign. + */ + public void setSign(String sign) { + this.sign = sign; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final FilesApplyCheckRecord other = (FilesApplyCheckRecord) obj; + if (this.id == null) { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + return false; + if (this.filesApplyId == null) { + if (other.filesApplyId != null) + return false; + } + else if (!this.filesApplyId.equals(other.filesApplyId)) + return false; + if (this.isApplyProvider == null) { + if (other.isApplyProvider != null) + return false; + } + else if (!this.isApplyProvider.equals(other.isApplyProvider)) + return false; + if (this.checkUserId == null) { + if (other.checkUserId != null) + return false; + } + else if (!this.checkUserId.equals(other.checkUserId)) + return false; + if (this.checkUserName == null) { + if (other.checkUserName != null) + return false; + } + else if (!this.checkUserName.equals(other.checkUserName)) + return false; + if (this.checkOrgId == null) { + if (other.checkOrgId != null) + return false; + } + else if (!this.checkOrgId.equals(other.checkOrgId)) + return false; + if (this.checkOrgName == null) { + if (other.checkOrgName != null) + return false; + } + else if (!this.checkOrgName.equals(other.checkOrgName)) + return false; + if (this.nextCheckOrgId == null) { + if (other.nextCheckOrgId != null) + return false; + } + else if (!this.nextCheckOrgId.equals(other.nextCheckOrgId)) + return false; + if (this.nextCheckOrgName == null) { + if (other.nextCheckOrgName != null) + return false; + } + else if (!this.nextCheckOrgName.equals(other.nextCheckOrgName)) + return false; + if (this.checkDescribe == null) { + if (other.checkDescribe != null) + return false; + } + else if (!this.checkDescribe.equals(other.checkDescribe)) + return false; + if (this.checkStatus == null) { + if (other.checkStatus != null) + return false; + } + else if (!this.checkStatus.equals(other.checkStatus)) + return false; + if (this.checkTime == null) { + if (other.checkTime != null) + return false; + } + else if (!this.checkTime.equals(other.checkTime)) + return false; + if (this.providerNextCheckRoleSignId == null) { + if (other.providerNextCheckRoleSignId != null) + return false; + } + else if (!this.providerNextCheckRoleSignId.equals(other.providerNextCheckRoleSignId)) + return false; + if (this.providerNextCheckRoleSignName == null) { + if (other.providerNextCheckRoleSignName != null) + return false; + } + else if (!this.providerNextCheckRoleSignName.equals(other.providerNextCheckRoleSignName)) + return false; + if (this.sign == null) { + if (other.sign != null) + return false; + } + else if (!this.sign.equals(other.sign)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.id == null) ? 0 : this.id.hashCode()); + result = prime * result + ((this.filesApplyId == null) ? 0 : this.filesApplyId.hashCode()); + result = prime * result + ((this.isApplyProvider == null) ? 0 : this.isApplyProvider.hashCode()); + result = prime * result + ((this.checkUserId == null) ? 0 : this.checkUserId.hashCode()); + result = prime * result + ((this.checkUserName == null) ? 0 : this.checkUserName.hashCode()); + result = prime * result + ((this.checkOrgId == null) ? 0 : this.checkOrgId.hashCode()); + result = prime * result + ((this.checkOrgName == null) ? 0 : this.checkOrgName.hashCode()); + result = prime * result + ((this.nextCheckOrgId == null) ? 0 : this.nextCheckOrgId.hashCode()); + result = prime * result + ((this.nextCheckOrgName == null) ? 0 : this.nextCheckOrgName.hashCode()); + result = prime * result + ((this.checkDescribe == null) ? 0 : this.checkDescribe.hashCode()); + result = prime * result + ((this.checkStatus == null) ? 0 : this.checkStatus.hashCode()); + result = prime * result + ((this.checkTime == null) ? 0 : this.checkTime.hashCode()); + result = prime * result + ((this.providerNextCheckRoleSignId == null) ? 0 : this.providerNextCheckRoleSignId.hashCode()); + result = prime * result + ((this.providerNextCheckRoleSignName == null) ? 0 : this.providerNextCheckRoleSignName.hashCode()); + result = prime * result + ((this.sign == null) ? 0 : this.sign.hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("FilesApplyCheckRecord ("); + + sb.append(id); + sb.append(", ").append(filesApplyId); + sb.append(", ").append(isApplyProvider); + sb.append(", ").append(checkUserId); + sb.append(", ").append(checkUserName); + sb.append(", ").append(checkOrgId); + sb.append(", ").append(checkOrgName); + sb.append(", ").append(nextCheckOrgId); + sb.append(", ").append(nextCheckOrgName); + sb.append(", ").append(checkDescribe); + sb.append(", ").append(checkStatus); + sb.append(", ").append(checkTime); + sb.append(", ").append(providerNextCheckRoleSignId); + sb.append(", ").append(providerNextCheckRoleSignName); + sb.append(", ").append(sign); + + sb.append(")"); + return sb.toString(); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/FilesApplyDirectoryDocs.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/FilesApplyDirectoryDocs.java new file mode 100644 index 0000000..ac24c10 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/FilesApplyDirectoryDocs.java @@ -0,0 +1,657 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.pojos; + + +import java.io.Serializable; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class FilesApplyDirectoryDocs implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + private String filesApplyId; + private String directoryFileId; + private String directoryFilePId; + private String filesuper; + private Integer filecount; + private String dutyperson; + private String eweavedate; + private Integer filepage; + private String sortorder; + private String bpeg; + private String epeg; + private String filenum; + private String remark; + private String recordnum; + private String piecenumber; + private String adddate; + private String editdate; + private String timeStamp; + private Integer isdel; + private String catalogpdfurl; + private String signtag; + private String collecttag; + + public FilesApplyDirectoryDocs() {} + + public FilesApplyDirectoryDocs(FilesApplyDirectoryDocs value) { + this.id = value.id; + this.filesApplyId = value.filesApplyId; + this.directoryFileId = value.directoryFileId; + this.directoryFilePId = value.directoryFilePId; + this.filesuper = value.filesuper; + this.filecount = value.filecount; + this.dutyperson = value.dutyperson; + this.eweavedate = value.eweavedate; + this.filepage = value.filepage; + this.sortorder = value.sortorder; + this.bpeg = value.bpeg; + this.epeg = value.epeg; + this.filenum = value.filenum; + this.remark = value.remark; + this.recordnum = value.recordnum; + this.piecenumber = value.piecenumber; + this.adddate = value.adddate; + this.editdate = value.editdate; + this.timeStamp = value.timeStamp; + this.isdel = value.isdel; + this.catalogpdfurl = value.catalogpdfurl; + this.signtag = value.signtag; + this.collecttag = value.collecttag; + } + + public FilesApplyDirectoryDocs( + String id, + String filesApplyId, + String directoryFileId, + String directoryFilePId, + String filesuper, + Integer filecount, + String dutyperson, + String eweavedate, + Integer filepage, + String sortorder, + String bpeg, + String epeg, + String filenum, + String remark, + String recordnum, + String piecenumber, + String adddate, + String editdate, + String timeStamp, + Integer isdel, + String catalogpdfurl, + String signtag, + String collecttag + ) { + this.id = id; + this.filesApplyId = filesApplyId; + this.directoryFileId = directoryFileId; + this.directoryFilePId = directoryFilePId; + this.filesuper = filesuper; + this.filecount = filecount; + this.dutyperson = dutyperson; + this.eweavedate = eweavedate; + this.filepage = filepage; + this.sortorder = sortorder; + this.bpeg = bpeg; + this.epeg = epeg; + this.filenum = filenum; + this.remark = remark; + this.recordnum = recordnum; + this.piecenumber = piecenumber; + this.adddate = adddate; + this.editdate = editdate; + this.timeStamp = timeStamp; + this.isdel = isdel; + this.catalogpdfurl = catalogpdfurl; + this.signtag = signtag; + this.collecttag = collecttag; + } + + /** + * Getter for public.files_apply_directory_docs.id. + */ + public String getId() { + return this.id; + } + + /** + * Setter for public.files_apply_directory_docs.id. + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter for public.files_apply_directory_docs.files_apply_id. + */ + public String getFilesApplyId() { + return this.filesApplyId; + } + + /** + * Setter for public.files_apply_directory_docs.files_apply_id. + */ + public void setFilesApplyId(String filesApplyId) { + this.filesApplyId = filesApplyId; + } + + /** + * Getter for + * public.files_apply_directory_docs.directory_file_id. + */ + public String getDirectoryFileId() { + return this.directoryFileId; + } + + /** + * Setter for + * public.files_apply_directory_docs.directory_file_id. + */ + public void setDirectoryFileId(String directoryFileId) { + this.directoryFileId = directoryFileId; + } + + /** + * Getter for + * public.files_apply_directory_docs.directory_file_p_id. + */ + public String getDirectoryFilePId() { + return this.directoryFilePId; + } + + /** + * Setter for + * public.files_apply_directory_docs.directory_file_p_id. + */ + public void setDirectoryFilePId(String directoryFilePId) { + this.directoryFilePId = directoryFilePId; + } + + /** + * Getter for public.files_apply_directory_docs.filesuper. + */ + public String getFilesuper() { + return this.filesuper; + } + + /** + * Setter for public.files_apply_directory_docs.filesuper. + */ + public void setFilesuper(String filesuper) { + this.filesuper = filesuper; + } + + /** + * Getter for public.files_apply_directory_docs.filecount. + */ + public Integer getFilecount() { + return this.filecount; + } + + /** + * Setter for public.files_apply_directory_docs.filecount. + */ + public void setFilecount(Integer filecount) { + this.filecount = filecount; + } + + /** + * Getter for public.files_apply_directory_docs.dutyperson. + */ + public String getDutyperson() { + return this.dutyperson; + } + + /** + * Setter for public.files_apply_directory_docs.dutyperson. + */ + public void setDutyperson(String dutyperson) { + this.dutyperson = dutyperson; + } + + /** + * Getter for public.files_apply_directory_docs.eweavedate. + */ + public String getEweavedate() { + return this.eweavedate; + } + + /** + * Setter for public.files_apply_directory_docs.eweavedate. + */ + public void setEweavedate(String eweavedate) { + this.eweavedate = eweavedate; + } + + /** + * Getter for public.files_apply_directory_docs.filepage. + */ + public Integer getFilepage() { + return this.filepage; + } + + /** + * Setter for public.files_apply_directory_docs.filepage. + */ + public void setFilepage(Integer filepage) { + this.filepage = filepage; + } + + /** + * Getter for public.files_apply_directory_docs.sortorder. + */ + public String getSortorder() { + return this.sortorder; + } + + /** + * Setter for public.files_apply_directory_docs.sortorder. + */ + public void setSortorder(String sortorder) { + this.sortorder = sortorder; + } + + /** + * Getter for public.files_apply_directory_docs.bpeg. + */ + public String getBpeg() { + return this.bpeg; + } + + /** + * Setter for public.files_apply_directory_docs.bpeg. + */ + public void setBpeg(String bpeg) { + this.bpeg = bpeg; + } + + /** + * Getter for public.files_apply_directory_docs.epeg. + */ + public String getEpeg() { + return this.epeg; + } + + /** + * Setter for public.files_apply_directory_docs.epeg. + */ + public void setEpeg(String epeg) { + this.epeg = epeg; + } + + /** + * Getter for public.files_apply_directory_docs.filenum. + */ + public String getFilenum() { + return this.filenum; + } + + /** + * Setter for public.files_apply_directory_docs.filenum. + */ + public void setFilenum(String filenum) { + this.filenum = filenum; + } + + /** + * Getter for public.files_apply_directory_docs.remark. + */ + public String getRemark() { + return this.remark; + } + + /** + * Setter for public.files_apply_directory_docs.remark. + */ + public void setRemark(String remark) { + this.remark = remark; + } + + /** + * Getter for public.files_apply_directory_docs.recordnum. + */ + public String getRecordnum() { + return this.recordnum; + } + + /** + * Setter for public.files_apply_directory_docs.recordnum. + */ + public void setRecordnum(String recordnum) { + this.recordnum = recordnum; + } + + /** + * Getter for public.files_apply_directory_docs.piecenumber. + */ + public String getPiecenumber() { + return this.piecenumber; + } + + /** + * Setter for public.files_apply_directory_docs.piecenumber. + */ + public void setPiecenumber(String piecenumber) { + this.piecenumber = piecenumber; + } + + /** + * Getter for public.files_apply_directory_docs.adddate. + */ + public String getAdddate() { + return this.adddate; + } + + /** + * Setter for public.files_apply_directory_docs.adddate. + */ + public void setAdddate(String adddate) { + this.adddate = adddate; + } + + /** + * Getter for public.files_apply_directory_docs.editdate. + */ + public String getEditdate() { + return this.editdate; + } + + /** + * Setter for public.files_apply_directory_docs.editdate. + */ + public void setEditdate(String editdate) { + this.editdate = editdate; + } + + /** + * Getter for public.files_apply_directory_docs.time_stamp. + */ + public String getTimeStamp() { + return this.timeStamp; + } + + /** + * Setter for public.files_apply_directory_docs.time_stamp. + */ + public void setTimeStamp(String timeStamp) { + this.timeStamp = timeStamp; + } + + /** + * Getter for public.files_apply_directory_docs.isdel. + */ + public Integer getIsdel() { + return this.isdel; + } + + /** + * Setter for public.files_apply_directory_docs.isdel. + */ + public void setIsdel(Integer isdel) { + this.isdel = isdel; + } + + /** + * Getter for public.files_apply_directory_docs.catalogpdfurl. + */ + public String getCatalogpdfurl() { + return this.catalogpdfurl; + } + + /** + * Setter for public.files_apply_directory_docs.catalogpdfurl. + */ + public void setCatalogpdfurl(String catalogpdfurl) { + this.catalogpdfurl = catalogpdfurl; + } + + /** + * Getter for public.files_apply_directory_docs.signtag. + */ + public String getSigntag() { + return this.signtag; + } + + /** + * Setter for public.files_apply_directory_docs.signtag. + */ + public void setSigntag(String signtag) { + this.signtag = signtag; + } + + /** + * Getter for public.files_apply_directory_docs.collecttag. + */ + public String getCollecttag() { + return this.collecttag; + } + + /** + * Setter for public.files_apply_directory_docs.collecttag. + */ + public void setCollecttag(String collecttag) { + this.collecttag = collecttag; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final FilesApplyDirectoryDocs other = (FilesApplyDirectoryDocs) obj; + if (this.id == null) { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + return false; + if (this.filesApplyId == null) { + if (other.filesApplyId != null) + return false; + } + else if (!this.filesApplyId.equals(other.filesApplyId)) + return false; + if (this.directoryFileId == null) { + if (other.directoryFileId != null) + return false; + } + else if (!this.directoryFileId.equals(other.directoryFileId)) + return false; + if (this.directoryFilePId == null) { + if (other.directoryFilePId != null) + return false; + } + else if (!this.directoryFilePId.equals(other.directoryFilePId)) + return false; + if (this.filesuper == null) { + if (other.filesuper != null) + return false; + } + else if (!this.filesuper.equals(other.filesuper)) + return false; + if (this.filecount == null) { + if (other.filecount != null) + return false; + } + else if (!this.filecount.equals(other.filecount)) + return false; + if (this.dutyperson == null) { + if (other.dutyperson != null) + return false; + } + else if (!this.dutyperson.equals(other.dutyperson)) + return false; + if (this.eweavedate == null) { + if (other.eweavedate != null) + return false; + } + else if (!this.eweavedate.equals(other.eweavedate)) + return false; + if (this.filepage == null) { + if (other.filepage != null) + return false; + } + else if (!this.filepage.equals(other.filepage)) + return false; + if (this.sortorder == null) { + if (other.sortorder != null) + return false; + } + else if (!this.sortorder.equals(other.sortorder)) + return false; + if (this.bpeg == null) { + if (other.bpeg != null) + return false; + } + else if (!this.bpeg.equals(other.bpeg)) + return false; + if (this.epeg == null) { + if (other.epeg != null) + return false; + } + else if (!this.epeg.equals(other.epeg)) + return false; + if (this.filenum == null) { + if (other.filenum != null) + return false; + } + else if (!this.filenum.equals(other.filenum)) + return false; + if (this.remark == null) { + if (other.remark != null) + return false; + } + else if (!this.remark.equals(other.remark)) + return false; + if (this.recordnum == null) { + if (other.recordnum != null) + return false; + } + else if (!this.recordnum.equals(other.recordnum)) + return false; + if (this.piecenumber == null) { + if (other.piecenumber != null) + return false; + } + else if (!this.piecenumber.equals(other.piecenumber)) + return false; + if (this.adddate == null) { + if (other.adddate != null) + return false; + } + else if (!this.adddate.equals(other.adddate)) + return false; + if (this.editdate == null) { + if (other.editdate != null) + return false; + } + else if (!this.editdate.equals(other.editdate)) + return false; + if (this.timeStamp == null) { + if (other.timeStamp != null) + return false; + } + else if (!this.timeStamp.equals(other.timeStamp)) + return false; + if (this.isdel == null) { + if (other.isdel != null) + return false; + } + else if (!this.isdel.equals(other.isdel)) + return false; + if (this.catalogpdfurl == null) { + if (other.catalogpdfurl != null) + return false; + } + else if (!this.catalogpdfurl.equals(other.catalogpdfurl)) + return false; + if (this.signtag == null) { + if (other.signtag != null) + return false; + } + else if (!this.signtag.equals(other.signtag)) + return false; + if (this.collecttag == null) { + if (other.collecttag != null) + return false; + } + else if (!this.collecttag.equals(other.collecttag)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.id == null) ? 0 : this.id.hashCode()); + result = prime * result + ((this.filesApplyId == null) ? 0 : this.filesApplyId.hashCode()); + result = prime * result + ((this.directoryFileId == null) ? 0 : this.directoryFileId.hashCode()); + result = prime * result + ((this.directoryFilePId == null) ? 0 : this.directoryFilePId.hashCode()); + result = prime * result + ((this.filesuper == null) ? 0 : this.filesuper.hashCode()); + result = prime * result + ((this.filecount == null) ? 0 : this.filecount.hashCode()); + result = prime * result + ((this.dutyperson == null) ? 0 : this.dutyperson.hashCode()); + result = prime * result + ((this.eweavedate == null) ? 0 : this.eweavedate.hashCode()); + result = prime * result + ((this.filepage == null) ? 0 : this.filepage.hashCode()); + result = prime * result + ((this.sortorder == null) ? 0 : this.sortorder.hashCode()); + result = prime * result + ((this.bpeg == null) ? 0 : this.bpeg.hashCode()); + result = prime * result + ((this.epeg == null) ? 0 : this.epeg.hashCode()); + result = prime * result + ((this.filenum == null) ? 0 : this.filenum.hashCode()); + result = prime * result + ((this.remark == null) ? 0 : this.remark.hashCode()); + result = prime * result + ((this.recordnum == null) ? 0 : this.recordnum.hashCode()); + result = prime * result + ((this.piecenumber == null) ? 0 : this.piecenumber.hashCode()); + result = prime * result + ((this.adddate == null) ? 0 : this.adddate.hashCode()); + result = prime * result + ((this.editdate == null) ? 0 : this.editdate.hashCode()); + result = prime * result + ((this.timeStamp == null) ? 0 : this.timeStamp.hashCode()); + result = prime * result + ((this.isdel == null) ? 0 : this.isdel.hashCode()); + result = prime * result + ((this.catalogpdfurl == null) ? 0 : this.catalogpdfurl.hashCode()); + result = prime * result + ((this.signtag == null) ? 0 : this.signtag.hashCode()); + result = prime * result + ((this.collecttag == null) ? 0 : this.collecttag.hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("FilesApplyDirectoryDocs ("); + + sb.append(id); + sb.append(", ").append(filesApplyId); + sb.append(", ").append(directoryFileId); + sb.append(", ").append(directoryFilePId); + sb.append(", ").append(filesuper); + sb.append(", ").append(filecount); + sb.append(", ").append(dutyperson); + sb.append(", ").append(eweavedate); + sb.append(", ").append(filepage); + sb.append(", ").append(sortorder); + sb.append(", ").append(bpeg); + sb.append(", ").append(epeg); + sb.append(", ").append(filenum); + sb.append(", ").append(remark); + sb.append(", ").append(recordnum); + sb.append(", ").append(piecenumber); + sb.append(", ").append(adddate); + sb.append(", ").append(editdate); + sb.append(", ").append(timeStamp); + sb.append(", ").append(isdel); + sb.append(", ").append(catalogpdfurl); + sb.append(", ").append(signtag); + sb.append(", ").append(collecttag); + + sb.append(")"); + return sb.toString(); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/FilesApplyDocs.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/FilesApplyDocs.java new file mode 100644 index 0000000..dcc21e8 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/FilesApplyDocs.java @@ -0,0 +1,601 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.pojos; + + +import java.io.Serializable; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class FilesApplyDocs implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + private String filesApplyId; + private String synFileId; + private String synFilePId; + private String tablenumber; + private String annexname; + private String projectname; + private String eweavedate; + private String checkdate; + private Integer annexpage; + private String sortorder; + private String filefrom; + private String archivestag; + private String adddate; + private String editdate; + private String timeStamp; + private Integer isdel; + private String downurl; + private Integer filesize; + private Integer applyViewTypePrint; + private Integer applyViewTypeOnline; + + public FilesApplyDocs() {} + + public FilesApplyDocs(FilesApplyDocs value) { + this.id = value.id; + this.filesApplyId = value.filesApplyId; + this.synFileId = value.synFileId; + this.synFilePId = value.synFilePId; + this.tablenumber = value.tablenumber; + this.annexname = value.annexname; + this.projectname = value.projectname; + this.eweavedate = value.eweavedate; + this.checkdate = value.checkdate; + this.annexpage = value.annexpage; + this.sortorder = value.sortorder; + this.filefrom = value.filefrom; + this.archivestag = value.archivestag; + this.adddate = value.adddate; + this.editdate = value.editdate; + this.timeStamp = value.timeStamp; + this.isdel = value.isdel; + this.downurl = value.downurl; + this.filesize = value.filesize; + this.applyViewTypePrint = value.applyViewTypePrint; + this.applyViewTypeOnline = value.applyViewTypeOnline; + } + + public FilesApplyDocs( + String id, + String filesApplyId, + String synFileId, + String synFilePId, + String tablenumber, + String annexname, + String projectname, + String eweavedate, + String checkdate, + Integer annexpage, + String sortorder, + String filefrom, + String archivestag, + String adddate, + String editdate, + String timeStamp, + Integer isdel, + String downurl, + Integer filesize, + Integer applyViewTypePrint, + Integer applyViewTypeOnline + ) { + this.id = id; + this.filesApplyId = filesApplyId; + this.synFileId = synFileId; + this.synFilePId = synFilePId; + this.tablenumber = tablenumber; + this.annexname = annexname; + this.projectname = projectname; + this.eweavedate = eweavedate; + this.checkdate = checkdate; + this.annexpage = annexpage; + this.sortorder = sortorder; + this.filefrom = filefrom; + this.archivestag = archivestag; + this.adddate = adddate; + this.editdate = editdate; + this.timeStamp = timeStamp; + this.isdel = isdel; + this.downurl = downurl; + this.filesize = filesize; + this.applyViewTypePrint = applyViewTypePrint; + this.applyViewTypeOnline = applyViewTypeOnline; + } + + /** + * Getter for public.files_apply_docs.id. + */ + public String getId() { + return this.id; + } + + /** + * Setter for public.files_apply_docs.id. + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter for public.files_apply_docs.files_apply_id. + */ + public String getFilesApplyId() { + return this.filesApplyId; + } + + /** + * Setter for public.files_apply_docs.files_apply_id. + */ + public void setFilesApplyId(String filesApplyId) { + this.filesApplyId = filesApplyId; + } + + /** + * Getter for public.files_apply_docs.syn_file_id. + */ + public String getSynFileId() { + return this.synFileId; + } + + /** + * Setter for public.files_apply_docs.syn_file_id. + */ + public void setSynFileId(String synFileId) { + this.synFileId = synFileId; + } + + /** + * Getter for public.files_apply_docs.syn_file_p_id. + */ + public String getSynFilePId() { + return this.synFilePId; + } + + /** + * Setter for public.files_apply_docs.syn_file_p_id. + */ + public void setSynFilePId(String synFilePId) { + this.synFilePId = synFilePId; + } + + /** + * Getter for public.files_apply_docs.tablenumber. + */ + public String getTablenumber() { + return this.tablenumber; + } + + /** + * Setter for public.files_apply_docs.tablenumber. + */ + public void setTablenumber(String tablenumber) { + this.tablenumber = tablenumber; + } + + /** + * Getter for public.files_apply_docs.annexname. + */ + public String getAnnexname() { + return this.annexname; + } + + /** + * Setter for public.files_apply_docs.annexname. + */ + public void setAnnexname(String annexname) { + this.annexname = annexname; + } + + /** + * Getter for public.files_apply_docs.projectname. + */ + public String getProjectname() { + return this.projectname; + } + + /** + * Setter for public.files_apply_docs.projectname. + */ + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + /** + * Getter for public.files_apply_docs.eweavedate. + */ + public String getEweavedate() { + return this.eweavedate; + } + + /** + * Setter for public.files_apply_docs.eweavedate. + */ + public void setEweavedate(String eweavedate) { + this.eweavedate = eweavedate; + } + + /** + * Getter for public.files_apply_docs.checkdate. + */ + public String getCheckdate() { + return this.checkdate; + } + + /** + * Setter for public.files_apply_docs.checkdate. + */ + public void setCheckdate(String checkdate) { + this.checkdate = checkdate; + } + + /** + * Getter for public.files_apply_docs.annexpage. + */ + public Integer getAnnexpage() { + return this.annexpage; + } + + /** + * Setter for public.files_apply_docs.annexpage. + */ + public void setAnnexpage(Integer annexpage) { + this.annexpage = annexpage; + } + + /** + * Getter for public.files_apply_docs.sortorder. + */ + public String getSortorder() { + return this.sortorder; + } + + /** + * Setter for public.files_apply_docs.sortorder. + */ + public void setSortorder(String sortorder) { + this.sortorder = sortorder; + } + + /** + * Getter for public.files_apply_docs.filefrom. + */ + public String getFilefrom() { + return this.filefrom; + } + + /** + * Setter for public.files_apply_docs.filefrom. + */ + public void setFilefrom(String filefrom) { + this.filefrom = filefrom; + } + + /** + * Getter for public.files_apply_docs.archivestag. + */ + public String getArchivestag() { + return this.archivestag; + } + + /** + * Setter for public.files_apply_docs.archivestag. + */ + public void setArchivestag(String archivestag) { + this.archivestag = archivestag; + } + + /** + * Getter for public.files_apply_docs.adddate. + */ + public String getAdddate() { + return this.adddate; + } + + /** + * Setter for public.files_apply_docs.adddate. + */ + public void setAdddate(String adddate) { + this.adddate = adddate; + } + + /** + * Getter for public.files_apply_docs.editdate. + */ + public String getEditdate() { + return this.editdate; + } + + /** + * Setter for public.files_apply_docs.editdate. + */ + public void setEditdate(String editdate) { + this.editdate = editdate; + } + + /** + * Getter for public.files_apply_docs.time_stamp. + */ + public String getTimeStamp() { + return this.timeStamp; + } + + /** + * Setter for public.files_apply_docs.time_stamp. + */ + public void setTimeStamp(String timeStamp) { + this.timeStamp = timeStamp; + } + + /** + * Getter for public.files_apply_docs.isdel. + */ + public Integer getIsdel() { + return this.isdel; + } + + /** + * Setter for public.files_apply_docs.isdel. + */ + public void setIsdel(Integer isdel) { + this.isdel = isdel; + } + + /** + * Getter for public.files_apply_docs.downurl. + */ + public String getDownurl() { + return this.downurl; + } + + /** + * Setter for public.files_apply_docs.downurl. + */ + public void setDownurl(String downurl) { + this.downurl = downurl; + } + + /** + * Getter for public.files_apply_docs.filesize. + */ + public Integer getFilesize() { + return this.filesize; + } + + /** + * Setter for public.files_apply_docs.filesize. + */ + public void setFilesize(Integer filesize) { + this.filesize = filesize; + } + + /** + * Getter for public.files_apply_docs.apply_view_type_print. + */ + public Integer getApplyViewTypePrint() { + return this.applyViewTypePrint; + } + + /** + * Setter for public.files_apply_docs.apply_view_type_print. + */ + public void setApplyViewTypePrint(Integer applyViewTypePrint) { + this.applyViewTypePrint = applyViewTypePrint; + } + + /** + * Getter for public.files_apply_docs.apply_view_type_online. + */ + public Integer getApplyViewTypeOnline() { + return this.applyViewTypeOnline; + } + + /** + * Setter for public.files_apply_docs.apply_view_type_online. + */ + public void setApplyViewTypeOnline(Integer applyViewTypeOnline) { + this.applyViewTypeOnline = applyViewTypeOnline; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final FilesApplyDocs other = (FilesApplyDocs) obj; + if (this.id == null) { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + return false; + if (this.filesApplyId == null) { + if (other.filesApplyId != null) + return false; + } + else if (!this.filesApplyId.equals(other.filesApplyId)) + return false; + if (this.synFileId == null) { + if (other.synFileId != null) + return false; + } + else if (!this.synFileId.equals(other.synFileId)) + return false; + if (this.synFilePId == null) { + if (other.synFilePId != null) + return false; + } + else if (!this.synFilePId.equals(other.synFilePId)) + return false; + if (this.tablenumber == null) { + if (other.tablenumber != null) + return false; + } + else if (!this.tablenumber.equals(other.tablenumber)) + return false; + if (this.annexname == null) { + if (other.annexname != null) + return false; + } + else if (!this.annexname.equals(other.annexname)) + return false; + if (this.projectname == null) { + if (other.projectname != null) + return false; + } + else if (!this.projectname.equals(other.projectname)) + return false; + if (this.eweavedate == null) { + if (other.eweavedate != null) + return false; + } + else if (!this.eweavedate.equals(other.eweavedate)) + return false; + if (this.checkdate == null) { + if (other.checkdate != null) + return false; + } + else if (!this.checkdate.equals(other.checkdate)) + return false; + if (this.annexpage == null) { + if (other.annexpage != null) + return false; + } + else if (!this.annexpage.equals(other.annexpage)) + return false; + if (this.sortorder == null) { + if (other.sortorder != null) + return false; + } + else if (!this.sortorder.equals(other.sortorder)) + return false; + if (this.filefrom == null) { + if (other.filefrom != null) + return false; + } + else if (!this.filefrom.equals(other.filefrom)) + return false; + if (this.archivestag == null) { + if (other.archivestag != null) + return false; + } + else if (!this.archivestag.equals(other.archivestag)) + return false; + if (this.adddate == null) { + if (other.adddate != null) + return false; + } + else if (!this.adddate.equals(other.adddate)) + return false; + if (this.editdate == null) { + if (other.editdate != null) + return false; + } + else if (!this.editdate.equals(other.editdate)) + return false; + if (this.timeStamp == null) { + if (other.timeStamp != null) + return false; + } + else if (!this.timeStamp.equals(other.timeStamp)) + return false; + if (this.isdel == null) { + if (other.isdel != null) + return false; + } + else if (!this.isdel.equals(other.isdel)) + return false; + if (this.downurl == null) { + if (other.downurl != null) + return false; + } + else if (!this.downurl.equals(other.downurl)) + return false; + if (this.filesize == null) { + if (other.filesize != null) + return false; + } + else if (!this.filesize.equals(other.filesize)) + return false; + if (this.applyViewTypePrint == null) { + if (other.applyViewTypePrint != null) + return false; + } + else if (!this.applyViewTypePrint.equals(other.applyViewTypePrint)) + return false; + if (this.applyViewTypeOnline == null) { + if (other.applyViewTypeOnline != null) + return false; + } + else if (!this.applyViewTypeOnline.equals(other.applyViewTypeOnline)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.id == null) ? 0 : this.id.hashCode()); + result = prime * result + ((this.filesApplyId == null) ? 0 : this.filesApplyId.hashCode()); + result = prime * result + ((this.synFileId == null) ? 0 : this.synFileId.hashCode()); + result = prime * result + ((this.synFilePId == null) ? 0 : this.synFilePId.hashCode()); + result = prime * result + ((this.tablenumber == null) ? 0 : this.tablenumber.hashCode()); + result = prime * result + ((this.annexname == null) ? 0 : this.annexname.hashCode()); + result = prime * result + ((this.projectname == null) ? 0 : this.projectname.hashCode()); + result = prime * result + ((this.eweavedate == null) ? 0 : this.eweavedate.hashCode()); + result = prime * result + ((this.checkdate == null) ? 0 : this.checkdate.hashCode()); + result = prime * result + ((this.annexpage == null) ? 0 : this.annexpage.hashCode()); + result = prime * result + ((this.sortorder == null) ? 0 : this.sortorder.hashCode()); + result = prime * result + ((this.filefrom == null) ? 0 : this.filefrom.hashCode()); + result = prime * result + ((this.archivestag == null) ? 0 : this.archivestag.hashCode()); + result = prime * result + ((this.adddate == null) ? 0 : this.adddate.hashCode()); + result = prime * result + ((this.editdate == null) ? 0 : this.editdate.hashCode()); + result = prime * result + ((this.timeStamp == null) ? 0 : this.timeStamp.hashCode()); + result = prime * result + ((this.isdel == null) ? 0 : this.isdel.hashCode()); + result = prime * result + ((this.downurl == null) ? 0 : this.downurl.hashCode()); + result = prime * result + ((this.filesize == null) ? 0 : this.filesize.hashCode()); + result = prime * result + ((this.applyViewTypePrint == null) ? 0 : this.applyViewTypePrint.hashCode()); + result = prime * result + ((this.applyViewTypeOnline == null) ? 0 : this.applyViewTypeOnline.hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("FilesApplyDocs ("); + + sb.append(id); + sb.append(", ").append(filesApplyId); + sb.append(", ").append(synFileId); + sb.append(", ").append(synFilePId); + sb.append(", ").append(tablenumber); + sb.append(", ").append(annexname); + sb.append(", ").append(projectname); + sb.append(", ").append(eweavedate); + sb.append(", ").append(checkdate); + sb.append(", ").append(annexpage); + sb.append(", ").append(sortorder); + sb.append(", ").append(filefrom); + sb.append(", ").append(archivestag); + sb.append(", ").append(adddate); + sb.append(", ").append(editdate); + sb.append(", ").append(timeStamp); + sb.append(", ").append(isdel); + sb.append(", ").append(downurl); + sb.append(", ").append(filesize); + sb.append(", ").append(applyViewTypePrint); + sb.append(", ").append(applyViewTypeOnline); + + sb.append(")"); + return sb.toString(); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/FilesApplyDownloadRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/FilesApplyDownloadRecord.java new file mode 100644 index 0000000..d8eb959 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/FilesApplyDownloadRecord.java @@ -0,0 +1,344 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.pojos; + + +import java.io.Serializable; +import java.time.LocalDateTime; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class FilesApplyDownloadRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + private String filesApplyId; + private Integer isDirFile; + private String synFileId; + private String synFilePId; + private String synFileName; + private String userId; + private String userName; + private String orgId; + private String orgName; + private LocalDateTime downloadTime; + + public FilesApplyDownloadRecord() {} + + public FilesApplyDownloadRecord(FilesApplyDownloadRecord value) { + this.id = value.id; + this.filesApplyId = value.filesApplyId; + this.isDirFile = value.isDirFile; + this.synFileId = value.synFileId; + this.synFilePId = value.synFilePId; + this.synFileName = value.synFileName; + this.userId = value.userId; + this.userName = value.userName; + this.orgId = value.orgId; + this.orgName = value.orgName; + this.downloadTime = value.downloadTime; + } + + public FilesApplyDownloadRecord( + String id, + String filesApplyId, + Integer isDirFile, + String synFileId, + String synFilePId, + String synFileName, + String userId, + String userName, + String orgId, + String orgName, + LocalDateTime downloadTime + ) { + this.id = id; + this.filesApplyId = filesApplyId; + this.isDirFile = isDirFile; + this.synFileId = synFileId; + this.synFilePId = synFilePId; + this.synFileName = synFileName; + this.userId = userId; + this.userName = userName; + this.orgId = orgId; + this.orgName = orgName; + this.downloadTime = downloadTime; + } + + /** + * Getter for public.files_apply_download_record.id. + */ + public String getId() { + return this.id; + } + + /** + * Setter for public.files_apply_download_record.id. + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter for + * public.files_apply_download_record.files_apply_id. + */ + public String getFilesApplyId() { + return this.filesApplyId; + } + + /** + * Setter for + * public.files_apply_download_record.files_apply_id. + */ + public void setFilesApplyId(String filesApplyId) { + this.filesApplyId = filesApplyId; + } + + /** + * Getter for public.files_apply_download_record.is_dir_file. + */ + public Integer getIsDirFile() { + return this.isDirFile; + } + + /** + * Setter for public.files_apply_download_record.is_dir_file. + */ + public void setIsDirFile(Integer isDirFile) { + this.isDirFile = isDirFile; + } + + /** + * Getter for public.files_apply_download_record.syn_file_id. + */ + public String getSynFileId() { + return this.synFileId; + } + + /** + * Setter for public.files_apply_download_record.syn_file_id. + */ + public void setSynFileId(String synFileId) { + this.synFileId = synFileId; + } + + /** + * Getter for public.files_apply_download_record.syn_file_p_id. + */ + public String getSynFilePId() { + return this.synFilePId; + } + + /** + * Setter for public.files_apply_download_record.syn_file_p_id. + */ + public void setSynFilePId(String synFilePId) { + this.synFilePId = synFilePId; + } + + /** + * Getter for public.files_apply_download_record.syn_file_name. + */ + public String getSynFileName() { + return this.synFileName; + } + + /** + * Setter for public.files_apply_download_record.syn_file_name. + */ + public void setSynFileName(String synFileName) { + this.synFileName = synFileName; + } + + /** + * Getter for public.files_apply_download_record.user_id. + */ + public String getUserId() { + return this.userId; + } + + /** + * Setter for public.files_apply_download_record.user_id. + */ + public void setUserId(String userId) { + this.userId = userId; + } + + /** + * Getter for public.files_apply_download_record.user_name. + */ + public String getUserName() { + return this.userName; + } + + /** + * Setter for public.files_apply_download_record.user_name. + */ + public void setUserName(String userName) { + this.userName = userName; + } + + /** + * Getter for public.files_apply_download_record.org_id. + */ + public String getOrgId() { + return this.orgId; + } + + /** + * Setter for public.files_apply_download_record.org_id. + */ + public void setOrgId(String orgId) { + this.orgId = orgId; + } + + /** + * Getter for public.files_apply_download_record.org_name. + */ + public String getOrgName() { + return this.orgName; + } + + /** + * Setter for public.files_apply_download_record.org_name. + */ + public void setOrgName(String orgName) { + this.orgName = orgName; + } + + /** + * Getter for public.files_apply_download_record.download_time. + */ + public LocalDateTime getDownloadTime() { + return this.downloadTime; + } + + /** + * Setter for public.files_apply_download_record.download_time. + */ + public void setDownloadTime(LocalDateTime downloadTime) { + this.downloadTime = downloadTime; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final FilesApplyDownloadRecord other = (FilesApplyDownloadRecord) obj; + if (this.id == null) { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + return false; + if (this.filesApplyId == null) { + if (other.filesApplyId != null) + return false; + } + else if (!this.filesApplyId.equals(other.filesApplyId)) + return false; + if (this.isDirFile == null) { + if (other.isDirFile != null) + return false; + } + else if (!this.isDirFile.equals(other.isDirFile)) + return false; + if (this.synFileId == null) { + if (other.synFileId != null) + return false; + } + else if (!this.synFileId.equals(other.synFileId)) + return false; + if (this.synFilePId == null) { + if (other.synFilePId != null) + return false; + } + else if (!this.synFilePId.equals(other.synFilePId)) + return false; + if (this.synFileName == null) { + if (other.synFileName != null) + return false; + } + else if (!this.synFileName.equals(other.synFileName)) + return false; + if (this.userId == null) { + if (other.userId != null) + return false; + } + else if (!this.userId.equals(other.userId)) + return false; + if (this.userName == null) { + if (other.userName != null) + return false; + } + else if (!this.userName.equals(other.userName)) + return false; + if (this.orgId == null) { + if (other.orgId != null) + return false; + } + else if (!this.orgId.equals(other.orgId)) + return false; + if (this.orgName == null) { + if (other.orgName != null) + return false; + } + else if (!this.orgName.equals(other.orgName)) + return false; + if (this.downloadTime == null) { + if (other.downloadTime != null) + return false; + } + else if (!this.downloadTime.equals(other.downloadTime)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.id == null) ? 0 : this.id.hashCode()); + result = prime * result + ((this.filesApplyId == null) ? 0 : this.filesApplyId.hashCode()); + result = prime * result + ((this.isDirFile == null) ? 0 : this.isDirFile.hashCode()); + result = prime * result + ((this.synFileId == null) ? 0 : this.synFileId.hashCode()); + result = prime * result + ((this.synFilePId == null) ? 0 : this.synFilePId.hashCode()); + result = prime * result + ((this.synFileName == null) ? 0 : this.synFileName.hashCode()); + result = prime * result + ((this.userId == null) ? 0 : this.userId.hashCode()); + result = prime * result + ((this.userName == null) ? 0 : this.userName.hashCode()); + result = prime * result + ((this.orgId == null) ? 0 : this.orgId.hashCode()); + result = prime * result + ((this.orgName == null) ? 0 : this.orgName.hashCode()); + result = prime * result + ((this.downloadTime == null) ? 0 : this.downloadTime.hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("FilesApplyDownloadRecord ("); + + sb.append(id); + sb.append(", ").append(filesApplyId); + sb.append(", ").append(isDirFile); + sb.append(", ").append(synFileId); + sb.append(", ").append(synFilePId); + sb.append(", ").append(synFileName); + sb.append(", ").append(userId); + sb.append(", ").append(userName); + sb.append(", ").append(orgId); + sb.append(", ").append(orgName); + sb.append(", ").append(downloadTime); + + sb.append(")"); + return sb.toString(); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/Project.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/Project.java new file mode 100644 index 0000000..5e32e43 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/Project.java @@ -0,0 +1,159 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.pojos; + + +import java.io.Serializable; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class Project implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + private String projectName; + private String orgId; + private String orgName; + + public Project() {} + + public Project(Project value) { + this.id = value.id; + this.projectName = value.projectName; + this.orgId = value.orgId; + this.orgName = value.orgName; + } + + public Project( + String id, + String projectName, + String orgId, + String orgName + ) { + this.id = id; + this.projectName = projectName; + this.orgId = orgId; + this.orgName = orgName; + } + + /** + * Getter for public.project.id. + */ + public String getId() { + return this.id; + } + + /** + * Setter for public.project.id. + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter for public.project.project_name. + */ + public String getProjectName() { + return this.projectName; + } + + /** + * Setter for public.project.project_name. + */ + public void setProjectName(String projectName) { + this.projectName = projectName; + } + + /** + * Getter for public.project.org_id. + */ + public String getOrgId() { + return this.orgId; + } + + /** + * Setter for public.project.org_id. + */ + public void setOrgId(String orgId) { + this.orgId = orgId; + } + + /** + * Getter for public.project.org_name. + */ + public String getOrgName() { + return this.orgName; + } + + /** + * Setter for public.project.org_name. + */ + public void setOrgName(String orgName) { + this.orgName = orgName; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final Project other = (Project) obj; + if (this.id == null) { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + return false; + if (this.projectName == null) { + if (other.projectName != null) + return false; + } + else if (!this.projectName.equals(other.projectName)) + return false; + if (this.orgId == null) { + if (other.orgId != null) + return false; + } + else if (!this.orgId.equals(other.orgId)) + return false; + if (this.orgName == null) { + if (other.orgName != null) + return false; + } + else if (!this.orgName.equals(other.orgName)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.id == null) ? 0 : this.id.hashCode()); + result = prime * result + ((this.projectName == null) ? 0 : this.projectName.hashCode()); + result = prime * result + ((this.orgId == null) ? 0 : this.orgId.hashCode()); + result = prime * result + ((this.orgName == null) ? 0 : this.orgName.hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("Project ("); + + sb.append(id); + sb.append(", ").append(projectName); + sb.append(", ").append(orgId); + sb.append(", ").append(orgName); + + sb.append(")"); + return sb.toString(); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/ReadLog.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/ReadLog.java new file mode 100644 index 0000000..3ca6334 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/ReadLog.java @@ -0,0 +1,394 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.pojos; + + +import java.io.Serializable; +import java.time.LocalDateTime; + + +/** + * 阅读情况 + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class ReadLog implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + private String weid; + private String contentId; + private LocalDateTime starttime; + private LocalDateTime endtime; + private String ip; + private String location; + private Integer downloadtype; + private String sign; + private String readid; + private String sm9hibeid; + private Integer contentType; + private Integer ischeck; + + public ReadLog() {} + + public ReadLog(ReadLog value) { + this.id = value.id; + this.weid = value.weid; + this.contentId = value.contentId; + this.starttime = value.starttime; + this.endtime = value.endtime; + this.ip = value.ip; + this.location = value.location; + this.downloadtype = value.downloadtype; + this.sign = value.sign; + this.readid = value.readid; + this.sm9hibeid = value.sm9hibeid; + this.contentType = value.contentType; + this.ischeck = value.ischeck; + } + + public ReadLog( + String id, + String weid, + String contentId, + LocalDateTime starttime, + LocalDateTime endtime, + String ip, + String location, + Integer downloadtype, + String sign, + String readid, + String sm9hibeid, + Integer contentType, + Integer ischeck + ) { + this.id = id; + this.weid = weid; + this.contentId = contentId; + this.starttime = starttime; + this.endtime = endtime; + this.ip = ip; + this.location = location; + this.downloadtype = downloadtype; + this.sign = sign; + this.readid = readid; + this.sm9hibeid = sm9hibeid; + this.contentType = contentType; + this.ischeck = ischeck; + } + + /** + * Getter for public.read_log.id. + */ + public String getId() { + return this.id; + } + + /** + * Setter for public.read_log.id. + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter for public.read_log.weid. 申请人id + */ + public String getWeid() { + return this.weid; + } + + /** + * Setter for public.read_log.weid. 申请人id + */ + public void setWeid(String weid) { + this.weid = weid; + } + + /** + * Getter for public.read_log.content_id. 档案id + */ + public String getContentId() { + return this.contentId; + } + + /** + * Setter for public.read_log.content_id. 档案id + */ + public void setContentId(String contentId) { + this.contentId = contentId; + } + + /** + * Getter for public.read_log.starttime. 开始时间 + */ + public LocalDateTime getStarttime() { + return this.starttime; + } + + /** + * Setter for public.read_log.starttime. 开始时间 + */ + public void setStarttime(LocalDateTime starttime) { + this.starttime = starttime; + } + + /** + * Getter for public.read_log.endtime. 结束时间 + */ + public LocalDateTime getEndtime() { + return this.endtime; + } + + /** + * Setter for public.read_log.endtime. 结束时间 + */ + public void setEndtime(LocalDateTime endtime) { + this.endtime = endtime; + } + + /** + * Getter for public.read_log.ip. ip地址 + */ + public String getIp() { + return this.ip; + } + + /** + * Setter for public.read_log.ip. ip地址 + */ + public void setIp(String ip) { + this.ip = ip; + } + + /** + * Getter for public.read_log.location. 区域 + */ + public String getLocation() { + return this.location; + } + + /** + * Setter for public.read_log.location. 区域 + */ + public void setLocation(String location) { + this.location = location; + } + + /** + * Getter for public.read_log.downloadtype. 下载类型(1文件包/0单文件) + */ + public Integer getDownloadtype() { + return this.downloadtype; + } + + /** + * Setter for public.read_log.downloadtype. 下载类型(1文件包/0单文件) + */ + public void setDownloadtype(Integer downloadtype) { + this.downloadtype = downloadtype; + } + + /** + * Getter for public.read_log.sign. 数字签名 + */ + public String getSign() { + return this.sign; + } + + /** + * Setter for public.read_log.sign. 数字签名 + */ + public void setSign(String sign) { + this.sign = sign; + } + + /** + * Getter for public.read_log.readid. 一次阅读凭证id + */ + public String getReadid() { + return this.readid; + } + + /** + * Setter for public.read_log.readid. 一次阅读凭证id + */ + public void setReadid(String readid) { + this.readid = readid; + } + + /** + * Getter for public.read_log.sm9hibeid. 秘钥id + */ + public String getSm9hibeid() { + return this.sm9hibeid; + } + + /** + * Setter for public.read_log.sm9hibeid. 秘钥id + */ + public void setSm9hibeid(String sm9hibeid) { + this.sm9hibeid = sm9hibeid; + } + + /** + * Getter for public.read_log.content_type. 档案类型 + */ + public Integer getContentType() { + return this.contentType; + } + + /** + * Setter for public.read_log.content_type. 档案类型 + */ + public void setContentType(Integer contentType) { + this.contentType = contentType; + } + + /** + * Getter for public.read_log.ischeck. 是否上链(1是,0否) + */ + public Integer getIscheck() { + return this.ischeck; + } + + /** + * Setter for public.read_log.ischeck. 是否上链(1是,0否) + */ + public void setIscheck(Integer ischeck) { + this.ischeck = ischeck; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final ReadLog other = (ReadLog) obj; + if (this.id == null) { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + return false; + if (this.weid == null) { + if (other.weid != null) + return false; + } + else if (!this.weid.equals(other.weid)) + return false; + if (this.contentId == null) { + if (other.contentId != null) + return false; + } + else if (!this.contentId.equals(other.contentId)) + return false; + if (this.starttime == null) { + if (other.starttime != null) + return false; + } + else if (!this.starttime.equals(other.starttime)) + return false; + if (this.endtime == null) { + if (other.endtime != null) + return false; + } + else if (!this.endtime.equals(other.endtime)) + return false; + if (this.ip == null) { + if (other.ip != null) + return false; + } + else if (!this.ip.equals(other.ip)) + return false; + if (this.location == null) { + if (other.location != null) + return false; + } + else if (!this.location.equals(other.location)) + return false; + if (this.downloadtype == null) { + if (other.downloadtype != null) + return false; + } + else if (!this.downloadtype.equals(other.downloadtype)) + return false; + if (this.sign == null) { + if (other.sign != null) + return false; + } + else if (!this.sign.equals(other.sign)) + return false; + if (this.readid == null) { + if (other.readid != null) + return false; + } + else if (!this.readid.equals(other.readid)) + return false; + if (this.sm9hibeid == null) { + if (other.sm9hibeid != null) + return false; + } + else if (!this.sm9hibeid.equals(other.sm9hibeid)) + return false; + if (this.contentType == null) { + if (other.contentType != null) + return false; + } + else if (!this.contentType.equals(other.contentType)) + return false; + if (this.ischeck == null) { + if (other.ischeck != null) + return false; + } + else if (!this.ischeck.equals(other.ischeck)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.id == null) ? 0 : this.id.hashCode()); + result = prime * result + ((this.weid == null) ? 0 : this.weid.hashCode()); + result = prime * result + ((this.contentId == null) ? 0 : this.contentId.hashCode()); + result = prime * result + ((this.starttime == null) ? 0 : this.starttime.hashCode()); + result = prime * result + ((this.endtime == null) ? 0 : this.endtime.hashCode()); + result = prime * result + ((this.ip == null) ? 0 : this.ip.hashCode()); + result = prime * result + ((this.location == null) ? 0 : this.location.hashCode()); + result = prime * result + ((this.downloadtype == null) ? 0 : this.downloadtype.hashCode()); + result = prime * result + ((this.sign == null) ? 0 : this.sign.hashCode()); + result = prime * result + ((this.readid == null) ? 0 : this.readid.hashCode()); + result = prime * result + ((this.sm9hibeid == null) ? 0 : this.sm9hibeid.hashCode()); + result = prime * result + ((this.contentType == null) ? 0 : this.contentType.hashCode()); + result = prime * result + ((this.ischeck == null) ? 0 : this.ischeck.hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("ReadLog ("); + + sb.append(id); + sb.append(", ").append(weid); + sb.append(", ").append(contentId); + sb.append(", ").append(starttime); + sb.append(", ").append(endtime); + sb.append(", ").append(ip); + sb.append(", ").append(location); + sb.append(", ").append(downloadtype); + sb.append(", ").append(sign); + sb.append(", ").append(readid); + sb.append(", ").append(sm9hibeid); + sb.append(", ").append(contentType); + sb.append(", ").append(ischeck); + + sb.append(")"); + return sb.toString(); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SharedRuleConfig.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SharedRuleConfig.java new file mode 100644 index 0000000..836d415 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SharedRuleConfig.java @@ -0,0 +1,211 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.pojos; + + +import java.io.Serializable; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SharedRuleConfig implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + private String name; + private String describe; + private Integer status; + private Integer sort; + private String projectName; + + public SharedRuleConfig() {} + + public SharedRuleConfig(SharedRuleConfig value) { + this.id = value.id; + this.name = value.name; + this.describe = value.describe; + this.status = value.status; + this.sort = value.sort; + this.projectName = value.projectName; + } + + public SharedRuleConfig( + String id, + String name, + String describe, + Integer status, + Integer sort, + String projectName + ) { + this.id = id; + this.name = name; + this.describe = describe; + this.status = status; + this.sort = sort; + this.projectName = projectName; + } + + /** + * Getter for public.shared_rule_config.id. + */ + public String getId() { + return this.id; + } + + /** + * Setter for public.shared_rule_config.id. + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter for public.shared_rule_config.name. + */ + public String getName() { + return this.name; + } + + /** + * Setter for public.shared_rule_config.name. + */ + public void setName(String name) { + this.name = name; + } + + /** + * Getter for public.shared_rule_config.describe. + */ + public String getDescribe() { + return this.describe; + } + + /** + * Setter for public.shared_rule_config.describe. + */ + public void setDescribe(String describe) { + this.describe = describe; + } + + /** + * Getter for public.shared_rule_config.status. + */ + public Integer getStatus() { + return this.status; + } + + /** + * Setter for public.shared_rule_config.status. + */ + public void setStatus(Integer status) { + this.status = status; + } + + /** + * Getter for public.shared_rule_config.sort. + */ + public Integer getSort() { + return this.sort; + } + + /** + * Setter for public.shared_rule_config.sort. + */ + public void setSort(Integer sort) { + this.sort = sort; + } + + /** + * Getter for public.shared_rule_config.project_name. + */ + public String getProjectName() { + return this.projectName; + } + + /** + * Setter for public.shared_rule_config.project_name. + */ + public void setProjectName(String projectName) { + this.projectName = projectName; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final SharedRuleConfig other = (SharedRuleConfig) obj; + if (this.id == null) { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + return false; + if (this.name == null) { + if (other.name != null) + return false; + } + else if (!this.name.equals(other.name)) + return false; + if (this.describe == null) { + if (other.describe != null) + return false; + } + else if (!this.describe.equals(other.describe)) + return false; + if (this.status == null) { + if (other.status != null) + return false; + } + else if (!this.status.equals(other.status)) + return false; + if (this.sort == null) { + if (other.sort != null) + return false; + } + else if (!this.sort.equals(other.sort)) + return false; + if (this.projectName == null) { + if (other.projectName != null) + return false; + } + else if (!this.projectName.equals(other.projectName)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.id == null) ? 0 : this.id.hashCode()); + result = prime * result + ((this.name == null) ? 0 : this.name.hashCode()); + result = prime * result + ((this.describe == null) ? 0 : this.describe.hashCode()); + result = prime * result + ((this.status == null) ? 0 : this.status.hashCode()); + result = prime * result + ((this.sort == null) ? 0 : this.sort.hashCode()); + result = prime * result + ((this.projectName == null) ? 0 : this.projectName.hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("SharedRuleConfig ("); + + sb.append(id); + sb.append(", ").append(name); + sb.append(", ").append(describe); + sb.append(", ").append(status); + sb.append(", ").append(sort); + sb.append(", ").append(projectName); + + sb.append(")"); + return sb.toString(); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SharedSynAll.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SharedSynAll.java new file mode 100644 index 0000000..e836fd6 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SharedSynAll.java @@ -0,0 +1,289 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.pojos; + + +import java.io.Serializable; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SharedSynAll implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + private String synId; + private Integer synType; + private Integer isConfigRule; + private Integer sharedStatus; + private Integer synStatus; + private String blockNumber; + private String blockHash; + private String blockTime; + + public SharedSynAll() {} + + public SharedSynAll(SharedSynAll value) { + this.id = value.id; + this.synId = value.synId; + this.synType = value.synType; + this.isConfigRule = value.isConfigRule; + this.sharedStatus = value.sharedStatus; + this.synStatus = value.synStatus; + this.blockNumber = value.blockNumber; + this.blockHash = value.blockHash; + this.blockTime = value.blockTime; + } + + public SharedSynAll( + String id, + String synId, + Integer synType, + Integer isConfigRule, + Integer sharedStatus, + Integer synStatus, + String blockNumber, + String blockHash, + String blockTime + ) { + this.id = id; + this.synId = synId; + this.synType = synType; + this.isConfigRule = isConfigRule; + this.sharedStatus = sharedStatus; + this.synStatus = synStatus; + this.blockNumber = blockNumber; + this.blockHash = blockHash; + this.blockTime = blockTime; + } + + /** + * Getter for public.shared_syn_all.id. + */ + public String getId() { + return this.id; + } + + /** + * Setter for public.shared_syn_all.id. + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter for public.shared_syn_all.syn_id. + */ + public String getSynId() { + return this.synId; + } + + /** + * Setter for public.shared_syn_all.syn_id. + */ + public void setSynId(String synId) { + this.synId = synId; + } + + /** + * Getter for public.shared_syn_all.syn_type. + */ + public Integer getSynType() { + return this.synType; + } + + /** + * Setter for public.shared_syn_all.syn_type. + */ + public void setSynType(Integer synType) { + this.synType = synType; + } + + /** + * Getter for public.shared_syn_all.is_config_rule. + */ + public Integer getIsConfigRule() { + return this.isConfigRule; + } + + /** + * Setter for public.shared_syn_all.is_config_rule. + */ + public void setIsConfigRule(Integer isConfigRule) { + this.isConfigRule = isConfigRule; + } + + /** + * Getter for public.shared_syn_all.shared_status. + */ + public Integer getSharedStatus() { + return this.sharedStatus; + } + + /** + * Setter for public.shared_syn_all.shared_status. + */ + public void setSharedStatus(Integer sharedStatus) { + this.sharedStatus = sharedStatus; + } + + /** + * Getter for public.shared_syn_all.syn_status. + */ + public Integer getSynStatus() { + return this.synStatus; + } + + /** + * Setter for public.shared_syn_all.syn_status. + */ + public void setSynStatus(Integer synStatus) { + this.synStatus = synStatus; + } + + /** + * Getter for public.shared_syn_all.block_number. + */ + public String getBlockNumber() { + return this.blockNumber; + } + + /** + * Setter for public.shared_syn_all.block_number. + */ + public void setBlockNumber(String blockNumber) { + this.blockNumber = blockNumber; + } + + /** + * Getter for public.shared_syn_all.block_hash. + */ + public String getBlockHash() { + return this.blockHash; + } + + /** + * Setter for public.shared_syn_all.block_hash. + */ + public void setBlockHash(String blockHash) { + this.blockHash = blockHash; + } + + /** + * Getter for public.shared_syn_all.block_time. + */ + public String getBlockTime() { + return this.blockTime; + } + + /** + * Setter for public.shared_syn_all.block_time. + */ + public void setBlockTime(String blockTime) { + this.blockTime = blockTime; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final SharedSynAll other = (SharedSynAll) obj; + if (this.id == null) { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + return false; + if (this.synId == null) { + if (other.synId != null) + return false; + } + else if (!this.synId.equals(other.synId)) + return false; + if (this.synType == null) { + if (other.synType != null) + return false; + } + else if (!this.synType.equals(other.synType)) + return false; + if (this.isConfigRule == null) { + if (other.isConfigRule != null) + return false; + } + else if (!this.isConfigRule.equals(other.isConfigRule)) + return false; + if (this.sharedStatus == null) { + if (other.sharedStatus != null) + return false; + } + else if (!this.sharedStatus.equals(other.sharedStatus)) + return false; + if (this.synStatus == null) { + if (other.synStatus != null) + return false; + } + else if (!this.synStatus.equals(other.synStatus)) + return false; + if (this.blockNumber == null) { + if (other.blockNumber != null) + return false; + } + else if (!this.blockNumber.equals(other.blockNumber)) + return false; + if (this.blockHash == null) { + if (other.blockHash != null) + return false; + } + else if (!this.blockHash.equals(other.blockHash)) + return false; + if (this.blockTime == null) { + if (other.blockTime != null) + return false; + } + else if (!this.blockTime.equals(other.blockTime)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.id == null) ? 0 : this.id.hashCode()); + result = prime * result + ((this.synId == null) ? 0 : this.synId.hashCode()); + result = prime * result + ((this.synType == null) ? 0 : this.synType.hashCode()); + result = prime * result + ((this.isConfigRule == null) ? 0 : this.isConfigRule.hashCode()); + result = prime * result + ((this.sharedStatus == null) ? 0 : this.sharedStatus.hashCode()); + result = prime * result + ((this.synStatus == null) ? 0 : this.synStatus.hashCode()); + result = prime * result + ((this.blockNumber == null) ? 0 : this.blockNumber.hashCode()); + result = prime * result + ((this.blockHash == null) ? 0 : this.blockHash.hashCode()); + result = prime * result + ((this.blockTime == null) ? 0 : this.blockTime.hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("SharedSynAll ("); + + sb.append(id); + sb.append(", ").append(synId); + sb.append(", ").append(synType); + sb.append(", ").append(isConfigRule); + sb.append(", ").append(sharedStatus); + sb.append(", ").append(synStatus); + sb.append(", ").append(blockNumber); + sb.append(", ").append(blockHash); + sb.append(", ").append(blockTime); + + sb.append(")"); + return sb.toString(); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SynDirectory.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SynDirectory.java new file mode 100644 index 0000000..8c957d3 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SynDirectory.java @@ -0,0 +1,263 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.pojos; + + +import java.io.Serializable; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SynDirectory implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + private String pId; + private String wbsId; + private String timeStamp; + private Integer sortorder; + private String tname; + private Integer subjoin; + private Integer isdel; + + public SynDirectory() {} + + public SynDirectory(SynDirectory value) { + this.id = value.id; + this.pId = value.pId; + this.wbsId = value.wbsId; + this.timeStamp = value.timeStamp; + this.sortorder = value.sortorder; + this.tname = value.tname; + this.subjoin = value.subjoin; + this.isdel = value.isdel; + } + + public SynDirectory( + String id, + String pId, + String wbsId, + String timeStamp, + Integer sortorder, + String tname, + Integer subjoin, + Integer isdel + ) { + this.id = id; + this.pId = pId; + this.wbsId = wbsId; + this.timeStamp = timeStamp; + this.sortorder = sortorder; + this.tname = tname; + this.subjoin = subjoin; + this.isdel = isdel; + } + + /** + * Getter for public.syn_directory.id. + */ + public String getId() { + return this.id; + } + + /** + * Setter for public.syn_directory.id. + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter for public.syn_directory.p_id. + */ + public String getPId() { + return this.pId; + } + + /** + * Setter for public.syn_directory.p_id. + */ + public void setPId(String pId) { + this.pId = pId; + } + + /** + * Getter for public.syn_directory.wbs_id. + */ + public String getWbsId() { + return this.wbsId; + } + + /** + * Setter for public.syn_directory.wbs_id. + */ + public void setWbsId(String wbsId) { + this.wbsId = wbsId; + } + + /** + * Getter for public.syn_directory.time_stamp. + */ + public String getTimeStamp() { + return this.timeStamp; + } + + /** + * Setter for public.syn_directory.time_stamp. + */ + public void setTimeStamp(String timeStamp) { + this.timeStamp = timeStamp; + } + + /** + * Getter for public.syn_directory.sortorder. + */ + public Integer getSortorder() { + return this.sortorder; + } + + /** + * Setter for public.syn_directory.sortorder. + */ + public void setSortorder(Integer sortorder) { + this.sortorder = sortorder; + } + + /** + * Getter for public.syn_directory.tname. + */ + public String getTname() { + return this.tname; + } + + /** + * Setter for public.syn_directory.tname. + */ + public void setTname(String tname) { + this.tname = tname; + } + + /** + * Getter for public.syn_directory.subjoin. + */ + public Integer getSubjoin() { + return this.subjoin; + } + + /** + * Setter for public.syn_directory.subjoin. + */ + public void setSubjoin(Integer subjoin) { + this.subjoin = subjoin; + } + + /** + * Getter for public.syn_directory.isdel. + */ + public Integer getIsdel() { + return this.isdel; + } + + /** + * Setter for public.syn_directory.isdel. + */ + public void setIsdel(Integer isdel) { + this.isdel = isdel; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final SynDirectory other = (SynDirectory) obj; + if (this.id == null) { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + return false; + if (this.pId == null) { + if (other.pId != null) + return false; + } + else if (!this.pId.equals(other.pId)) + return false; + if (this.wbsId == null) { + if (other.wbsId != null) + return false; + } + else if (!this.wbsId.equals(other.wbsId)) + return false; + if (this.timeStamp == null) { + if (other.timeStamp != null) + return false; + } + else if (!this.timeStamp.equals(other.timeStamp)) + return false; + if (this.sortorder == null) { + if (other.sortorder != null) + return false; + } + else if (!this.sortorder.equals(other.sortorder)) + return false; + if (this.tname == null) { + if (other.tname != null) + return false; + } + else if (!this.tname.equals(other.tname)) + return false; + if (this.subjoin == null) { + if (other.subjoin != null) + return false; + } + else if (!this.subjoin.equals(other.subjoin)) + return false; + if (this.isdel == null) { + if (other.isdel != null) + return false; + } + else if (!this.isdel.equals(other.isdel)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.id == null) ? 0 : this.id.hashCode()); + result = prime * result + ((this.pId == null) ? 0 : this.pId.hashCode()); + result = prime * result + ((this.wbsId == null) ? 0 : this.wbsId.hashCode()); + result = prime * result + ((this.timeStamp == null) ? 0 : this.timeStamp.hashCode()); + result = prime * result + ((this.sortorder == null) ? 0 : this.sortorder.hashCode()); + result = prime * result + ((this.tname == null) ? 0 : this.tname.hashCode()); + result = prime * result + ((this.subjoin == null) ? 0 : this.subjoin.hashCode()); + result = prime * result + ((this.isdel == null) ? 0 : this.isdel.hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("SynDirectory ("); + + sb.append(id); + sb.append(", ").append(pId); + sb.append(", ").append(wbsId); + sb.append(", ").append(timeStamp); + sb.append(", ").append(sortorder); + sb.append(", ").append(tname); + sb.append(", ").append(subjoin); + sb.append(", ").append(isdel); + + sb.append(")"); + return sb.toString(); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SynDirectoryFile.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SynDirectoryFile.java new file mode 100644 index 0000000..d680cce --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SynDirectoryFile.java @@ -0,0 +1,601 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.pojos; + + +import java.io.Serializable; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SynDirectoryFile implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + private String pId; + private String filesuper; + private Integer filecount; + private String dutyperson; + private String eweavedate; + private Integer filepage; + private String sortorder; + private String bpeg; + private String epeg; + private String filenum; + private String remark; + private String recordnum; + private String piecenumber; + private String adddate; + private String editdate; + private String timeStamp; + private Integer isdel; + private String catalogpdfurl; + private String signtag; + private String collecttag; + + public SynDirectoryFile() {} + + public SynDirectoryFile(SynDirectoryFile value) { + this.id = value.id; + this.pId = value.pId; + this.filesuper = value.filesuper; + this.filecount = value.filecount; + this.dutyperson = value.dutyperson; + this.eweavedate = value.eweavedate; + this.filepage = value.filepage; + this.sortorder = value.sortorder; + this.bpeg = value.bpeg; + this.epeg = value.epeg; + this.filenum = value.filenum; + this.remark = value.remark; + this.recordnum = value.recordnum; + this.piecenumber = value.piecenumber; + this.adddate = value.adddate; + this.editdate = value.editdate; + this.timeStamp = value.timeStamp; + this.isdel = value.isdel; + this.catalogpdfurl = value.catalogpdfurl; + this.signtag = value.signtag; + this.collecttag = value.collecttag; + } + + public SynDirectoryFile( + String id, + String pId, + String filesuper, + Integer filecount, + String dutyperson, + String eweavedate, + Integer filepage, + String sortorder, + String bpeg, + String epeg, + String filenum, + String remark, + String recordnum, + String piecenumber, + String adddate, + String editdate, + String timeStamp, + Integer isdel, + String catalogpdfurl, + String signtag, + String collecttag + ) { + this.id = id; + this.pId = pId; + this.filesuper = filesuper; + this.filecount = filecount; + this.dutyperson = dutyperson; + this.eweavedate = eweavedate; + this.filepage = filepage; + this.sortorder = sortorder; + this.bpeg = bpeg; + this.epeg = epeg; + this.filenum = filenum; + this.remark = remark; + this.recordnum = recordnum; + this.piecenumber = piecenumber; + this.adddate = adddate; + this.editdate = editdate; + this.timeStamp = timeStamp; + this.isdel = isdel; + this.catalogpdfurl = catalogpdfurl; + this.signtag = signtag; + this.collecttag = collecttag; + } + + /** + * Getter for public.syn_directory_file.id. + */ + public String getId() { + return this.id; + } + + /** + * Setter for public.syn_directory_file.id. + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter for public.syn_directory_file.p_id. + */ + public String getPId() { + return this.pId; + } + + /** + * Setter for public.syn_directory_file.p_id. + */ + public void setPId(String pId) { + this.pId = pId; + } + + /** + * Getter for public.syn_directory_file.filesuper. + */ + public String getFilesuper() { + return this.filesuper; + } + + /** + * Setter for public.syn_directory_file.filesuper. + */ + public void setFilesuper(String filesuper) { + this.filesuper = filesuper; + } + + /** + * Getter for public.syn_directory_file.filecount. + */ + public Integer getFilecount() { + return this.filecount; + } + + /** + * Setter for public.syn_directory_file.filecount. + */ + public void setFilecount(Integer filecount) { + this.filecount = filecount; + } + + /** + * Getter for public.syn_directory_file.dutyperson. + */ + public String getDutyperson() { + return this.dutyperson; + } + + /** + * Setter for public.syn_directory_file.dutyperson. + */ + public void setDutyperson(String dutyperson) { + this.dutyperson = dutyperson; + } + + /** + * Getter for public.syn_directory_file.eweavedate. + */ + public String getEweavedate() { + return this.eweavedate; + } + + /** + * Setter for public.syn_directory_file.eweavedate. + */ + public void setEweavedate(String eweavedate) { + this.eweavedate = eweavedate; + } + + /** + * Getter for public.syn_directory_file.filepage. + */ + public Integer getFilepage() { + return this.filepage; + } + + /** + * Setter for public.syn_directory_file.filepage. + */ + public void setFilepage(Integer filepage) { + this.filepage = filepage; + } + + /** + * Getter for public.syn_directory_file.sortorder. + */ + public String getSortorder() { + return this.sortorder; + } + + /** + * Setter for public.syn_directory_file.sortorder. + */ + public void setSortorder(String sortorder) { + this.sortorder = sortorder; + } + + /** + * Getter for public.syn_directory_file.bpeg. + */ + public String getBpeg() { + return this.bpeg; + } + + /** + * Setter for public.syn_directory_file.bpeg. + */ + public void setBpeg(String bpeg) { + this.bpeg = bpeg; + } + + /** + * Getter for public.syn_directory_file.epeg. + */ + public String getEpeg() { + return this.epeg; + } + + /** + * Setter for public.syn_directory_file.epeg. + */ + public void setEpeg(String epeg) { + this.epeg = epeg; + } + + /** + * Getter for public.syn_directory_file.filenum. + */ + public String getFilenum() { + return this.filenum; + } + + /** + * Setter for public.syn_directory_file.filenum. + */ + public void setFilenum(String filenum) { + this.filenum = filenum; + } + + /** + * Getter for public.syn_directory_file.remark. + */ + public String getRemark() { + return this.remark; + } + + /** + * Setter for public.syn_directory_file.remark. + */ + public void setRemark(String remark) { + this.remark = remark; + } + + /** + * Getter for public.syn_directory_file.recordnum. + */ + public String getRecordnum() { + return this.recordnum; + } + + /** + * Setter for public.syn_directory_file.recordnum. + */ + public void setRecordnum(String recordnum) { + this.recordnum = recordnum; + } + + /** + * Getter for public.syn_directory_file.piecenumber. + */ + public String getPiecenumber() { + return this.piecenumber; + } + + /** + * Setter for public.syn_directory_file.piecenumber. + */ + public void setPiecenumber(String piecenumber) { + this.piecenumber = piecenumber; + } + + /** + * Getter for public.syn_directory_file.adddate. + */ + public String getAdddate() { + return this.adddate; + } + + /** + * Setter for public.syn_directory_file.adddate. + */ + public void setAdddate(String adddate) { + this.adddate = adddate; + } + + /** + * Getter for public.syn_directory_file.editdate. + */ + public String getEditdate() { + return this.editdate; + } + + /** + * Setter for public.syn_directory_file.editdate. + */ + public void setEditdate(String editdate) { + this.editdate = editdate; + } + + /** + * Getter for public.syn_directory_file.time_stamp. + */ + public String getTimeStamp() { + return this.timeStamp; + } + + /** + * Setter for public.syn_directory_file.time_stamp. + */ + public void setTimeStamp(String timeStamp) { + this.timeStamp = timeStamp; + } + + /** + * Getter for public.syn_directory_file.isdel. + */ + public Integer getIsdel() { + return this.isdel; + } + + /** + * Setter for public.syn_directory_file.isdel. + */ + public void setIsdel(Integer isdel) { + this.isdel = isdel; + } + + /** + * Getter for public.syn_directory_file.catalogpdfurl. + */ + public String getCatalogpdfurl() { + return this.catalogpdfurl; + } + + /** + * Setter for public.syn_directory_file.catalogpdfurl. + */ + public void setCatalogpdfurl(String catalogpdfurl) { + this.catalogpdfurl = catalogpdfurl; + } + + /** + * Getter for public.syn_directory_file.signtag. + */ + public String getSigntag() { + return this.signtag; + } + + /** + * Setter for public.syn_directory_file.signtag. + */ + public void setSigntag(String signtag) { + this.signtag = signtag; + } + + /** + * Getter for public.syn_directory_file.collecttag. + */ + public String getCollecttag() { + return this.collecttag; + } + + /** + * Setter for public.syn_directory_file.collecttag. + */ + public void setCollecttag(String collecttag) { + this.collecttag = collecttag; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final SynDirectoryFile other = (SynDirectoryFile) obj; + if (this.id == null) { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + return false; + if (this.pId == null) { + if (other.pId != null) + return false; + } + else if (!this.pId.equals(other.pId)) + return false; + if (this.filesuper == null) { + if (other.filesuper != null) + return false; + } + else if (!this.filesuper.equals(other.filesuper)) + return false; + if (this.filecount == null) { + if (other.filecount != null) + return false; + } + else if (!this.filecount.equals(other.filecount)) + return false; + if (this.dutyperson == null) { + if (other.dutyperson != null) + return false; + } + else if (!this.dutyperson.equals(other.dutyperson)) + return false; + if (this.eweavedate == null) { + if (other.eweavedate != null) + return false; + } + else if (!this.eweavedate.equals(other.eweavedate)) + return false; + if (this.filepage == null) { + if (other.filepage != null) + return false; + } + else if (!this.filepage.equals(other.filepage)) + return false; + if (this.sortorder == null) { + if (other.sortorder != null) + return false; + } + else if (!this.sortorder.equals(other.sortorder)) + return false; + if (this.bpeg == null) { + if (other.bpeg != null) + return false; + } + else if (!this.bpeg.equals(other.bpeg)) + return false; + if (this.epeg == null) { + if (other.epeg != null) + return false; + } + else if (!this.epeg.equals(other.epeg)) + return false; + if (this.filenum == null) { + if (other.filenum != null) + return false; + } + else if (!this.filenum.equals(other.filenum)) + return false; + if (this.remark == null) { + if (other.remark != null) + return false; + } + else if (!this.remark.equals(other.remark)) + return false; + if (this.recordnum == null) { + if (other.recordnum != null) + return false; + } + else if (!this.recordnum.equals(other.recordnum)) + return false; + if (this.piecenumber == null) { + if (other.piecenumber != null) + return false; + } + else if (!this.piecenumber.equals(other.piecenumber)) + return false; + if (this.adddate == null) { + if (other.adddate != null) + return false; + } + else if (!this.adddate.equals(other.adddate)) + return false; + if (this.editdate == null) { + if (other.editdate != null) + return false; + } + else if (!this.editdate.equals(other.editdate)) + return false; + if (this.timeStamp == null) { + if (other.timeStamp != null) + return false; + } + else if (!this.timeStamp.equals(other.timeStamp)) + return false; + if (this.isdel == null) { + if (other.isdel != null) + return false; + } + else if (!this.isdel.equals(other.isdel)) + return false; + if (this.catalogpdfurl == null) { + if (other.catalogpdfurl != null) + return false; + } + else if (!this.catalogpdfurl.equals(other.catalogpdfurl)) + return false; + if (this.signtag == null) { + if (other.signtag != null) + return false; + } + else if (!this.signtag.equals(other.signtag)) + return false; + if (this.collecttag == null) { + if (other.collecttag != null) + return false; + } + else if (!this.collecttag.equals(other.collecttag)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.id == null) ? 0 : this.id.hashCode()); + result = prime * result + ((this.pId == null) ? 0 : this.pId.hashCode()); + result = prime * result + ((this.filesuper == null) ? 0 : this.filesuper.hashCode()); + result = prime * result + ((this.filecount == null) ? 0 : this.filecount.hashCode()); + result = prime * result + ((this.dutyperson == null) ? 0 : this.dutyperson.hashCode()); + result = prime * result + ((this.eweavedate == null) ? 0 : this.eweavedate.hashCode()); + result = prime * result + ((this.filepage == null) ? 0 : this.filepage.hashCode()); + result = prime * result + ((this.sortorder == null) ? 0 : this.sortorder.hashCode()); + result = prime * result + ((this.bpeg == null) ? 0 : this.bpeg.hashCode()); + result = prime * result + ((this.epeg == null) ? 0 : this.epeg.hashCode()); + result = prime * result + ((this.filenum == null) ? 0 : this.filenum.hashCode()); + result = prime * result + ((this.remark == null) ? 0 : this.remark.hashCode()); + result = prime * result + ((this.recordnum == null) ? 0 : this.recordnum.hashCode()); + result = prime * result + ((this.piecenumber == null) ? 0 : this.piecenumber.hashCode()); + result = prime * result + ((this.adddate == null) ? 0 : this.adddate.hashCode()); + result = prime * result + ((this.editdate == null) ? 0 : this.editdate.hashCode()); + result = prime * result + ((this.timeStamp == null) ? 0 : this.timeStamp.hashCode()); + result = prime * result + ((this.isdel == null) ? 0 : this.isdel.hashCode()); + result = prime * result + ((this.catalogpdfurl == null) ? 0 : this.catalogpdfurl.hashCode()); + result = prime * result + ((this.signtag == null) ? 0 : this.signtag.hashCode()); + result = prime * result + ((this.collecttag == null) ? 0 : this.collecttag.hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("SynDirectoryFile ("); + + sb.append(id); + sb.append(", ").append(pId); + sb.append(", ").append(filesuper); + sb.append(", ").append(filecount); + sb.append(", ").append(dutyperson); + sb.append(", ").append(eweavedate); + sb.append(", ").append(filepage); + sb.append(", ").append(sortorder); + sb.append(", ").append(bpeg); + sb.append(", ").append(epeg); + sb.append(", ").append(filenum); + sb.append(", ").append(remark); + sb.append(", ").append(recordnum); + sb.append(", ").append(piecenumber); + sb.append(", ").append(adddate); + sb.append(", ").append(editdate); + sb.append(", ").append(timeStamp); + sb.append(", ").append(isdel); + sb.append(", ").append(catalogpdfurl); + sb.append(", ").append(signtag); + sb.append(", ").append(collecttag); + + sb.append(")"); + return sb.toString(); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SynFile.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SynFile.java new file mode 100644 index 0000000..4ed47ec --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SynFile.java @@ -0,0 +1,497 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.pojos; + + +import java.io.Serializable; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SynFile implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + private String pId; + private String tablenumber; + private String annexname; + private String projectname; + private String eweavedate; + private String checkdate; + private Integer annexpage; + private String sortorder; + private String filefrom; + private String archivestag; + private String adddate; + private String editdate; + private String timeStamp; + private Integer isdel; + private String downurl; + private Integer filesize; + + public SynFile() {} + + public SynFile(SynFile value) { + this.id = value.id; + this.pId = value.pId; + this.tablenumber = value.tablenumber; + this.annexname = value.annexname; + this.projectname = value.projectname; + this.eweavedate = value.eweavedate; + this.checkdate = value.checkdate; + this.annexpage = value.annexpage; + this.sortorder = value.sortorder; + this.filefrom = value.filefrom; + this.archivestag = value.archivestag; + this.adddate = value.adddate; + this.editdate = value.editdate; + this.timeStamp = value.timeStamp; + this.isdel = value.isdel; + this.downurl = value.downurl; + this.filesize = value.filesize; + } + + public SynFile( + String id, + String pId, + String tablenumber, + String annexname, + String projectname, + String eweavedate, + String checkdate, + Integer annexpage, + String sortorder, + String filefrom, + String archivestag, + String adddate, + String editdate, + String timeStamp, + Integer isdel, + String downurl, + Integer filesize + ) { + this.id = id; + this.pId = pId; + this.tablenumber = tablenumber; + this.annexname = annexname; + this.projectname = projectname; + this.eweavedate = eweavedate; + this.checkdate = checkdate; + this.annexpage = annexpage; + this.sortorder = sortorder; + this.filefrom = filefrom; + this.archivestag = archivestag; + this.adddate = adddate; + this.editdate = editdate; + this.timeStamp = timeStamp; + this.isdel = isdel; + this.downurl = downurl; + this.filesize = filesize; + } + + /** + * Getter for public.syn_file.id. + */ + public String getId() { + return this.id; + } + + /** + * Setter for public.syn_file.id. + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter for public.syn_file.p_id. + */ + public String getPId() { + return this.pId; + } + + /** + * Setter for public.syn_file.p_id. + */ + public void setPId(String pId) { + this.pId = pId; + } + + /** + * Getter for public.syn_file.tablenumber. + */ + public String getTablenumber() { + return this.tablenumber; + } + + /** + * Setter for public.syn_file.tablenumber. + */ + public void setTablenumber(String tablenumber) { + this.tablenumber = tablenumber; + } + + /** + * Getter for public.syn_file.annexname. + */ + public String getAnnexname() { + return this.annexname; + } + + /** + * Setter for public.syn_file.annexname. + */ + public void setAnnexname(String annexname) { + this.annexname = annexname; + } + + /** + * Getter for public.syn_file.projectname. + */ + public String getProjectname() { + return this.projectname; + } + + /** + * Setter for public.syn_file.projectname. + */ + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + /** + * Getter for public.syn_file.eweavedate. + */ + public String getEweavedate() { + return this.eweavedate; + } + + /** + * Setter for public.syn_file.eweavedate. + */ + public void setEweavedate(String eweavedate) { + this.eweavedate = eweavedate; + } + + /** + * Getter for public.syn_file.checkdate. + */ + public String getCheckdate() { + return this.checkdate; + } + + /** + * Setter for public.syn_file.checkdate. + */ + public void setCheckdate(String checkdate) { + this.checkdate = checkdate; + } + + /** + * Getter for public.syn_file.annexpage. + */ + public Integer getAnnexpage() { + return this.annexpage; + } + + /** + * Setter for public.syn_file.annexpage. + */ + public void setAnnexpage(Integer annexpage) { + this.annexpage = annexpage; + } + + /** + * Getter for public.syn_file.sortorder. + */ + public String getSortorder() { + return this.sortorder; + } + + /** + * Setter for public.syn_file.sortorder. + */ + public void setSortorder(String sortorder) { + this.sortorder = sortorder; + } + + /** + * Getter for public.syn_file.filefrom. + */ + public String getFilefrom() { + return this.filefrom; + } + + /** + * Setter for public.syn_file.filefrom. + */ + public void setFilefrom(String filefrom) { + this.filefrom = filefrom; + } + + /** + * Getter for public.syn_file.archivestag. + */ + public String getArchivestag() { + return this.archivestag; + } + + /** + * Setter for public.syn_file.archivestag. + */ + public void setArchivestag(String archivestag) { + this.archivestag = archivestag; + } + + /** + * Getter for public.syn_file.adddate. + */ + public String getAdddate() { + return this.adddate; + } + + /** + * Setter for public.syn_file.adddate. + */ + public void setAdddate(String adddate) { + this.adddate = adddate; + } + + /** + * Getter for public.syn_file.editdate. + */ + public String getEditdate() { + return this.editdate; + } + + /** + * Setter for public.syn_file.editdate. + */ + public void setEditdate(String editdate) { + this.editdate = editdate; + } + + /** + * Getter for public.syn_file.time_stamp. + */ + public String getTimeStamp() { + return this.timeStamp; + } + + /** + * Setter for public.syn_file.time_stamp. + */ + public void setTimeStamp(String timeStamp) { + this.timeStamp = timeStamp; + } + + /** + * Getter for public.syn_file.isdel. + */ + public Integer getIsdel() { + return this.isdel; + } + + /** + * Setter for public.syn_file.isdel. + */ + public void setIsdel(Integer isdel) { + this.isdel = isdel; + } + + /** + * Getter for public.syn_file.downurl. + */ + public String getDownurl() { + return this.downurl; + } + + /** + * Setter for public.syn_file.downurl. + */ + public void setDownurl(String downurl) { + this.downurl = downurl; + } + + /** + * Getter for public.syn_file.filesize. + */ + public Integer getFilesize() { + return this.filesize; + } + + /** + * Setter for public.syn_file.filesize. + */ + public void setFilesize(Integer filesize) { + this.filesize = filesize; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final SynFile other = (SynFile) obj; + if (this.id == null) { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + return false; + if (this.pId == null) { + if (other.pId != null) + return false; + } + else if (!this.pId.equals(other.pId)) + return false; + if (this.tablenumber == null) { + if (other.tablenumber != null) + return false; + } + else if (!this.tablenumber.equals(other.tablenumber)) + return false; + if (this.annexname == null) { + if (other.annexname != null) + return false; + } + else if (!this.annexname.equals(other.annexname)) + return false; + if (this.projectname == null) { + if (other.projectname != null) + return false; + } + else if (!this.projectname.equals(other.projectname)) + return false; + if (this.eweavedate == null) { + if (other.eweavedate != null) + return false; + } + else if (!this.eweavedate.equals(other.eweavedate)) + return false; + if (this.checkdate == null) { + if (other.checkdate != null) + return false; + } + else if (!this.checkdate.equals(other.checkdate)) + return false; + if (this.annexpage == null) { + if (other.annexpage != null) + return false; + } + else if (!this.annexpage.equals(other.annexpage)) + return false; + if (this.sortorder == null) { + if (other.sortorder != null) + return false; + } + else if (!this.sortorder.equals(other.sortorder)) + return false; + if (this.filefrom == null) { + if (other.filefrom != null) + return false; + } + else if (!this.filefrom.equals(other.filefrom)) + return false; + if (this.archivestag == null) { + if (other.archivestag != null) + return false; + } + else if (!this.archivestag.equals(other.archivestag)) + return false; + if (this.adddate == null) { + if (other.adddate != null) + return false; + } + else if (!this.adddate.equals(other.adddate)) + return false; + if (this.editdate == null) { + if (other.editdate != null) + return false; + } + else if (!this.editdate.equals(other.editdate)) + return false; + if (this.timeStamp == null) { + if (other.timeStamp != null) + return false; + } + else if (!this.timeStamp.equals(other.timeStamp)) + return false; + if (this.isdel == null) { + if (other.isdel != null) + return false; + } + else if (!this.isdel.equals(other.isdel)) + return false; + if (this.downurl == null) { + if (other.downurl != null) + return false; + } + else if (!this.downurl.equals(other.downurl)) + return false; + if (this.filesize == null) { + if (other.filesize != null) + return false; + } + else if (!this.filesize.equals(other.filesize)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.id == null) ? 0 : this.id.hashCode()); + result = prime * result + ((this.pId == null) ? 0 : this.pId.hashCode()); + result = prime * result + ((this.tablenumber == null) ? 0 : this.tablenumber.hashCode()); + result = prime * result + ((this.annexname == null) ? 0 : this.annexname.hashCode()); + result = prime * result + ((this.projectname == null) ? 0 : this.projectname.hashCode()); + result = prime * result + ((this.eweavedate == null) ? 0 : this.eweavedate.hashCode()); + result = prime * result + ((this.checkdate == null) ? 0 : this.checkdate.hashCode()); + result = prime * result + ((this.annexpage == null) ? 0 : this.annexpage.hashCode()); + result = prime * result + ((this.sortorder == null) ? 0 : this.sortorder.hashCode()); + result = prime * result + ((this.filefrom == null) ? 0 : this.filefrom.hashCode()); + result = prime * result + ((this.archivestag == null) ? 0 : this.archivestag.hashCode()); + result = prime * result + ((this.adddate == null) ? 0 : this.adddate.hashCode()); + result = prime * result + ((this.editdate == null) ? 0 : this.editdate.hashCode()); + result = prime * result + ((this.timeStamp == null) ? 0 : this.timeStamp.hashCode()); + result = prime * result + ((this.isdel == null) ? 0 : this.isdel.hashCode()); + result = prime * result + ((this.downurl == null) ? 0 : this.downurl.hashCode()); + result = prime * result + ((this.filesize == null) ? 0 : this.filesize.hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("SynFile ("); + + sb.append(id); + sb.append(", ").append(pId); + sb.append(", ").append(tablenumber); + sb.append(", ").append(annexname); + sb.append(", ").append(projectname); + sb.append(", ").append(eweavedate); + sb.append(", ").append(checkdate); + sb.append(", ").append(annexpage); + sb.append(", ").append(sortorder); + sb.append(", ").append(filefrom); + sb.append(", ").append(archivestag); + sb.append(", ").append(adddate); + sb.append(", ").append(editdate); + sb.append(", ").append(timeStamp); + sb.append(", ").append(isdel); + sb.append(", ").append(downurl); + sb.append(", ").append(filesize); + + sb.append(")"); + return sb.toString(); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysAdmin.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysAdmin.java new file mode 100644 index 0000000..586ca50 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysAdmin.java @@ -0,0 +1,419 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.pojos; + + +import java.io.Serializable; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysAdmin implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + private String orgId; + private String realname; + private String username; + private String password; + private String phone; + private String email; + private String job; + private Integer gender; + private Integer islock; + private Integer type; + private Integer sort; + private String cerId; + private String companyId; + + public SysAdmin() {} + + public SysAdmin(SysAdmin value) { + this.id = value.id; + this.orgId = value.orgId; + this.realname = value.realname; + this.username = value.username; + this.password = value.password; + this.phone = value.phone; + this.email = value.email; + this.job = value.job; + this.gender = value.gender; + this.islock = value.islock; + this.type = value.type; + this.sort = value.sort; + this.cerId = value.cerId; + this.companyId = value.companyId; + } + + public SysAdmin( + String id, + String orgId, + String realname, + String username, + String password, + String phone, + String email, + String job, + Integer gender, + Integer islock, + Integer type, + Integer sort, + String cerId, + String companyId + ) { + this.id = id; + this.orgId = orgId; + this.realname = realname; + this.username = username; + this.password = password; + this.phone = phone; + this.email = email; + this.job = job; + this.gender = gender; + this.islock = islock; + this.type = type; + this.sort = sort; + this.cerId = cerId; + this.companyId = companyId; + } + + /** + * Getter for public.sys_admin.id. + */ + public String getId() { + return this.id; + } + + /** + * Setter for public.sys_admin.id. + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter for public.sys_admin.org_id. + */ + public String getOrgId() { + return this.orgId; + } + + /** + * Setter for public.sys_admin.org_id. + */ + public void setOrgId(String orgId) { + this.orgId = orgId; + } + + /** + * Getter for public.sys_admin.realname. + */ + public String getRealname() { + return this.realname; + } + + /** + * Setter for public.sys_admin.realname. + */ + public void setRealname(String realname) { + this.realname = realname; + } + + /** + * Getter for public.sys_admin.username. + */ + public String getUsername() { + return this.username; + } + + /** + * Setter for public.sys_admin.username. + */ + public void setUsername(String username) { + this.username = username; + } + + /** + * Getter for public.sys_admin.password. + */ + public String getPassword() { + return this.password; + } + + /** + * Setter for public.sys_admin.password. + */ + public void setPassword(String password) { + this.password = password; + } + + /** + * Getter for public.sys_admin.phone. + */ + public String getPhone() { + return this.phone; + } + + /** + * Setter for public.sys_admin.phone. + */ + public void setPhone(String phone) { + this.phone = phone; + } + + /** + * Getter for public.sys_admin.email. + */ + public String getEmail() { + return this.email; + } + + /** + * Setter for public.sys_admin.email. + */ + public void setEmail(String email) { + this.email = email; + } + + /** + * Getter for public.sys_admin.job. + */ + public String getJob() { + return this.job; + } + + /** + * Setter for public.sys_admin.job. + */ + public void setJob(String job) { + this.job = job; + } + + /** + * Getter for public.sys_admin.gender. + */ + public Integer getGender() { + return this.gender; + } + + /** + * Setter for public.sys_admin.gender. + */ + public void setGender(Integer gender) { + this.gender = gender; + } + + /** + * Getter for public.sys_admin.islock. + */ + public Integer getIslock() { + return this.islock; + } + + /** + * Setter for public.sys_admin.islock. + */ + public void setIslock(Integer islock) { + this.islock = islock; + } + + /** + * Getter for public.sys_admin.type. + */ + public Integer getType() { + return this.type; + } + + /** + * Setter for public.sys_admin.type. + */ + public void setType(Integer type) { + this.type = type; + } + + /** + * Getter for public.sys_admin.sort. + */ + public Integer getSort() { + return this.sort; + } + + /** + * Setter for public.sys_admin.sort. + */ + public void setSort(Integer sort) { + this.sort = sort; + } + + /** + * Getter for public.sys_admin.cer_id. + */ + public String getCerId() { + return this.cerId; + } + + /** + * Setter for public.sys_admin.cer_id. + */ + public void setCerId(String cerId) { + this.cerId = cerId; + } + + /** + * Getter for public.sys_admin.company_id. 公司ID,组织ID的最高级 + */ + public String getCompanyId() { + return this.companyId; + } + + /** + * Setter for public.sys_admin.company_id. 公司ID,组织ID的最高级 + */ + public void setCompanyId(String companyId) { + this.companyId = companyId; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final SysAdmin other = (SysAdmin) obj; + if (this.id == null) { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + return false; + if (this.orgId == null) { + if (other.orgId != null) + return false; + } + else if (!this.orgId.equals(other.orgId)) + return false; + if (this.realname == null) { + if (other.realname != null) + return false; + } + else if (!this.realname.equals(other.realname)) + return false; + if (this.username == null) { + if (other.username != null) + return false; + } + else if (!this.username.equals(other.username)) + return false; + if (this.password == null) { + if (other.password != null) + return false; + } + else if (!this.password.equals(other.password)) + return false; + if (this.phone == null) { + if (other.phone != null) + return false; + } + else if (!this.phone.equals(other.phone)) + return false; + if (this.email == null) { + if (other.email != null) + return false; + } + else if (!this.email.equals(other.email)) + return false; + if (this.job == null) { + if (other.job != null) + return false; + } + else if (!this.job.equals(other.job)) + return false; + if (this.gender == null) { + if (other.gender != null) + return false; + } + else if (!this.gender.equals(other.gender)) + return false; + if (this.islock == null) { + if (other.islock != null) + return false; + } + else if (!this.islock.equals(other.islock)) + return false; + if (this.type == null) { + if (other.type != null) + return false; + } + else if (!this.type.equals(other.type)) + return false; + if (this.sort == null) { + if (other.sort != null) + return false; + } + else if (!this.sort.equals(other.sort)) + return false; + if (this.cerId == null) { + if (other.cerId != null) + return false; + } + else if (!this.cerId.equals(other.cerId)) + return false; + if (this.companyId == null) { + if (other.companyId != null) + return false; + } + else if (!this.companyId.equals(other.companyId)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.id == null) ? 0 : this.id.hashCode()); + result = prime * result + ((this.orgId == null) ? 0 : this.orgId.hashCode()); + result = prime * result + ((this.realname == null) ? 0 : this.realname.hashCode()); + result = prime * result + ((this.username == null) ? 0 : this.username.hashCode()); + result = prime * result + ((this.password == null) ? 0 : this.password.hashCode()); + result = prime * result + ((this.phone == null) ? 0 : this.phone.hashCode()); + result = prime * result + ((this.email == null) ? 0 : this.email.hashCode()); + result = prime * result + ((this.job == null) ? 0 : this.job.hashCode()); + result = prime * result + ((this.gender == null) ? 0 : this.gender.hashCode()); + result = prime * result + ((this.islock == null) ? 0 : this.islock.hashCode()); + result = prime * result + ((this.type == null) ? 0 : this.type.hashCode()); + result = prime * result + ((this.sort == null) ? 0 : this.sort.hashCode()); + result = prime * result + ((this.cerId == null) ? 0 : this.cerId.hashCode()); + result = prime * result + ((this.companyId == null) ? 0 : this.companyId.hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("SysAdmin ("); + + sb.append(id); + sb.append(", ").append(orgId); + sb.append(", ").append(realname); + sb.append(", ").append(username); + sb.append(", ").append(password); + sb.append(", ").append(phone); + sb.append(", ").append(email); + sb.append(", ").append(job); + sb.append(", ").append(gender); + sb.append(", ").append(islock); + sb.append(", ").append(type); + sb.append(", ").append(sort); + sb.append(", ").append(cerId); + sb.append(", ").append(companyId); + + sb.append(")"); + return sb.toString(); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysAdminRole.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysAdminRole.java new file mode 100644 index 0000000..e4b6ba5 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysAdminRole.java @@ -0,0 +1,133 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.pojos; + + +import java.io.Serializable; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysAdminRole implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + private String adminid; + private String roleid; + + public SysAdminRole() {} + + public SysAdminRole(SysAdminRole value) { + this.id = value.id; + this.adminid = value.adminid; + this.roleid = value.roleid; + } + + public SysAdminRole( + String id, + String adminid, + String roleid + ) { + this.id = id; + this.adminid = adminid; + this.roleid = roleid; + } + + /** + * Getter for public.sys_admin_role.id. + */ + public String getId() { + return this.id; + } + + /** + * Setter for public.sys_admin_role.id. + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter for public.sys_admin_role.adminid. + */ + public String getAdminid() { + return this.adminid; + } + + /** + * Setter for public.sys_admin_role.adminid. + */ + public void setAdminid(String adminid) { + this.adminid = adminid; + } + + /** + * Getter for public.sys_admin_role.roleid. + */ + public String getRoleid() { + return this.roleid; + } + + /** + * Setter for public.sys_admin_role.roleid. + */ + public void setRoleid(String roleid) { + this.roleid = roleid; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final SysAdminRole other = (SysAdminRole) obj; + if (this.id == null) { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + return false; + if (this.adminid == null) { + if (other.adminid != null) + return false; + } + else if (!this.adminid.equals(other.adminid)) + return false; + if (this.roleid == null) { + if (other.roleid != null) + return false; + } + else if (!this.roleid.equals(other.roleid)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.id == null) ? 0 : this.id.hashCode()); + result = prime * result + ((this.adminid == null) ? 0 : this.adminid.hashCode()); + result = prime * result + ((this.roleid == null) ? 0 : this.roleid.hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("SysAdminRole ("); + + sb.append(id); + sb.append(", ").append(adminid); + sb.append(", ").append(roleid); + + sb.append(")"); + return sb.toString(); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysAdminWeid.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysAdminWeid.java new file mode 100644 index 0000000..1b650bd --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysAdminWeid.java @@ -0,0 +1,238 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.pojos; + + +import java.io.Serializable; +import java.time.LocalDateTime; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysAdminWeid implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + private String adminId; + private String wid; + private String wprivateKey; + private LocalDateTime addTime; + private String certificateHash; + private String chainBlock; + + public SysAdminWeid() {} + + public SysAdminWeid(SysAdminWeid value) { + this.id = value.id; + this.adminId = value.adminId; + this.wid = value.wid; + this.wprivateKey = value.wprivateKey; + this.addTime = value.addTime; + this.certificateHash = value.certificateHash; + this.chainBlock = value.chainBlock; + } + + public SysAdminWeid( + String id, + String adminId, + String wid, + String wprivateKey, + LocalDateTime addTime, + String certificateHash, + String chainBlock + ) { + this.id = id; + this.adminId = adminId; + this.wid = wid; + this.wprivateKey = wprivateKey; + this.addTime = addTime; + this.certificateHash = certificateHash; + this.chainBlock = chainBlock; + } + + /** + * Getter for public.sys_admin_weid.id. + */ + public String getId() { + return this.id; + } + + /** + * Setter for public.sys_admin_weid.id. + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter for public.sys_admin_weid.admin_id. + */ + public String getAdminId() { + return this.adminId; + } + + /** + * Setter for public.sys_admin_weid.admin_id. + */ + public void setAdminId(String adminId) { + this.adminId = adminId; + } + + /** + * Getter for public.sys_admin_weid.wid. + */ + public String getWid() { + return this.wid; + } + + /** + * Setter for public.sys_admin_weid.wid. + */ + public void setWid(String wid) { + this.wid = wid; + } + + /** + * Getter for public.sys_admin_weid.wprivate_key. + */ + public String getWprivateKey() { + return this.wprivateKey; + } + + /** + * Setter for public.sys_admin_weid.wprivate_key. + */ + public void setWprivateKey(String wprivateKey) { + this.wprivateKey = wprivateKey; + } + + /** + * Getter for public.sys_admin_weid.add_time. + */ + public LocalDateTime getAddTime() { + return this.addTime; + } + + /** + * Setter for public.sys_admin_weid.add_time. + */ + public void setAddTime(LocalDateTime addTime) { + this.addTime = addTime; + } + + /** + * Getter for public.sys_admin_weid.certificate_hash. 存证哈希 + */ + public String getCertificateHash() { + return this.certificateHash; + } + + /** + * Setter for public.sys_admin_weid.certificate_hash. 存证哈希 + */ + public void setCertificateHash(String certificateHash) { + this.certificateHash = certificateHash; + } + + /** + * Getter for public.sys_admin_weid.chain_block. + */ + public String getChainBlock() { + return this.chainBlock; + } + + /** + * Setter for public.sys_admin_weid.chain_block. + */ + public void setChainBlock(String chainBlock) { + this.chainBlock = chainBlock; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final SysAdminWeid other = (SysAdminWeid) obj; + if (this.id == null) { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + return false; + if (this.adminId == null) { + if (other.adminId != null) + return false; + } + else if (!this.adminId.equals(other.adminId)) + return false; + if (this.wid == null) { + if (other.wid != null) + return false; + } + else if (!this.wid.equals(other.wid)) + return false; + if (this.wprivateKey == null) { + if (other.wprivateKey != null) + return false; + } + else if (!this.wprivateKey.equals(other.wprivateKey)) + return false; + if (this.addTime == null) { + if (other.addTime != null) + return false; + } + else if (!this.addTime.equals(other.addTime)) + return false; + if (this.certificateHash == null) { + if (other.certificateHash != null) + return false; + } + else if (!this.certificateHash.equals(other.certificateHash)) + return false; + if (this.chainBlock == null) { + if (other.chainBlock != null) + return false; + } + else if (!this.chainBlock.equals(other.chainBlock)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.id == null) ? 0 : this.id.hashCode()); + result = prime * result + ((this.adminId == null) ? 0 : this.adminId.hashCode()); + result = prime * result + ((this.wid == null) ? 0 : this.wid.hashCode()); + result = prime * result + ((this.wprivateKey == null) ? 0 : this.wprivateKey.hashCode()); + result = prime * result + ((this.addTime == null) ? 0 : this.addTime.hashCode()); + result = prime * result + ((this.certificateHash == null) ? 0 : this.certificateHash.hashCode()); + result = prime * result + ((this.chainBlock == null) ? 0 : this.chainBlock.hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("SysAdminWeid ("); + + sb.append(id); + sb.append(", ").append(adminId); + sb.append(", ").append(wid); + sb.append(", ").append(wprivateKey); + sb.append(", ").append(addTime); + sb.append(", ").append(certificateHash); + sb.append(", ").append(chainBlock); + + sb.append(")"); + return sb.toString(); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysArea.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysArea.java new file mode 100644 index 0000000..cf97620 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysArea.java @@ -0,0 +1,237 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.pojos; + + +import java.io.Serializable; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysArea implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + private Short levelCode; + private String parentCode; + private String areaCode; + private String name; + private String pid; + private String pids; + + public SysArea() {} + + public SysArea(SysArea value) { + this.id = value.id; + this.levelCode = value.levelCode; + this.parentCode = value.parentCode; + this.areaCode = value.areaCode; + this.name = value.name; + this.pid = value.pid; + this.pids = value.pids; + } + + public SysArea( + String id, + Short levelCode, + String parentCode, + String areaCode, + String name, + String pid, + String pids + ) { + this.id = id; + this.levelCode = levelCode; + this.parentCode = parentCode; + this.areaCode = areaCode; + this.name = name; + this.pid = pid; + this.pids = pids; + } + + /** + * Getter for public.sys_area.id. + */ + public String getId() { + return this.id; + } + + /** + * Setter for public.sys_area.id. + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter for public.sys_area.level_code. + */ + public Short getLevelCode() { + return this.levelCode; + } + + /** + * Setter for public.sys_area.level_code. + */ + public void setLevelCode(Short levelCode) { + this.levelCode = levelCode; + } + + /** + * Getter for public.sys_area.parent_code. + */ + public String getParentCode() { + return this.parentCode; + } + + /** + * Setter for public.sys_area.parent_code. + */ + public void setParentCode(String parentCode) { + this.parentCode = parentCode; + } + + /** + * Getter for public.sys_area.area_code. + */ + public String getAreaCode() { + return this.areaCode; + } + + /** + * Setter for public.sys_area.area_code. + */ + public void setAreaCode(String areaCode) { + this.areaCode = areaCode; + } + + /** + * Getter for public.sys_area.name. + */ + public String getName() { + return this.name; + } + + /** + * Setter for public.sys_area.name. + */ + public void setName(String name) { + this.name = name; + } + + /** + * Getter for public.sys_area.pid. + */ + public String getPid() { + return this.pid; + } + + /** + * Setter for public.sys_area.pid. + */ + public void setPid(String pid) { + this.pid = pid; + } + + /** + * Getter for public.sys_area.pids. + */ + public String getPids() { + return this.pids; + } + + /** + * Setter for public.sys_area.pids. + */ + public void setPids(String pids) { + this.pids = pids; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final SysArea other = (SysArea) obj; + if (this.id == null) { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + return false; + if (this.levelCode == null) { + if (other.levelCode != null) + return false; + } + else if (!this.levelCode.equals(other.levelCode)) + return false; + if (this.parentCode == null) { + if (other.parentCode != null) + return false; + } + else if (!this.parentCode.equals(other.parentCode)) + return false; + if (this.areaCode == null) { + if (other.areaCode != null) + return false; + } + else if (!this.areaCode.equals(other.areaCode)) + return false; + if (this.name == null) { + if (other.name != null) + return false; + } + else if (!this.name.equals(other.name)) + return false; + if (this.pid == null) { + if (other.pid != null) + return false; + } + else if (!this.pid.equals(other.pid)) + return false; + if (this.pids == null) { + if (other.pids != null) + return false; + } + else if (!this.pids.equals(other.pids)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.id == null) ? 0 : this.id.hashCode()); + result = prime * result + ((this.levelCode == null) ? 0 : this.levelCode.hashCode()); + result = prime * result + ((this.parentCode == null) ? 0 : this.parentCode.hashCode()); + result = prime * result + ((this.areaCode == null) ? 0 : this.areaCode.hashCode()); + result = prime * result + ((this.name == null) ? 0 : this.name.hashCode()); + result = prime * result + ((this.pid == null) ? 0 : this.pid.hashCode()); + result = prime * result + ((this.pids == null) ? 0 : this.pids.hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("SysArea ("); + + sb.append(id); + sb.append(", ").append(levelCode); + sb.append(", ").append(parentCode); + sb.append(", ").append(areaCode); + sb.append(", ").append(name); + sb.append(", ").append(pid); + sb.append(", ").append(pids); + + sb.append(")"); + return sb.toString(); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysConfig.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysConfig.java new file mode 100644 index 0000000..59f9419 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysConfig.java @@ -0,0 +1,238 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.pojos; + + +import java.io.Serializable; +import java.time.LocalDateTime; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysConfig implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + private String subgroup; + private String keys; + private String val; + private String adminId; + private String adminname; + private LocalDateTime edittime; + + public SysConfig() {} + + public SysConfig(SysConfig value) { + this.id = value.id; + this.subgroup = value.subgroup; + this.keys = value.keys; + this.val = value.val; + this.adminId = value.adminId; + this.adminname = value.adminname; + this.edittime = value.edittime; + } + + public SysConfig( + String id, + String subgroup, + String keys, + String val, + String adminId, + String adminname, + LocalDateTime edittime + ) { + this.id = id; + this.subgroup = subgroup; + this.keys = keys; + this.val = val; + this.adminId = adminId; + this.adminname = adminname; + this.edittime = edittime; + } + + /** + * Getter for public.sys_config.id. + */ + public String getId() { + return this.id; + } + + /** + * Setter for public.sys_config.id. + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter for public.sys_config.subgroup. + */ + public String getSubgroup() { + return this.subgroup; + } + + /** + * Setter for public.sys_config.subgroup. + */ + public void setSubgroup(String subgroup) { + this.subgroup = subgroup; + } + + /** + * Getter for public.sys_config.keys. + */ + public String getKeys() { + return this.keys; + } + + /** + * Setter for public.sys_config.keys. + */ + public void setKeys(String keys) { + this.keys = keys; + } + + /** + * Getter for public.sys_config.val. + */ + public String getVal() { + return this.val; + } + + /** + * Setter for public.sys_config.val. + */ + public void setVal(String val) { + this.val = val; + } + + /** + * Getter for public.sys_config.admin_id. + */ + public String getAdminId() { + return this.adminId; + } + + /** + * Setter for public.sys_config.admin_id. + */ + public void setAdminId(String adminId) { + this.adminId = adminId; + } + + /** + * Getter for public.sys_config.adminname. + */ + public String getAdminname() { + return this.adminname; + } + + /** + * Setter for public.sys_config.adminname. + */ + public void setAdminname(String adminname) { + this.adminname = adminname; + } + + /** + * Getter for public.sys_config.edittime. + */ + public LocalDateTime getEdittime() { + return this.edittime; + } + + /** + * Setter for public.sys_config.edittime. + */ + public void setEdittime(LocalDateTime edittime) { + this.edittime = edittime; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final SysConfig other = (SysConfig) obj; + if (this.id == null) { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + return false; + if (this.subgroup == null) { + if (other.subgroup != null) + return false; + } + else if (!this.subgroup.equals(other.subgroup)) + return false; + if (this.keys == null) { + if (other.keys != null) + return false; + } + else if (!this.keys.equals(other.keys)) + return false; + if (this.val == null) { + if (other.val != null) + return false; + } + else if (!this.val.equals(other.val)) + return false; + if (this.adminId == null) { + if (other.adminId != null) + return false; + } + else if (!this.adminId.equals(other.adminId)) + return false; + if (this.adminname == null) { + if (other.adminname != null) + return false; + } + else if (!this.adminname.equals(other.adminname)) + return false; + if (this.edittime == null) { + if (other.edittime != null) + return false; + } + else if (!this.edittime.equals(other.edittime)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.id == null) ? 0 : this.id.hashCode()); + result = prime * result + ((this.subgroup == null) ? 0 : this.subgroup.hashCode()); + result = prime * result + ((this.keys == null) ? 0 : this.keys.hashCode()); + result = prime * result + ((this.val == null) ? 0 : this.val.hashCode()); + result = prime * result + ((this.adminId == null) ? 0 : this.adminId.hashCode()); + result = prime * result + ((this.adminname == null) ? 0 : this.adminname.hashCode()); + result = prime * result + ((this.edittime == null) ? 0 : this.edittime.hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("SysConfig ("); + + sb.append(id); + sb.append(", ").append(subgroup); + sb.append(", ").append(keys); + sb.append(", ").append(val); + sb.append(", ").append(adminId); + sb.append(", ").append(adminname); + sb.append(", ").append(edittime); + + sb.append(")"); + return sb.toString(); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysMenu.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysMenu.java new file mode 100644 index 0000000..6694996 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysMenu.java @@ -0,0 +1,341 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.pojos; + + +import java.io.Serializable; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysMenu implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + private String parentId; + private Integer level; + private String name; + private String types; + private String url; + private String icon; + private Integer isOpen; + private String description; + private Integer sort; + private String parentpath; + + public SysMenu() {} + + public SysMenu(SysMenu value) { + this.id = value.id; + this.parentId = value.parentId; + this.level = value.level; + this.name = value.name; + this.types = value.types; + this.url = value.url; + this.icon = value.icon; + this.isOpen = value.isOpen; + this.description = value.description; + this.sort = value.sort; + this.parentpath = value.parentpath; + } + + public SysMenu( + String id, + String parentId, + Integer level, + String name, + String types, + String url, + String icon, + Integer isOpen, + String description, + Integer sort, + String parentpath + ) { + this.id = id; + this.parentId = parentId; + this.level = level; + this.name = name; + this.types = types; + this.url = url; + this.icon = icon; + this.isOpen = isOpen; + this.description = description; + this.sort = sort; + this.parentpath = parentpath; + } + + /** + * Getter for public.sys_menu.id. + */ + public String getId() { + return this.id; + } + + /** + * Setter for public.sys_menu.id. + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter for public.sys_menu.parent_id. + */ + public String getParentId() { + return this.parentId; + } + + /** + * Setter for public.sys_menu.parent_id. + */ + public void setParentId(String parentId) { + this.parentId = parentId; + } + + /** + * Getter for public.sys_menu.level. + */ + public Integer getLevel() { + return this.level; + } + + /** + * Setter for public.sys_menu.level. + */ + public void setLevel(Integer level) { + this.level = level; + } + + /** + * Getter for public.sys_menu.name. + */ + public String getName() { + return this.name; + } + + /** + * Setter for public.sys_menu.name. + */ + public void setName(String name) { + this.name = name; + } + + /** + * Getter for public.sys_menu.types. + */ + public String getTypes() { + return this.types; + } + + /** + * Setter for public.sys_menu.types. + */ + public void setTypes(String types) { + this.types = types; + } + + /** + * Getter for public.sys_menu.url. + */ + public String getUrl() { + return this.url; + } + + /** + * Setter for public.sys_menu.url. + */ + public void setUrl(String url) { + this.url = url; + } + + /** + * Getter for public.sys_menu.icon. + */ + public String getIcon() { + return this.icon; + } + + /** + * Setter for public.sys_menu.icon. + */ + public void setIcon(String icon) { + this.icon = icon; + } + + /** + * Getter for public.sys_menu.is_open. + */ + public Integer getIsOpen() { + return this.isOpen; + } + + /** + * Setter for public.sys_menu.is_open. + */ + public void setIsOpen(Integer isOpen) { + this.isOpen = isOpen; + } + + /** + * Getter for public.sys_menu.description. + */ + public String getDescription() { + return this.description; + } + + /** + * Setter for public.sys_menu.description. + */ + public void setDescription(String description) { + this.description = description; + } + + /** + * Getter for public.sys_menu.sort. + */ + public Integer getSort() { + return this.sort; + } + + /** + * Setter for public.sys_menu.sort. + */ + public void setSort(Integer sort) { + this.sort = sort; + } + + /** + * Getter for public.sys_menu.parentpath. + */ + public String getParentpath() { + return this.parentpath; + } + + /** + * Setter for public.sys_menu.parentpath. + */ + public void setParentpath(String parentpath) { + this.parentpath = parentpath; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final SysMenu other = (SysMenu) obj; + if (this.id == null) { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + return false; + if (this.parentId == null) { + if (other.parentId != null) + return false; + } + else if (!this.parentId.equals(other.parentId)) + return false; + if (this.level == null) { + if (other.level != null) + return false; + } + else if (!this.level.equals(other.level)) + return false; + if (this.name == null) { + if (other.name != null) + return false; + } + else if (!this.name.equals(other.name)) + return false; + if (this.types == null) { + if (other.types != null) + return false; + } + else if (!this.types.equals(other.types)) + return false; + if (this.url == null) { + if (other.url != null) + return false; + } + else if (!this.url.equals(other.url)) + return false; + if (this.icon == null) { + if (other.icon != null) + return false; + } + else if (!this.icon.equals(other.icon)) + return false; + if (this.isOpen == null) { + if (other.isOpen != null) + return false; + } + else if (!this.isOpen.equals(other.isOpen)) + return false; + if (this.description == null) { + if (other.description != null) + return false; + } + else if (!this.description.equals(other.description)) + return false; + if (this.sort == null) { + if (other.sort != null) + return false; + } + else if (!this.sort.equals(other.sort)) + return false; + if (this.parentpath == null) { + if (other.parentpath != null) + return false; + } + else if (!this.parentpath.equals(other.parentpath)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.id == null) ? 0 : this.id.hashCode()); + result = prime * result + ((this.parentId == null) ? 0 : this.parentId.hashCode()); + result = prime * result + ((this.level == null) ? 0 : this.level.hashCode()); + result = prime * result + ((this.name == null) ? 0 : this.name.hashCode()); + result = prime * result + ((this.types == null) ? 0 : this.types.hashCode()); + result = prime * result + ((this.url == null) ? 0 : this.url.hashCode()); + result = prime * result + ((this.icon == null) ? 0 : this.icon.hashCode()); + result = prime * result + ((this.isOpen == null) ? 0 : this.isOpen.hashCode()); + result = prime * result + ((this.description == null) ? 0 : this.description.hashCode()); + result = prime * result + ((this.sort == null) ? 0 : this.sort.hashCode()); + result = prime * result + ((this.parentpath == null) ? 0 : this.parentpath.hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("SysMenu ("); + + sb.append(id); + sb.append(", ").append(parentId); + sb.append(", ").append(level); + sb.append(", ").append(name); + sb.append(", ").append(types); + sb.append(", ").append(url); + sb.append(", ").append(icon); + sb.append(", ").append(isOpen); + sb.append(", ").append(description); + sb.append(", ").append(sort); + sb.append(", ").append(parentpath); + + sb.append(")"); + return sb.toString(); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysOrg.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysOrg.java new file mode 100644 index 0000000..7021ab2 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysOrg.java @@ -0,0 +1,836 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.pojos; + + +import java.io.Serializable; +import java.time.LocalDateTime; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysOrg implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + private String pid; + private String chineseSimpleName; + private String englishSimpleName; + private String chineseFullName; + private String englishFullName; + private String code; + private Integer sort; + private Integer status; + private Integer isCompanyDepartment; + private String enterpriseLegalPerson; + private String contactPerson; + private String contactPhone; + private String remark; + private LocalDateTime createTime; + private String createUser; + private LocalDateTime updateTime; + private String updateUser; + private String name; + private String industryName; + private String industryCode; + private String provinceCode; + private String cityCode; + private String areaCode; + private String addr; + private String uscc; + private String orgType; + private Integer isArchivesDep; + private String cerId; + private Integer isForbidden; + + public SysOrg() {} + + public SysOrg(SysOrg value) { + this.id = value.id; + this.pid = value.pid; + this.chineseSimpleName = value.chineseSimpleName; + this.englishSimpleName = value.englishSimpleName; + this.chineseFullName = value.chineseFullName; + this.englishFullName = value.englishFullName; + this.code = value.code; + this.sort = value.sort; + this.status = value.status; + this.isCompanyDepartment = value.isCompanyDepartment; + this.enterpriseLegalPerson = value.enterpriseLegalPerson; + this.contactPerson = value.contactPerson; + this.contactPhone = value.contactPhone; + this.remark = value.remark; + this.createTime = value.createTime; + this.createUser = value.createUser; + this.updateTime = value.updateTime; + this.updateUser = value.updateUser; + this.name = value.name; + this.industryName = value.industryName; + this.industryCode = value.industryCode; + this.provinceCode = value.provinceCode; + this.cityCode = value.cityCode; + this.areaCode = value.areaCode; + this.addr = value.addr; + this.uscc = value.uscc; + this.orgType = value.orgType; + this.isArchivesDep = value.isArchivesDep; + this.cerId = value.cerId; + this.isForbidden = value.isForbidden; + } + + public SysOrg( + String id, + String pid, + String chineseSimpleName, + String englishSimpleName, + String chineseFullName, + String englishFullName, + String code, + Integer sort, + Integer status, + Integer isCompanyDepartment, + String enterpriseLegalPerson, + String contactPerson, + String contactPhone, + String remark, + LocalDateTime createTime, + String createUser, + LocalDateTime updateTime, + String updateUser, + String name, + String industryName, + String industryCode, + String provinceCode, + String cityCode, + String areaCode, + String addr, + String uscc, + String orgType, + Integer isArchivesDep, + String cerId, + Integer isForbidden + ) { + this.id = id; + this.pid = pid; + this.chineseSimpleName = chineseSimpleName; + this.englishSimpleName = englishSimpleName; + this.chineseFullName = chineseFullName; + this.englishFullName = englishFullName; + this.code = code; + this.sort = sort; + this.status = status; + this.isCompanyDepartment = isCompanyDepartment; + this.enterpriseLegalPerson = enterpriseLegalPerson; + this.contactPerson = contactPerson; + this.contactPhone = contactPhone; + this.remark = remark; + this.createTime = createTime; + this.createUser = createUser; + this.updateTime = updateTime; + this.updateUser = updateUser; + this.name = name; + this.industryName = industryName; + this.industryCode = industryCode; + this.provinceCode = provinceCode; + this.cityCode = cityCode; + this.areaCode = areaCode; + this.addr = addr; + this.uscc = uscc; + this.orgType = orgType; + this.isArchivesDep = isArchivesDep; + this.cerId = cerId; + this.isForbidden = isForbidden; + } + + /** + * Getter for public.sys_org.id. + */ + public String getId() { + return this.id; + } + + /** + * Setter for public.sys_org.id. + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter for public.sys_org.pid. + */ + public String getPid() { + return this.pid; + } + + /** + * Setter for public.sys_org.pid. + */ + public void setPid(String pid) { + this.pid = pid; + } + + /** + * Getter for public.sys_org.chinese_simple_name. + */ + public String getChineseSimpleName() { + return this.chineseSimpleName; + } + + /** + * Setter for public.sys_org.chinese_simple_name. + */ + public void setChineseSimpleName(String chineseSimpleName) { + this.chineseSimpleName = chineseSimpleName; + } + + /** + * Getter for public.sys_org.english_simple_name. + */ + public String getEnglishSimpleName() { + return this.englishSimpleName; + } + + /** + * Setter for public.sys_org.english_simple_name. + */ + public void setEnglishSimpleName(String englishSimpleName) { + this.englishSimpleName = englishSimpleName; + } + + /** + * Getter for public.sys_org.chinese_full_name. + */ + public String getChineseFullName() { + return this.chineseFullName; + } + + /** + * Setter for public.sys_org.chinese_full_name. + */ + public void setChineseFullName(String chineseFullName) { + this.chineseFullName = chineseFullName; + } + + /** + * Getter for public.sys_org.english_full_name. + */ + public String getEnglishFullName() { + return this.englishFullName; + } + + /** + * Setter for public.sys_org.english_full_name. + */ + public void setEnglishFullName(String englishFullName) { + this.englishFullName = englishFullName; + } + + /** + * Getter for public.sys_org.code. + */ + public String getCode() { + return this.code; + } + + /** + * Setter for public.sys_org.code. + */ + public void setCode(String code) { + this.code = code; + } + + /** + * Getter for public.sys_org.sort. + */ + public Integer getSort() { + return this.sort; + } + + /** + * Setter for public.sys_org.sort. + */ + public void setSort(Integer sort) { + this.sort = sort; + } + + /** + * Getter for public.sys_org.status. + */ + public Integer getStatus() { + return this.status; + } + + /** + * Setter for public.sys_org.status. + */ + public void setStatus(Integer status) { + this.status = status; + } + + /** + * Getter for public.sys_org.is_company_department. + */ + public Integer getIsCompanyDepartment() { + return this.isCompanyDepartment; + } + + /** + * Setter for public.sys_org.is_company_department. + */ + public void setIsCompanyDepartment(Integer isCompanyDepartment) { + this.isCompanyDepartment = isCompanyDepartment; + } + + /** + * Getter for public.sys_org.enterprise_legal_person. + */ + public String getEnterpriseLegalPerson() { + return this.enterpriseLegalPerson; + } + + /** + * Setter for public.sys_org.enterprise_legal_person. + */ + public void setEnterpriseLegalPerson(String enterpriseLegalPerson) { + this.enterpriseLegalPerson = enterpriseLegalPerson; + } + + /** + * Getter for public.sys_org.contact_person. + */ + public String getContactPerson() { + return this.contactPerson; + } + + /** + * Setter for public.sys_org.contact_person. + */ + public void setContactPerson(String contactPerson) { + this.contactPerson = contactPerson; + } + + /** + * Getter for public.sys_org.contact_phone. + */ + public String getContactPhone() { + return this.contactPhone; + } + + /** + * Setter for public.sys_org.contact_phone. + */ + public void setContactPhone(String contactPhone) { + this.contactPhone = contactPhone; + } + + /** + * Getter for public.sys_org.remark. + */ + public String getRemark() { + return this.remark; + } + + /** + * Setter for public.sys_org.remark. + */ + public void setRemark(String remark) { + this.remark = remark; + } + + /** + * Getter for public.sys_org.create_time. + */ + public LocalDateTime getCreateTime() { + return this.createTime; + } + + /** + * Setter for public.sys_org.create_time. + */ + public void setCreateTime(LocalDateTime createTime) { + this.createTime = createTime; + } + + /** + * Getter for public.sys_org.create_user. + */ + public String getCreateUser() { + return this.createUser; + } + + /** + * Setter for public.sys_org.create_user. + */ + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + /** + * Getter for public.sys_org.update_time. + */ + public LocalDateTime getUpdateTime() { + return this.updateTime; + } + + /** + * Setter for public.sys_org.update_time. + */ + public void setUpdateTime(LocalDateTime updateTime) { + this.updateTime = updateTime; + } + + /** + * Getter for public.sys_org.update_user. + */ + public String getUpdateUser() { + return this.updateUser; + } + + /** + * Setter for public.sys_org.update_user. + */ + public void setUpdateUser(String updateUser) { + this.updateUser = updateUser; + } + + /** + * Getter for public.sys_org.name. + */ + public String getName() { + return this.name; + } + + /** + * Setter for public.sys_org.name. + */ + public void setName(String name) { + this.name = name; + } + + /** + * Getter for public.sys_org.industry_name. + */ + public String getIndustryName() { + return this.industryName; + } + + /** + * Setter for public.sys_org.industry_name. + */ + public void setIndustryName(String industryName) { + this.industryName = industryName; + } + + /** + * Getter for public.sys_org.industry_code. + */ + public String getIndustryCode() { + return this.industryCode; + } + + /** + * Setter for public.sys_org.industry_code. + */ + public void setIndustryCode(String industryCode) { + this.industryCode = industryCode; + } + + /** + * Getter for public.sys_org.province_code. + */ + public String getProvinceCode() { + return this.provinceCode; + } + + /** + * Setter for public.sys_org.province_code. + */ + public void setProvinceCode(String provinceCode) { + this.provinceCode = provinceCode; + } + + /** + * Getter for public.sys_org.city_code. + */ + public String getCityCode() { + return this.cityCode; + } + + /** + * Setter for public.sys_org.city_code. + */ + public void setCityCode(String cityCode) { + this.cityCode = cityCode; + } + + /** + * Getter for public.sys_org.area_code. + */ + public String getAreaCode() { + return this.areaCode; + } + + /** + * Setter for public.sys_org.area_code. + */ + public void setAreaCode(String areaCode) { + this.areaCode = areaCode; + } + + /** + * Getter for public.sys_org.addr. + */ + public String getAddr() { + return this.addr; + } + + /** + * Setter for public.sys_org.addr. + */ + public void setAddr(String addr) { + this.addr = addr; + } + + /** + * Getter for public.sys_org.uscc. + */ + public String getUscc() { + return this.uscc; + } + + /** + * Setter for public.sys_org.uscc. + */ + public void setUscc(String uscc) { + this.uscc = uscc; + } + + /** + * Getter for public.sys_org.org_type. + */ + public String getOrgType() { + return this.orgType; + } + + /** + * Setter for public.sys_org.org_type. + */ + public void setOrgType(String orgType) { + this.orgType = orgType; + } + + /** + * Getter for public.sys_org.is_archives_dep. + */ + public Integer getIsArchivesDep() { + return this.isArchivesDep; + } + + /** + * Setter for public.sys_org.is_archives_dep. + */ + public void setIsArchivesDep(Integer isArchivesDep) { + this.isArchivesDep = isArchivesDep; + } + + /** + * Getter for public.sys_org.cer_id. + */ + public String getCerId() { + return this.cerId; + } + + /** + * Setter for public.sys_org.cer_id. + */ + public void setCerId(String cerId) { + this.cerId = cerId; + } + + /** + * Getter for public.sys_org.is_forbidden. + */ + public Integer getIsForbidden() { + return this.isForbidden; + } + + /** + * Setter for public.sys_org.is_forbidden. + */ + public void setIsForbidden(Integer isForbidden) { + this.isForbidden = isForbidden; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final SysOrg other = (SysOrg) obj; + if (this.id == null) { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + return false; + if (this.pid == null) { + if (other.pid != null) + return false; + } + else if (!this.pid.equals(other.pid)) + return false; + if (this.chineseSimpleName == null) { + if (other.chineseSimpleName != null) + return false; + } + else if (!this.chineseSimpleName.equals(other.chineseSimpleName)) + return false; + if (this.englishSimpleName == null) { + if (other.englishSimpleName != null) + return false; + } + else if (!this.englishSimpleName.equals(other.englishSimpleName)) + return false; + if (this.chineseFullName == null) { + if (other.chineseFullName != null) + return false; + } + else if (!this.chineseFullName.equals(other.chineseFullName)) + return false; + if (this.englishFullName == null) { + if (other.englishFullName != null) + return false; + } + else if (!this.englishFullName.equals(other.englishFullName)) + return false; + if (this.code == null) { + if (other.code != null) + return false; + } + else if (!this.code.equals(other.code)) + return false; + if (this.sort == null) { + if (other.sort != null) + return false; + } + else if (!this.sort.equals(other.sort)) + return false; + if (this.status == null) { + if (other.status != null) + return false; + } + else if (!this.status.equals(other.status)) + return false; + if (this.isCompanyDepartment == null) { + if (other.isCompanyDepartment != null) + return false; + } + else if (!this.isCompanyDepartment.equals(other.isCompanyDepartment)) + return false; + if (this.enterpriseLegalPerson == null) { + if (other.enterpriseLegalPerson != null) + return false; + } + else if (!this.enterpriseLegalPerson.equals(other.enterpriseLegalPerson)) + return false; + if (this.contactPerson == null) { + if (other.contactPerson != null) + return false; + } + else if (!this.contactPerson.equals(other.contactPerson)) + return false; + if (this.contactPhone == null) { + if (other.contactPhone != null) + return false; + } + else if (!this.contactPhone.equals(other.contactPhone)) + return false; + if (this.remark == null) { + if (other.remark != null) + return false; + } + else if (!this.remark.equals(other.remark)) + return false; + if (this.createTime == null) { + if (other.createTime != null) + return false; + } + else if (!this.createTime.equals(other.createTime)) + return false; + if (this.createUser == null) { + if (other.createUser != null) + return false; + } + else if (!this.createUser.equals(other.createUser)) + return false; + if (this.updateTime == null) { + if (other.updateTime != null) + return false; + } + else if (!this.updateTime.equals(other.updateTime)) + return false; + if (this.updateUser == null) { + if (other.updateUser != null) + return false; + } + else if (!this.updateUser.equals(other.updateUser)) + return false; + if (this.name == null) { + if (other.name != null) + return false; + } + else if (!this.name.equals(other.name)) + return false; + if (this.industryName == null) { + if (other.industryName != null) + return false; + } + else if (!this.industryName.equals(other.industryName)) + return false; + if (this.industryCode == null) { + if (other.industryCode != null) + return false; + } + else if (!this.industryCode.equals(other.industryCode)) + return false; + if (this.provinceCode == null) { + if (other.provinceCode != null) + return false; + } + else if (!this.provinceCode.equals(other.provinceCode)) + return false; + if (this.cityCode == null) { + if (other.cityCode != null) + return false; + } + else if (!this.cityCode.equals(other.cityCode)) + return false; + if (this.areaCode == null) { + if (other.areaCode != null) + return false; + } + else if (!this.areaCode.equals(other.areaCode)) + return false; + if (this.addr == null) { + if (other.addr != null) + return false; + } + else if (!this.addr.equals(other.addr)) + return false; + if (this.uscc == null) { + if (other.uscc != null) + return false; + } + else if (!this.uscc.equals(other.uscc)) + return false; + if (this.orgType == null) { + if (other.orgType != null) + return false; + } + else if (!this.orgType.equals(other.orgType)) + return false; + if (this.isArchivesDep == null) { + if (other.isArchivesDep != null) + return false; + } + else if (!this.isArchivesDep.equals(other.isArchivesDep)) + return false; + if (this.cerId == null) { + if (other.cerId != null) + return false; + } + else if (!this.cerId.equals(other.cerId)) + return false; + if (this.isForbidden == null) { + if (other.isForbidden != null) + return false; + } + else if (!this.isForbidden.equals(other.isForbidden)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.id == null) ? 0 : this.id.hashCode()); + result = prime * result + ((this.pid == null) ? 0 : this.pid.hashCode()); + result = prime * result + ((this.chineseSimpleName == null) ? 0 : this.chineseSimpleName.hashCode()); + result = prime * result + ((this.englishSimpleName == null) ? 0 : this.englishSimpleName.hashCode()); + result = prime * result + ((this.chineseFullName == null) ? 0 : this.chineseFullName.hashCode()); + result = prime * result + ((this.englishFullName == null) ? 0 : this.englishFullName.hashCode()); + result = prime * result + ((this.code == null) ? 0 : this.code.hashCode()); + result = prime * result + ((this.sort == null) ? 0 : this.sort.hashCode()); + result = prime * result + ((this.status == null) ? 0 : this.status.hashCode()); + result = prime * result + ((this.isCompanyDepartment == null) ? 0 : this.isCompanyDepartment.hashCode()); + result = prime * result + ((this.enterpriseLegalPerson == null) ? 0 : this.enterpriseLegalPerson.hashCode()); + result = prime * result + ((this.contactPerson == null) ? 0 : this.contactPerson.hashCode()); + result = prime * result + ((this.contactPhone == null) ? 0 : this.contactPhone.hashCode()); + result = prime * result + ((this.remark == null) ? 0 : this.remark.hashCode()); + result = prime * result + ((this.createTime == null) ? 0 : this.createTime.hashCode()); + result = prime * result + ((this.createUser == null) ? 0 : this.createUser.hashCode()); + result = prime * result + ((this.updateTime == null) ? 0 : this.updateTime.hashCode()); + result = prime * result + ((this.updateUser == null) ? 0 : this.updateUser.hashCode()); + result = prime * result + ((this.name == null) ? 0 : this.name.hashCode()); + result = prime * result + ((this.industryName == null) ? 0 : this.industryName.hashCode()); + result = prime * result + ((this.industryCode == null) ? 0 : this.industryCode.hashCode()); + result = prime * result + ((this.provinceCode == null) ? 0 : this.provinceCode.hashCode()); + result = prime * result + ((this.cityCode == null) ? 0 : this.cityCode.hashCode()); + result = prime * result + ((this.areaCode == null) ? 0 : this.areaCode.hashCode()); + result = prime * result + ((this.addr == null) ? 0 : this.addr.hashCode()); + result = prime * result + ((this.uscc == null) ? 0 : this.uscc.hashCode()); + result = prime * result + ((this.orgType == null) ? 0 : this.orgType.hashCode()); + result = prime * result + ((this.isArchivesDep == null) ? 0 : this.isArchivesDep.hashCode()); + result = prime * result + ((this.cerId == null) ? 0 : this.cerId.hashCode()); + result = prime * result + ((this.isForbidden == null) ? 0 : this.isForbidden.hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("SysOrg ("); + + sb.append(id); + sb.append(", ").append(pid); + sb.append(", ").append(chineseSimpleName); + sb.append(", ").append(englishSimpleName); + sb.append(", ").append(chineseFullName); + sb.append(", ").append(englishFullName); + sb.append(", ").append(code); + sb.append(", ").append(sort); + sb.append(", ").append(status); + sb.append(", ").append(isCompanyDepartment); + sb.append(", ").append(enterpriseLegalPerson); + sb.append(", ").append(contactPerson); + sb.append(", ").append(contactPhone); + sb.append(", ").append(remark); + sb.append(", ").append(createTime); + sb.append(", ").append(createUser); + sb.append(", ").append(updateTime); + sb.append(", ").append(updateUser); + sb.append(", ").append(name); + sb.append(", ").append(industryName); + sb.append(", ").append(industryCode); + sb.append(", ").append(provinceCode); + sb.append(", ").append(cityCode); + sb.append(", ").append(areaCode); + sb.append(", ").append(addr); + sb.append(", ").append(uscc); + sb.append(", ").append(orgType); + sb.append(", ").append(isArchivesDep); + sb.append(", ").append(cerId); + sb.append(", ").append(isForbidden); + + sb.append(")"); + return sb.toString(); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysRole.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysRole.java new file mode 100644 index 0000000..4c7eb97 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysRole.java @@ -0,0 +1,289 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.pojos; + + +import java.io.Serializable; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysRole implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + private String rolename; + private String describe; + private Integer sort; + private Integer isOpen; + private String signName; + private String signId; + private String companyId; + private String companyName; + + public SysRole() {} + + public SysRole(SysRole value) { + this.id = value.id; + this.rolename = value.rolename; + this.describe = value.describe; + this.sort = value.sort; + this.isOpen = value.isOpen; + this.signName = value.signName; + this.signId = value.signId; + this.companyId = value.companyId; + this.companyName = value.companyName; + } + + public SysRole( + String id, + String rolename, + String describe, + Integer sort, + Integer isOpen, + String signName, + String signId, + String companyId, + String companyName + ) { + this.id = id; + this.rolename = rolename; + this.describe = describe; + this.sort = sort; + this.isOpen = isOpen; + this.signName = signName; + this.signId = signId; + this.companyId = companyId; + this.companyName = companyName; + } + + /** + * Getter for public.sys_role.id. + */ + public String getId() { + return this.id; + } + + /** + * Setter for public.sys_role.id. + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter for public.sys_role.rolename. + */ + public String getRolename() { + return this.rolename; + } + + /** + * Setter for public.sys_role.rolename. + */ + public void setRolename(String rolename) { + this.rolename = rolename; + } + + /** + * Getter for public.sys_role.describe. + */ + public String getDescribe() { + return this.describe; + } + + /** + * Setter for public.sys_role.describe. + */ + public void setDescribe(String describe) { + this.describe = describe; + } + + /** + * Getter for public.sys_role.sort. + */ + public Integer getSort() { + return this.sort; + } + + /** + * Setter for public.sys_role.sort. + */ + public void setSort(Integer sort) { + this.sort = sort; + } + + /** + * Getter for public.sys_role.is_open. + */ + public Integer getIsOpen() { + return this.isOpen; + } + + /** + * Setter for public.sys_role.is_open. + */ + public void setIsOpen(Integer isOpen) { + this.isOpen = isOpen; + } + + /** + * Getter for public.sys_role.sign_name. + */ + public String getSignName() { + return this.signName; + } + + /** + * Setter for public.sys_role.sign_name. + */ + public void setSignName(String signName) { + this.signName = signName; + } + + /** + * Getter for public.sys_role.sign_id. + */ + public String getSignId() { + return this.signId; + } + + /** + * Setter for public.sys_role.sign_id. + */ + public void setSignId(String signId) { + this.signId = signId; + } + + /** + * Getter for public.sys_role.company_id. + */ + public String getCompanyId() { + return this.companyId; + } + + /** + * Setter for public.sys_role.company_id. + */ + public void setCompanyId(String companyId) { + this.companyId = companyId; + } + + /** + * Getter for public.sys_role.company_name. + */ + public String getCompanyName() { + return this.companyName; + } + + /** + * Setter for public.sys_role.company_name. + */ + public void setCompanyName(String companyName) { + this.companyName = companyName; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final SysRole other = (SysRole) obj; + if (this.id == null) { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + return false; + if (this.rolename == null) { + if (other.rolename != null) + return false; + } + else if (!this.rolename.equals(other.rolename)) + return false; + if (this.describe == null) { + if (other.describe != null) + return false; + } + else if (!this.describe.equals(other.describe)) + return false; + if (this.sort == null) { + if (other.sort != null) + return false; + } + else if (!this.sort.equals(other.sort)) + return false; + if (this.isOpen == null) { + if (other.isOpen != null) + return false; + } + else if (!this.isOpen.equals(other.isOpen)) + return false; + if (this.signName == null) { + if (other.signName != null) + return false; + } + else if (!this.signName.equals(other.signName)) + return false; + if (this.signId == null) { + if (other.signId != null) + return false; + } + else if (!this.signId.equals(other.signId)) + return false; + if (this.companyId == null) { + if (other.companyId != null) + return false; + } + else if (!this.companyId.equals(other.companyId)) + return false; + if (this.companyName == null) { + if (other.companyName != null) + return false; + } + else if (!this.companyName.equals(other.companyName)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.id == null) ? 0 : this.id.hashCode()); + result = prime * result + ((this.rolename == null) ? 0 : this.rolename.hashCode()); + result = prime * result + ((this.describe == null) ? 0 : this.describe.hashCode()); + result = prime * result + ((this.sort == null) ? 0 : this.sort.hashCode()); + result = prime * result + ((this.isOpen == null) ? 0 : this.isOpen.hashCode()); + result = prime * result + ((this.signName == null) ? 0 : this.signName.hashCode()); + result = prime * result + ((this.signId == null) ? 0 : this.signId.hashCode()); + result = prime * result + ((this.companyId == null) ? 0 : this.companyId.hashCode()); + result = prime * result + ((this.companyName == null) ? 0 : this.companyName.hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("SysRole ("); + + sb.append(id); + sb.append(", ").append(rolename); + sb.append(", ").append(describe); + sb.append(", ").append(sort); + sb.append(", ").append(isOpen); + sb.append(", ").append(signName); + sb.append(", ").append(signId); + sb.append(", ").append(companyId); + sb.append(", ").append(companyName); + + sb.append(")"); + return sb.toString(); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysRoleMenu.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysRoleMenu.java new file mode 100644 index 0000000..6566037 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysRoleMenu.java @@ -0,0 +1,133 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.pojos; + + +import java.io.Serializable; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysRoleMenu implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + private String roleid; + private String menuid; + + public SysRoleMenu() {} + + public SysRoleMenu(SysRoleMenu value) { + this.id = value.id; + this.roleid = value.roleid; + this.menuid = value.menuid; + } + + public SysRoleMenu( + String id, + String roleid, + String menuid + ) { + this.id = id; + this.roleid = roleid; + this.menuid = menuid; + } + + /** + * Getter for public.sys_role_menu.id. + */ + public String getId() { + return this.id; + } + + /** + * Setter for public.sys_role_menu.id. + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter for public.sys_role_menu.roleid. + */ + public String getRoleid() { + return this.roleid; + } + + /** + * Setter for public.sys_role_menu.roleid. + */ + public void setRoleid(String roleid) { + this.roleid = roleid; + } + + /** + * Getter for public.sys_role_menu.menuid. + */ + public String getMenuid() { + return this.menuid; + } + + /** + * Setter for public.sys_role_menu.menuid. + */ + public void setMenuid(String menuid) { + this.menuid = menuid; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final SysRoleMenu other = (SysRoleMenu) obj; + if (this.id == null) { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + return false; + if (this.roleid == null) { + if (other.roleid != null) + return false; + } + else if (!this.roleid.equals(other.roleid)) + return false; + if (this.menuid == null) { + if (other.menuid != null) + return false; + } + else if (!this.menuid.equals(other.menuid)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.id == null) ? 0 : this.id.hashCode()); + result = prime * result + ((this.roleid == null) ? 0 : this.roleid.hashCode()); + result = prime * result + ((this.menuid == null) ? 0 : this.menuid.hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("SysRoleMenu ("); + + sb.append(id); + sb.append(", ").append(roleid); + sb.append(", ").append(menuid); + + sb.append(")"); + return sb.toString(); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysRoleSign.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysRoleSign.java new file mode 100644 index 0000000..c2314c0 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysRoleSign.java @@ -0,0 +1,133 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.pojos; + + +import java.io.Serializable; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysRoleSign implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + private String signName; + private String signCode; + + public SysRoleSign() {} + + public SysRoleSign(SysRoleSign value) { + this.id = value.id; + this.signName = value.signName; + this.signCode = value.signCode; + } + + public SysRoleSign( + String id, + String signName, + String signCode + ) { + this.id = id; + this.signName = signName; + this.signCode = signCode; + } + + /** + * Getter for public.sys_role_sign.id. + */ + public String getId() { + return this.id; + } + + /** + * Setter for public.sys_role_sign.id. + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter for public.sys_role_sign.sign_name. + */ + public String getSignName() { + return this.signName; + } + + /** + * Setter for public.sys_role_sign.sign_name. + */ + public void setSignName(String signName) { + this.signName = signName; + } + + /** + * Getter for public.sys_role_sign.sign_code. + */ + public String getSignCode() { + return this.signCode; + } + + /** + * Setter for public.sys_role_sign.sign_code. + */ + public void setSignCode(String signCode) { + this.signCode = signCode; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final SysRoleSign other = (SysRoleSign) obj; + if (this.id == null) { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + return false; + if (this.signName == null) { + if (other.signName != null) + return false; + } + else if (!this.signName.equals(other.signName)) + return false; + if (this.signCode == null) { + if (other.signCode != null) + return false; + } + else if (!this.signCode.equals(other.signCode)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.id == null) ? 0 : this.id.hashCode()); + result = prime * result + ((this.signName == null) ? 0 : this.signName.hashCode()); + result = prime * result + ((this.signCode == null) ? 0 : this.signCode.hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("SysRoleSign ("); + + sb.append(id); + sb.append(", ").append(signName); + sb.append(", ").append(signCode); + + sb.append(")"); + return sb.toString(); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysRoleUrl.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysRoleUrl.java new file mode 100644 index 0000000..0d5c33e --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysRoleUrl.java @@ -0,0 +1,159 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.pojos; + + +import java.io.Serializable; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysRoleUrl implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + private String roleid; + private String url; + private Integer urltypes; + + public SysRoleUrl() {} + + public SysRoleUrl(SysRoleUrl value) { + this.id = value.id; + this.roleid = value.roleid; + this.url = value.url; + this.urltypes = value.urltypes; + } + + public SysRoleUrl( + String id, + String roleid, + String url, + Integer urltypes + ) { + this.id = id; + this.roleid = roleid; + this.url = url; + this.urltypes = urltypes; + } + + /** + * Getter for public.sys_role_url.id. + */ + public String getId() { + return this.id; + } + + /** + * Setter for public.sys_role_url.id. + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter for public.sys_role_url.roleid. + */ + public String getRoleid() { + return this.roleid; + } + + /** + * Setter for public.sys_role_url.roleid. + */ + public void setRoleid(String roleid) { + this.roleid = roleid; + } + + /** + * Getter for public.sys_role_url.url. + */ + public String getUrl() { + return this.url; + } + + /** + * Setter for public.sys_role_url.url. + */ + public void setUrl(String url) { + this.url = url; + } + + /** + * Getter for public.sys_role_url.urltypes. + */ + public Integer getUrltypes() { + return this.urltypes; + } + + /** + * Setter for public.sys_role_url.urltypes. + */ + public void setUrltypes(Integer urltypes) { + this.urltypes = urltypes; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final SysRoleUrl other = (SysRoleUrl) obj; + if (this.id == null) { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + return false; + if (this.roleid == null) { + if (other.roleid != null) + return false; + } + else if (!this.roleid.equals(other.roleid)) + return false; + if (this.url == null) { + if (other.url != null) + return false; + } + else if (!this.url.equals(other.url)) + return false; + if (this.urltypes == null) { + if (other.urltypes != null) + return false; + } + else if (!this.urltypes.equals(other.urltypes)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.id == null) ? 0 : this.id.hashCode()); + result = prime * result + ((this.roleid == null) ? 0 : this.roleid.hashCode()); + result = prime * result + ((this.url == null) ? 0 : this.url.hashCode()); + result = prime * result + ((this.urltypes == null) ? 0 : this.urltypes.hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("SysRoleUrl ("); + + sb.append(id); + sb.append(", ").append(roleid); + sb.append(", ").append(url); + sb.append(", ").append(urltypes); + + sb.append(")"); + return sb.toString(); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysUrls.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysUrls.java new file mode 100644 index 0000000..e2299d1 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/pojos/SysUrls.java @@ -0,0 +1,237 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.pojos; + + +import java.io.Serializable; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysUrls implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + private String pid; + private Integer types; + private Integer level; + private String url; + private String name; + private String method; + + public SysUrls() {} + + public SysUrls(SysUrls value) { + this.id = value.id; + this.pid = value.pid; + this.types = value.types; + this.level = value.level; + this.url = value.url; + this.name = value.name; + this.method = value.method; + } + + public SysUrls( + String id, + String pid, + Integer types, + Integer level, + String url, + String name, + String method + ) { + this.id = id; + this.pid = pid; + this.types = types; + this.level = level; + this.url = url; + this.name = name; + this.method = method; + } + + /** + * Getter for public.sys_urls.id. + */ + public String getId() { + return this.id; + } + + /** + * Setter for public.sys_urls.id. + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter for public.sys_urls.pid. + */ + public String getPid() { + return this.pid; + } + + /** + * Setter for public.sys_urls.pid. + */ + public void setPid(String pid) { + this.pid = pid; + } + + /** + * Getter for public.sys_urls.types. + */ + public Integer getTypes() { + return this.types; + } + + /** + * Setter for public.sys_urls.types. + */ + public void setTypes(Integer types) { + this.types = types; + } + + /** + * Getter for public.sys_urls.level. + */ + public Integer getLevel() { + return this.level; + } + + /** + * Setter for public.sys_urls.level. + */ + public void setLevel(Integer level) { + this.level = level; + } + + /** + * Getter for public.sys_urls.url. + */ + public String getUrl() { + return this.url; + } + + /** + * Setter for public.sys_urls.url. + */ + public void setUrl(String url) { + this.url = url; + } + + /** + * Getter for public.sys_urls.name. + */ + public String getName() { + return this.name; + } + + /** + * Setter for public.sys_urls.name. + */ + public void setName(String name) { + this.name = name; + } + + /** + * Getter for public.sys_urls.method. + */ + public String getMethod() { + return this.method; + } + + /** + * Setter for public.sys_urls.method. + */ + public void setMethod(String method) { + this.method = method; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final SysUrls other = (SysUrls) obj; + if (this.id == null) { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + return false; + if (this.pid == null) { + if (other.pid != null) + return false; + } + else if (!this.pid.equals(other.pid)) + return false; + if (this.types == null) { + if (other.types != null) + return false; + } + else if (!this.types.equals(other.types)) + return false; + if (this.level == null) { + if (other.level != null) + return false; + } + else if (!this.level.equals(other.level)) + return false; + if (this.url == null) { + if (other.url != null) + return false; + } + else if (!this.url.equals(other.url)) + return false; + if (this.name == null) { + if (other.name != null) + return false; + } + else if (!this.name.equals(other.name)) + return false; + if (this.method == null) { + if (other.method != null) + return false; + } + else if (!this.method.equals(other.method)) + return false; + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.id == null) ? 0 : this.id.hashCode()); + result = prime * result + ((this.pid == null) ? 0 : this.pid.hashCode()); + result = prime * result + ((this.types == null) ? 0 : this.types.hashCode()); + result = prime * result + ((this.level == null) ? 0 : this.level.hashCode()); + result = prime * result + ((this.url == null) ? 0 : this.url.hashCode()); + result = prime * result + ((this.name == null) ? 0 : this.name.hashCode()); + result = prime * result + ((this.method == null) ? 0 : this.method.hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("SysUrls ("); + + sb.append(id); + sb.append(", ").append(pid); + sb.append(", ").append(types); + sb.append(", ").append(level); + sb.append(", ").append(url); + sb.append(", ").append(name); + sb.append(", ").append(method); + + sb.append(")"); + return sb.toString(); + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/records/ArchiveSynLogRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/ArchiveSynLogRecord.java new file mode 100644 index 0000000..65e3a61 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/ArchiveSynLogRecord.java @@ -0,0 +1,578 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.records; + + +import java.time.LocalDateTime; + +import jj.tech.paolu.repository.jooq.tables.ArchiveSynLog; + +import org.jooq.Field; +import org.jooq.Record1; +import org.jooq.Record13; +import org.jooq.Row13; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * 从电子档案系统同步档案目录数据的过程日志 + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class ArchiveSynLogRecord extends UpdatableRecordImpl implements Record13 { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.archive_syn_log.start_time. + */ + public void setStartTime(LocalDateTime value) { + set(0, value); + } + + /** + * Getter for public.archive_syn_log.start_time. + */ + public LocalDateTime getStartTime() { + return (LocalDateTime) get(0); + } + + /** + * Setter for public.archive_syn_log.insert_dir_count. + */ + public void setInsertDirCount(Long value) { + set(1, value); + } + + /** + * Getter for public.archive_syn_log.insert_dir_count. + */ + public Long getInsertDirCount() { + return (Long) get(1); + } + + /** + * Setter for public.archive_syn_log.update_dir_count. + */ + public void setUpdateDirCount(Long value) { + set(2, value); + } + + /** + * Getter for public.archive_syn_log.update_dir_count. + */ + public Long getUpdateDirCount() { + return (Long) get(2); + } + + /** + * Setter for public.archive_syn_log.insert_dirfile_count. + */ + public void setInsertDirfileCount(Long value) { + set(3, value); + } + + /** + * Getter for public.archive_syn_log.insert_dirfile_count. + */ + public Long getInsertDirfileCount() { + return (Long) get(3); + } + + /** + * Setter for public.archive_syn_log.update_dirfile_count. + */ + public void setUpdateDirfileCount(Long value) { + set(4, value); + } + + /** + * Getter for public.archive_syn_log.update_dirfile_count. + */ + public Long getUpdateDirfileCount() { + return (Long) get(4); + } + + /** + * Setter for public.archive_syn_log.insert_file_count. + */ + public void setInsertFileCount(Long value) { + set(5, value); + } + + /** + * Getter for public.archive_syn_log.insert_file_count. + */ + public Long getInsertFileCount() { + return (Long) get(5); + } + + /** + * Setter for public.archive_syn_log.update_file_count. + */ + public void setUpdateFileCount(Long value) { + set(6, value); + } + + /** + * Getter for public.archive_syn_log.update_file_count. + */ + public Long getUpdateFileCount() { + return (Long) get(6); + } + + /** + * Setter for public.archive_syn_log.description. + */ + public void setDescription(String value) { + set(7, value); + } + + /** + * Getter for public.archive_syn_log.description. + */ + public String getDescription() { + return (String) get(7); + } + + /** + * Setter for public.archive_syn_log.run_result. + */ + public void setRunResult(String value) { + set(8, value); + } + + /** + * Getter for public.archive_syn_log.run_result. + */ + public String getRunResult() { + return (String) get(8); + } + + /** + * Setter for public.archive_syn_log.update_timestamp. + */ + public void setUpdateTimestamp(Long value) { + set(9, value); + } + + /** + * Getter for public.archive_syn_log.update_timestamp. + */ + public Long getUpdateTimestamp() { + return (Long) get(9); + } + + /** + * Setter for public.archive_syn_log.id. + */ + public void setId(String value) { + set(10, value); + } + + /** + * Getter for public.archive_syn_log.id. + */ + public String getId() { + return (String) get(10); + } + + /** + * Setter for public.archive_syn_log.next_update_timestamp. + */ + public void setNextUpdateTimestamp(Long value) { + set(11, value); + } + + /** + * Getter for public.archive_syn_log.next_update_timestamp. + */ + public Long getNextUpdateTimestamp() { + return (Long) get(11); + } + + /** + * Setter for public.archive_syn_log.end_time. + */ + public void setEndTime(LocalDateTime value) { + set(12, value); + } + + /** + * Getter for public.archive_syn_log.end_time. + */ + public LocalDateTime getEndTime() { + return (LocalDateTime) get(12); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Record13 type implementation + // ------------------------------------------------------------------------- + + @Override + public Row13 fieldsRow() { + return (Row13) super.fieldsRow(); + } + + @Override + public Row13 valuesRow() { + return (Row13) super.valuesRow(); + } + + @Override + public Field field1() { + return ArchiveSynLog.ARCHIVE_SYN_LOG.START_TIME; + } + + @Override + public Field field2() { + return ArchiveSynLog.ARCHIVE_SYN_LOG.INSERT_DIR_COUNT; + } + + @Override + public Field field3() { + return ArchiveSynLog.ARCHIVE_SYN_LOG.UPDATE_DIR_COUNT; + } + + @Override + public Field field4() { + return ArchiveSynLog.ARCHIVE_SYN_LOG.INSERT_DIRFILE_COUNT; + } + + @Override + public Field field5() { + return ArchiveSynLog.ARCHIVE_SYN_LOG.UPDATE_DIRFILE_COUNT; + } + + @Override + public Field field6() { + return ArchiveSynLog.ARCHIVE_SYN_LOG.INSERT_FILE_COUNT; + } + + @Override + public Field field7() { + return ArchiveSynLog.ARCHIVE_SYN_LOG.UPDATE_FILE_COUNT; + } + + @Override + public Field field8() { + return ArchiveSynLog.ARCHIVE_SYN_LOG.DESCRIPTION; + } + + @Override + public Field field9() { + return ArchiveSynLog.ARCHIVE_SYN_LOG.RUN_RESULT; + } + + @Override + public Field field10() { + return ArchiveSynLog.ARCHIVE_SYN_LOG.UPDATE_TIMESTAMP; + } + + @Override + public Field field11() { + return ArchiveSynLog.ARCHIVE_SYN_LOG.ID; + } + + @Override + public Field field12() { + return ArchiveSynLog.ARCHIVE_SYN_LOG.NEXT_UPDATE_TIMESTAMP; + } + + @Override + public Field field13() { + return ArchiveSynLog.ARCHIVE_SYN_LOG.END_TIME; + } + + @Override + public LocalDateTime component1() { + return getStartTime(); + } + + @Override + public Long component2() { + return getInsertDirCount(); + } + + @Override + public Long component3() { + return getUpdateDirCount(); + } + + @Override + public Long component4() { + return getInsertDirfileCount(); + } + + @Override + public Long component5() { + return getUpdateDirfileCount(); + } + + @Override + public Long component6() { + return getInsertFileCount(); + } + + @Override + public Long component7() { + return getUpdateFileCount(); + } + + @Override + public String component8() { + return getDescription(); + } + + @Override + public String component9() { + return getRunResult(); + } + + @Override + public Long component10() { + return getUpdateTimestamp(); + } + + @Override + public String component11() { + return getId(); + } + + @Override + public Long component12() { + return getNextUpdateTimestamp(); + } + + @Override + public LocalDateTime component13() { + return getEndTime(); + } + + @Override + public LocalDateTime value1() { + return getStartTime(); + } + + @Override + public Long value2() { + return getInsertDirCount(); + } + + @Override + public Long value3() { + return getUpdateDirCount(); + } + + @Override + public Long value4() { + return getInsertDirfileCount(); + } + + @Override + public Long value5() { + return getUpdateDirfileCount(); + } + + @Override + public Long value6() { + return getInsertFileCount(); + } + + @Override + public Long value7() { + return getUpdateFileCount(); + } + + @Override + public String value8() { + return getDescription(); + } + + @Override + public String value9() { + return getRunResult(); + } + + @Override + public Long value10() { + return getUpdateTimestamp(); + } + + @Override + public String value11() { + return getId(); + } + + @Override + public Long value12() { + return getNextUpdateTimestamp(); + } + + @Override + public LocalDateTime value13() { + return getEndTime(); + } + + @Override + public ArchiveSynLogRecord value1(LocalDateTime value) { + setStartTime(value); + return this; + } + + @Override + public ArchiveSynLogRecord value2(Long value) { + setInsertDirCount(value); + return this; + } + + @Override + public ArchiveSynLogRecord value3(Long value) { + setUpdateDirCount(value); + return this; + } + + @Override + public ArchiveSynLogRecord value4(Long value) { + setInsertDirfileCount(value); + return this; + } + + @Override + public ArchiveSynLogRecord value5(Long value) { + setUpdateDirfileCount(value); + return this; + } + + @Override + public ArchiveSynLogRecord value6(Long value) { + setInsertFileCount(value); + return this; + } + + @Override + public ArchiveSynLogRecord value7(Long value) { + setUpdateFileCount(value); + return this; + } + + @Override + public ArchiveSynLogRecord value8(String value) { + setDescription(value); + return this; + } + + @Override + public ArchiveSynLogRecord value9(String value) { + setRunResult(value); + return this; + } + + @Override + public ArchiveSynLogRecord value10(Long value) { + setUpdateTimestamp(value); + return this; + } + + @Override + public ArchiveSynLogRecord value11(String value) { + setId(value); + return this; + } + + @Override + public ArchiveSynLogRecord value12(Long value) { + setNextUpdateTimestamp(value); + return this; + } + + @Override + public ArchiveSynLogRecord value13(LocalDateTime value) { + setEndTime(value); + return this; + } + + @Override + public ArchiveSynLogRecord values(LocalDateTime value1, Long value2, Long value3, Long value4, Long value5, Long value6, Long value7, String value8, String value9, Long value10, String value11, Long value12, LocalDateTime value13) { + value1(value1); + value2(value2); + value3(value3); + value4(value4); + value5(value5); + value6(value6); + value7(value7); + value8(value8); + value9(value9); + value10(value10); + value11(value11); + value12(value12); + value13(value13); + return this; + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached ArchiveSynLogRecord + */ + public ArchiveSynLogRecord() { + super(ArchiveSynLog.ARCHIVE_SYN_LOG); + } + + /** + * Create a detached, initialised ArchiveSynLogRecord + */ + public ArchiveSynLogRecord(LocalDateTime startTime, Long insertDirCount, Long updateDirCount, Long insertDirfileCount, Long updateDirfileCount, Long insertFileCount, Long updateFileCount, String description, String runResult, Long updateTimestamp, String id, Long nextUpdateTimestamp, LocalDateTime endTime) { + super(ArchiveSynLog.ARCHIVE_SYN_LOG); + + setStartTime(startTime); + setInsertDirCount(insertDirCount); + setUpdateDirCount(updateDirCount); + setInsertDirfileCount(insertDirfileCount); + setUpdateDirfileCount(updateDirfileCount); + setInsertFileCount(insertFileCount); + setUpdateFileCount(updateFileCount); + setDescription(description); + setRunResult(runResult); + setUpdateTimestamp(updateTimestamp); + setId(id); + setNextUpdateTimestamp(nextUpdateTimestamp); + setEndTime(endTime); + resetChangedOnNotNull(); + } + + /** + * Create a detached, initialised ArchiveSynLogRecord + */ + public ArchiveSynLogRecord(jj.tech.paolu.repository.jooq.tables.pojos.ArchiveSynLog value) { + super(ArchiveSynLog.ARCHIVE_SYN_LOG); + + if (value != null) { + setStartTime(value.getStartTime()); + setInsertDirCount(value.getInsertDirCount()); + setUpdateDirCount(value.getUpdateDirCount()); + setInsertDirfileCount(value.getInsertDirfileCount()); + setUpdateDirfileCount(value.getUpdateDirfileCount()); + setInsertFileCount(value.getInsertFileCount()); + setUpdateFileCount(value.getUpdateFileCount()); + setDescription(value.getDescription()); + setRunResult(value.getRunResult()); + setUpdateTimestamp(value.getUpdateTimestamp()); + setId(value.getId()); + setNextUpdateTimestamp(value.getNextUpdateTimestamp()); + setEndTime(value.getEndTime()); + resetChangedOnNotNull(); + } + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/records/CertificateApplyRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/CertificateApplyRecord.java new file mode 100644 index 0000000..a887258 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/CertificateApplyRecord.java @@ -0,0 +1,730 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.records; + + +import java.time.LocalDateTime; + +import jj.tech.paolu.repository.jooq.tables.CertificateApply; + +import org.jooq.Field; +import org.jooq.Record1; +import org.jooq.Record17; +import org.jooq.Row17; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class CertificateApplyRecord extends UpdatableRecordImpl implements Record17 { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.certificate_apply.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for public.certificate_apply.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for public.certificate_apply.is_org. + */ + public void setIsOrg(Integer value) { + set(1, value); + } + + /** + * Getter for public.certificate_apply.is_org. + */ + public Integer getIsOrg() { + return (Integer) get(1); + } + + /** + * Setter for public.certificate_apply.user_id. + */ + public void setUserId(String value) { + set(2, value); + } + + /** + * Getter for public.certificate_apply.user_id. + */ + public String getUserId() { + return (String) get(2); + } + + /** + * Setter for public.certificate_apply.user_name. + */ + public void setUserName(String value) { + set(3, value); + } + + /** + * Getter for public.certificate_apply.user_name. + */ + public String getUserName() { + return (String) get(3); + } + + /** + * Setter for public.certificate_apply.user_real_name. + */ + public void setUserRealName(String value) { + set(4, value); + } + + /** + * Getter for public.certificate_apply.user_real_name. + */ + public String getUserRealName() { + return (String) get(4); + } + + /** + * Setter for public.certificate_apply.user_phone. + */ + public void setUserPhone(String value) { + set(5, value); + } + + /** + * Getter for public.certificate_apply.user_phone. + */ + public String getUserPhone() { + return (String) get(5); + } + + /** + * Setter for public.certificate_apply.user_org_id. + */ + public void setUserOrgId(String value) { + set(6, value); + } + + /** + * Getter for public.certificate_apply.user_org_id. + */ + public String getUserOrgId() { + return (String) get(6); + } + + /** + * Setter for public.certificate_apply.user_org_name. + */ + public void setUserOrgName(String value) { + set(7, value); + } + + /** + * Getter for public.certificate_apply.user_org_name. + */ + public String getUserOrgName() { + return (String) get(7); + } + + /** + * Setter for public.certificate_apply.apply_type. + */ + public void setApplyType(Integer value) { + set(8, value); + } + + /** + * Getter for public.certificate_apply.apply_type. + */ + public Integer getApplyType() { + return (Integer) get(8); + } + + /** + * Setter for public.certificate_apply.status. + */ + public void setStatus(Integer value) { + set(9, value); + } + + /** + * Getter for public.certificate_apply.status. + */ + public Integer getStatus() { + return (Integer) get(9); + } + + /** + * Setter for public.certificate_apply.apply_time. + */ + public void setApplyTime(LocalDateTime value) { + set(10, value); + } + + /** + * Getter for public.certificate_apply.apply_time. + */ + public LocalDateTime getApplyTime() { + return (LocalDateTime) get(10); + } + + /** + * Setter for public.certificate_apply.apply_finish_time. + */ + public void setApplyFinishTime(LocalDateTime value) { + set(11, value); + } + + /** + * Getter for public.certificate_apply.apply_finish_time. + */ + public LocalDateTime getApplyFinishTime() { + return (LocalDateTime) get(11); + } + + /** + * Setter for public.certificate_apply.apply_reason. + */ + public void setApplyReason(String value) { + set(12, value); + } + + /** + * Getter for public.certificate_apply.apply_reason. + */ + public String getApplyReason() { + return (String) get(12); + } + + /** + * Setter for public.certificate_apply.next_check_org_id. + */ + public void setNextCheckOrgId(String value) { + set(13, value); + } + + /** + * Getter for public.certificate_apply.next_check_org_id. + */ + public String getNextCheckOrgId() { + return (String) get(13); + } + + /** + * Setter for public.certificate_apply.end_check_org_id. + */ + public void setEndCheckOrgId(String value) { + set(14, value); + } + + /** + * Getter for public.certificate_apply.end_check_org_id. + */ + public String getEndCheckOrgId() { + return (String) get(14); + } + + /** + * Setter for public.certificate_apply.cer_id. + */ + public void setCerId(String value) { + set(15, value); + } + + /** + * Getter for public.certificate_apply.cer_id. + */ + public String getCerId() { + return (String) get(15); + } + + /** + * Setter for public.certificate_apply.company_id. + */ + public void setCompanyId(String value) { + set(16, value); + } + + /** + * Getter for public.certificate_apply.company_id. + */ + public String getCompanyId() { + return (String) get(16); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Record17 type implementation + // ------------------------------------------------------------------------- + + @Override + public Row17 fieldsRow() { + return (Row17) super.fieldsRow(); + } + + @Override + public Row17 valuesRow() { + return (Row17) super.valuesRow(); + } + + @Override + public Field field1() { + return CertificateApply.CERTIFICATE_APPLY.ID; + } + + @Override + public Field field2() { + return CertificateApply.CERTIFICATE_APPLY.IS_ORG; + } + + @Override + public Field field3() { + return CertificateApply.CERTIFICATE_APPLY.USER_ID; + } + + @Override + public Field field4() { + return CertificateApply.CERTIFICATE_APPLY.USER_NAME; + } + + @Override + public Field field5() { + return CertificateApply.CERTIFICATE_APPLY.USER_REAL_NAME; + } + + @Override + public Field field6() { + return CertificateApply.CERTIFICATE_APPLY.USER_PHONE; + } + + @Override + public Field field7() { + return CertificateApply.CERTIFICATE_APPLY.USER_ORG_ID; + } + + @Override + public Field field8() { + return CertificateApply.CERTIFICATE_APPLY.USER_ORG_NAME; + } + + @Override + public Field field9() { + return CertificateApply.CERTIFICATE_APPLY.APPLY_TYPE; + } + + @Override + public Field field10() { + return CertificateApply.CERTIFICATE_APPLY.STATUS; + } + + @Override + public Field field11() { + return CertificateApply.CERTIFICATE_APPLY.APPLY_TIME; + } + + @Override + public Field field12() { + return CertificateApply.CERTIFICATE_APPLY.APPLY_FINISH_TIME; + } + + @Override + public Field field13() { + return CertificateApply.CERTIFICATE_APPLY.APPLY_REASON; + } + + @Override + public Field field14() { + return CertificateApply.CERTIFICATE_APPLY.NEXT_CHECK_ORG_ID; + } + + @Override + public Field field15() { + return CertificateApply.CERTIFICATE_APPLY.END_CHECK_ORG_ID; + } + + @Override + public Field field16() { + return CertificateApply.CERTIFICATE_APPLY.CER_ID; + } + + @Override + public Field field17() { + return CertificateApply.CERTIFICATE_APPLY.COMPANY_ID; + } + + @Override + public String component1() { + return getId(); + } + + @Override + public Integer component2() { + return getIsOrg(); + } + + @Override + public String component3() { + return getUserId(); + } + + @Override + public String component4() { + return getUserName(); + } + + @Override + public String component5() { + return getUserRealName(); + } + + @Override + public String component6() { + return getUserPhone(); + } + + @Override + public String component7() { + return getUserOrgId(); + } + + @Override + public String component8() { + return getUserOrgName(); + } + + @Override + public Integer component9() { + return getApplyType(); + } + + @Override + public Integer component10() { + return getStatus(); + } + + @Override + public LocalDateTime component11() { + return getApplyTime(); + } + + @Override + public LocalDateTime component12() { + return getApplyFinishTime(); + } + + @Override + public String component13() { + return getApplyReason(); + } + + @Override + public String component14() { + return getNextCheckOrgId(); + } + + @Override + public String component15() { + return getEndCheckOrgId(); + } + + @Override + public String component16() { + return getCerId(); + } + + @Override + public String component17() { + return getCompanyId(); + } + + @Override + public String value1() { + return getId(); + } + + @Override + public Integer value2() { + return getIsOrg(); + } + + @Override + public String value3() { + return getUserId(); + } + + @Override + public String value4() { + return getUserName(); + } + + @Override + public String value5() { + return getUserRealName(); + } + + @Override + public String value6() { + return getUserPhone(); + } + + @Override + public String value7() { + return getUserOrgId(); + } + + @Override + public String value8() { + return getUserOrgName(); + } + + @Override + public Integer value9() { + return getApplyType(); + } + + @Override + public Integer value10() { + return getStatus(); + } + + @Override + public LocalDateTime value11() { + return getApplyTime(); + } + + @Override + public LocalDateTime value12() { + return getApplyFinishTime(); + } + + @Override + public String value13() { + return getApplyReason(); + } + + @Override + public String value14() { + return getNextCheckOrgId(); + } + + @Override + public String value15() { + return getEndCheckOrgId(); + } + + @Override + public String value16() { + return getCerId(); + } + + @Override + public String value17() { + return getCompanyId(); + } + + @Override + public CertificateApplyRecord value1(String value) { + setId(value); + return this; + } + + @Override + public CertificateApplyRecord value2(Integer value) { + setIsOrg(value); + return this; + } + + @Override + public CertificateApplyRecord value3(String value) { + setUserId(value); + return this; + } + + @Override + public CertificateApplyRecord value4(String value) { + setUserName(value); + return this; + } + + @Override + public CertificateApplyRecord value5(String value) { + setUserRealName(value); + return this; + } + + @Override + public CertificateApplyRecord value6(String value) { + setUserPhone(value); + return this; + } + + @Override + public CertificateApplyRecord value7(String value) { + setUserOrgId(value); + return this; + } + + @Override + public CertificateApplyRecord value8(String value) { + setUserOrgName(value); + return this; + } + + @Override + public CertificateApplyRecord value9(Integer value) { + setApplyType(value); + return this; + } + + @Override + public CertificateApplyRecord value10(Integer value) { + setStatus(value); + return this; + } + + @Override + public CertificateApplyRecord value11(LocalDateTime value) { + setApplyTime(value); + return this; + } + + @Override + public CertificateApplyRecord value12(LocalDateTime value) { + setApplyFinishTime(value); + return this; + } + + @Override + public CertificateApplyRecord value13(String value) { + setApplyReason(value); + return this; + } + + @Override + public CertificateApplyRecord value14(String value) { + setNextCheckOrgId(value); + return this; + } + + @Override + public CertificateApplyRecord value15(String value) { + setEndCheckOrgId(value); + return this; + } + + @Override + public CertificateApplyRecord value16(String value) { + setCerId(value); + return this; + } + + @Override + public CertificateApplyRecord value17(String value) { + setCompanyId(value); + return this; + } + + @Override + public CertificateApplyRecord values(String value1, Integer value2, String value3, String value4, String value5, String value6, String value7, String value8, Integer value9, Integer value10, LocalDateTime value11, LocalDateTime value12, String value13, String value14, String value15, String value16, String value17) { + value1(value1); + value2(value2); + value3(value3); + value4(value4); + value5(value5); + value6(value6); + value7(value7); + value8(value8); + value9(value9); + value10(value10); + value11(value11); + value12(value12); + value13(value13); + value14(value14); + value15(value15); + value16(value16); + value17(value17); + return this; + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached CertificateApplyRecord + */ + public CertificateApplyRecord() { + super(CertificateApply.CERTIFICATE_APPLY); + } + + /** + * Create a detached, initialised CertificateApplyRecord + */ + public CertificateApplyRecord(String id, Integer isOrg, String userId, String userName, String userRealName, String userPhone, String userOrgId, String userOrgName, Integer applyType, Integer status, LocalDateTime applyTime, LocalDateTime applyFinishTime, String applyReason, String nextCheckOrgId, String endCheckOrgId, String cerId, String companyId) { + super(CertificateApply.CERTIFICATE_APPLY); + + setId(id); + setIsOrg(isOrg); + setUserId(userId); + setUserName(userName); + setUserRealName(userRealName); + setUserPhone(userPhone); + setUserOrgId(userOrgId); + setUserOrgName(userOrgName); + setApplyType(applyType); + setStatus(status); + setApplyTime(applyTime); + setApplyFinishTime(applyFinishTime); + setApplyReason(applyReason); + setNextCheckOrgId(nextCheckOrgId); + setEndCheckOrgId(endCheckOrgId); + setCerId(cerId); + setCompanyId(companyId); + resetChangedOnNotNull(); + } + + /** + * Create a detached, initialised CertificateApplyRecord + */ + public CertificateApplyRecord(jj.tech.paolu.repository.jooq.tables.pojos.CertificateApply value) { + super(CertificateApply.CERTIFICATE_APPLY); + + if (value != null) { + setId(value.getId()); + setIsOrg(value.getIsOrg()); + setUserId(value.getUserId()); + setUserName(value.getUserName()); + setUserRealName(value.getUserRealName()); + setUserPhone(value.getUserPhone()); + setUserOrgId(value.getUserOrgId()); + setUserOrgName(value.getUserOrgName()); + setApplyType(value.getApplyType()); + setStatus(value.getStatus()); + setApplyTime(value.getApplyTime()); + setApplyFinishTime(value.getApplyFinishTime()); + setApplyReason(value.getApplyReason()); + setNextCheckOrgId(value.getNextCheckOrgId()); + setEndCheckOrgId(value.getEndCheckOrgId()); + setCerId(value.getCerId()); + setCompanyId(value.getCompanyId()); + resetChangedOnNotNull(); + } + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/records/CertificateApplyRecordRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/CertificateApplyRecordRecord.java new file mode 100644 index 0000000..933d680 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/CertificateApplyRecordRecord.java @@ -0,0 +1,664 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.records; + + +import java.time.LocalDateTime; + +import jj.tech.paolu.repository.jooq.tables.CertificateApplyRecord; + +import org.jooq.Field; +import org.jooq.Record1; +import org.jooq.Record15; +import org.jooq.Row15; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class CertificateApplyRecordRecord extends UpdatableRecordImpl implements Record15 { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.certificate_apply_record.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for public.certificate_apply_record.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for + * public.certificate_apply_record.certificate_apply_id. + */ + public void setCertificateApplyId(String value) { + set(1, value); + } + + /** + * Getter for + * public.certificate_apply_record.certificate_apply_id. + */ + public String getCertificateApplyId() { + return (String) get(1); + } + + /** + * Setter for + * public.certificate_apply_record.certificate_apply_user_id. + */ + public void setCertificateApplyUserId(String value) { + set(2, value); + } + + /** + * Getter for + * public.certificate_apply_record.certificate_apply_user_id. + */ + public String getCertificateApplyUserId() { + return (String) get(2); + } + + /** + * Setter for + * public.certificate_apply_record.certificate_apply_user_org_id. + */ + public void setCertificateApplyUserOrgId(String value) { + set(3, value); + } + + /** + * Getter for + * public.certificate_apply_record.certificate_apply_user_org_id. + */ + public String getCertificateApplyUserOrgId() { + return (String) get(3); + } + + /** + * Setter for public.certificate_apply_record.is_org. + */ + public void setIsOrg(Integer value) { + set(4, value); + } + + /** + * Getter for public.certificate_apply_record.is_org. + */ + public Integer getIsOrg() { + return (Integer) get(4); + } + + /** + * Setter for public.certificate_apply_record.apply_type. + */ + public void setApplyType(Integer value) { + set(5, value); + } + + /** + * Getter for public.certificate_apply_record.apply_type. + */ + public Integer getApplyType() { + return (Integer) get(5); + } + + /** + * Setter for public.certificate_apply_record.check_user_id. + */ + public void setCheckUserId(String value) { + set(6, value); + } + + /** + * Getter for public.certificate_apply_record.check_user_id. + */ + public String getCheckUserId() { + return (String) get(6); + } + + /** + * Setter for public.certificate_apply_record.check_user_name. + */ + public void setCheckUserName(String value) { + set(7, value); + } + + /** + * Getter for public.certificate_apply_record.check_user_name. + */ + public String getCheckUserName() { + return (String) get(7); + } + + /** + * Setter for public.certificate_apply_record.check_org_id. + */ + public void setCheckOrgId(String value) { + set(8, value); + } + + /** + * Getter for public.certificate_apply_record.check_org_id. + */ + public String getCheckOrgId() { + return (String) get(8); + } + + /** + * Setter for public.certificate_apply_record.check_org_name. + */ + public void setCheckOrgName(String value) { + set(9, value); + } + + /** + * Getter for public.certificate_apply_record.check_org_name. + */ + public String getCheckOrgName() { + return (String) get(9); + } + + /** + * Setter for public.certificate_apply_record.check_describe. + */ + public void setCheckDescribe(String value) { + set(10, value); + } + + /** + * Getter for public.certificate_apply_record.check_describe. + */ + public String getCheckDescribe() { + return (String) get(10); + } + + /** + * Setter for public.certificate_apply_record.check_status. + */ + public void setCheckStatus(Integer value) { + set(11, value); + } + + /** + * Getter for public.certificate_apply_record.check_status. + */ + public Integer getCheckStatus() { + return (Integer) get(11); + } + + /** + * Setter for public.certificate_apply_record.check_time. + */ + public void setCheckTime(LocalDateTime value) { + set(12, value); + } + + /** + * Getter for public.certificate_apply_record.check_time. + */ + public LocalDateTime getCheckTime() { + return (LocalDateTime) get(12); + } + + /** + * Setter for + * public.certificate_apply_record.next_check_org_id. + */ + public void setNextCheckOrgId(String value) { + set(13, value); + } + + /** + * Getter for + * public.certificate_apply_record.next_check_org_id. + */ + public String getNextCheckOrgId() { + return (String) get(13); + } + + /** + * Setter for + * public.certificate_apply_record.next_check_org_name. + */ + public void setNextCheckOrgName(String value) { + set(14, value); + } + + /** + * Getter for + * public.certificate_apply_record.next_check_org_name. + */ + public String getNextCheckOrgName() { + return (String) get(14); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Record15 type implementation + // ------------------------------------------------------------------------- + + @Override + public Row15 fieldsRow() { + return (Row15) super.fieldsRow(); + } + + @Override + public Row15 valuesRow() { + return (Row15) super.valuesRow(); + } + + @Override + public Field field1() { + return CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.ID; + } + + @Override + public Field field2() { + return CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.CERTIFICATE_APPLY_ID; + } + + @Override + public Field field3() { + return CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.CERTIFICATE_APPLY_USER_ID; + } + + @Override + public Field field4() { + return CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.CERTIFICATE_APPLY_USER_ORG_ID; + } + + @Override + public Field field5() { + return CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.IS_ORG; + } + + @Override + public Field field6() { + return CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.APPLY_TYPE; + } + + @Override + public Field field7() { + return CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.CHECK_USER_ID; + } + + @Override + public Field field8() { + return CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.CHECK_USER_NAME; + } + + @Override + public Field field9() { + return CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.CHECK_ORG_ID; + } + + @Override + public Field field10() { + return CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.CHECK_ORG_NAME; + } + + @Override + public Field field11() { + return CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.CHECK_DESCRIBE; + } + + @Override + public Field field12() { + return CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.CHECK_STATUS; + } + + @Override + public Field field13() { + return CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.CHECK_TIME; + } + + @Override + public Field field14() { + return CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.NEXT_CHECK_ORG_ID; + } + + @Override + public Field field15() { + return CertificateApplyRecord.CERTIFICATE_APPLY_RECORD.NEXT_CHECK_ORG_NAME; + } + + @Override + public String component1() { + return getId(); + } + + @Override + public String component2() { + return getCertificateApplyId(); + } + + @Override + public String component3() { + return getCertificateApplyUserId(); + } + + @Override + public String component4() { + return getCertificateApplyUserOrgId(); + } + + @Override + public Integer component5() { + return getIsOrg(); + } + + @Override + public Integer component6() { + return getApplyType(); + } + + @Override + public String component7() { + return getCheckUserId(); + } + + @Override + public String component8() { + return getCheckUserName(); + } + + @Override + public String component9() { + return getCheckOrgId(); + } + + @Override + public String component10() { + return getCheckOrgName(); + } + + @Override + public String component11() { + return getCheckDescribe(); + } + + @Override + public Integer component12() { + return getCheckStatus(); + } + + @Override + public LocalDateTime component13() { + return getCheckTime(); + } + + @Override + public String component14() { + return getNextCheckOrgId(); + } + + @Override + public String component15() { + return getNextCheckOrgName(); + } + + @Override + public String value1() { + return getId(); + } + + @Override + public String value2() { + return getCertificateApplyId(); + } + + @Override + public String value3() { + return getCertificateApplyUserId(); + } + + @Override + public String value4() { + return getCertificateApplyUserOrgId(); + } + + @Override + public Integer value5() { + return getIsOrg(); + } + + @Override + public Integer value6() { + return getApplyType(); + } + + @Override + public String value7() { + return getCheckUserId(); + } + + @Override + public String value8() { + return getCheckUserName(); + } + + @Override + public String value9() { + return getCheckOrgId(); + } + + @Override + public String value10() { + return getCheckOrgName(); + } + + @Override + public String value11() { + return getCheckDescribe(); + } + + @Override + public Integer value12() { + return getCheckStatus(); + } + + @Override + public LocalDateTime value13() { + return getCheckTime(); + } + + @Override + public String value14() { + return getNextCheckOrgId(); + } + + @Override + public String value15() { + return getNextCheckOrgName(); + } + + @Override + public CertificateApplyRecordRecord value1(String value) { + setId(value); + return this; + } + + @Override + public CertificateApplyRecordRecord value2(String value) { + setCertificateApplyId(value); + return this; + } + + @Override + public CertificateApplyRecordRecord value3(String value) { + setCertificateApplyUserId(value); + return this; + } + + @Override + public CertificateApplyRecordRecord value4(String value) { + setCertificateApplyUserOrgId(value); + return this; + } + + @Override + public CertificateApplyRecordRecord value5(Integer value) { + setIsOrg(value); + return this; + } + + @Override + public CertificateApplyRecordRecord value6(Integer value) { + setApplyType(value); + return this; + } + + @Override + public CertificateApplyRecordRecord value7(String value) { + setCheckUserId(value); + return this; + } + + @Override + public CertificateApplyRecordRecord value8(String value) { + setCheckUserName(value); + return this; + } + + @Override + public CertificateApplyRecordRecord value9(String value) { + setCheckOrgId(value); + return this; + } + + @Override + public CertificateApplyRecordRecord value10(String value) { + setCheckOrgName(value); + return this; + } + + @Override + public CertificateApplyRecordRecord value11(String value) { + setCheckDescribe(value); + return this; + } + + @Override + public CertificateApplyRecordRecord value12(Integer value) { + setCheckStatus(value); + return this; + } + + @Override + public CertificateApplyRecordRecord value13(LocalDateTime value) { + setCheckTime(value); + return this; + } + + @Override + public CertificateApplyRecordRecord value14(String value) { + setNextCheckOrgId(value); + return this; + } + + @Override + public CertificateApplyRecordRecord value15(String value) { + setNextCheckOrgName(value); + return this; + } + + @Override + public CertificateApplyRecordRecord values(String value1, String value2, String value3, String value4, Integer value5, Integer value6, String value7, String value8, String value9, String value10, String value11, Integer value12, LocalDateTime value13, String value14, String value15) { + value1(value1); + value2(value2); + value3(value3); + value4(value4); + value5(value5); + value6(value6); + value7(value7); + value8(value8); + value9(value9); + value10(value10); + value11(value11); + value12(value12); + value13(value13); + value14(value14); + value15(value15); + return this; + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached CertificateApplyRecordRecord + */ + public CertificateApplyRecordRecord() { + super(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD); + } + + /** + * Create a detached, initialised CertificateApplyRecordRecord + */ + public CertificateApplyRecordRecord(String id, String certificateApplyId, String certificateApplyUserId, String certificateApplyUserOrgId, Integer isOrg, Integer applyType, String checkUserId, String checkUserName, String checkOrgId, String checkOrgName, String checkDescribe, Integer checkStatus, LocalDateTime checkTime, String nextCheckOrgId, String nextCheckOrgName) { + super(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD); + + setId(id); + setCertificateApplyId(certificateApplyId); + setCertificateApplyUserId(certificateApplyUserId); + setCertificateApplyUserOrgId(certificateApplyUserOrgId); + setIsOrg(isOrg); + setApplyType(applyType); + setCheckUserId(checkUserId); + setCheckUserName(checkUserName); + setCheckOrgId(checkOrgId); + setCheckOrgName(checkOrgName); + setCheckDescribe(checkDescribe); + setCheckStatus(checkStatus); + setCheckTime(checkTime); + setNextCheckOrgId(nextCheckOrgId); + setNextCheckOrgName(nextCheckOrgName); + resetChangedOnNotNull(); + } + + /** + * Create a detached, initialised CertificateApplyRecordRecord + */ + public CertificateApplyRecordRecord(jj.tech.paolu.repository.jooq.tables.pojos.CertificateApplyRecord value) { + super(CertificateApplyRecord.CERTIFICATE_APPLY_RECORD); + + if (value != null) { + setId(value.getId()); + setCertificateApplyId(value.getCertificateApplyId()); + setCertificateApplyUserId(value.getCertificateApplyUserId()); + setCertificateApplyUserOrgId(value.getCertificateApplyUserOrgId()); + setIsOrg(value.getIsOrg()); + setApplyType(value.getApplyType()); + setCheckUserId(value.getCheckUserId()); + setCheckUserName(value.getCheckUserName()); + setCheckOrgId(value.getCheckOrgId()); + setCheckOrgName(value.getCheckOrgName()); + setCheckDescribe(value.getCheckDescribe()); + setCheckStatus(value.getCheckStatus()); + setCheckTime(value.getCheckTime()); + setNextCheckOrgId(value.getNextCheckOrgId()); + setNextCheckOrgName(value.getNextCheckOrgName()); + resetChangedOnNotNull(); + } + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/records/CertificateDetailRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/CertificateDetailRecord.java new file mode 100644 index 0000000..151af39 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/CertificateDetailRecord.java @@ -0,0 +1,616 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.records; + + +import java.time.LocalDateTime; + +import jj.tech.paolu.repository.jooq.tables.CertificateDetail; + +import org.jooq.Field; +import org.jooq.Record1; +import org.jooq.Record14; +import org.jooq.Row14; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class CertificateDetailRecord extends UpdatableRecordImpl implements Record14 { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.certificate_detail.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for public.certificate_detail.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for public.certificate_detail.certificate_apply_id. + */ + public void setCertificateApplyId(String value) { + set(1, value); + } + + /** + * Getter for public.certificate_detail.certificate_apply_id. + */ + public String getCertificateApplyId() { + return (String) get(1); + } + + /** + * Setter for public.certificate_detail.work_start_time. + */ + public void setWorkStartTime(LocalDateTime value) { + set(2, value); + } + + /** + * Getter for public.certificate_detail.work_start_time. + */ + public LocalDateTime getWorkStartTime() { + return (LocalDateTime) get(2); + } + + /** + * Setter for public.certificate_detail.work_end_time. + */ + public void setWorkEndTime(LocalDateTime value) { + set(3, value); + } + + /** + * Getter for public.certificate_detail.work_end_time. + */ + public LocalDateTime getWorkEndTime() { + return (LocalDateTime) get(3); + } + + /** + * Setter for public.certificate_detail.status. + */ + public void setStatus(Integer value) { + set(4, value); + } + + /** + * Getter for public.certificate_detail.status. + */ + public Integer getStatus() { + return (Integer) get(4); + } + + /** + * Setter for public.certificate_detail.cert_file_content. + */ + public void setCertFileContent(String value) { + set(5, value); + } + + /** + * Getter for public.certificate_detail.cert_file_content. + */ + public String getCertFileContent() { + return (String) get(5); + } + + /** + * Setter for public.certificate_detail.is_up_chain. + */ + public void setIsUpChain(Integer value) { + set(6, value); + } + + /** + * Getter for public.certificate_detail.is_up_chain. + */ + public Integer getIsUpChain() { + return (Integer) get(6); + } + + /** + * Setter for public.certificate_detail.weid. + */ + public void setWeid(String value) { + set(7, value); + } + + /** + * Getter for public.certificate_detail.weid. + */ + public String getWeid() { + return (String) get(7); + } + + /** + * Setter for public.certificate_detail.private_key_hex_str. + */ + public void setPrivateKeyHexStr(String value) { + set(8, value); + } + + /** + * Getter for public.certificate_detail.private_key_hex_str. + */ + public String getPrivateKeyHexStr() { + return (String) get(8); + } + + /** + * Setter for public.certificate_detail.x509_serial_number. + */ + public void setX509SerialNumber(String value) { + set(9, value); + } + + /** + * Getter for public.certificate_detail.x509_serial_number. + */ + public String getX509SerialNumber() { + return (String) get(9); + } + + /** + * Setter for public.certificate_detail.x509_subject. + */ + public void setX509Subject(String value) { + set(10, value); + } + + /** + * Getter for public.certificate_detail.x509_subject. + */ + public String getX509Subject() { + return (String) get(10); + } + + /** + * Setter for public.certificate_detail.x509_issuer. + */ + public void setX509Issuer(String value) { + set(11, value); + } + + /** + * Getter for public.certificate_detail.x509_issuer. + */ + public String getX509Issuer() { + return (String) get(11); + } + + /** + * Setter for public.certificate_detail.x509_public_key. + */ + public void setX509PublicKey(String value) { + set(12, value); + } + + /** + * Getter for public.certificate_detail.x509_public_key. + */ + public String getX509PublicKey() { + return (String) get(12); + } + + /** + * Setter for public.certificate_detail.x509_sig_alg_name. + */ + public void setX509SigAlgName(String value) { + set(13, value); + } + + /** + * Getter for public.certificate_detail.x509_sig_alg_name. + */ + public String getX509SigAlgName() { + return (String) get(13); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Record14 type implementation + // ------------------------------------------------------------------------- + + @Override + public Row14 fieldsRow() { + return (Row14) super.fieldsRow(); + } + + @Override + public Row14 valuesRow() { + return (Row14) super.valuesRow(); + } + + @Override + public Field field1() { + return CertificateDetail.CERTIFICATE_DETAIL.ID; + } + + @Override + public Field field2() { + return CertificateDetail.CERTIFICATE_DETAIL.CERTIFICATE_APPLY_ID; + } + + @Override + public Field field3() { + return CertificateDetail.CERTIFICATE_DETAIL.WORK_START_TIME; + } + + @Override + public Field field4() { + return CertificateDetail.CERTIFICATE_DETAIL.WORK_END_TIME; + } + + @Override + public Field field5() { + return CertificateDetail.CERTIFICATE_DETAIL.STATUS; + } + + @Override + public Field field6() { + return CertificateDetail.CERTIFICATE_DETAIL.CERT_FILE_CONTENT; + } + + @Override + public Field field7() { + return CertificateDetail.CERTIFICATE_DETAIL.IS_UP_CHAIN; + } + + @Override + public Field field8() { + return CertificateDetail.CERTIFICATE_DETAIL.WEID; + } + + @Override + public Field field9() { + return CertificateDetail.CERTIFICATE_DETAIL.PRIVATE_KEY_HEX_STR; + } + + @Override + public Field field10() { + return CertificateDetail.CERTIFICATE_DETAIL.X509_SERIAL_NUMBER; + } + + @Override + public Field field11() { + return CertificateDetail.CERTIFICATE_DETAIL.X509_SUBJECT; + } + + @Override + public Field field12() { + return CertificateDetail.CERTIFICATE_DETAIL.X509_ISSUER; + } + + @Override + public Field field13() { + return CertificateDetail.CERTIFICATE_DETAIL.X509_PUBLIC_KEY; + } + + @Override + public Field field14() { + return CertificateDetail.CERTIFICATE_DETAIL.X509_SIG_ALG_NAME; + } + + @Override + public String component1() { + return getId(); + } + + @Override + public String component2() { + return getCertificateApplyId(); + } + + @Override + public LocalDateTime component3() { + return getWorkStartTime(); + } + + @Override + public LocalDateTime component4() { + return getWorkEndTime(); + } + + @Override + public Integer component5() { + return getStatus(); + } + + @Override + public String component6() { + return getCertFileContent(); + } + + @Override + public Integer component7() { + return getIsUpChain(); + } + + @Override + public String component8() { + return getWeid(); + } + + @Override + public String component9() { + return getPrivateKeyHexStr(); + } + + @Override + public String component10() { + return getX509SerialNumber(); + } + + @Override + public String component11() { + return getX509Subject(); + } + + @Override + public String component12() { + return getX509Issuer(); + } + + @Override + public String component13() { + return getX509PublicKey(); + } + + @Override + public String component14() { + return getX509SigAlgName(); + } + + @Override + public String value1() { + return getId(); + } + + @Override + public String value2() { + return getCertificateApplyId(); + } + + @Override + public LocalDateTime value3() { + return getWorkStartTime(); + } + + @Override + public LocalDateTime value4() { + return getWorkEndTime(); + } + + @Override + public Integer value5() { + return getStatus(); + } + + @Override + public String value6() { + return getCertFileContent(); + } + + @Override + public Integer value7() { + return getIsUpChain(); + } + + @Override + public String value8() { + return getWeid(); + } + + @Override + public String value9() { + return getPrivateKeyHexStr(); + } + + @Override + public String value10() { + return getX509SerialNumber(); + } + + @Override + public String value11() { + return getX509Subject(); + } + + @Override + public String value12() { + return getX509Issuer(); + } + + @Override + public String value13() { + return getX509PublicKey(); + } + + @Override + public String value14() { + return getX509SigAlgName(); + } + + @Override + public CertificateDetailRecord value1(String value) { + setId(value); + return this; + } + + @Override + public CertificateDetailRecord value2(String value) { + setCertificateApplyId(value); + return this; + } + + @Override + public CertificateDetailRecord value3(LocalDateTime value) { + setWorkStartTime(value); + return this; + } + + @Override + public CertificateDetailRecord value4(LocalDateTime value) { + setWorkEndTime(value); + return this; + } + + @Override + public CertificateDetailRecord value5(Integer value) { + setStatus(value); + return this; + } + + @Override + public CertificateDetailRecord value6(String value) { + setCertFileContent(value); + return this; + } + + @Override + public CertificateDetailRecord value7(Integer value) { + setIsUpChain(value); + return this; + } + + @Override + public CertificateDetailRecord value8(String value) { + setWeid(value); + return this; + } + + @Override + public CertificateDetailRecord value9(String value) { + setPrivateKeyHexStr(value); + return this; + } + + @Override + public CertificateDetailRecord value10(String value) { + setX509SerialNumber(value); + return this; + } + + @Override + public CertificateDetailRecord value11(String value) { + setX509Subject(value); + return this; + } + + @Override + public CertificateDetailRecord value12(String value) { + setX509Issuer(value); + return this; + } + + @Override + public CertificateDetailRecord value13(String value) { + setX509PublicKey(value); + return this; + } + + @Override + public CertificateDetailRecord value14(String value) { + setX509SigAlgName(value); + return this; + } + + @Override + public CertificateDetailRecord values(String value1, String value2, LocalDateTime value3, LocalDateTime value4, Integer value5, String value6, Integer value7, String value8, String value9, String value10, String value11, String value12, String value13, String value14) { + value1(value1); + value2(value2); + value3(value3); + value4(value4); + value5(value5); + value6(value6); + value7(value7); + value8(value8); + value9(value9); + value10(value10); + value11(value11); + value12(value12); + value13(value13); + value14(value14); + return this; + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached CertificateDetailRecord + */ + public CertificateDetailRecord() { + super(CertificateDetail.CERTIFICATE_DETAIL); + } + + /** + * Create a detached, initialised CertificateDetailRecord + */ + public CertificateDetailRecord(String id, String certificateApplyId, LocalDateTime workStartTime, LocalDateTime workEndTime, Integer status, String certFileContent, Integer isUpChain, String weid, String privateKeyHexStr, String x509SerialNumber, String x509Subject, String x509Issuer, String x509PublicKey, String x509SigAlgName) { + super(CertificateDetail.CERTIFICATE_DETAIL); + + setId(id); + setCertificateApplyId(certificateApplyId); + setWorkStartTime(workStartTime); + setWorkEndTime(workEndTime); + setStatus(status); + setCertFileContent(certFileContent); + setIsUpChain(isUpChain); + setWeid(weid); + setPrivateKeyHexStr(privateKeyHexStr); + setX509SerialNumber(x509SerialNumber); + setX509Subject(x509Subject); + setX509Issuer(x509Issuer); + setX509PublicKey(x509PublicKey); + setX509SigAlgName(x509SigAlgName); + resetChangedOnNotNull(); + } + + /** + * Create a detached, initialised CertificateDetailRecord + */ + public CertificateDetailRecord(jj.tech.paolu.repository.jooq.tables.pojos.CertificateDetail value) { + super(CertificateDetail.CERTIFICATE_DETAIL); + + if (value != null) { + setId(value.getId()); + setCertificateApplyId(value.getCertificateApplyId()); + setWorkStartTime(value.getWorkStartTime()); + setWorkEndTime(value.getWorkEndTime()); + setStatus(value.getStatus()); + setCertFileContent(value.getCertFileContent()); + setIsUpChain(value.getIsUpChain()); + setWeid(value.getWeid()); + setPrivateKeyHexStr(value.getPrivateKeyHexStr()); + setX509SerialNumber(value.getX509SerialNumber()); + setX509Subject(value.getX509Subject()); + setX509Issuer(value.getX509Issuer()); + setX509PublicKey(value.getX509PublicKey()); + setX509SigAlgName(value.getX509SigAlgName()); + resetChangedOnNotNull(); + } + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/records/DecryptLogRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/DecryptLogRecord.java new file mode 100644 index 0000000..53b2e33 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/DecryptLogRecord.java @@ -0,0 +1,426 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.records; + + +import java.time.LocalDateTime; + +import jj.tech.paolu.repository.jooq.tables.DecryptLog; + +import org.jooq.Field; +import org.jooq.Record1; +import org.jooq.Record9; +import org.jooq.Row9; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * 解密情况 + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class DecryptLogRecord extends UpdatableRecordImpl implements Record9 { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.decrypt_log.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for public.decrypt_log.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for public.decrypt_log.weid. 申请人id + */ + public void setWeid(String value) { + set(1, value); + } + + /** + * Getter for public.decrypt_log.weid. 申请人id + */ + public String getWeid() { + return (String) get(1); + } + + /** + * Setter for public.decrypt_log.content_type. 档案类型(0件/1件内文件) + */ + public void setContentType(Integer value) { + set(2, value); + } + + /** + * Getter for public.decrypt_log.content_type. 档案类型(0件/1件内文件) + */ + public Integer getContentType() { + return (Integer) get(2); + } + + /** + * Setter for public.decrypt_log.content_id. 档案id + */ + public void setContentId(String value) { + set(3, value); + } + + /** + * Getter for public.decrypt_log.content_id. 档案id + */ + public String getContentId() { + return (String) get(3); + } + + /** + * Setter for public.decrypt_log.dec_time. 解密时间 + */ + public void setDecTime(LocalDateTime value) { + set(4, value); + } + + /** + * Getter for public.decrypt_log.dec_time. 解密时间 + */ + public LocalDateTime getDecTime() { + return (LocalDateTime) get(4); + } + + /** + * Setter for public.decrypt_log.location. 区域 + */ + public void setLocation(String value) { + set(5, value); + } + + /** + * Getter for public.decrypt_log.location. 区域 + */ + public String getLocation() { + return (String) get(5); + } + + /** + * Setter for public.decrypt_log.sm9hibeid. 秘钥id + */ + public void setSm9hibeid(String value) { + set(6, value); + } + + /** + * Getter for public.decrypt_log.sm9hibeid. 秘钥id + */ + public String getSm9hibeid() { + return (String) get(6); + } + + /** + * Setter for public.decrypt_log.status. 解密结果(0失败1成功) + */ + public void setStatus(Integer value) { + set(7, value); + } + + /** + * Getter for public.decrypt_log.status. 解密结果(0失败1成功) + */ + public Integer getStatus() { + return (Integer) get(7); + } + + /** + * Setter for public.decrypt_log.sign. 数字签名 + */ + public void setSign(String value) { + set(8, value); + } + + /** + * Getter for public.decrypt_log.sign. 数字签名 + */ + public String getSign() { + return (String) get(8); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Record9 type implementation + // ------------------------------------------------------------------------- + + @Override + public Row9 fieldsRow() { + return (Row9) super.fieldsRow(); + } + + @Override + public Row9 valuesRow() { + return (Row9) super.valuesRow(); + } + + @Override + public Field field1() { + return DecryptLog.DECRYPT_LOG.ID; + } + + @Override + public Field field2() { + return DecryptLog.DECRYPT_LOG.WEID; + } + + @Override + public Field field3() { + return DecryptLog.DECRYPT_LOG.CONTENT_TYPE; + } + + @Override + public Field field4() { + return DecryptLog.DECRYPT_LOG.CONTENT_ID; + } + + @Override + public Field field5() { + return DecryptLog.DECRYPT_LOG.DEC_TIME; + } + + @Override + public Field field6() { + return DecryptLog.DECRYPT_LOG.LOCATION; + } + + @Override + public Field field7() { + return DecryptLog.DECRYPT_LOG.SM9HIBEID; + } + + @Override + public Field field8() { + return DecryptLog.DECRYPT_LOG.STATUS; + } + + @Override + public Field field9() { + return DecryptLog.DECRYPT_LOG.SIGN; + } + + @Override + public String component1() { + return getId(); + } + + @Override + public String component2() { + return getWeid(); + } + + @Override + public Integer component3() { + return getContentType(); + } + + @Override + public String component4() { + return getContentId(); + } + + @Override + public LocalDateTime component5() { + return getDecTime(); + } + + @Override + public String component6() { + return getLocation(); + } + + @Override + public String component7() { + return getSm9hibeid(); + } + + @Override + public Integer component8() { + return getStatus(); + } + + @Override + public String component9() { + return getSign(); + } + + @Override + public String value1() { + return getId(); + } + + @Override + public String value2() { + return getWeid(); + } + + @Override + public Integer value3() { + return getContentType(); + } + + @Override + public String value4() { + return getContentId(); + } + + @Override + public LocalDateTime value5() { + return getDecTime(); + } + + @Override + public String value6() { + return getLocation(); + } + + @Override + public String value7() { + return getSm9hibeid(); + } + + @Override + public Integer value8() { + return getStatus(); + } + + @Override + public String value9() { + return getSign(); + } + + @Override + public DecryptLogRecord value1(String value) { + setId(value); + return this; + } + + @Override + public DecryptLogRecord value2(String value) { + setWeid(value); + return this; + } + + @Override + public DecryptLogRecord value3(Integer value) { + setContentType(value); + return this; + } + + @Override + public DecryptLogRecord value4(String value) { + setContentId(value); + return this; + } + + @Override + public DecryptLogRecord value5(LocalDateTime value) { + setDecTime(value); + return this; + } + + @Override + public DecryptLogRecord value6(String value) { + setLocation(value); + return this; + } + + @Override + public DecryptLogRecord value7(String value) { + setSm9hibeid(value); + return this; + } + + @Override + public DecryptLogRecord value8(Integer value) { + setStatus(value); + return this; + } + + @Override + public DecryptLogRecord value9(String value) { + setSign(value); + return this; + } + + @Override + public DecryptLogRecord values(String value1, String value2, Integer value3, String value4, LocalDateTime value5, String value6, String value7, Integer value8, String value9) { + value1(value1); + value2(value2); + value3(value3); + value4(value4); + value5(value5); + value6(value6); + value7(value7); + value8(value8); + value9(value9); + return this; + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached DecryptLogRecord + */ + public DecryptLogRecord() { + super(DecryptLog.DECRYPT_LOG); + } + + /** + * Create a detached, initialised DecryptLogRecord + */ + public DecryptLogRecord(String id, String weid, Integer contentType, String contentId, LocalDateTime decTime, String location, String sm9hibeid, Integer status, String sign) { + super(DecryptLog.DECRYPT_LOG); + + setId(id); + setWeid(weid); + setContentType(contentType); + setContentId(contentId); + setDecTime(decTime); + setLocation(location); + setSm9hibeid(sm9hibeid); + setStatus(status); + setSign(sign); + resetChangedOnNotNull(); + } + + /** + * Create a detached, initialised DecryptLogRecord + */ + public DecryptLogRecord(jj.tech.paolu.repository.jooq.tables.pojos.DecryptLog value) { + super(DecryptLog.DECRYPT_LOG); + + if (value != null) { + setId(value.getId()); + setWeid(value.getWeid()); + setContentType(value.getContentType()); + setContentId(value.getContentId()); + setDecTime(value.getDecTime()); + setLocation(value.getLocation()); + setSm9hibeid(value.getSm9hibeid()); + setStatus(value.getStatus()); + setSign(value.getSign()); + resetChangedOnNotNull(); + } + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/records/DownloadLogRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/DownloadLogRecord.java new file mode 100644 index 0000000..82ef3bf --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/DownloadLogRecord.java @@ -0,0 +1,354 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.records; + + +import java.time.LocalDateTime; + +import jj.tech.paolu.repository.jooq.tables.DownloadLog; + +import org.jooq.Field; +import org.jooq.Record1; +import org.jooq.Record7; +import org.jooq.Row7; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * 下载行为记录 + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class DownloadLogRecord extends UpdatableRecordImpl implements Record7 { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.download_log.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for public.download_log.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for public.download_log.weid. weid + */ + public void setWeid(String value) { + set(1, value); + } + + /** + * Getter for public.download_log.weid. weid + */ + public String getWeid() { + return (String) get(1); + } + + /** + * Setter for public.download_log.downloadtime. 下载时间 + */ + public void setDownloadtime(LocalDateTime value) { + set(2, value); + } + + /** + * Getter for public.download_log.downloadtime. 下载时间 + */ + public LocalDateTime getDownloadtime() { + return (LocalDateTime) get(2); + } + + /** + * Setter for public.download_log.filenum. 下载文件数 + */ + public void setFilenum(Integer value) { + set(3, value); + } + + /** + * Getter for public.download_log.filenum. 下载文件数 + */ + public Integer getFilenum() { + return (Integer) get(3); + } + + /** + * Setter for public.download_log.content_type. + * 下载类型(1文件包/2单个附件(SyncFile)/3单个件(DirecotryFile)) + */ + public void setContentType(Integer value) { + set(4, value); + } + + /** + * Getter for public.download_log.content_type. + * 下载类型(1文件包/2单个附件(SyncFile)/3单个件(DirecotryFile)) + */ + public Integer getContentType() { + return (Integer) get(4); + } + + /** + * Setter for public.download_log.contentid. + * 下载记录ID(如果是单个文件,就取ID,如果是包,就是包内包含的文件的ID列表) + */ + public void setContentid(String value) { + set(5, value); + } + + /** + * Getter for public.download_log.contentid. + * 下载记录ID(如果是单个文件,就取ID,如果是包,就是包内包含的文件的ID列表) + */ + public String getContentid() { + return (String) get(5); + } + + /** + * Setter for public.download_log.sign. 数字签名 + */ + public void setSign(String value) { + set(6, value); + } + + /** + * Getter for public.download_log.sign. 数字签名 + */ + public String getSign() { + return (String) get(6); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Record7 type implementation + // ------------------------------------------------------------------------- + + @Override + public Row7 fieldsRow() { + return (Row7) super.fieldsRow(); + } + + @Override + public Row7 valuesRow() { + return (Row7) super.valuesRow(); + } + + @Override + public Field field1() { + return DownloadLog.DOWNLOAD_LOG.ID; + } + + @Override + public Field field2() { + return DownloadLog.DOWNLOAD_LOG.WEID; + } + + @Override + public Field field3() { + return DownloadLog.DOWNLOAD_LOG.DOWNLOADTIME; + } + + @Override + public Field field4() { + return DownloadLog.DOWNLOAD_LOG.FILENUM; + } + + @Override + public Field field5() { + return DownloadLog.DOWNLOAD_LOG.CONTENT_TYPE; + } + + @Override + public Field field6() { + return DownloadLog.DOWNLOAD_LOG.CONTENTID; + } + + @Override + public Field field7() { + return DownloadLog.DOWNLOAD_LOG.SIGN; + } + + @Override + public String component1() { + return getId(); + } + + @Override + public String component2() { + return getWeid(); + } + + @Override + public LocalDateTime component3() { + return getDownloadtime(); + } + + @Override + public Integer component4() { + return getFilenum(); + } + + @Override + public Integer component5() { + return getContentType(); + } + + @Override + public String component6() { + return getContentid(); + } + + @Override + public String component7() { + return getSign(); + } + + @Override + public String value1() { + return getId(); + } + + @Override + public String value2() { + return getWeid(); + } + + @Override + public LocalDateTime value3() { + return getDownloadtime(); + } + + @Override + public Integer value4() { + return getFilenum(); + } + + @Override + public Integer value5() { + return getContentType(); + } + + @Override + public String value6() { + return getContentid(); + } + + @Override + public String value7() { + return getSign(); + } + + @Override + public DownloadLogRecord value1(String value) { + setId(value); + return this; + } + + @Override + public DownloadLogRecord value2(String value) { + setWeid(value); + return this; + } + + @Override + public DownloadLogRecord value3(LocalDateTime value) { + setDownloadtime(value); + return this; + } + + @Override + public DownloadLogRecord value4(Integer value) { + setFilenum(value); + return this; + } + + @Override + public DownloadLogRecord value5(Integer value) { + setContentType(value); + return this; + } + + @Override + public DownloadLogRecord value6(String value) { + setContentid(value); + return this; + } + + @Override + public DownloadLogRecord value7(String value) { + setSign(value); + return this; + } + + @Override + public DownloadLogRecord values(String value1, String value2, LocalDateTime value3, Integer value4, Integer value5, String value6, String value7) { + value1(value1); + value2(value2); + value3(value3); + value4(value4); + value5(value5); + value6(value6); + value7(value7); + return this; + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached DownloadLogRecord + */ + public DownloadLogRecord() { + super(DownloadLog.DOWNLOAD_LOG); + } + + /** + * Create a detached, initialised DownloadLogRecord + */ + public DownloadLogRecord(String id, String weid, LocalDateTime downloadtime, Integer filenum, Integer contentType, String contentid, String sign) { + super(DownloadLog.DOWNLOAD_LOG); + + setId(id); + setWeid(weid); + setDownloadtime(downloadtime); + setFilenum(filenum); + setContentType(contentType); + setContentid(contentid); + setSign(sign); + resetChangedOnNotNull(); + } + + /** + * Create a detached, initialised DownloadLogRecord + */ + public DownloadLogRecord(jj.tech.paolu.repository.jooq.tables.pojos.DownloadLog value) { + super(DownloadLog.DOWNLOAD_LOG); + + if (value != null) { + setId(value.getId()); + setWeid(value.getWeid()); + setDownloadtime(value.getDownloadtime()); + setFilenum(value.getFilenum()); + setContentType(value.getContentType()); + setContentid(value.getContentid()); + setSign(value.getSign()); + resetChangedOnNotNull(); + } + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/records/FilesApplyCheckRecordRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/FilesApplyCheckRecordRecord.java new file mode 100644 index 0000000..61518e3 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/FilesApplyCheckRecordRecord.java @@ -0,0 +1,664 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.records; + + +import java.time.LocalDateTime; + +import jj.tech.paolu.repository.jooq.tables.FilesApplyCheckRecord; + +import org.jooq.Field; +import org.jooq.Record1; +import org.jooq.Record15; +import org.jooq.Row15; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class FilesApplyCheckRecordRecord extends UpdatableRecordImpl implements Record15 { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.files_apply_check_record.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for public.files_apply_check_record.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for public.files_apply_check_record.files_apply_id. + */ + public void setFilesApplyId(String value) { + set(1, value); + } + + /** + * Getter for public.files_apply_check_record.files_apply_id. + */ + public String getFilesApplyId() { + return (String) get(1); + } + + /** + * Setter for + * public.files_apply_check_record.is_apply_provider. + */ + public void setIsApplyProvider(Integer value) { + set(2, value); + } + + /** + * Getter for + * public.files_apply_check_record.is_apply_provider. + */ + public Integer getIsApplyProvider() { + return (Integer) get(2); + } + + /** + * Setter for public.files_apply_check_record.check_user_id. + */ + public void setCheckUserId(String value) { + set(3, value); + } + + /** + * Getter for public.files_apply_check_record.check_user_id. + */ + public String getCheckUserId() { + return (String) get(3); + } + + /** + * Setter for public.files_apply_check_record.check_user_name. + */ + public void setCheckUserName(String value) { + set(4, value); + } + + /** + * Getter for public.files_apply_check_record.check_user_name. + */ + public String getCheckUserName() { + return (String) get(4); + } + + /** + * Setter for public.files_apply_check_record.check_org_id. + */ + public void setCheckOrgId(String value) { + set(5, value); + } + + /** + * Getter for public.files_apply_check_record.check_org_id. + */ + public String getCheckOrgId() { + return (String) get(5); + } + + /** + * Setter for public.files_apply_check_record.check_org_name. + */ + public void setCheckOrgName(String value) { + set(6, value); + } + + /** + * Getter for public.files_apply_check_record.check_org_name. + */ + public String getCheckOrgName() { + return (String) get(6); + } + + /** + * Setter for + * public.files_apply_check_record.next_check_org_id. + */ + public void setNextCheckOrgId(String value) { + set(7, value); + } + + /** + * Getter for + * public.files_apply_check_record.next_check_org_id. + */ + public String getNextCheckOrgId() { + return (String) get(7); + } + + /** + * Setter for + * public.files_apply_check_record.next_check_org_name. + */ + public void setNextCheckOrgName(String value) { + set(8, value); + } + + /** + * Getter for + * public.files_apply_check_record.next_check_org_name. + */ + public String getNextCheckOrgName() { + return (String) get(8); + } + + /** + * Setter for public.files_apply_check_record.check_describe. + */ + public void setCheckDescribe(String value) { + set(9, value); + } + + /** + * Getter for public.files_apply_check_record.check_describe. + */ + public String getCheckDescribe() { + return (String) get(9); + } + + /** + * Setter for public.files_apply_check_record.check_status. + */ + public void setCheckStatus(Integer value) { + set(10, value); + } + + /** + * Getter for public.files_apply_check_record.check_status. + */ + public Integer getCheckStatus() { + return (Integer) get(10); + } + + /** + * Setter for public.files_apply_check_record.check_time. + */ + public void setCheckTime(LocalDateTime value) { + set(11, value); + } + + /** + * Getter for public.files_apply_check_record.check_time. + */ + public LocalDateTime getCheckTime() { + return (LocalDateTime) get(11); + } + + /** + * Setter for + * public.files_apply_check_record.provider_next_check_role_sign_id. + */ + public void setProviderNextCheckRoleSignId(String value) { + set(12, value); + } + + /** + * Getter for + * public.files_apply_check_record.provider_next_check_role_sign_id. + */ + public String getProviderNextCheckRoleSignId() { + return (String) get(12); + } + + /** + * Setter for + * public.files_apply_check_record.provider_next_check_role_sign_name. + */ + public void setProviderNextCheckRoleSignName(String value) { + set(13, value); + } + + /** + * Getter for + * public.files_apply_check_record.provider_next_check_role_sign_name. + */ + public String getProviderNextCheckRoleSignName() { + return (String) get(13); + } + + /** + * Setter for public.files_apply_check_record.sign. + */ + public void setSign(String value) { + set(14, value); + } + + /** + * Getter for public.files_apply_check_record.sign. + */ + public String getSign() { + return (String) get(14); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Record15 type implementation + // ------------------------------------------------------------------------- + + @Override + public Row15 fieldsRow() { + return (Row15) super.fieldsRow(); + } + + @Override + public Row15 valuesRow() { + return (Row15) super.valuesRow(); + } + + @Override + public Field field1() { + return FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.ID; + } + + @Override + public Field field2() { + return FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.FILES_APPLY_ID; + } + + @Override + public Field field3() { + return FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.IS_APPLY_PROVIDER; + } + + @Override + public Field field4() { + return FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.CHECK_USER_ID; + } + + @Override + public Field field5() { + return FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.CHECK_USER_NAME; + } + + @Override + public Field field6() { + return FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.CHECK_ORG_ID; + } + + @Override + public Field field7() { + return FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.CHECK_ORG_NAME; + } + + @Override + public Field field8() { + return FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.NEXT_CHECK_ORG_ID; + } + + @Override + public Field field9() { + return FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.NEXT_CHECK_ORG_NAME; + } + + @Override + public Field field10() { + return FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.CHECK_DESCRIBE; + } + + @Override + public Field field11() { + return FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.CHECK_STATUS; + } + + @Override + public Field field12() { + return FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.CHECK_TIME; + } + + @Override + public Field field13() { + return FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.PROVIDER_NEXT_CHECK_ROLE_SIGN_ID; + } + + @Override + public Field field14() { + return FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.PROVIDER_NEXT_CHECK_ROLE_SIGN_NAME; + } + + @Override + public Field field15() { + return FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD.SIGN; + } + + @Override + public String component1() { + return getId(); + } + + @Override + public String component2() { + return getFilesApplyId(); + } + + @Override + public Integer component3() { + return getIsApplyProvider(); + } + + @Override + public String component4() { + return getCheckUserId(); + } + + @Override + public String component5() { + return getCheckUserName(); + } + + @Override + public String component6() { + return getCheckOrgId(); + } + + @Override + public String component7() { + return getCheckOrgName(); + } + + @Override + public String component8() { + return getNextCheckOrgId(); + } + + @Override + public String component9() { + return getNextCheckOrgName(); + } + + @Override + public String component10() { + return getCheckDescribe(); + } + + @Override + public Integer component11() { + return getCheckStatus(); + } + + @Override + public LocalDateTime component12() { + return getCheckTime(); + } + + @Override + public String component13() { + return getProviderNextCheckRoleSignId(); + } + + @Override + public String component14() { + return getProviderNextCheckRoleSignName(); + } + + @Override + public String component15() { + return getSign(); + } + + @Override + public String value1() { + return getId(); + } + + @Override + public String value2() { + return getFilesApplyId(); + } + + @Override + public Integer value3() { + return getIsApplyProvider(); + } + + @Override + public String value4() { + return getCheckUserId(); + } + + @Override + public String value5() { + return getCheckUserName(); + } + + @Override + public String value6() { + return getCheckOrgId(); + } + + @Override + public String value7() { + return getCheckOrgName(); + } + + @Override + public String value8() { + return getNextCheckOrgId(); + } + + @Override + public String value9() { + return getNextCheckOrgName(); + } + + @Override + public String value10() { + return getCheckDescribe(); + } + + @Override + public Integer value11() { + return getCheckStatus(); + } + + @Override + public LocalDateTime value12() { + return getCheckTime(); + } + + @Override + public String value13() { + return getProviderNextCheckRoleSignId(); + } + + @Override + public String value14() { + return getProviderNextCheckRoleSignName(); + } + + @Override + public String value15() { + return getSign(); + } + + @Override + public FilesApplyCheckRecordRecord value1(String value) { + setId(value); + return this; + } + + @Override + public FilesApplyCheckRecordRecord value2(String value) { + setFilesApplyId(value); + return this; + } + + @Override + public FilesApplyCheckRecordRecord value3(Integer value) { + setIsApplyProvider(value); + return this; + } + + @Override + public FilesApplyCheckRecordRecord value4(String value) { + setCheckUserId(value); + return this; + } + + @Override + public FilesApplyCheckRecordRecord value5(String value) { + setCheckUserName(value); + return this; + } + + @Override + public FilesApplyCheckRecordRecord value6(String value) { + setCheckOrgId(value); + return this; + } + + @Override + public FilesApplyCheckRecordRecord value7(String value) { + setCheckOrgName(value); + return this; + } + + @Override + public FilesApplyCheckRecordRecord value8(String value) { + setNextCheckOrgId(value); + return this; + } + + @Override + public FilesApplyCheckRecordRecord value9(String value) { + setNextCheckOrgName(value); + return this; + } + + @Override + public FilesApplyCheckRecordRecord value10(String value) { + setCheckDescribe(value); + return this; + } + + @Override + public FilesApplyCheckRecordRecord value11(Integer value) { + setCheckStatus(value); + return this; + } + + @Override + public FilesApplyCheckRecordRecord value12(LocalDateTime value) { + setCheckTime(value); + return this; + } + + @Override + public FilesApplyCheckRecordRecord value13(String value) { + setProviderNextCheckRoleSignId(value); + return this; + } + + @Override + public FilesApplyCheckRecordRecord value14(String value) { + setProviderNextCheckRoleSignName(value); + return this; + } + + @Override + public FilesApplyCheckRecordRecord value15(String value) { + setSign(value); + return this; + } + + @Override + public FilesApplyCheckRecordRecord values(String value1, String value2, Integer value3, String value4, String value5, String value6, String value7, String value8, String value9, String value10, Integer value11, LocalDateTime value12, String value13, String value14, String value15) { + value1(value1); + value2(value2); + value3(value3); + value4(value4); + value5(value5); + value6(value6); + value7(value7); + value8(value8); + value9(value9); + value10(value10); + value11(value11); + value12(value12); + value13(value13); + value14(value14); + value15(value15); + return this; + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached FilesApplyCheckRecordRecord + */ + public FilesApplyCheckRecordRecord() { + super(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD); + } + + /** + * Create a detached, initialised FilesApplyCheckRecordRecord + */ + public FilesApplyCheckRecordRecord(String id, String filesApplyId, Integer isApplyProvider, String checkUserId, String checkUserName, String checkOrgId, String checkOrgName, String nextCheckOrgId, String nextCheckOrgName, String checkDescribe, Integer checkStatus, LocalDateTime checkTime, String providerNextCheckRoleSignId, String providerNextCheckRoleSignName, String sign) { + super(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD); + + setId(id); + setFilesApplyId(filesApplyId); + setIsApplyProvider(isApplyProvider); + setCheckUserId(checkUserId); + setCheckUserName(checkUserName); + setCheckOrgId(checkOrgId); + setCheckOrgName(checkOrgName); + setNextCheckOrgId(nextCheckOrgId); + setNextCheckOrgName(nextCheckOrgName); + setCheckDescribe(checkDescribe); + setCheckStatus(checkStatus); + setCheckTime(checkTime); + setProviderNextCheckRoleSignId(providerNextCheckRoleSignId); + setProviderNextCheckRoleSignName(providerNextCheckRoleSignName); + setSign(sign); + resetChangedOnNotNull(); + } + + /** + * Create a detached, initialised FilesApplyCheckRecordRecord + */ + public FilesApplyCheckRecordRecord(jj.tech.paolu.repository.jooq.tables.pojos.FilesApplyCheckRecord value) { + super(FilesApplyCheckRecord.FILES_APPLY_CHECK_RECORD); + + if (value != null) { + setId(value.getId()); + setFilesApplyId(value.getFilesApplyId()); + setIsApplyProvider(value.getIsApplyProvider()); + setCheckUserId(value.getCheckUserId()); + setCheckUserName(value.getCheckUserName()); + setCheckOrgId(value.getCheckOrgId()); + setCheckOrgName(value.getCheckOrgName()); + setNextCheckOrgId(value.getNextCheckOrgId()); + setNextCheckOrgName(value.getNextCheckOrgName()); + setCheckDescribe(value.getCheckDescribe()); + setCheckStatus(value.getCheckStatus()); + setCheckTime(value.getCheckTime()); + setProviderNextCheckRoleSignId(value.getProviderNextCheckRoleSignId()); + setProviderNextCheckRoleSignName(value.getProviderNextCheckRoleSignName()); + setSign(value.getSign()); + resetChangedOnNotNull(); + } + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/records/FilesApplyDirectoryDocsRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/FilesApplyDirectoryDocsRecord.java new file mode 100644 index 0000000..6a1774f --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/FilesApplyDirectoryDocsRecord.java @@ -0,0 +1,432 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.records; + + +import jj.tech.paolu.repository.jooq.tables.FilesApplyDirectoryDocs; + +import org.jooq.Record1; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class FilesApplyDirectoryDocsRecord extends UpdatableRecordImpl { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.files_apply_directory_docs.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for public.files_apply_directory_docs.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for public.files_apply_directory_docs.files_apply_id. + */ + public void setFilesApplyId(String value) { + set(1, value); + } + + /** + * Getter for public.files_apply_directory_docs.files_apply_id. + */ + public String getFilesApplyId() { + return (String) get(1); + } + + /** + * Setter for + * public.files_apply_directory_docs.directory_file_id. + */ + public void setDirectoryFileId(String value) { + set(2, value); + } + + /** + * Getter for + * public.files_apply_directory_docs.directory_file_id. + */ + public String getDirectoryFileId() { + return (String) get(2); + } + + /** + * Setter for + * public.files_apply_directory_docs.directory_file_p_id. + */ + public void setDirectoryFilePId(String value) { + set(3, value); + } + + /** + * Getter for + * public.files_apply_directory_docs.directory_file_p_id. + */ + public String getDirectoryFilePId() { + return (String) get(3); + } + + /** + * Setter for public.files_apply_directory_docs.filesuper. + */ + public void setFilesuper(String value) { + set(4, value); + } + + /** + * Getter for public.files_apply_directory_docs.filesuper. + */ + public String getFilesuper() { + return (String) get(4); + } + + /** + * Setter for public.files_apply_directory_docs.filecount. + */ + public void setFilecount(Integer value) { + set(5, value); + } + + /** + * Getter for public.files_apply_directory_docs.filecount. + */ + public Integer getFilecount() { + return (Integer) get(5); + } + + /** + * Setter for public.files_apply_directory_docs.dutyperson. + */ + public void setDutyperson(String value) { + set(6, value); + } + + /** + * Getter for public.files_apply_directory_docs.dutyperson. + */ + public String getDutyperson() { + return (String) get(6); + } + + /** + * Setter for public.files_apply_directory_docs.eweavedate. + */ + public void setEweavedate(String value) { + set(7, value); + } + + /** + * Getter for public.files_apply_directory_docs.eweavedate. + */ + public String getEweavedate() { + return (String) get(7); + } + + /** + * Setter for public.files_apply_directory_docs.filepage. + */ + public void setFilepage(Integer value) { + set(8, value); + } + + /** + * Getter for public.files_apply_directory_docs.filepage. + */ + public Integer getFilepage() { + return (Integer) get(8); + } + + /** + * Setter for public.files_apply_directory_docs.sortorder. + */ + public void setSortorder(String value) { + set(9, value); + } + + /** + * Getter for public.files_apply_directory_docs.sortorder. + */ + public String getSortorder() { + return (String) get(9); + } + + /** + * Setter for public.files_apply_directory_docs.bpeg. + */ + public void setBpeg(String value) { + set(10, value); + } + + /** + * Getter for public.files_apply_directory_docs.bpeg. + */ + public String getBpeg() { + return (String) get(10); + } + + /** + * Setter for public.files_apply_directory_docs.epeg. + */ + public void setEpeg(String value) { + set(11, value); + } + + /** + * Getter for public.files_apply_directory_docs.epeg. + */ + public String getEpeg() { + return (String) get(11); + } + + /** + * Setter for public.files_apply_directory_docs.filenum. + */ + public void setFilenum(String value) { + set(12, value); + } + + /** + * Getter for public.files_apply_directory_docs.filenum. + */ + public String getFilenum() { + return (String) get(12); + } + + /** + * Setter for public.files_apply_directory_docs.remark. + */ + public void setRemark(String value) { + set(13, value); + } + + /** + * Getter for public.files_apply_directory_docs.remark. + */ + public String getRemark() { + return (String) get(13); + } + + /** + * Setter for public.files_apply_directory_docs.recordnum. + */ + public void setRecordnum(String value) { + set(14, value); + } + + /** + * Getter for public.files_apply_directory_docs.recordnum. + */ + public String getRecordnum() { + return (String) get(14); + } + + /** + * Setter for public.files_apply_directory_docs.piecenumber. + */ + public void setPiecenumber(String value) { + set(15, value); + } + + /** + * Getter for public.files_apply_directory_docs.piecenumber. + */ + public String getPiecenumber() { + return (String) get(15); + } + + /** + * Setter for public.files_apply_directory_docs.adddate. + */ + public void setAdddate(String value) { + set(16, value); + } + + /** + * Getter for public.files_apply_directory_docs.adddate. + */ + public String getAdddate() { + return (String) get(16); + } + + /** + * Setter for public.files_apply_directory_docs.editdate. + */ + public void setEditdate(String value) { + set(17, value); + } + + /** + * Getter for public.files_apply_directory_docs.editdate. + */ + public String getEditdate() { + return (String) get(17); + } + + /** + * Setter for public.files_apply_directory_docs.time_stamp. + */ + public void setTimeStamp(String value) { + set(18, value); + } + + /** + * Getter for public.files_apply_directory_docs.time_stamp. + */ + public String getTimeStamp() { + return (String) get(18); + } + + /** + * Setter for public.files_apply_directory_docs.isdel. + */ + public void setIsdel(Integer value) { + set(19, value); + } + + /** + * Getter for public.files_apply_directory_docs.isdel. + */ + public Integer getIsdel() { + return (Integer) get(19); + } + + /** + * Setter for public.files_apply_directory_docs.catalogpdfurl. + */ + public void setCatalogpdfurl(String value) { + set(20, value); + } + + /** + * Getter for public.files_apply_directory_docs.catalogpdfurl. + */ + public String getCatalogpdfurl() { + return (String) get(20); + } + + /** + * Setter for public.files_apply_directory_docs.signtag. + */ + public void setSigntag(String value) { + set(21, value); + } + + /** + * Getter for public.files_apply_directory_docs.signtag. + */ + public String getSigntag() { + return (String) get(21); + } + + /** + * Setter for public.files_apply_directory_docs.collecttag. + */ + public void setCollecttag(String value) { + set(22, value); + } + + /** + * Getter for public.files_apply_directory_docs.collecttag. + */ + public String getCollecttag() { + return (String) get(22); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached FilesApplyDirectoryDocsRecord + */ + public FilesApplyDirectoryDocsRecord() { + super(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS); + } + + /** + * Create a detached, initialised FilesApplyDirectoryDocsRecord + */ + public FilesApplyDirectoryDocsRecord(String id, String filesApplyId, String directoryFileId, String directoryFilePId, String filesuper, Integer filecount, String dutyperson, String eweavedate, Integer filepage, String sortorder, String bpeg, String epeg, String filenum, String remark, String recordnum, String piecenumber, String adddate, String editdate, String timeStamp, Integer isdel, String catalogpdfurl, String signtag, String collecttag) { + super(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS); + + setId(id); + setFilesApplyId(filesApplyId); + setDirectoryFileId(directoryFileId); + setDirectoryFilePId(directoryFilePId); + setFilesuper(filesuper); + setFilecount(filecount); + setDutyperson(dutyperson); + setEweavedate(eweavedate); + setFilepage(filepage); + setSortorder(sortorder); + setBpeg(bpeg); + setEpeg(epeg); + setFilenum(filenum); + setRemark(remark); + setRecordnum(recordnum); + setPiecenumber(piecenumber); + setAdddate(adddate); + setEditdate(editdate); + setTimeStamp(timeStamp); + setIsdel(isdel); + setCatalogpdfurl(catalogpdfurl); + setSigntag(signtag); + setCollecttag(collecttag); + resetChangedOnNotNull(); + } + + /** + * Create a detached, initialised FilesApplyDirectoryDocsRecord + */ + public FilesApplyDirectoryDocsRecord(jj.tech.paolu.repository.jooq.tables.pojos.FilesApplyDirectoryDocs value) { + super(FilesApplyDirectoryDocs.FILES_APPLY_DIRECTORY_DOCS); + + if (value != null) { + setId(value.getId()); + setFilesApplyId(value.getFilesApplyId()); + setDirectoryFileId(value.getDirectoryFileId()); + setDirectoryFilePId(value.getDirectoryFilePId()); + setFilesuper(value.getFilesuper()); + setFilecount(value.getFilecount()); + setDutyperson(value.getDutyperson()); + setEweavedate(value.getEweavedate()); + setFilepage(value.getFilepage()); + setSortorder(value.getSortorder()); + setBpeg(value.getBpeg()); + setEpeg(value.getEpeg()); + setFilenum(value.getFilenum()); + setRemark(value.getRemark()); + setRecordnum(value.getRecordnum()); + setPiecenumber(value.getPiecenumber()); + setAdddate(value.getAdddate()); + setEditdate(value.getEditdate()); + setTimeStamp(value.getTimeStamp()); + setIsdel(value.getIsdel()); + setCatalogpdfurl(value.getCatalogpdfurl()); + setSigntag(value.getSigntag()); + setCollecttag(value.getCollecttag()); + resetChangedOnNotNull(); + } + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/records/FilesApplyDocsRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/FilesApplyDocsRecord.java new file mode 100644 index 0000000..8265738 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/FilesApplyDocsRecord.java @@ -0,0 +1,880 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.records; + + +import jj.tech.paolu.repository.jooq.tables.FilesApplyDocs; + +import org.jooq.Field; +import org.jooq.Record1; +import org.jooq.Record21; +import org.jooq.Row21; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class FilesApplyDocsRecord extends UpdatableRecordImpl implements Record21 { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.files_apply_docs.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for public.files_apply_docs.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for public.files_apply_docs.files_apply_id. + */ + public void setFilesApplyId(String value) { + set(1, value); + } + + /** + * Getter for public.files_apply_docs.files_apply_id. + */ + public String getFilesApplyId() { + return (String) get(1); + } + + /** + * Setter for public.files_apply_docs.syn_file_id. + */ + public void setSynFileId(String value) { + set(2, value); + } + + /** + * Getter for public.files_apply_docs.syn_file_id. + */ + public String getSynFileId() { + return (String) get(2); + } + + /** + * Setter for public.files_apply_docs.syn_file_p_id. + */ + public void setSynFilePId(String value) { + set(3, value); + } + + /** + * Getter for public.files_apply_docs.syn_file_p_id. + */ + public String getSynFilePId() { + return (String) get(3); + } + + /** + * Setter for public.files_apply_docs.tablenumber. + */ + public void setTablenumber(String value) { + set(4, value); + } + + /** + * Getter for public.files_apply_docs.tablenumber. + */ + public String getTablenumber() { + return (String) get(4); + } + + /** + * Setter for public.files_apply_docs.annexname. + */ + public void setAnnexname(String value) { + set(5, value); + } + + /** + * Getter for public.files_apply_docs.annexname. + */ + public String getAnnexname() { + return (String) get(5); + } + + /** + * Setter for public.files_apply_docs.projectname. + */ + public void setProjectname(String value) { + set(6, value); + } + + /** + * Getter for public.files_apply_docs.projectname. + */ + public String getProjectname() { + return (String) get(6); + } + + /** + * Setter for public.files_apply_docs.eweavedate. + */ + public void setEweavedate(String value) { + set(7, value); + } + + /** + * Getter for public.files_apply_docs.eweavedate. + */ + public String getEweavedate() { + return (String) get(7); + } + + /** + * Setter for public.files_apply_docs.checkdate. + */ + public void setCheckdate(String value) { + set(8, value); + } + + /** + * Getter for public.files_apply_docs.checkdate. + */ + public String getCheckdate() { + return (String) get(8); + } + + /** + * Setter for public.files_apply_docs.annexpage. + */ + public void setAnnexpage(Integer value) { + set(9, value); + } + + /** + * Getter for public.files_apply_docs.annexpage. + */ + public Integer getAnnexpage() { + return (Integer) get(9); + } + + /** + * Setter for public.files_apply_docs.sortorder. + */ + public void setSortorder(String value) { + set(10, value); + } + + /** + * Getter for public.files_apply_docs.sortorder. + */ + public String getSortorder() { + return (String) get(10); + } + + /** + * Setter for public.files_apply_docs.filefrom. + */ + public void setFilefrom(String value) { + set(11, value); + } + + /** + * Getter for public.files_apply_docs.filefrom. + */ + public String getFilefrom() { + return (String) get(11); + } + + /** + * Setter for public.files_apply_docs.archivestag. + */ + public void setArchivestag(String value) { + set(12, value); + } + + /** + * Getter for public.files_apply_docs.archivestag. + */ + public String getArchivestag() { + return (String) get(12); + } + + /** + * Setter for public.files_apply_docs.adddate. + */ + public void setAdddate(String value) { + set(13, value); + } + + /** + * Getter for public.files_apply_docs.adddate. + */ + public String getAdddate() { + return (String) get(13); + } + + /** + * Setter for public.files_apply_docs.editdate. + */ + public void setEditdate(String value) { + set(14, value); + } + + /** + * Getter for public.files_apply_docs.editdate. + */ + public String getEditdate() { + return (String) get(14); + } + + /** + * Setter for public.files_apply_docs.time_stamp. + */ + public void setTimeStamp(String value) { + set(15, value); + } + + /** + * Getter for public.files_apply_docs.time_stamp. + */ + public String getTimeStamp() { + return (String) get(15); + } + + /** + * Setter for public.files_apply_docs.isdel. + */ + public void setIsdel(Integer value) { + set(16, value); + } + + /** + * Getter for public.files_apply_docs.isdel. + */ + public Integer getIsdel() { + return (Integer) get(16); + } + + /** + * Setter for public.files_apply_docs.downurl. + */ + public void setDownurl(String value) { + set(17, value); + } + + /** + * Getter for public.files_apply_docs.downurl. + */ + public String getDownurl() { + return (String) get(17); + } + + /** + * Setter for public.files_apply_docs.filesize. + */ + public void setFilesize(Integer value) { + set(18, value); + } + + /** + * Getter for public.files_apply_docs.filesize. + */ + public Integer getFilesize() { + return (Integer) get(18); + } + + /** + * Setter for public.files_apply_docs.apply_view_type_print. + */ + public void setApplyViewTypePrint(Integer value) { + set(19, value); + } + + /** + * Getter for public.files_apply_docs.apply_view_type_print. + */ + public Integer getApplyViewTypePrint() { + return (Integer) get(19); + } + + /** + * Setter for public.files_apply_docs.apply_view_type_online. + */ + public void setApplyViewTypeOnline(Integer value) { + set(20, value); + } + + /** + * Getter for public.files_apply_docs.apply_view_type_online. + */ + public Integer getApplyViewTypeOnline() { + return (Integer) get(20); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Record21 type implementation + // ------------------------------------------------------------------------- + + @Override + public Row21 fieldsRow() { + return (Row21) super.fieldsRow(); + } + + @Override + public Row21 valuesRow() { + return (Row21) super.valuesRow(); + } + + @Override + public Field field1() { + return FilesApplyDocs.FILES_APPLY_DOCS.ID; + } + + @Override + public Field field2() { + return FilesApplyDocs.FILES_APPLY_DOCS.FILES_APPLY_ID; + } + + @Override + public Field field3() { + return FilesApplyDocs.FILES_APPLY_DOCS.SYN_FILE_ID; + } + + @Override + public Field field4() { + return FilesApplyDocs.FILES_APPLY_DOCS.SYN_FILE_P_ID; + } + + @Override + public Field field5() { + return FilesApplyDocs.FILES_APPLY_DOCS.TABLENUMBER; + } + + @Override + public Field field6() { + return FilesApplyDocs.FILES_APPLY_DOCS.ANNEXNAME; + } + + @Override + public Field field7() { + return FilesApplyDocs.FILES_APPLY_DOCS.PROJECTNAME; + } + + @Override + public Field field8() { + return FilesApplyDocs.FILES_APPLY_DOCS.EWEAVEDATE; + } + + @Override + public Field field9() { + return FilesApplyDocs.FILES_APPLY_DOCS.CHECKDATE; + } + + @Override + public Field field10() { + return FilesApplyDocs.FILES_APPLY_DOCS.ANNEXPAGE; + } + + @Override + public Field field11() { + return FilesApplyDocs.FILES_APPLY_DOCS.SORTORDER; + } + + @Override + public Field field12() { + return FilesApplyDocs.FILES_APPLY_DOCS.FILEFROM; + } + + @Override + public Field field13() { + return FilesApplyDocs.FILES_APPLY_DOCS.ARCHIVESTAG; + } + + @Override + public Field field14() { + return FilesApplyDocs.FILES_APPLY_DOCS.ADDDATE; + } + + @Override + public Field field15() { + return FilesApplyDocs.FILES_APPLY_DOCS.EDITDATE; + } + + @Override + public Field field16() { + return FilesApplyDocs.FILES_APPLY_DOCS.TIME_STAMP; + } + + @Override + public Field field17() { + return FilesApplyDocs.FILES_APPLY_DOCS.ISDEL; + } + + @Override + public Field field18() { + return FilesApplyDocs.FILES_APPLY_DOCS.DOWNURL; + } + + @Override + public Field field19() { + return FilesApplyDocs.FILES_APPLY_DOCS.FILESIZE; + } + + @Override + public Field field20() { + return FilesApplyDocs.FILES_APPLY_DOCS.APPLY_VIEW_TYPE_PRINT; + } + + @Override + public Field field21() { + return FilesApplyDocs.FILES_APPLY_DOCS.APPLY_VIEW_TYPE_ONLINE; + } + + @Override + public String component1() { + return getId(); + } + + @Override + public String component2() { + return getFilesApplyId(); + } + + @Override + public String component3() { + return getSynFileId(); + } + + @Override + public String component4() { + return getSynFilePId(); + } + + @Override + public String component5() { + return getTablenumber(); + } + + @Override + public String component6() { + return getAnnexname(); + } + + @Override + public String component7() { + return getProjectname(); + } + + @Override + public String component8() { + return getEweavedate(); + } + + @Override + public String component9() { + return getCheckdate(); + } + + @Override + public Integer component10() { + return getAnnexpage(); + } + + @Override + public String component11() { + return getSortorder(); + } + + @Override + public String component12() { + return getFilefrom(); + } + + @Override + public String component13() { + return getArchivestag(); + } + + @Override + public String component14() { + return getAdddate(); + } + + @Override + public String component15() { + return getEditdate(); + } + + @Override + public String component16() { + return getTimeStamp(); + } + + @Override + public Integer component17() { + return getIsdel(); + } + + @Override + public String component18() { + return getDownurl(); + } + + @Override + public Integer component19() { + return getFilesize(); + } + + @Override + public Integer component20() { + return getApplyViewTypePrint(); + } + + @Override + public Integer component21() { + return getApplyViewTypeOnline(); + } + + @Override + public String value1() { + return getId(); + } + + @Override + public String value2() { + return getFilesApplyId(); + } + + @Override + public String value3() { + return getSynFileId(); + } + + @Override + public String value4() { + return getSynFilePId(); + } + + @Override + public String value5() { + return getTablenumber(); + } + + @Override + public String value6() { + return getAnnexname(); + } + + @Override + public String value7() { + return getProjectname(); + } + + @Override + public String value8() { + return getEweavedate(); + } + + @Override + public String value9() { + return getCheckdate(); + } + + @Override + public Integer value10() { + return getAnnexpage(); + } + + @Override + public String value11() { + return getSortorder(); + } + + @Override + public String value12() { + return getFilefrom(); + } + + @Override + public String value13() { + return getArchivestag(); + } + + @Override + public String value14() { + return getAdddate(); + } + + @Override + public String value15() { + return getEditdate(); + } + + @Override + public String value16() { + return getTimeStamp(); + } + + @Override + public Integer value17() { + return getIsdel(); + } + + @Override + public String value18() { + return getDownurl(); + } + + @Override + public Integer value19() { + return getFilesize(); + } + + @Override + public Integer value20() { + return getApplyViewTypePrint(); + } + + @Override + public Integer value21() { + return getApplyViewTypeOnline(); + } + + @Override + public FilesApplyDocsRecord value1(String value) { + setId(value); + return this; + } + + @Override + public FilesApplyDocsRecord value2(String value) { + setFilesApplyId(value); + return this; + } + + @Override + public FilesApplyDocsRecord value3(String value) { + setSynFileId(value); + return this; + } + + @Override + public FilesApplyDocsRecord value4(String value) { + setSynFilePId(value); + return this; + } + + @Override + public FilesApplyDocsRecord value5(String value) { + setTablenumber(value); + return this; + } + + @Override + public FilesApplyDocsRecord value6(String value) { + setAnnexname(value); + return this; + } + + @Override + public FilesApplyDocsRecord value7(String value) { + setProjectname(value); + return this; + } + + @Override + public FilesApplyDocsRecord value8(String value) { + setEweavedate(value); + return this; + } + + @Override + public FilesApplyDocsRecord value9(String value) { + setCheckdate(value); + return this; + } + + @Override + public FilesApplyDocsRecord value10(Integer value) { + setAnnexpage(value); + return this; + } + + @Override + public FilesApplyDocsRecord value11(String value) { + setSortorder(value); + return this; + } + + @Override + public FilesApplyDocsRecord value12(String value) { + setFilefrom(value); + return this; + } + + @Override + public FilesApplyDocsRecord value13(String value) { + setArchivestag(value); + return this; + } + + @Override + public FilesApplyDocsRecord value14(String value) { + setAdddate(value); + return this; + } + + @Override + public FilesApplyDocsRecord value15(String value) { + setEditdate(value); + return this; + } + + @Override + public FilesApplyDocsRecord value16(String value) { + setTimeStamp(value); + return this; + } + + @Override + public FilesApplyDocsRecord value17(Integer value) { + setIsdel(value); + return this; + } + + @Override + public FilesApplyDocsRecord value18(String value) { + setDownurl(value); + return this; + } + + @Override + public FilesApplyDocsRecord value19(Integer value) { + setFilesize(value); + return this; + } + + @Override + public FilesApplyDocsRecord value20(Integer value) { + setApplyViewTypePrint(value); + return this; + } + + @Override + public FilesApplyDocsRecord value21(Integer value) { + setApplyViewTypeOnline(value); + return this; + } + + @Override + public FilesApplyDocsRecord values(String value1, String value2, String value3, String value4, String value5, String value6, String value7, String value8, String value9, Integer value10, String value11, String value12, String value13, String value14, String value15, String value16, Integer value17, String value18, Integer value19, Integer value20, Integer value21) { + value1(value1); + value2(value2); + value3(value3); + value4(value4); + value5(value5); + value6(value6); + value7(value7); + value8(value8); + value9(value9); + value10(value10); + value11(value11); + value12(value12); + value13(value13); + value14(value14); + value15(value15); + value16(value16); + value17(value17); + value18(value18); + value19(value19); + value20(value20); + value21(value21); + return this; + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached FilesApplyDocsRecord + */ + public FilesApplyDocsRecord() { + super(FilesApplyDocs.FILES_APPLY_DOCS); + } + + /** + * Create a detached, initialised FilesApplyDocsRecord + */ + public FilesApplyDocsRecord(String id, String filesApplyId, String synFileId, String synFilePId, String tablenumber, String annexname, String projectname, String eweavedate, String checkdate, Integer annexpage, String sortorder, String filefrom, String archivestag, String adddate, String editdate, String timeStamp, Integer isdel, String downurl, Integer filesize, Integer applyViewTypePrint, Integer applyViewTypeOnline) { + super(FilesApplyDocs.FILES_APPLY_DOCS); + + setId(id); + setFilesApplyId(filesApplyId); + setSynFileId(synFileId); + setSynFilePId(synFilePId); + setTablenumber(tablenumber); + setAnnexname(annexname); + setProjectname(projectname); + setEweavedate(eweavedate); + setCheckdate(checkdate); + setAnnexpage(annexpage); + setSortorder(sortorder); + setFilefrom(filefrom); + setArchivestag(archivestag); + setAdddate(adddate); + setEditdate(editdate); + setTimeStamp(timeStamp); + setIsdel(isdel); + setDownurl(downurl); + setFilesize(filesize); + setApplyViewTypePrint(applyViewTypePrint); + setApplyViewTypeOnline(applyViewTypeOnline); + resetChangedOnNotNull(); + } + + /** + * Create a detached, initialised FilesApplyDocsRecord + */ + public FilesApplyDocsRecord(jj.tech.paolu.repository.jooq.tables.pojos.FilesApplyDocs value) { + super(FilesApplyDocs.FILES_APPLY_DOCS); + + if (value != null) { + setId(value.getId()); + setFilesApplyId(value.getFilesApplyId()); + setSynFileId(value.getSynFileId()); + setSynFilePId(value.getSynFilePId()); + setTablenumber(value.getTablenumber()); + setAnnexname(value.getAnnexname()); + setProjectname(value.getProjectname()); + setEweavedate(value.getEweavedate()); + setCheckdate(value.getCheckdate()); + setAnnexpage(value.getAnnexpage()); + setSortorder(value.getSortorder()); + setFilefrom(value.getFilefrom()); + setArchivestag(value.getArchivestag()); + setAdddate(value.getAdddate()); + setEditdate(value.getEditdate()); + setTimeStamp(value.getTimeStamp()); + setIsdel(value.getIsdel()); + setDownurl(value.getDownurl()); + setFilesize(value.getFilesize()); + setApplyViewTypePrint(value.getApplyViewTypePrint()); + setApplyViewTypeOnline(value.getApplyViewTypeOnline()); + resetChangedOnNotNull(); + } + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/records/FilesApplyDownloadRecordRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/FilesApplyDownloadRecordRecord.java new file mode 100644 index 0000000..a2000d6 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/FilesApplyDownloadRecordRecord.java @@ -0,0 +1,504 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.records; + + +import java.time.LocalDateTime; + +import jj.tech.paolu.repository.jooq.tables.FilesApplyDownloadRecord; + +import org.jooq.Field; +import org.jooq.Record1; +import org.jooq.Record11; +import org.jooq.Row11; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class FilesApplyDownloadRecordRecord extends UpdatableRecordImpl implements Record11 { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.files_apply_download_record.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for public.files_apply_download_record.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for + * public.files_apply_download_record.files_apply_id. + */ + public void setFilesApplyId(String value) { + set(1, value); + } + + /** + * Getter for + * public.files_apply_download_record.files_apply_id. + */ + public String getFilesApplyId() { + return (String) get(1); + } + + /** + * Setter for public.files_apply_download_record.is_dir_file. + */ + public void setIsDirFile(Integer value) { + set(2, value); + } + + /** + * Getter for public.files_apply_download_record.is_dir_file. + */ + public Integer getIsDirFile() { + return (Integer) get(2); + } + + /** + * Setter for public.files_apply_download_record.syn_file_id. + */ + public void setSynFileId(String value) { + set(3, value); + } + + /** + * Getter for public.files_apply_download_record.syn_file_id. + */ + public String getSynFileId() { + return (String) get(3); + } + + /** + * Setter for public.files_apply_download_record.syn_file_p_id. + */ + public void setSynFilePId(String value) { + set(4, value); + } + + /** + * Getter for public.files_apply_download_record.syn_file_p_id. + */ + public String getSynFilePId() { + return (String) get(4); + } + + /** + * Setter for public.files_apply_download_record.syn_file_name. + */ + public void setSynFileName(String value) { + set(5, value); + } + + /** + * Getter for public.files_apply_download_record.syn_file_name. + */ + public String getSynFileName() { + return (String) get(5); + } + + /** + * Setter for public.files_apply_download_record.user_id. + */ + public void setUserId(String value) { + set(6, value); + } + + /** + * Getter for public.files_apply_download_record.user_id. + */ + public String getUserId() { + return (String) get(6); + } + + /** + * Setter for public.files_apply_download_record.user_name. + */ + public void setUserName(String value) { + set(7, value); + } + + /** + * Getter for public.files_apply_download_record.user_name. + */ + public String getUserName() { + return (String) get(7); + } + + /** + * Setter for public.files_apply_download_record.org_id. + */ + public void setOrgId(String value) { + set(8, value); + } + + /** + * Getter for public.files_apply_download_record.org_id. + */ + public String getOrgId() { + return (String) get(8); + } + + /** + * Setter for public.files_apply_download_record.org_name. + */ + public void setOrgName(String value) { + set(9, value); + } + + /** + * Getter for public.files_apply_download_record.org_name. + */ + public String getOrgName() { + return (String) get(9); + } + + /** + * Setter for public.files_apply_download_record.download_time. + */ + public void setDownloadTime(LocalDateTime value) { + set(10, value); + } + + /** + * Getter for public.files_apply_download_record.download_time. + */ + public LocalDateTime getDownloadTime() { + return (LocalDateTime) get(10); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Record11 type implementation + // ------------------------------------------------------------------------- + + @Override + public Row11 fieldsRow() { + return (Row11) super.fieldsRow(); + } + + @Override + public Row11 valuesRow() { + return (Row11) super.valuesRow(); + } + + @Override + public Field field1() { + return FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.ID; + } + + @Override + public Field field2() { + return FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.FILES_APPLY_ID; + } + + @Override + public Field field3() { + return FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.IS_DIR_FILE; + } + + @Override + public Field field4() { + return FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.SYN_FILE_ID; + } + + @Override + public Field field5() { + return FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.SYN_FILE_P_ID; + } + + @Override + public Field field6() { + return FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.SYN_FILE_NAME; + } + + @Override + public Field field7() { + return FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.USER_ID; + } + + @Override + public Field field8() { + return FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.USER_NAME; + } + + @Override + public Field field9() { + return FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.ORG_ID; + } + + @Override + public Field field10() { + return FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.ORG_NAME; + } + + @Override + public Field field11() { + return FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD.DOWNLOAD_TIME; + } + + @Override + public String component1() { + return getId(); + } + + @Override + public String component2() { + return getFilesApplyId(); + } + + @Override + public Integer component3() { + return getIsDirFile(); + } + + @Override + public String component4() { + return getSynFileId(); + } + + @Override + public String component5() { + return getSynFilePId(); + } + + @Override + public String component6() { + return getSynFileName(); + } + + @Override + public String component7() { + return getUserId(); + } + + @Override + public String component8() { + return getUserName(); + } + + @Override + public String component9() { + return getOrgId(); + } + + @Override + public String component10() { + return getOrgName(); + } + + @Override + public LocalDateTime component11() { + return getDownloadTime(); + } + + @Override + public String value1() { + return getId(); + } + + @Override + public String value2() { + return getFilesApplyId(); + } + + @Override + public Integer value3() { + return getIsDirFile(); + } + + @Override + public String value4() { + return getSynFileId(); + } + + @Override + public String value5() { + return getSynFilePId(); + } + + @Override + public String value6() { + return getSynFileName(); + } + + @Override + public String value7() { + return getUserId(); + } + + @Override + public String value8() { + return getUserName(); + } + + @Override + public String value9() { + return getOrgId(); + } + + @Override + public String value10() { + return getOrgName(); + } + + @Override + public LocalDateTime value11() { + return getDownloadTime(); + } + + @Override + public FilesApplyDownloadRecordRecord value1(String value) { + setId(value); + return this; + } + + @Override + public FilesApplyDownloadRecordRecord value2(String value) { + setFilesApplyId(value); + return this; + } + + @Override + public FilesApplyDownloadRecordRecord value3(Integer value) { + setIsDirFile(value); + return this; + } + + @Override + public FilesApplyDownloadRecordRecord value4(String value) { + setSynFileId(value); + return this; + } + + @Override + public FilesApplyDownloadRecordRecord value5(String value) { + setSynFilePId(value); + return this; + } + + @Override + public FilesApplyDownloadRecordRecord value6(String value) { + setSynFileName(value); + return this; + } + + @Override + public FilesApplyDownloadRecordRecord value7(String value) { + setUserId(value); + return this; + } + + @Override + public FilesApplyDownloadRecordRecord value8(String value) { + setUserName(value); + return this; + } + + @Override + public FilesApplyDownloadRecordRecord value9(String value) { + setOrgId(value); + return this; + } + + @Override + public FilesApplyDownloadRecordRecord value10(String value) { + setOrgName(value); + return this; + } + + @Override + public FilesApplyDownloadRecordRecord value11(LocalDateTime value) { + setDownloadTime(value); + return this; + } + + @Override + public FilesApplyDownloadRecordRecord values(String value1, String value2, Integer value3, String value4, String value5, String value6, String value7, String value8, String value9, String value10, LocalDateTime value11) { + value1(value1); + value2(value2); + value3(value3); + value4(value4); + value5(value5); + value6(value6); + value7(value7); + value8(value8); + value9(value9); + value10(value10); + value11(value11); + return this; + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached FilesApplyDownloadRecordRecord + */ + public FilesApplyDownloadRecordRecord() { + super(FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD); + } + + /** + * Create a detached, initialised FilesApplyDownloadRecordRecord + */ + public FilesApplyDownloadRecordRecord(String id, String filesApplyId, Integer isDirFile, String synFileId, String synFilePId, String synFileName, String userId, String userName, String orgId, String orgName, LocalDateTime downloadTime) { + super(FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD); + + setId(id); + setFilesApplyId(filesApplyId); + setIsDirFile(isDirFile); + setSynFileId(synFileId); + setSynFilePId(synFilePId); + setSynFileName(synFileName); + setUserId(userId); + setUserName(userName); + setOrgId(orgId); + setOrgName(orgName); + setDownloadTime(downloadTime); + resetChangedOnNotNull(); + } + + /** + * Create a detached, initialised FilesApplyDownloadRecordRecord + */ + public FilesApplyDownloadRecordRecord(jj.tech.paolu.repository.jooq.tables.pojos.FilesApplyDownloadRecord value) { + super(FilesApplyDownloadRecord.FILES_APPLY_DOWNLOAD_RECORD); + + if (value != null) { + setId(value.getId()); + setFilesApplyId(value.getFilesApplyId()); + setIsDirFile(value.getIsDirFile()); + setSynFileId(value.getSynFileId()); + setSynFilePId(value.getSynFilePId()); + setSynFileName(value.getSynFileName()); + setUserId(value.getUserId()); + setUserName(value.getUserName()); + setOrgId(value.getOrgId()); + setOrgName(value.getOrgName()); + setDownloadTime(value.getDownloadTime()); + resetChangedOnNotNull(); + } + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/records/FilesApplyRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/FilesApplyRecord.java new file mode 100644 index 0000000..5051412 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/FilesApplyRecord.java @@ -0,0 +1,818 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.records; + + +import java.time.LocalDateTime; + +import jj.tech.paolu.repository.jooq.tables.FilesApply; + +import org.jooq.Record1; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class FilesApplyRecord extends UpdatableRecordImpl { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.files_apply.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for public.files_apply.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for public.files_apply.apply_user_id. + */ + public void setApplyUserId(String value) { + set(1, value); + } + + /** + * Getter for public.files_apply.apply_user_id. + */ + public String getApplyUserId() { + return (String) get(1); + } + + /** + * Setter for public.files_apply.apply_user_name. + */ + public void setApplyUserName(String value) { + set(2, value); + } + + /** + * Getter for public.files_apply.apply_user_name. + */ + public String getApplyUserName() { + return (String) get(2); + } + + /** + * Setter for public.files_apply.apply_user_phone. + */ + public void setApplyUserPhone(String value) { + set(3, value); + } + + /** + * Getter for public.files_apply.apply_user_phone. + */ + public String getApplyUserPhone() { + return (String) get(3); + } + + /** + * Setter for public.files_apply.apply_user_email. + */ + public void setApplyUserEmail(String value) { + set(4, value); + } + + /** + * Getter for public.files_apply.apply_user_email. + */ + public String getApplyUserEmail() { + return (String) get(4); + } + + /** + * Setter for public.files_apply.apply_org_id. + */ + public void setApplyOrgId(String value) { + set(5, value); + } + + /** + * Getter for public.files_apply.apply_org_id. + */ + public String getApplyOrgId() { + return (String) get(5); + } + + /** + * Setter for public.files_apply.apply_org_name. + */ + public void setApplyOrgName(String value) { + set(6, value); + } + + /** + * Getter for public.files_apply.apply_org_name. + */ + public String getApplyOrgName() { + return (String) get(6); + } + + /** + * Setter for public.files_apply.apply_in_check_user_id. + */ + public void setApplyInCheckUserId(String value) { + set(7, value); + } + + /** + * Getter for public.files_apply.apply_in_check_user_id. + */ + public String getApplyInCheckUserId() { + return (String) get(7); + } + + /** + * Setter for public.files_apply.apply_in_check_user_name. + */ + public void setApplyInCheckUserName(String value) { + set(8, value); + } + + /** + * Getter for public.files_apply.apply_in_check_user_name. + */ + public String getApplyInCheckUserName() { + return (String) get(8); + } + + /** + * Setter for public.files_apply.apply_in_check_org_id. + */ + public void setApplyInCheckOrgId(String value) { + set(9, value); + } + + /** + * Getter for public.files_apply.apply_in_check_org_id. + */ + public String getApplyInCheckOrgId() { + return (String) get(9); + } + + /** + * Setter for public.files_apply.apply_in_check_org_name. + */ + public void setApplyInCheckOrgName(String value) { + set(10, value); + } + + /** + * Getter for public.files_apply.apply_in_check_org_name. + */ + public String getApplyInCheckOrgName() { + return (String) get(10); + } + + /** + * Setter for public.files_apply.apply_next_check_org_id. + */ + public void setApplyNextCheckOrgId(String value) { + set(11, value); + } + + /** + * Getter for public.files_apply.apply_next_check_org_id. + */ + public String getApplyNextCheckOrgId() { + return (String) get(11); + } + + /** + * Setter for public.files_apply.apply_next_check_org_name. + */ + public void setApplyNextCheckOrgName(String value) { + set(12, value); + } + + /** + * Getter for public.files_apply.apply_next_check_org_name. + */ + public String getApplyNextCheckOrgName() { + return (String) get(12); + } + + /** + * Setter for public.files_apply.apply_end_check_user_id. + */ + public void setApplyEndCheckUserId(String value) { + set(13, value); + } + + /** + * Getter for public.files_apply.apply_end_check_user_id. + */ + public String getApplyEndCheckUserId() { + return (String) get(13); + } + + /** + * Setter for public.files_apply.apply_end_check_user_name. + */ + public void setApplyEndCheckUserName(String value) { + set(14, value); + } + + /** + * Getter for public.files_apply.apply_end_check_user_name. + */ + public String getApplyEndCheckUserName() { + return (String) get(14); + } + + /** + * Setter for public.files_apply.apply_end_check_org_id. + */ + public void setApplyEndCheckOrgId(String value) { + set(15, value); + } + + /** + * Getter for public.files_apply.apply_end_check_org_id. + */ + public String getApplyEndCheckOrgId() { + return (String) get(15); + } + + /** + * Setter for public.files_apply.apply_end_check_org_name. + */ + public void setApplyEndCheckOrgName(String value) { + set(16, value); + } + + /** + * Getter for public.files_apply.apply_end_check_org_name. + */ + public String getApplyEndCheckOrgName() { + return (String) get(16); + } + + /** + * Setter for public.files_apply.apply_days. + */ + public void setApplyDays(Integer value) { + set(17, value); + } + + /** + * Getter for public.files_apply.apply_days. + */ + public Integer getApplyDays() { + return (Integer) get(17); + } + + /** + * Setter for public.files_apply.apply_feedback. + */ + public void setApplyFeedback(String value) { + set(18, value); + } + + /** + * Getter for public.files_apply.apply_feedback. + */ + public String getApplyFeedback() { + return (String) get(18); + } + + /** + * Setter for public.files_apply.apply_reason. + */ + public void setApplyReason(String value) { + set(19, value); + } + + /** + * Getter for public.files_apply.apply_reason. + */ + public String getApplyReason() { + return (String) get(19); + } + + /** + * Setter for public.files_apply.apply_cancel_reason. + */ + public void setApplyCancelReason(String value) { + set(20, value); + } + + /** + * Getter for public.files_apply.apply_cancel_reason. + */ + public String getApplyCancelReason() { + return (String) get(20); + } + + /** + * Setter for public.files_apply.apply_view_type_print. + */ + public void setApplyViewTypePrint(Integer value) { + set(21, value); + } + + /** + * Getter for public.files_apply.apply_view_type_print. + */ + public Integer getApplyViewTypePrint() { + return (Integer) get(21); + } + + /** + * Setter for public.files_apply.apply_view_type_online. + */ + public void setApplyViewTypeOnline(Integer value) { + set(22, value); + } + + /** + * Getter for public.files_apply.apply_view_type_online. + */ + public Integer getApplyViewTypeOnline() { + return (Integer) get(22); + } + + /** + * Setter for public.files_apply.apply_file_num. + */ + public void setApplyFileNum(Integer value) { + set(23, value); + } + + /** + * Getter for public.files_apply.apply_file_num. + */ + public Integer getApplyFileNum() { + return (Integer) get(23); + } + + /** + * Setter for public.files_apply.apply_time. + */ + public void setApplyTime(LocalDateTime value) { + set(24, value); + } + + /** + * Getter for public.files_apply.apply_time. + */ + public LocalDateTime getApplyTime() { + return (LocalDateTime) get(24); + } + + /** + * Setter for public.files_apply.apply_check_is_finish. + */ + public void setApplyCheckIsFinish(Integer value) { + set(25, value); + } + + /** + * Getter for public.files_apply.apply_check_is_finish. + */ + public Integer getApplyCheckIsFinish() { + return (Integer) get(25); + } + + /** + * Setter for public.files_apply.provider_org_id. + */ + public void setProviderOrgId(String value) { + set(26, value); + } + + /** + * Getter for public.files_apply.provider_org_id. + */ + public String getProviderOrgId() { + return (String) get(26); + } + + /** + * Setter for public.files_apply.provider_org_name. + */ + public void setProviderOrgName(String value) { + set(27, value); + } + + /** + * Getter for public.files_apply.provider_org_name. + */ + public String getProviderOrgName() { + return (String) get(27); + } + + /** + * Setter for public.files_apply.provider_file_properties. + */ + public void setProviderFileProperties(Integer value) { + set(28, value); + } + + /** + * Getter for public.files_apply.provider_file_properties. + */ + public Integer getProviderFileProperties() { + return (Integer) get(28); + } + + /** + * Setter for public.files_apply.provider_use_start_time. + */ + public void setProviderUseStartTime(LocalDateTime value) { + set(29, value); + } + + /** + * Getter for public.files_apply.provider_use_start_time. + */ + public LocalDateTime getProviderUseStartTime() { + return (LocalDateTime) get(29); + } + + /** + * Setter for public.files_apply.provider_use_end_time. + */ + public void setProviderUseEndTime(LocalDateTime value) { + set(30, value); + } + + /** + * Getter for public.files_apply.provider_use_end_time. + */ + public LocalDateTime getProviderUseEndTime() { + return (LocalDateTime) get(30); + } + + /** + * Setter for public.files_apply.provider_in_check_user_id. + */ + public void setProviderInCheckUserId(String value) { + set(31, value); + } + + /** + * Getter for public.files_apply.provider_in_check_user_id. + */ + public String getProviderInCheckUserId() { + return (String) get(31); + } + + /** + * Setter for public.files_apply.provider_in_check_user_name. + */ + public void setProviderInCheckUserName(String value) { + set(32, value); + } + + /** + * Getter for public.files_apply.provider_in_check_user_name. + */ + public String getProviderInCheckUserName() { + return (String) get(32); + } + + /** + * Setter for public.files_apply.provider_in_check_org_id. + */ + public void setProviderInCheckOrgId(String value) { + set(33, value); + } + + /** + * Getter for public.files_apply.provider_in_check_org_id. + */ + public String getProviderInCheckOrgId() { + return (String) get(33); + } + + /** + * Setter for public.files_apply.provider_in_check_org_name. + */ + public void setProviderInCheckOrgName(String value) { + set(34, value); + } + + /** + * Getter for public.files_apply.provider_in_check_org_name. + */ + public String getProviderInCheckOrgName() { + return (String) get(34); + } + + /** + * Setter for + * public.files_apply.provider_next_check_role_sign_id. + */ + public void setProviderNextCheckRoleSignId(String value) { + set(35, value); + } + + /** + * Getter for + * public.files_apply.provider_next_check_role_sign_id. + */ + public String getProviderNextCheckRoleSignId() { + return (String) get(35); + } + + /** + * Setter for + * public.files_apply.provider_next_check_role_sign_name. + */ + public void setProviderNextCheckRoleSignName(String value) { + set(36, value); + } + + /** + * Getter for + * public.files_apply.provider_next_check_role_sign_name. + */ + public String getProviderNextCheckRoleSignName() { + return (String) get(36); + } + + /** + * Setter for public.files_apply.provider_end_check_user_id. + */ + public void setProviderEndCheckUserId(String value) { + set(37, value); + } + + /** + * Getter for public.files_apply.provider_end_check_user_id. + */ + public String getProviderEndCheckUserId() { + return (String) get(37); + } + + /** + * Setter for public.files_apply.provider_end_check_user_name. + */ + public void setProviderEndCheckUserName(String value) { + set(38, value); + } + + /** + * Getter for public.files_apply.provider_end_check_user_name. + */ + public String getProviderEndCheckUserName() { + return (String) get(38); + } + + /** + * Setter for public.files_apply.provider_end_check_org_id. + */ + public void setProviderEndCheckOrgId(String value) { + set(39, value); + } + + /** + * Getter for public.files_apply.provider_end_check_org_id. + */ + public String getProviderEndCheckOrgId() { + return (String) get(39); + } + + /** + * Setter for public.files_apply.provider_end_check_org_name. + */ + public void setProviderEndCheckOrgName(String value) { + set(40, value); + } + + /** + * Getter for public.files_apply.provider_end_check_org_name. + */ + public String getProviderEndCheckOrgName() { + return (String) get(40); + } + + /** + * Setter for public.files_apply.provider_check_is_finish. + */ + public void setProviderCheckIsFinish(Integer value) { + set(41, value); + } + + /** + * Getter for public.files_apply.provider_check_is_finish. + */ + public Integer getProviderCheckIsFinish() { + return (Integer) get(41); + } + + /** + * Setter for public.files_apply.secret_key. + */ + public void setSecretKey(String value) { + set(42, value); + } + + /** + * Getter for public.files_apply.secret_key. + */ + public String getSecretKey() { + return (String) get(42); + } + + /** + * Setter for public.files_apply.status. + */ + public void setStatus(Integer value) { + set(43, value); + } + + /** + * Getter for public.files_apply.status. + */ + public Integer getStatus() { + return (Integer) get(43); + } + + /** + * Setter for public.files_apply.project_id. + */ + public void setProjectId(String value) { + set(44, value); + } + + /** + * Getter for public.files_apply.project_id. + */ + public String getProjectId() { + return (String) get(44); + } + + /** + * Setter for public.files_apply.project_name. + */ + public void setProjectName(String value) { + set(45, value); + } + + /** + * Getter for public.files_apply.project_name. + */ + public String getProjectName() { + return (String) get(45); + } + + /** + * Setter for public.files_apply.sign. 签名 + */ + public void setSign(String value) { + set(46, value); + } + + /** + * Getter for public.files_apply.sign. 签名 + */ + public String getSign() { + return (String) get(46); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached FilesApplyRecord + */ + public FilesApplyRecord() { + super(FilesApply.FILES_APPLY); + } + + /** + * Create a detached, initialised FilesApplyRecord + */ + public FilesApplyRecord(String id, String applyUserId, String applyUserName, String applyUserPhone, String applyUserEmail, String applyOrgId, String applyOrgName, String applyInCheckUserId, String applyInCheckUserName, String applyInCheckOrgId, String applyInCheckOrgName, String applyNextCheckOrgId, String applyNextCheckOrgName, String applyEndCheckUserId, String applyEndCheckUserName, String applyEndCheckOrgId, String applyEndCheckOrgName, Integer applyDays, String applyFeedback, String applyReason, String applyCancelReason, Integer applyViewTypePrint, Integer applyViewTypeOnline, Integer applyFileNum, LocalDateTime applyTime, Integer applyCheckIsFinish, String providerOrgId, String providerOrgName, Integer providerFileProperties, LocalDateTime providerUseStartTime, LocalDateTime providerUseEndTime, String providerInCheckUserId, String providerInCheckUserName, String providerInCheckOrgId, String providerInCheckOrgName, String providerNextCheckRoleSignId, String providerNextCheckRoleSignName, String providerEndCheckUserId, String providerEndCheckUserName, String providerEndCheckOrgId, String providerEndCheckOrgName, Integer providerCheckIsFinish, String secretKey, Integer status, String projectId, String projectName, String sign) { + super(FilesApply.FILES_APPLY); + + setId(id); + setApplyUserId(applyUserId); + setApplyUserName(applyUserName); + setApplyUserPhone(applyUserPhone); + setApplyUserEmail(applyUserEmail); + setApplyOrgId(applyOrgId); + setApplyOrgName(applyOrgName); + setApplyInCheckUserId(applyInCheckUserId); + setApplyInCheckUserName(applyInCheckUserName); + setApplyInCheckOrgId(applyInCheckOrgId); + setApplyInCheckOrgName(applyInCheckOrgName); + setApplyNextCheckOrgId(applyNextCheckOrgId); + setApplyNextCheckOrgName(applyNextCheckOrgName); + setApplyEndCheckUserId(applyEndCheckUserId); + setApplyEndCheckUserName(applyEndCheckUserName); + setApplyEndCheckOrgId(applyEndCheckOrgId); + setApplyEndCheckOrgName(applyEndCheckOrgName); + setApplyDays(applyDays); + setApplyFeedback(applyFeedback); + setApplyReason(applyReason); + setApplyCancelReason(applyCancelReason); + setApplyViewTypePrint(applyViewTypePrint); + setApplyViewTypeOnline(applyViewTypeOnline); + setApplyFileNum(applyFileNum); + setApplyTime(applyTime); + setApplyCheckIsFinish(applyCheckIsFinish); + setProviderOrgId(providerOrgId); + setProviderOrgName(providerOrgName); + setProviderFileProperties(providerFileProperties); + setProviderUseStartTime(providerUseStartTime); + setProviderUseEndTime(providerUseEndTime); + setProviderInCheckUserId(providerInCheckUserId); + setProviderInCheckUserName(providerInCheckUserName); + setProviderInCheckOrgId(providerInCheckOrgId); + setProviderInCheckOrgName(providerInCheckOrgName); + setProviderNextCheckRoleSignId(providerNextCheckRoleSignId); + setProviderNextCheckRoleSignName(providerNextCheckRoleSignName); + setProviderEndCheckUserId(providerEndCheckUserId); + setProviderEndCheckUserName(providerEndCheckUserName); + setProviderEndCheckOrgId(providerEndCheckOrgId); + setProviderEndCheckOrgName(providerEndCheckOrgName); + setProviderCheckIsFinish(providerCheckIsFinish); + setSecretKey(secretKey); + setStatus(status); + setProjectId(projectId); + setProjectName(projectName); + setSign(sign); + resetChangedOnNotNull(); + } + + /** + * Create a detached, initialised FilesApplyRecord + */ + public FilesApplyRecord(jj.tech.paolu.repository.jooq.tables.pojos.FilesApply value) { + super(FilesApply.FILES_APPLY); + + if (value != null) { + setId(value.getId()); + setApplyUserId(value.getApplyUserId()); + setApplyUserName(value.getApplyUserName()); + setApplyUserPhone(value.getApplyUserPhone()); + setApplyUserEmail(value.getApplyUserEmail()); + setApplyOrgId(value.getApplyOrgId()); + setApplyOrgName(value.getApplyOrgName()); + setApplyInCheckUserId(value.getApplyInCheckUserId()); + setApplyInCheckUserName(value.getApplyInCheckUserName()); + setApplyInCheckOrgId(value.getApplyInCheckOrgId()); + setApplyInCheckOrgName(value.getApplyInCheckOrgName()); + setApplyNextCheckOrgId(value.getApplyNextCheckOrgId()); + setApplyNextCheckOrgName(value.getApplyNextCheckOrgName()); + setApplyEndCheckUserId(value.getApplyEndCheckUserId()); + setApplyEndCheckUserName(value.getApplyEndCheckUserName()); + setApplyEndCheckOrgId(value.getApplyEndCheckOrgId()); + setApplyEndCheckOrgName(value.getApplyEndCheckOrgName()); + setApplyDays(value.getApplyDays()); + setApplyFeedback(value.getApplyFeedback()); + setApplyReason(value.getApplyReason()); + setApplyCancelReason(value.getApplyCancelReason()); + setApplyViewTypePrint(value.getApplyViewTypePrint()); + setApplyViewTypeOnline(value.getApplyViewTypeOnline()); + setApplyFileNum(value.getApplyFileNum()); + setApplyTime(value.getApplyTime()); + setApplyCheckIsFinish(value.getApplyCheckIsFinish()); + setProviderOrgId(value.getProviderOrgId()); + setProviderOrgName(value.getProviderOrgName()); + setProviderFileProperties(value.getProviderFileProperties()); + setProviderUseStartTime(value.getProviderUseStartTime()); + setProviderUseEndTime(value.getProviderUseEndTime()); + setProviderInCheckUserId(value.getProviderInCheckUserId()); + setProviderInCheckUserName(value.getProviderInCheckUserName()); + setProviderInCheckOrgId(value.getProviderInCheckOrgId()); + setProviderInCheckOrgName(value.getProviderInCheckOrgName()); + setProviderNextCheckRoleSignId(value.getProviderNextCheckRoleSignId()); + setProviderNextCheckRoleSignName(value.getProviderNextCheckRoleSignName()); + setProviderEndCheckUserId(value.getProviderEndCheckUserId()); + setProviderEndCheckUserName(value.getProviderEndCheckUserName()); + setProviderEndCheckOrgId(value.getProviderEndCheckOrgId()); + setProviderEndCheckOrgName(value.getProviderEndCheckOrgName()); + setProviderCheckIsFinish(value.getProviderCheckIsFinish()); + setSecretKey(value.getSecretKey()); + setStatus(value.getStatus()); + setProjectId(value.getProjectId()); + setProjectName(value.getProjectName()); + setSign(value.getSign()); + resetChangedOnNotNull(); + } + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/records/ProjectRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/ProjectRecord.java new file mode 100644 index 0000000..c177744 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/ProjectRecord.java @@ -0,0 +1,234 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.records; + + +import jj.tech.paolu.repository.jooq.tables.Project; + +import org.jooq.Field; +import org.jooq.Record1; +import org.jooq.Record4; +import org.jooq.Row4; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class ProjectRecord extends UpdatableRecordImpl implements Record4 { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.project.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for public.project.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for public.project.project_name. + */ + public void setProjectName(String value) { + set(1, value); + } + + /** + * Getter for public.project.project_name. + */ + public String getProjectName() { + return (String) get(1); + } + + /** + * Setter for public.project.org_id. + */ + public void setOrgId(String value) { + set(2, value); + } + + /** + * Getter for public.project.org_id. + */ + public String getOrgId() { + return (String) get(2); + } + + /** + * Setter for public.project.org_name. + */ + public void setOrgName(String value) { + set(3, value); + } + + /** + * Getter for public.project.org_name. + */ + public String getOrgName() { + return (String) get(3); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Record4 type implementation + // ------------------------------------------------------------------------- + + @Override + public Row4 fieldsRow() { + return (Row4) super.fieldsRow(); + } + + @Override + public Row4 valuesRow() { + return (Row4) super.valuesRow(); + } + + @Override + public Field field1() { + return Project.PROJECT.ID; + } + + @Override + public Field field2() { + return Project.PROJECT.PROJECT_NAME; + } + + @Override + public Field field3() { + return Project.PROJECT.ORG_ID; + } + + @Override + public Field field4() { + return Project.PROJECT.ORG_NAME; + } + + @Override + public String component1() { + return getId(); + } + + @Override + public String component2() { + return getProjectName(); + } + + @Override + public String component3() { + return getOrgId(); + } + + @Override + public String component4() { + return getOrgName(); + } + + @Override + public String value1() { + return getId(); + } + + @Override + public String value2() { + return getProjectName(); + } + + @Override + public String value3() { + return getOrgId(); + } + + @Override + public String value4() { + return getOrgName(); + } + + @Override + public ProjectRecord value1(String value) { + setId(value); + return this; + } + + @Override + public ProjectRecord value2(String value) { + setProjectName(value); + return this; + } + + @Override + public ProjectRecord value3(String value) { + setOrgId(value); + return this; + } + + @Override + public ProjectRecord value4(String value) { + setOrgName(value); + return this; + } + + @Override + public ProjectRecord values(String value1, String value2, String value3, String value4) { + value1(value1); + value2(value2); + value3(value3); + value4(value4); + return this; + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached ProjectRecord + */ + public ProjectRecord() { + super(Project.PROJECT); + } + + /** + * Create a detached, initialised ProjectRecord + */ + public ProjectRecord(String id, String projectName, String orgId, String orgName) { + super(Project.PROJECT); + + setId(id); + setProjectName(projectName); + setOrgId(orgId); + setOrgName(orgName); + resetChangedOnNotNull(); + } + + /** + * Create a detached, initialised ProjectRecord + */ + public ProjectRecord(jj.tech.paolu.repository.jooq.tables.pojos.Project value) { + super(Project.PROJECT); + + if (value != null) { + setId(value.getId()); + setProjectName(value.getProjectName()); + setOrgId(value.getOrgId()); + setOrgName(value.getOrgName()); + resetChangedOnNotNull(); + } + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/records/ReadLogRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/ReadLogRecord.java new file mode 100644 index 0000000..9161726 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/ReadLogRecord.java @@ -0,0 +1,578 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.records; + + +import java.time.LocalDateTime; + +import jj.tech.paolu.repository.jooq.tables.ReadLog; + +import org.jooq.Field; +import org.jooq.Record1; +import org.jooq.Record13; +import org.jooq.Row13; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * 阅读情况 + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class ReadLogRecord extends UpdatableRecordImpl implements Record13 { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.read_log.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for public.read_log.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for public.read_log.weid. 申请人id + */ + public void setWeid(String value) { + set(1, value); + } + + /** + * Getter for public.read_log.weid. 申请人id + */ + public String getWeid() { + return (String) get(1); + } + + /** + * Setter for public.read_log.content_id. 档案id + */ + public void setContentId(String value) { + set(2, value); + } + + /** + * Getter for public.read_log.content_id. 档案id + */ + public String getContentId() { + return (String) get(2); + } + + /** + * Setter for public.read_log.starttime. 开始时间 + */ + public void setStarttime(LocalDateTime value) { + set(3, value); + } + + /** + * Getter for public.read_log.starttime. 开始时间 + */ + public LocalDateTime getStarttime() { + return (LocalDateTime) get(3); + } + + /** + * Setter for public.read_log.endtime. 结束时间 + */ + public void setEndtime(LocalDateTime value) { + set(4, value); + } + + /** + * Getter for public.read_log.endtime. 结束时间 + */ + public LocalDateTime getEndtime() { + return (LocalDateTime) get(4); + } + + /** + * Setter for public.read_log.ip. ip地址 + */ + public void setIp(String value) { + set(5, value); + } + + /** + * Getter for public.read_log.ip. ip地址 + */ + public String getIp() { + return (String) get(5); + } + + /** + * Setter for public.read_log.location. 区域 + */ + public void setLocation(String value) { + set(6, value); + } + + /** + * Getter for public.read_log.location. 区域 + */ + public String getLocation() { + return (String) get(6); + } + + /** + * Setter for public.read_log.downloadtype. 下载类型(1文件包/0单文件) + */ + public void setDownloadtype(Integer value) { + set(7, value); + } + + /** + * Getter for public.read_log.downloadtype. 下载类型(1文件包/0单文件) + */ + public Integer getDownloadtype() { + return (Integer) get(7); + } + + /** + * Setter for public.read_log.sign. 数字签名 + */ + public void setSign(String value) { + set(8, value); + } + + /** + * Getter for public.read_log.sign. 数字签名 + */ + public String getSign() { + return (String) get(8); + } + + /** + * Setter for public.read_log.readid. 一次阅读凭证id + */ + public void setReadid(String value) { + set(9, value); + } + + /** + * Getter for public.read_log.readid. 一次阅读凭证id + */ + public String getReadid() { + return (String) get(9); + } + + /** + * Setter for public.read_log.sm9hibeid. 秘钥id + */ + public void setSm9hibeid(String value) { + set(10, value); + } + + /** + * Getter for public.read_log.sm9hibeid. 秘钥id + */ + public String getSm9hibeid() { + return (String) get(10); + } + + /** + * Setter for public.read_log.content_type. 档案类型 + */ + public void setContentType(Integer value) { + set(11, value); + } + + /** + * Getter for public.read_log.content_type. 档案类型 + */ + public Integer getContentType() { + return (Integer) get(11); + } + + /** + * Setter for public.read_log.ischeck. 是否上链(1是,0否) + */ + public void setIscheck(Integer value) { + set(12, value); + } + + /** + * Getter for public.read_log.ischeck. 是否上链(1是,0否) + */ + public Integer getIscheck() { + return (Integer) get(12); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Record13 type implementation + // ------------------------------------------------------------------------- + + @Override + public Row13 fieldsRow() { + return (Row13) super.fieldsRow(); + } + + @Override + public Row13 valuesRow() { + return (Row13) super.valuesRow(); + } + + @Override + public Field field1() { + return ReadLog.READ_LOG.ID; + } + + @Override + public Field field2() { + return ReadLog.READ_LOG.WEID; + } + + @Override + public Field field3() { + return ReadLog.READ_LOG.CONTENT_ID; + } + + @Override + public Field field4() { + return ReadLog.READ_LOG.STARTTIME; + } + + @Override + public Field field5() { + return ReadLog.READ_LOG.ENDTIME; + } + + @Override + public Field field6() { + return ReadLog.READ_LOG.IP; + } + + @Override + public Field field7() { + return ReadLog.READ_LOG.LOCATION; + } + + @Override + public Field field8() { + return ReadLog.READ_LOG.DOWNLOADTYPE; + } + + @Override + public Field field9() { + return ReadLog.READ_LOG.SIGN; + } + + @Override + public Field field10() { + return ReadLog.READ_LOG.READID; + } + + @Override + public Field field11() { + return ReadLog.READ_LOG.SM9HIBEID; + } + + @Override + public Field field12() { + return ReadLog.READ_LOG.CONTENT_TYPE; + } + + @Override + public Field field13() { + return ReadLog.READ_LOG.ISCHECK; + } + + @Override + public String component1() { + return getId(); + } + + @Override + public String component2() { + return getWeid(); + } + + @Override + public String component3() { + return getContentId(); + } + + @Override + public LocalDateTime component4() { + return getStarttime(); + } + + @Override + public LocalDateTime component5() { + return getEndtime(); + } + + @Override + public String component6() { + return getIp(); + } + + @Override + public String component7() { + return getLocation(); + } + + @Override + public Integer component8() { + return getDownloadtype(); + } + + @Override + public String component9() { + return getSign(); + } + + @Override + public String component10() { + return getReadid(); + } + + @Override + public String component11() { + return getSm9hibeid(); + } + + @Override + public Integer component12() { + return getContentType(); + } + + @Override + public Integer component13() { + return getIscheck(); + } + + @Override + public String value1() { + return getId(); + } + + @Override + public String value2() { + return getWeid(); + } + + @Override + public String value3() { + return getContentId(); + } + + @Override + public LocalDateTime value4() { + return getStarttime(); + } + + @Override + public LocalDateTime value5() { + return getEndtime(); + } + + @Override + public String value6() { + return getIp(); + } + + @Override + public String value7() { + return getLocation(); + } + + @Override + public Integer value8() { + return getDownloadtype(); + } + + @Override + public String value9() { + return getSign(); + } + + @Override + public String value10() { + return getReadid(); + } + + @Override + public String value11() { + return getSm9hibeid(); + } + + @Override + public Integer value12() { + return getContentType(); + } + + @Override + public Integer value13() { + return getIscheck(); + } + + @Override + public ReadLogRecord value1(String value) { + setId(value); + return this; + } + + @Override + public ReadLogRecord value2(String value) { + setWeid(value); + return this; + } + + @Override + public ReadLogRecord value3(String value) { + setContentId(value); + return this; + } + + @Override + public ReadLogRecord value4(LocalDateTime value) { + setStarttime(value); + return this; + } + + @Override + public ReadLogRecord value5(LocalDateTime value) { + setEndtime(value); + return this; + } + + @Override + public ReadLogRecord value6(String value) { + setIp(value); + return this; + } + + @Override + public ReadLogRecord value7(String value) { + setLocation(value); + return this; + } + + @Override + public ReadLogRecord value8(Integer value) { + setDownloadtype(value); + return this; + } + + @Override + public ReadLogRecord value9(String value) { + setSign(value); + return this; + } + + @Override + public ReadLogRecord value10(String value) { + setReadid(value); + return this; + } + + @Override + public ReadLogRecord value11(String value) { + setSm9hibeid(value); + return this; + } + + @Override + public ReadLogRecord value12(Integer value) { + setContentType(value); + return this; + } + + @Override + public ReadLogRecord value13(Integer value) { + setIscheck(value); + return this; + } + + @Override + public ReadLogRecord values(String value1, String value2, String value3, LocalDateTime value4, LocalDateTime value5, String value6, String value7, Integer value8, String value9, String value10, String value11, Integer value12, Integer value13) { + value1(value1); + value2(value2); + value3(value3); + value4(value4); + value5(value5); + value6(value6); + value7(value7); + value8(value8); + value9(value9); + value10(value10); + value11(value11); + value12(value12); + value13(value13); + return this; + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached ReadLogRecord + */ + public ReadLogRecord() { + super(ReadLog.READ_LOG); + } + + /** + * Create a detached, initialised ReadLogRecord + */ + public ReadLogRecord(String id, String weid, String contentId, LocalDateTime starttime, LocalDateTime endtime, String ip, String location, Integer downloadtype, String sign, String readid, String sm9hibeid, Integer contentType, Integer ischeck) { + super(ReadLog.READ_LOG); + + setId(id); + setWeid(weid); + setContentId(contentId); + setStarttime(starttime); + setEndtime(endtime); + setIp(ip); + setLocation(location); + setDownloadtype(downloadtype); + setSign(sign); + setReadid(readid); + setSm9hibeid(sm9hibeid); + setContentType(contentType); + setIscheck(ischeck); + resetChangedOnNotNull(); + } + + /** + * Create a detached, initialised ReadLogRecord + */ + public ReadLogRecord(jj.tech.paolu.repository.jooq.tables.pojos.ReadLog value) { + super(ReadLog.READ_LOG); + + if (value != null) { + setId(value.getId()); + setWeid(value.getWeid()); + setContentId(value.getContentId()); + setStarttime(value.getStarttime()); + setEndtime(value.getEndtime()); + setIp(value.getIp()); + setLocation(value.getLocation()); + setDownloadtype(value.getDownloadtype()); + setSign(value.getSign()); + setReadid(value.getReadid()); + setSm9hibeid(value.getSm9hibeid()); + setContentType(value.getContentType()); + setIscheck(value.getIscheck()); + resetChangedOnNotNull(); + } + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SharedRuleConfigRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SharedRuleConfigRecord.java new file mode 100644 index 0000000..8856e4d --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SharedRuleConfigRecord.java @@ -0,0 +1,310 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.records; + + +import jj.tech.paolu.repository.jooq.tables.SharedRuleConfig; + +import org.jooq.Field; +import org.jooq.Record1; +import org.jooq.Record6; +import org.jooq.Row6; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SharedRuleConfigRecord extends UpdatableRecordImpl implements Record6 { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.shared_rule_config.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for public.shared_rule_config.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for public.shared_rule_config.name. + */ + public void setName(String value) { + set(1, value); + } + + /** + * Getter for public.shared_rule_config.name. + */ + public String getName() { + return (String) get(1); + } + + /** + * Setter for public.shared_rule_config.describe. + */ + public void setDescribe(String value) { + set(2, value); + } + + /** + * Getter for public.shared_rule_config.describe. + */ + public String getDescribe() { + return (String) get(2); + } + + /** + * Setter for public.shared_rule_config.status. + */ + public void setStatus(Integer value) { + set(3, value); + } + + /** + * Getter for public.shared_rule_config.status. + */ + public Integer getStatus() { + return (Integer) get(3); + } + + /** + * Setter for public.shared_rule_config.sort. + */ + public void setSort(Integer value) { + set(4, value); + } + + /** + * Getter for public.shared_rule_config.sort. + */ + public Integer getSort() { + return (Integer) get(4); + } + + /** + * Setter for public.shared_rule_config.project_name. + */ + public void setProjectName(String value) { + set(5, value); + } + + /** + * Getter for public.shared_rule_config.project_name. + */ + public String getProjectName() { + return (String) get(5); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Record6 type implementation + // ------------------------------------------------------------------------- + + @Override + public Row6 fieldsRow() { + return (Row6) super.fieldsRow(); + } + + @Override + public Row6 valuesRow() { + return (Row6) super.valuesRow(); + } + + @Override + public Field field1() { + return SharedRuleConfig.SHARED_RULE_CONFIG.ID; + } + + @Override + public Field field2() { + return SharedRuleConfig.SHARED_RULE_CONFIG.NAME; + } + + @Override + public Field field3() { + return SharedRuleConfig.SHARED_RULE_CONFIG.DESCRIBE; + } + + @Override + public Field field4() { + return SharedRuleConfig.SHARED_RULE_CONFIG.STATUS; + } + + @Override + public Field field5() { + return SharedRuleConfig.SHARED_RULE_CONFIG.SORT; + } + + @Override + public Field field6() { + return SharedRuleConfig.SHARED_RULE_CONFIG.PROJECT_NAME; + } + + @Override + public String component1() { + return getId(); + } + + @Override + public String component2() { + return getName(); + } + + @Override + public String component3() { + return getDescribe(); + } + + @Override + public Integer component4() { + return getStatus(); + } + + @Override + public Integer component5() { + return getSort(); + } + + @Override + public String component6() { + return getProjectName(); + } + + @Override + public String value1() { + return getId(); + } + + @Override + public String value2() { + return getName(); + } + + @Override + public String value3() { + return getDescribe(); + } + + @Override + public Integer value4() { + return getStatus(); + } + + @Override + public Integer value5() { + return getSort(); + } + + @Override + public String value6() { + return getProjectName(); + } + + @Override + public SharedRuleConfigRecord value1(String value) { + setId(value); + return this; + } + + @Override + public SharedRuleConfigRecord value2(String value) { + setName(value); + return this; + } + + @Override + public SharedRuleConfigRecord value3(String value) { + setDescribe(value); + return this; + } + + @Override + public SharedRuleConfigRecord value4(Integer value) { + setStatus(value); + return this; + } + + @Override + public SharedRuleConfigRecord value5(Integer value) { + setSort(value); + return this; + } + + @Override + public SharedRuleConfigRecord value6(String value) { + setProjectName(value); + return this; + } + + @Override + public SharedRuleConfigRecord values(String value1, String value2, String value3, Integer value4, Integer value5, String value6) { + value1(value1); + value2(value2); + value3(value3); + value4(value4); + value5(value5); + value6(value6); + return this; + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached SharedRuleConfigRecord + */ + public SharedRuleConfigRecord() { + super(SharedRuleConfig.SHARED_RULE_CONFIG); + } + + /** + * Create a detached, initialised SharedRuleConfigRecord + */ + public SharedRuleConfigRecord(String id, String name, String describe, Integer status, Integer sort, String projectName) { + super(SharedRuleConfig.SHARED_RULE_CONFIG); + + setId(id); + setName(name); + setDescribe(describe); + setStatus(status); + setSort(sort); + setProjectName(projectName); + resetChangedOnNotNull(); + } + + /** + * Create a detached, initialised SharedRuleConfigRecord + */ + public SharedRuleConfigRecord(jj.tech.paolu.repository.jooq.tables.pojos.SharedRuleConfig value) { + super(SharedRuleConfig.SHARED_RULE_CONFIG); + + if (value != null) { + setId(value.getId()); + setName(value.getName()); + setDescribe(value.getDescribe()); + setStatus(value.getStatus()); + setSort(value.getSort()); + setProjectName(value.getProjectName()); + resetChangedOnNotNull(); + } + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SharedSynAllRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SharedSynAllRecord.java new file mode 100644 index 0000000..fff4d15 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SharedSynAllRecord.java @@ -0,0 +1,424 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.records; + + +import jj.tech.paolu.repository.jooq.tables.SharedSynAll; + +import org.jooq.Field; +import org.jooq.Record1; +import org.jooq.Record9; +import org.jooq.Row9; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SharedSynAllRecord extends UpdatableRecordImpl implements Record9 { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.shared_syn_all.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for public.shared_syn_all.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for public.shared_syn_all.syn_id. + */ + public void setSynId(String value) { + set(1, value); + } + + /** + * Getter for public.shared_syn_all.syn_id. + */ + public String getSynId() { + return (String) get(1); + } + + /** + * Setter for public.shared_syn_all.syn_type. + */ + public void setSynType(Integer value) { + set(2, value); + } + + /** + * Getter for public.shared_syn_all.syn_type. + */ + public Integer getSynType() { + return (Integer) get(2); + } + + /** + * Setter for public.shared_syn_all.is_config_rule. + */ + public void setIsConfigRule(Integer value) { + set(3, value); + } + + /** + * Getter for public.shared_syn_all.is_config_rule. + */ + public Integer getIsConfigRule() { + return (Integer) get(3); + } + + /** + * Setter for public.shared_syn_all.shared_status. + */ + public void setSharedStatus(Integer value) { + set(4, value); + } + + /** + * Getter for public.shared_syn_all.shared_status. + */ + public Integer getSharedStatus() { + return (Integer) get(4); + } + + /** + * Setter for public.shared_syn_all.syn_status. + */ + public void setSynStatus(Integer value) { + set(5, value); + } + + /** + * Getter for public.shared_syn_all.syn_status. + */ + public Integer getSynStatus() { + return (Integer) get(5); + } + + /** + * Setter for public.shared_syn_all.block_number. + */ + public void setBlockNumber(String value) { + set(6, value); + } + + /** + * Getter for public.shared_syn_all.block_number. + */ + public String getBlockNumber() { + return (String) get(6); + } + + /** + * Setter for public.shared_syn_all.block_hash. + */ + public void setBlockHash(String value) { + set(7, value); + } + + /** + * Getter for public.shared_syn_all.block_hash. + */ + public String getBlockHash() { + return (String) get(7); + } + + /** + * Setter for public.shared_syn_all.block_time. + */ + public void setBlockTime(String value) { + set(8, value); + } + + /** + * Getter for public.shared_syn_all.block_time. + */ + public String getBlockTime() { + return (String) get(8); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Record9 type implementation + // ------------------------------------------------------------------------- + + @Override + public Row9 fieldsRow() { + return (Row9) super.fieldsRow(); + } + + @Override + public Row9 valuesRow() { + return (Row9) super.valuesRow(); + } + + @Override + public Field field1() { + return SharedSynAll.SHARED_SYN_ALL.ID; + } + + @Override + public Field field2() { + return SharedSynAll.SHARED_SYN_ALL.SYN_ID; + } + + @Override + public Field field3() { + return SharedSynAll.SHARED_SYN_ALL.SYN_TYPE; + } + + @Override + public Field field4() { + return SharedSynAll.SHARED_SYN_ALL.IS_CONFIG_RULE; + } + + @Override + public Field field5() { + return SharedSynAll.SHARED_SYN_ALL.SHARED_STATUS; + } + + @Override + public Field field6() { + return SharedSynAll.SHARED_SYN_ALL.SYN_STATUS; + } + + @Override + public Field field7() { + return SharedSynAll.SHARED_SYN_ALL.BLOCK_NUMBER; + } + + @Override + public Field field8() { + return SharedSynAll.SHARED_SYN_ALL.BLOCK_HASH; + } + + @Override + public Field field9() { + return SharedSynAll.SHARED_SYN_ALL.BLOCK_TIME; + } + + @Override + public String component1() { + return getId(); + } + + @Override + public String component2() { + return getSynId(); + } + + @Override + public Integer component3() { + return getSynType(); + } + + @Override + public Integer component4() { + return getIsConfigRule(); + } + + @Override + public Integer component5() { + return getSharedStatus(); + } + + @Override + public Integer component6() { + return getSynStatus(); + } + + @Override + public String component7() { + return getBlockNumber(); + } + + @Override + public String component8() { + return getBlockHash(); + } + + @Override + public String component9() { + return getBlockTime(); + } + + @Override + public String value1() { + return getId(); + } + + @Override + public String value2() { + return getSynId(); + } + + @Override + public Integer value3() { + return getSynType(); + } + + @Override + public Integer value4() { + return getIsConfigRule(); + } + + @Override + public Integer value5() { + return getSharedStatus(); + } + + @Override + public Integer value6() { + return getSynStatus(); + } + + @Override + public String value7() { + return getBlockNumber(); + } + + @Override + public String value8() { + return getBlockHash(); + } + + @Override + public String value9() { + return getBlockTime(); + } + + @Override + public SharedSynAllRecord value1(String value) { + setId(value); + return this; + } + + @Override + public SharedSynAllRecord value2(String value) { + setSynId(value); + return this; + } + + @Override + public SharedSynAllRecord value3(Integer value) { + setSynType(value); + return this; + } + + @Override + public SharedSynAllRecord value4(Integer value) { + setIsConfigRule(value); + return this; + } + + @Override + public SharedSynAllRecord value5(Integer value) { + setSharedStatus(value); + return this; + } + + @Override + public SharedSynAllRecord value6(Integer value) { + setSynStatus(value); + return this; + } + + @Override + public SharedSynAllRecord value7(String value) { + setBlockNumber(value); + return this; + } + + @Override + public SharedSynAllRecord value8(String value) { + setBlockHash(value); + return this; + } + + @Override + public SharedSynAllRecord value9(String value) { + setBlockTime(value); + return this; + } + + @Override + public SharedSynAllRecord values(String value1, String value2, Integer value3, Integer value4, Integer value5, Integer value6, String value7, String value8, String value9) { + value1(value1); + value2(value2); + value3(value3); + value4(value4); + value5(value5); + value6(value6); + value7(value7); + value8(value8); + value9(value9); + return this; + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached SharedSynAllRecord + */ + public SharedSynAllRecord() { + super(SharedSynAll.SHARED_SYN_ALL); + } + + /** + * Create a detached, initialised SharedSynAllRecord + */ + public SharedSynAllRecord(String id, String synId, Integer synType, Integer isConfigRule, Integer sharedStatus, Integer synStatus, String blockNumber, String blockHash, String blockTime) { + super(SharedSynAll.SHARED_SYN_ALL); + + setId(id); + setSynId(synId); + setSynType(synType); + setIsConfigRule(isConfigRule); + setSharedStatus(sharedStatus); + setSynStatus(synStatus); + setBlockNumber(blockNumber); + setBlockHash(blockHash); + setBlockTime(blockTime); + resetChangedOnNotNull(); + } + + /** + * Create a detached, initialised SharedSynAllRecord + */ + public SharedSynAllRecord(jj.tech.paolu.repository.jooq.tables.pojos.SharedSynAll value) { + super(SharedSynAll.SHARED_SYN_ALL); + + if (value != null) { + setId(value.getId()); + setSynId(value.getSynId()); + setSynType(value.getSynType()); + setIsConfigRule(value.getIsConfigRule()); + setSharedStatus(value.getSharedStatus()); + setSynStatus(value.getSynStatus()); + setBlockNumber(value.getBlockNumber()); + setBlockHash(value.getBlockHash()); + setBlockTime(value.getBlockTime()); + resetChangedOnNotNull(); + } + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SynDirectoryFileRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SynDirectoryFileRecord.java new file mode 100644 index 0000000..6d6881b --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SynDirectoryFileRecord.java @@ -0,0 +1,880 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.records; + + +import jj.tech.paolu.repository.jooq.tables.SynDirectoryFile; + +import org.jooq.Field; +import org.jooq.Record1; +import org.jooq.Record21; +import org.jooq.Row21; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SynDirectoryFileRecord extends UpdatableRecordImpl implements Record21 { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.syn_directory_file.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for public.syn_directory_file.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for public.syn_directory_file.p_id. + */ + public void setPId(String value) { + set(1, value); + } + + /** + * Getter for public.syn_directory_file.p_id. + */ + public String getPId() { + return (String) get(1); + } + + /** + * Setter for public.syn_directory_file.filesuper. + */ + public void setFilesuper(String value) { + set(2, value); + } + + /** + * Getter for public.syn_directory_file.filesuper. + */ + public String getFilesuper() { + return (String) get(2); + } + + /** + * Setter for public.syn_directory_file.filecount. + */ + public void setFilecount(Integer value) { + set(3, value); + } + + /** + * Getter for public.syn_directory_file.filecount. + */ + public Integer getFilecount() { + return (Integer) get(3); + } + + /** + * Setter for public.syn_directory_file.dutyperson. + */ + public void setDutyperson(String value) { + set(4, value); + } + + /** + * Getter for public.syn_directory_file.dutyperson. + */ + public String getDutyperson() { + return (String) get(4); + } + + /** + * Setter for public.syn_directory_file.eweavedate. + */ + public void setEweavedate(String value) { + set(5, value); + } + + /** + * Getter for public.syn_directory_file.eweavedate. + */ + public String getEweavedate() { + return (String) get(5); + } + + /** + * Setter for public.syn_directory_file.filepage. + */ + public void setFilepage(Integer value) { + set(6, value); + } + + /** + * Getter for public.syn_directory_file.filepage. + */ + public Integer getFilepage() { + return (Integer) get(6); + } + + /** + * Setter for public.syn_directory_file.sortorder. + */ + public void setSortorder(String value) { + set(7, value); + } + + /** + * Getter for public.syn_directory_file.sortorder. + */ + public String getSortorder() { + return (String) get(7); + } + + /** + * Setter for public.syn_directory_file.bpeg. + */ + public void setBpeg(String value) { + set(8, value); + } + + /** + * Getter for public.syn_directory_file.bpeg. + */ + public String getBpeg() { + return (String) get(8); + } + + /** + * Setter for public.syn_directory_file.epeg. + */ + public void setEpeg(String value) { + set(9, value); + } + + /** + * Getter for public.syn_directory_file.epeg. + */ + public String getEpeg() { + return (String) get(9); + } + + /** + * Setter for public.syn_directory_file.filenum. + */ + public void setFilenum(String value) { + set(10, value); + } + + /** + * Getter for public.syn_directory_file.filenum. + */ + public String getFilenum() { + return (String) get(10); + } + + /** + * Setter for public.syn_directory_file.remark. + */ + public void setRemark(String value) { + set(11, value); + } + + /** + * Getter for public.syn_directory_file.remark. + */ + public String getRemark() { + return (String) get(11); + } + + /** + * Setter for public.syn_directory_file.recordnum. + */ + public void setRecordnum(String value) { + set(12, value); + } + + /** + * Getter for public.syn_directory_file.recordnum. + */ + public String getRecordnum() { + return (String) get(12); + } + + /** + * Setter for public.syn_directory_file.piecenumber. + */ + public void setPiecenumber(String value) { + set(13, value); + } + + /** + * Getter for public.syn_directory_file.piecenumber. + */ + public String getPiecenumber() { + return (String) get(13); + } + + /** + * Setter for public.syn_directory_file.adddate. + */ + public void setAdddate(String value) { + set(14, value); + } + + /** + * Getter for public.syn_directory_file.adddate. + */ + public String getAdddate() { + return (String) get(14); + } + + /** + * Setter for public.syn_directory_file.editdate. + */ + public void setEditdate(String value) { + set(15, value); + } + + /** + * Getter for public.syn_directory_file.editdate. + */ + public String getEditdate() { + return (String) get(15); + } + + /** + * Setter for public.syn_directory_file.time_stamp. + */ + public void setTimeStamp(String value) { + set(16, value); + } + + /** + * Getter for public.syn_directory_file.time_stamp. + */ + public String getTimeStamp() { + return (String) get(16); + } + + /** + * Setter for public.syn_directory_file.isdel. + */ + public void setIsdel(Integer value) { + set(17, value); + } + + /** + * Getter for public.syn_directory_file.isdel. + */ + public Integer getIsdel() { + return (Integer) get(17); + } + + /** + * Setter for public.syn_directory_file.catalogpdfurl. + */ + public void setCatalogpdfurl(String value) { + set(18, value); + } + + /** + * Getter for public.syn_directory_file.catalogpdfurl. + */ + public String getCatalogpdfurl() { + return (String) get(18); + } + + /** + * Setter for public.syn_directory_file.signtag. + */ + public void setSigntag(String value) { + set(19, value); + } + + /** + * Getter for public.syn_directory_file.signtag. + */ + public String getSigntag() { + return (String) get(19); + } + + /** + * Setter for public.syn_directory_file.collecttag. + */ + public void setCollecttag(String value) { + set(20, value); + } + + /** + * Getter for public.syn_directory_file.collecttag. + */ + public String getCollecttag() { + return (String) get(20); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Record21 type implementation + // ------------------------------------------------------------------------- + + @Override + public Row21 fieldsRow() { + return (Row21) super.fieldsRow(); + } + + @Override + public Row21 valuesRow() { + return (Row21) super.valuesRow(); + } + + @Override + public Field field1() { + return SynDirectoryFile.SYN_DIRECTORY_FILE.ID; + } + + @Override + public Field field2() { + return SynDirectoryFile.SYN_DIRECTORY_FILE.P_ID; + } + + @Override + public Field field3() { + return SynDirectoryFile.SYN_DIRECTORY_FILE.FILESUPER; + } + + @Override + public Field field4() { + return SynDirectoryFile.SYN_DIRECTORY_FILE.FILECOUNT; + } + + @Override + public Field field5() { + return SynDirectoryFile.SYN_DIRECTORY_FILE.DUTYPERSON; + } + + @Override + public Field field6() { + return SynDirectoryFile.SYN_DIRECTORY_FILE.EWEAVEDATE; + } + + @Override + public Field field7() { + return SynDirectoryFile.SYN_DIRECTORY_FILE.FILEPAGE; + } + + @Override + public Field field8() { + return SynDirectoryFile.SYN_DIRECTORY_FILE.SORTORDER; + } + + @Override + public Field field9() { + return SynDirectoryFile.SYN_DIRECTORY_FILE.BPEG; + } + + @Override + public Field field10() { + return SynDirectoryFile.SYN_DIRECTORY_FILE.EPEG; + } + + @Override + public Field field11() { + return SynDirectoryFile.SYN_DIRECTORY_FILE.FILENUM; + } + + @Override + public Field field12() { + return SynDirectoryFile.SYN_DIRECTORY_FILE.REMARK; + } + + @Override + public Field field13() { + return SynDirectoryFile.SYN_DIRECTORY_FILE.RECORDNUM; + } + + @Override + public Field field14() { + return SynDirectoryFile.SYN_DIRECTORY_FILE.PIECENUMBER; + } + + @Override + public Field field15() { + return SynDirectoryFile.SYN_DIRECTORY_FILE.ADDDATE; + } + + @Override + public Field field16() { + return SynDirectoryFile.SYN_DIRECTORY_FILE.EDITDATE; + } + + @Override + public Field field17() { + return SynDirectoryFile.SYN_DIRECTORY_FILE.TIME_STAMP; + } + + @Override + public Field field18() { + return SynDirectoryFile.SYN_DIRECTORY_FILE.ISDEL; + } + + @Override + public Field field19() { + return SynDirectoryFile.SYN_DIRECTORY_FILE.CATALOGPDFURL; + } + + @Override + public Field field20() { + return SynDirectoryFile.SYN_DIRECTORY_FILE.SIGNTAG; + } + + @Override + public Field field21() { + return SynDirectoryFile.SYN_DIRECTORY_FILE.COLLECTTAG; + } + + @Override + public String component1() { + return getId(); + } + + @Override + public String component2() { + return getPId(); + } + + @Override + public String component3() { + return getFilesuper(); + } + + @Override + public Integer component4() { + return getFilecount(); + } + + @Override + public String component5() { + return getDutyperson(); + } + + @Override + public String component6() { + return getEweavedate(); + } + + @Override + public Integer component7() { + return getFilepage(); + } + + @Override + public String component8() { + return getSortorder(); + } + + @Override + public String component9() { + return getBpeg(); + } + + @Override + public String component10() { + return getEpeg(); + } + + @Override + public String component11() { + return getFilenum(); + } + + @Override + public String component12() { + return getRemark(); + } + + @Override + public String component13() { + return getRecordnum(); + } + + @Override + public String component14() { + return getPiecenumber(); + } + + @Override + public String component15() { + return getAdddate(); + } + + @Override + public String component16() { + return getEditdate(); + } + + @Override + public String component17() { + return getTimeStamp(); + } + + @Override + public Integer component18() { + return getIsdel(); + } + + @Override + public String component19() { + return getCatalogpdfurl(); + } + + @Override + public String component20() { + return getSigntag(); + } + + @Override + public String component21() { + return getCollecttag(); + } + + @Override + public String value1() { + return getId(); + } + + @Override + public String value2() { + return getPId(); + } + + @Override + public String value3() { + return getFilesuper(); + } + + @Override + public Integer value4() { + return getFilecount(); + } + + @Override + public String value5() { + return getDutyperson(); + } + + @Override + public String value6() { + return getEweavedate(); + } + + @Override + public Integer value7() { + return getFilepage(); + } + + @Override + public String value8() { + return getSortorder(); + } + + @Override + public String value9() { + return getBpeg(); + } + + @Override + public String value10() { + return getEpeg(); + } + + @Override + public String value11() { + return getFilenum(); + } + + @Override + public String value12() { + return getRemark(); + } + + @Override + public String value13() { + return getRecordnum(); + } + + @Override + public String value14() { + return getPiecenumber(); + } + + @Override + public String value15() { + return getAdddate(); + } + + @Override + public String value16() { + return getEditdate(); + } + + @Override + public String value17() { + return getTimeStamp(); + } + + @Override + public Integer value18() { + return getIsdel(); + } + + @Override + public String value19() { + return getCatalogpdfurl(); + } + + @Override + public String value20() { + return getSigntag(); + } + + @Override + public String value21() { + return getCollecttag(); + } + + @Override + public SynDirectoryFileRecord value1(String value) { + setId(value); + return this; + } + + @Override + public SynDirectoryFileRecord value2(String value) { + setPId(value); + return this; + } + + @Override + public SynDirectoryFileRecord value3(String value) { + setFilesuper(value); + return this; + } + + @Override + public SynDirectoryFileRecord value4(Integer value) { + setFilecount(value); + return this; + } + + @Override + public SynDirectoryFileRecord value5(String value) { + setDutyperson(value); + return this; + } + + @Override + public SynDirectoryFileRecord value6(String value) { + setEweavedate(value); + return this; + } + + @Override + public SynDirectoryFileRecord value7(Integer value) { + setFilepage(value); + return this; + } + + @Override + public SynDirectoryFileRecord value8(String value) { + setSortorder(value); + return this; + } + + @Override + public SynDirectoryFileRecord value9(String value) { + setBpeg(value); + return this; + } + + @Override + public SynDirectoryFileRecord value10(String value) { + setEpeg(value); + return this; + } + + @Override + public SynDirectoryFileRecord value11(String value) { + setFilenum(value); + return this; + } + + @Override + public SynDirectoryFileRecord value12(String value) { + setRemark(value); + return this; + } + + @Override + public SynDirectoryFileRecord value13(String value) { + setRecordnum(value); + return this; + } + + @Override + public SynDirectoryFileRecord value14(String value) { + setPiecenumber(value); + return this; + } + + @Override + public SynDirectoryFileRecord value15(String value) { + setAdddate(value); + return this; + } + + @Override + public SynDirectoryFileRecord value16(String value) { + setEditdate(value); + return this; + } + + @Override + public SynDirectoryFileRecord value17(String value) { + setTimeStamp(value); + return this; + } + + @Override + public SynDirectoryFileRecord value18(Integer value) { + setIsdel(value); + return this; + } + + @Override + public SynDirectoryFileRecord value19(String value) { + setCatalogpdfurl(value); + return this; + } + + @Override + public SynDirectoryFileRecord value20(String value) { + setSigntag(value); + return this; + } + + @Override + public SynDirectoryFileRecord value21(String value) { + setCollecttag(value); + return this; + } + + @Override + public SynDirectoryFileRecord values(String value1, String value2, String value3, Integer value4, String value5, String value6, Integer value7, String value8, String value9, String value10, String value11, String value12, String value13, String value14, String value15, String value16, String value17, Integer value18, String value19, String value20, String value21) { + value1(value1); + value2(value2); + value3(value3); + value4(value4); + value5(value5); + value6(value6); + value7(value7); + value8(value8); + value9(value9); + value10(value10); + value11(value11); + value12(value12); + value13(value13); + value14(value14); + value15(value15); + value16(value16); + value17(value17); + value18(value18); + value19(value19); + value20(value20); + value21(value21); + return this; + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached SynDirectoryFileRecord + */ + public SynDirectoryFileRecord() { + super(SynDirectoryFile.SYN_DIRECTORY_FILE); + } + + /** + * Create a detached, initialised SynDirectoryFileRecord + */ + public SynDirectoryFileRecord(String id, String pId, String filesuper, Integer filecount, String dutyperson, String eweavedate, Integer filepage, String sortorder, String bpeg, String epeg, String filenum, String remark, String recordnum, String piecenumber, String adddate, String editdate, String timeStamp, Integer isdel, String catalogpdfurl, String signtag, String collecttag) { + super(SynDirectoryFile.SYN_DIRECTORY_FILE); + + setId(id); + setPId(pId); + setFilesuper(filesuper); + setFilecount(filecount); + setDutyperson(dutyperson); + setEweavedate(eweavedate); + setFilepage(filepage); + setSortorder(sortorder); + setBpeg(bpeg); + setEpeg(epeg); + setFilenum(filenum); + setRemark(remark); + setRecordnum(recordnum); + setPiecenumber(piecenumber); + setAdddate(adddate); + setEditdate(editdate); + setTimeStamp(timeStamp); + setIsdel(isdel); + setCatalogpdfurl(catalogpdfurl); + setSigntag(signtag); + setCollecttag(collecttag); + resetChangedOnNotNull(); + } + + /** + * Create a detached, initialised SynDirectoryFileRecord + */ + public SynDirectoryFileRecord(jj.tech.paolu.repository.jooq.tables.pojos.SynDirectoryFile value) { + super(SynDirectoryFile.SYN_DIRECTORY_FILE); + + if (value != null) { + setId(value.getId()); + setPId(value.getPId()); + setFilesuper(value.getFilesuper()); + setFilecount(value.getFilecount()); + setDutyperson(value.getDutyperson()); + setEweavedate(value.getEweavedate()); + setFilepage(value.getFilepage()); + setSortorder(value.getSortorder()); + setBpeg(value.getBpeg()); + setEpeg(value.getEpeg()); + setFilenum(value.getFilenum()); + setRemark(value.getRemark()); + setRecordnum(value.getRecordnum()); + setPiecenumber(value.getPiecenumber()); + setAdddate(value.getAdddate()); + setEditdate(value.getEditdate()); + setTimeStamp(value.getTimeStamp()); + setIsdel(value.getIsdel()); + setCatalogpdfurl(value.getCatalogpdfurl()); + setSigntag(value.getSigntag()); + setCollecttag(value.getCollecttag()); + resetChangedOnNotNull(); + } + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SynDirectoryRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SynDirectoryRecord.java new file mode 100644 index 0000000..67c664e --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SynDirectoryRecord.java @@ -0,0 +1,386 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.records; + + +import jj.tech.paolu.repository.jooq.tables.SynDirectory; + +import org.jooq.Field; +import org.jooq.Record1; +import org.jooq.Record8; +import org.jooq.Row8; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SynDirectoryRecord extends UpdatableRecordImpl implements Record8 { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.syn_directory.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for public.syn_directory.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for public.syn_directory.p_id. + */ + public void setPId(String value) { + set(1, value); + } + + /** + * Getter for public.syn_directory.p_id. + */ + public String getPId() { + return (String) get(1); + } + + /** + * Setter for public.syn_directory.wbs_id. + */ + public void setWbsId(String value) { + set(2, value); + } + + /** + * Getter for public.syn_directory.wbs_id. + */ + public String getWbsId() { + return (String) get(2); + } + + /** + * Setter for public.syn_directory.time_stamp. + */ + public void setTimeStamp(String value) { + set(3, value); + } + + /** + * Getter for public.syn_directory.time_stamp. + */ + public String getTimeStamp() { + return (String) get(3); + } + + /** + * Setter for public.syn_directory.sortorder. + */ + public void setSortorder(Integer value) { + set(4, value); + } + + /** + * Getter for public.syn_directory.sortorder. + */ + public Integer getSortorder() { + return (Integer) get(4); + } + + /** + * Setter for public.syn_directory.tname. + */ + public void setTname(String value) { + set(5, value); + } + + /** + * Getter for public.syn_directory.tname. + */ + public String getTname() { + return (String) get(5); + } + + /** + * Setter for public.syn_directory.subjoin. + */ + public void setSubjoin(Integer value) { + set(6, value); + } + + /** + * Getter for public.syn_directory.subjoin. + */ + public Integer getSubjoin() { + return (Integer) get(6); + } + + /** + * Setter for public.syn_directory.isdel. + */ + public void setIsdel(Integer value) { + set(7, value); + } + + /** + * Getter for public.syn_directory.isdel. + */ + public Integer getIsdel() { + return (Integer) get(7); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Record8 type implementation + // ------------------------------------------------------------------------- + + @Override + public Row8 fieldsRow() { + return (Row8) super.fieldsRow(); + } + + @Override + public Row8 valuesRow() { + return (Row8) super.valuesRow(); + } + + @Override + public Field field1() { + return SynDirectory.SYN_DIRECTORY.ID; + } + + @Override + public Field field2() { + return SynDirectory.SYN_DIRECTORY.P_ID; + } + + @Override + public Field field3() { + return SynDirectory.SYN_DIRECTORY.WBS_ID; + } + + @Override + public Field field4() { + return SynDirectory.SYN_DIRECTORY.TIME_STAMP; + } + + @Override + public Field field5() { + return SynDirectory.SYN_DIRECTORY.SORTORDER; + } + + @Override + public Field field6() { + return SynDirectory.SYN_DIRECTORY.TNAME; + } + + @Override + public Field field7() { + return SynDirectory.SYN_DIRECTORY.SUBJOIN; + } + + @Override + public Field field8() { + return SynDirectory.SYN_DIRECTORY.ISDEL; + } + + @Override + public String component1() { + return getId(); + } + + @Override + public String component2() { + return getPId(); + } + + @Override + public String component3() { + return getWbsId(); + } + + @Override + public String component4() { + return getTimeStamp(); + } + + @Override + public Integer component5() { + return getSortorder(); + } + + @Override + public String component6() { + return getTname(); + } + + @Override + public Integer component7() { + return getSubjoin(); + } + + @Override + public Integer component8() { + return getIsdel(); + } + + @Override + public String value1() { + return getId(); + } + + @Override + public String value2() { + return getPId(); + } + + @Override + public String value3() { + return getWbsId(); + } + + @Override + public String value4() { + return getTimeStamp(); + } + + @Override + public Integer value5() { + return getSortorder(); + } + + @Override + public String value6() { + return getTname(); + } + + @Override + public Integer value7() { + return getSubjoin(); + } + + @Override + public Integer value8() { + return getIsdel(); + } + + @Override + public SynDirectoryRecord value1(String value) { + setId(value); + return this; + } + + @Override + public SynDirectoryRecord value2(String value) { + setPId(value); + return this; + } + + @Override + public SynDirectoryRecord value3(String value) { + setWbsId(value); + return this; + } + + @Override + public SynDirectoryRecord value4(String value) { + setTimeStamp(value); + return this; + } + + @Override + public SynDirectoryRecord value5(Integer value) { + setSortorder(value); + return this; + } + + @Override + public SynDirectoryRecord value6(String value) { + setTname(value); + return this; + } + + @Override + public SynDirectoryRecord value7(Integer value) { + setSubjoin(value); + return this; + } + + @Override + public SynDirectoryRecord value8(Integer value) { + setIsdel(value); + return this; + } + + @Override + public SynDirectoryRecord values(String value1, String value2, String value3, String value4, Integer value5, String value6, Integer value7, Integer value8) { + value1(value1); + value2(value2); + value3(value3); + value4(value4); + value5(value5); + value6(value6); + value7(value7); + value8(value8); + return this; + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached SynDirectoryRecord + */ + public SynDirectoryRecord() { + super(SynDirectory.SYN_DIRECTORY); + } + + /** + * Create a detached, initialised SynDirectoryRecord + */ + public SynDirectoryRecord(String id, String pId, String wbsId, String timeStamp, Integer sortorder, String tname, Integer subjoin, Integer isdel) { + super(SynDirectory.SYN_DIRECTORY); + + setId(id); + setPId(pId); + setWbsId(wbsId); + setTimeStamp(timeStamp); + setSortorder(sortorder); + setTname(tname); + setSubjoin(subjoin); + setIsdel(isdel); + resetChangedOnNotNull(); + } + + /** + * Create a detached, initialised SynDirectoryRecord + */ + public SynDirectoryRecord(jj.tech.paolu.repository.jooq.tables.pojos.SynDirectory value) { + super(SynDirectory.SYN_DIRECTORY); + + if (value != null) { + setId(value.getId()); + setPId(value.getPId()); + setWbsId(value.getWbsId()); + setTimeStamp(value.getTimeStamp()); + setSortorder(value.getSortorder()); + setTname(value.getTname()); + setSubjoin(value.getSubjoin()); + setIsdel(value.getIsdel()); + resetChangedOnNotNull(); + } + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SynFileRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SynFileRecord.java new file mode 100644 index 0000000..76d5e0f --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SynFileRecord.java @@ -0,0 +1,728 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.records; + + +import jj.tech.paolu.repository.jooq.tables.SynFile; + +import org.jooq.Field; +import org.jooq.Record1; +import org.jooq.Record17; +import org.jooq.Row17; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SynFileRecord extends UpdatableRecordImpl implements Record17 { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.syn_file.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for public.syn_file.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for public.syn_file.p_id. + */ + public void setPId(String value) { + set(1, value); + } + + /** + * Getter for public.syn_file.p_id. + */ + public String getPId() { + return (String) get(1); + } + + /** + * Setter for public.syn_file.tablenumber. + */ + public void setTablenumber(String value) { + set(2, value); + } + + /** + * Getter for public.syn_file.tablenumber. + */ + public String getTablenumber() { + return (String) get(2); + } + + /** + * Setter for public.syn_file.annexname. + */ + public void setAnnexname(String value) { + set(3, value); + } + + /** + * Getter for public.syn_file.annexname. + */ + public String getAnnexname() { + return (String) get(3); + } + + /** + * Setter for public.syn_file.projectname. + */ + public void setProjectname(String value) { + set(4, value); + } + + /** + * Getter for public.syn_file.projectname. + */ + public String getProjectname() { + return (String) get(4); + } + + /** + * Setter for public.syn_file.eweavedate. + */ + public void setEweavedate(String value) { + set(5, value); + } + + /** + * Getter for public.syn_file.eweavedate. + */ + public String getEweavedate() { + return (String) get(5); + } + + /** + * Setter for public.syn_file.checkdate. + */ + public void setCheckdate(String value) { + set(6, value); + } + + /** + * Getter for public.syn_file.checkdate. + */ + public String getCheckdate() { + return (String) get(6); + } + + /** + * Setter for public.syn_file.annexpage. + */ + public void setAnnexpage(Integer value) { + set(7, value); + } + + /** + * Getter for public.syn_file.annexpage. + */ + public Integer getAnnexpage() { + return (Integer) get(7); + } + + /** + * Setter for public.syn_file.sortorder. + */ + public void setSortorder(String value) { + set(8, value); + } + + /** + * Getter for public.syn_file.sortorder. + */ + public String getSortorder() { + return (String) get(8); + } + + /** + * Setter for public.syn_file.filefrom. + */ + public void setFilefrom(String value) { + set(9, value); + } + + /** + * Getter for public.syn_file.filefrom. + */ + public String getFilefrom() { + return (String) get(9); + } + + /** + * Setter for public.syn_file.archivestag. + */ + public void setArchivestag(String value) { + set(10, value); + } + + /** + * Getter for public.syn_file.archivestag. + */ + public String getArchivestag() { + return (String) get(10); + } + + /** + * Setter for public.syn_file.adddate. + */ + public void setAdddate(String value) { + set(11, value); + } + + /** + * Getter for public.syn_file.adddate. + */ + public String getAdddate() { + return (String) get(11); + } + + /** + * Setter for public.syn_file.editdate. + */ + public void setEditdate(String value) { + set(12, value); + } + + /** + * Getter for public.syn_file.editdate. + */ + public String getEditdate() { + return (String) get(12); + } + + /** + * Setter for public.syn_file.time_stamp. + */ + public void setTimeStamp(String value) { + set(13, value); + } + + /** + * Getter for public.syn_file.time_stamp. + */ + public String getTimeStamp() { + return (String) get(13); + } + + /** + * Setter for public.syn_file.isdel. + */ + public void setIsdel(Integer value) { + set(14, value); + } + + /** + * Getter for public.syn_file.isdel. + */ + public Integer getIsdel() { + return (Integer) get(14); + } + + /** + * Setter for public.syn_file.downurl. + */ + public void setDownurl(String value) { + set(15, value); + } + + /** + * Getter for public.syn_file.downurl. + */ + public String getDownurl() { + return (String) get(15); + } + + /** + * Setter for public.syn_file.filesize. + */ + public void setFilesize(Integer value) { + set(16, value); + } + + /** + * Getter for public.syn_file.filesize. + */ + public Integer getFilesize() { + return (Integer) get(16); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Record17 type implementation + // ------------------------------------------------------------------------- + + @Override + public Row17 fieldsRow() { + return (Row17) super.fieldsRow(); + } + + @Override + public Row17 valuesRow() { + return (Row17) super.valuesRow(); + } + + @Override + public Field field1() { + return SynFile.SYN_FILE.ID; + } + + @Override + public Field field2() { + return SynFile.SYN_FILE.P_ID; + } + + @Override + public Field field3() { + return SynFile.SYN_FILE.TABLENUMBER; + } + + @Override + public Field field4() { + return SynFile.SYN_FILE.ANNEXNAME; + } + + @Override + public Field field5() { + return SynFile.SYN_FILE.PROJECTNAME; + } + + @Override + public Field field6() { + return SynFile.SYN_FILE.EWEAVEDATE; + } + + @Override + public Field field7() { + return SynFile.SYN_FILE.CHECKDATE; + } + + @Override + public Field field8() { + return SynFile.SYN_FILE.ANNEXPAGE; + } + + @Override + public Field field9() { + return SynFile.SYN_FILE.SORTORDER; + } + + @Override + public Field field10() { + return SynFile.SYN_FILE.FILEFROM; + } + + @Override + public Field field11() { + return SynFile.SYN_FILE.ARCHIVESTAG; + } + + @Override + public Field field12() { + return SynFile.SYN_FILE.ADDDATE; + } + + @Override + public Field field13() { + return SynFile.SYN_FILE.EDITDATE; + } + + @Override + public Field field14() { + return SynFile.SYN_FILE.TIME_STAMP; + } + + @Override + public Field field15() { + return SynFile.SYN_FILE.ISDEL; + } + + @Override + public Field field16() { + return SynFile.SYN_FILE.DOWNURL; + } + + @Override + public Field field17() { + return SynFile.SYN_FILE.FILESIZE; + } + + @Override + public String component1() { + return getId(); + } + + @Override + public String component2() { + return getPId(); + } + + @Override + public String component3() { + return getTablenumber(); + } + + @Override + public String component4() { + return getAnnexname(); + } + + @Override + public String component5() { + return getProjectname(); + } + + @Override + public String component6() { + return getEweavedate(); + } + + @Override + public String component7() { + return getCheckdate(); + } + + @Override + public Integer component8() { + return getAnnexpage(); + } + + @Override + public String component9() { + return getSortorder(); + } + + @Override + public String component10() { + return getFilefrom(); + } + + @Override + public String component11() { + return getArchivestag(); + } + + @Override + public String component12() { + return getAdddate(); + } + + @Override + public String component13() { + return getEditdate(); + } + + @Override + public String component14() { + return getTimeStamp(); + } + + @Override + public Integer component15() { + return getIsdel(); + } + + @Override + public String component16() { + return getDownurl(); + } + + @Override + public Integer component17() { + return getFilesize(); + } + + @Override + public String value1() { + return getId(); + } + + @Override + public String value2() { + return getPId(); + } + + @Override + public String value3() { + return getTablenumber(); + } + + @Override + public String value4() { + return getAnnexname(); + } + + @Override + public String value5() { + return getProjectname(); + } + + @Override + public String value6() { + return getEweavedate(); + } + + @Override + public String value7() { + return getCheckdate(); + } + + @Override + public Integer value8() { + return getAnnexpage(); + } + + @Override + public String value9() { + return getSortorder(); + } + + @Override + public String value10() { + return getFilefrom(); + } + + @Override + public String value11() { + return getArchivestag(); + } + + @Override + public String value12() { + return getAdddate(); + } + + @Override + public String value13() { + return getEditdate(); + } + + @Override + public String value14() { + return getTimeStamp(); + } + + @Override + public Integer value15() { + return getIsdel(); + } + + @Override + public String value16() { + return getDownurl(); + } + + @Override + public Integer value17() { + return getFilesize(); + } + + @Override + public SynFileRecord value1(String value) { + setId(value); + return this; + } + + @Override + public SynFileRecord value2(String value) { + setPId(value); + return this; + } + + @Override + public SynFileRecord value3(String value) { + setTablenumber(value); + return this; + } + + @Override + public SynFileRecord value4(String value) { + setAnnexname(value); + return this; + } + + @Override + public SynFileRecord value5(String value) { + setProjectname(value); + return this; + } + + @Override + public SynFileRecord value6(String value) { + setEweavedate(value); + return this; + } + + @Override + public SynFileRecord value7(String value) { + setCheckdate(value); + return this; + } + + @Override + public SynFileRecord value8(Integer value) { + setAnnexpage(value); + return this; + } + + @Override + public SynFileRecord value9(String value) { + setSortorder(value); + return this; + } + + @Override + public SynFileRecord value10(String value) { + setFilefrom(value); + return this; + } + + @Override + public SynFileRecord value11(String value) { + setArchivestag(value); + return this; + } + + @Override + public SynFileRecord value12(String value) { + setAdddate(value); + return this; + } + + @Override + public SynFileRecord value13(String value) { + setEditdate(value); + return this; + } + + @Override + public SynFileRecord value14(String value) { + setTimeStamp(value); + return this; + } + + @Override + public SynFileRecord value15(Integer value) { + setIsdel(value); + return this; + } + + @Override + public SynFileRecord value16(String value) { + setDownurl(value); + return this; + } + + @Override + public SynFileRecord value17(Integer value) { + setFilesize(value); + return this; + } + + @Override + public SynFileRecord values(String value1, String value2, String value3, String value4, String value5, String value6, String value7, Integer value8, String value9, String value10, String value11, String value12, String value13, String value14, Integer value15, String value16, Integer value17) { + value1(value1); + value2(value2); + value3(value3); + value4(value4); + value5(value5); + value6(value6); + value7(value7); + value8(value8); + value9(value9); + value10(value10); + value11(value11); + value12(value12); + value13(value13); + value14(value14); + value15(value15); + value16(value16); + value17(value17); + return this; + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached SynFileRecord + */ + public SynFileRecord() { + super(SynFile.SYN_FILE); + } + + /** + * Create a detached, initialised SynFileRecord + */ + public SynFileRecord(String id, String pId, String tablenumber, String annexname, String projectname, String eweavedate, String checkdate, Integer annexpage, String sortorder, String filefrom, String archivestag, String adddate, String editdate, String timeStamp, Integer isdel, String downurl, Integer filesize) { + super(SynFile.SYN_FILE); + + setId(id); + setPId(pId); + setTablenumber(tablenumber); + setAnnexname(annexname); + setProjectname(projectname); + setEweavedate(eweavedate); + setCheckdate(checkdate); + setAnnexpage(annexpage); + setSortorder(sortorder); + setFilefrom(filefrom); + setArchivestag(archivestag); + setAdddate(adddate); + setEditdate(editdate); + setTimeStamp(timeStamp); + setIsdel(isdel); + setDownurl(downurl); + setFilesize(filesize); + resetChangedOnNotNull(); + } + + /** + * Create a detached, initialised SynFileRecord + */ + public SynFileRecord(jj.tech.paolu.repository.jooq.tables.pojos.SynFile value) { + super(SynFile.SYN_FILE); + + if (value != null) { + setId(value.getId()); + setPId(value.getPId()); + setTablenumber(value.getTablenumber()); + setAnnexname(value.getAnnexname()); + setProjectname(value.getProjectname()); + setEweavedate(value.getEweavedate()); + setCheckdate(value.getCheckdate()); + setAnnexpage(value.getAnnexpage()); + setSortorder(value.getSortorder()); + setFilefrom(value.getFilefrom()); + setArchivestag(value.getArchivestag()); + setAdddate(value.getAdddate()); + setEditdate(value.getEditdate()); + setTimeStamp(value.getTimeStamp()); + setIsdel(value.getIsdel()); + setDownurl(value.getDownurl()); + setFilesize(value.getFilesize()); + resetChangedOnNotNull(); + } + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysAdminRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysAdminRecord.java new file mode 100644 index 0000000..ece259b --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysAdminRecord.java @@ -0,0 +1,614 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.records; + + +import jj.tech.paolu.repository.jooq.tables.SysAdmin; + +import org.jooq.Field; +import org.jooq.Record1; +import org.jooq.Record14; +import org.jooq.Row14; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysAdminRecord extends UpdatableRecordImpl implements Record14 { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.sys_admin.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for public.sys_admin.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for public.sys_admin.org_id. + */ + public void setOrgId(String value) { + set(1, value); + } + + /** + * Getter for public.sys_admin.org_id. + */ + public String getOrgId() { + return (String) get(1); + } + + /** + * Setter for public.sys_admin.realname. + */ + public void setRealname(String value) { + set(2, value); + } + + /** + * Getter for public.sys_admin.realname. + */ + public String getRealname() { + return (String) get(2); + } + + /** + * Setter for public.sys_admin.username. + */ + public void setUsername(String value) { + set(3, value); + } + + /** + * Getter for public.sys_admin.username. + */ + public String getUsername() { + return (String) get(3); + } + + /** + * Setter for public.sys_admin.password. + */ + public void setPassword(String value) { + set(4, value); + } + + /** + * Getter for public.sys_admin.password. + */ + public String getPassword() { + return (String) get(4); + } + + /** + * Setter for public.sys_admin.phone. + */ + public void setPhone(String value) { + set(5, value); + } + + /** + * Getter for public.sys_admin.phone. + */ + public String getPhone() { + return (String) get(5); + } + + /** + * Setter for public.sys_admin.email. + */ + public void setEmail(String value) { + set(6, value); + } + + /** + * Getter for public.sys_admin.email. + */ + public String getEmail() { + return (String) get(6); + } + + /** + * Setter for public.sys_admin.job. + */ + public void setJob(String value) { + set(7, value); + } + + /** + * Getter for public.sys_admin.job. + */ + public String getJob() { + return (String) get(7); + } + + /** + * Setter for public.sys_admin.gender. + */ + public void setGender(Integer value) { + set(8, value); + } + + /** + * Getter for public.sys_admin.gender. + */ + public Integer getGender() { + return (Integer) get(8); + } + + /** + * Setter for public.sys_admin.islock. + */ + public void setIslock(Integer value) { + set(9, value); + } + + /** + * Getter for public.sys_admin.islock. + */ + public Integer getIslock() { + return (Integer) get(9); + } + + /** + * Setter for public.sys_admin.type. + */ + public void setType(Integer value) { + set(10, value); + } + + /** + * Getter for public.sys_admin.type. + */ + public Integer getType() { + return (Integer) get(10); + } + + /** + * Setter for public.sys_admin.sort. + */ + public void setSort(Integer value) { + set(11, value); + } + + /** + * Getter for public.sys_admin.sort. + */ + public Integer getSort() { + return (Integer) get(11); + } + + /** + * Setter for public.sys_admin.cer_id. + */ + public void setCerId(String value) { + set(12, value); + } + + /** + * Getter for public.sys_admin.cer_id. + */ + public String getCerId() { + return (String) get(12); + } + + /** + * Setter for public.sys_admin.company_id. 公司ID,组织ID的最高级 + */ + public void setCompanyId(String value) { + set(13, value); + } + + /** + * Getter for public.sys_admin.company_id. 公司ID,组织ID的最高级 + */ + public String getCompanyId() { + return (String) get(13); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Record14 type implementation + // ------------------------------------------------------------------------- + + @Override + public Row14 fieldsRow() { + return (Row14) super.fieldsRow(); + } + + @Override + public Row14 valuesRow() { + return (Row14) super.valuesRow(); + } + + @Override + public Field field1() { + return SysAdmin.SYS_ADMIN.ID; + } + + @Override + public Field field2() { + return SysAdmin.SYS_ADMIN.ORG_ID; + } + + @Override + public Field field3() { + return SysAdmin.SYS_ADMIN.REALNAME; + } + + @Override + public Field field4() { + return SysAdmin.SYS_ADMIN.USERNAME; + } + + @Override + public Field field5() { + return SysAdmin.SYS_ADMIN.PASSWORD; + } + + @Override + public Field field6() { + return SysAdmin.SYS_ADMIN.PHONE; + } + + @Override + public Field field7() { + return SysAdmin.SYS_ADMIN.EMAIL; + } + + @Override + public Field field8() { + return SysAdmin.SYS_ADMIN.JOB; + } + + @Override + public Field field9() { + return SysAdmin.SYS_ADMIN.GENDER; + } + + @Override + public Field field10() { + return SysAdmin.SYS_ADMIN.ISLOCK; + } + + @Override + public Field field11() { + return SysAdmin.SYS_ADMIN.TYPE; + } + + @Override + public Field field12() { + return SysAdmin.SYS_ADMIN.SORT; + } + + @Override + public Field field13() { + return SysAdmin.SYS_ADMIN.CER_ID; + } + + @Override + public Field field14() { + return SysAdmin.SYS_ADMIN.COMPANY_ID; + } + + @Override + public String component1() { + return getId(); + } + + @Override + public String component2() { + return getOrgId(); + } + + @Override + public String component3() { + return getRealname(); + } + + @Override + public String component4() { + return getUsername(); + } + + @Override + public String component5() { + return getPassword(); + } + + @Override + public String component6() { + return getPhone(); + } + + @Override + public String component7() { + return getEmail(); + } + + @Override + public String component8() { + return getJob(); + } + + @Override + public Integer component9() { + return getGender(); + } + + @Override + public Integer component10() { + return getIslock(); + } + + @Override + public Integer component11() { + return getType(); + } + + @Override + public Integer component12() { + return getSort(); + } + + @Override + public String component13() { + return getCerId(); + } + + @Override + public String component14() { + return getCompanyId(); + } + + @Override + public String value1() { + return getId(); + } + + @Override + public String value2() { + return getOrgId(); + } + + @Override + public String value3() { + return getRealname(); + } + + @Override + public String value4() { + return getUsername(); + } + + @Override + public String value5() { + return getPassword(); + } + + @Override + public String value6() { + return getPhone(); + } + + @Override + public String value7() { + return getEmail(); + } + + @Override + public String value8() { + return getJob(); + } + + @Override + public Integer value9() { + return getGender(); + } + + @Override + public Integer value10() { + return getIslock(); + } + + @Override + public Integer value11() { + return getType(); + } + + @Override + public Integer value12() { + return getSort(); + } + + @Override + public String value13() { + return getCerId(); + } + + @Override + public String value14() { + return getCompanyId(); + } + + @Override + public SysAdminRecord value1(String value) { + setId(value); + return this; + } + + @Override + public SysAdminRecord value2(String value) { + setOrgId(value); + return this; + } + + @Override + public SysAdminRecord value3(String value) { + setRealname(value); + return this; + } + + @Override + public SysAdminRecord value4(String value) { + setUsername(value); + return this; + } + + @Override + public SysAdminRecord value5(String value) { + setPassword(value); + return this; + } + + @Override + public SysAdminRecord value6(String value) { + setPhone(value); + return this; + } + + @Override + public SysAdminRecord value7(String value) { + setEmail(value); + return this; + } + + @Override + public SysAdminRecord value8(String value) { + setJob(value); + return this; + } + + @Override + public SysAdminRecord value9(Integer value) { + setGender(value); + return this; + } + + @Override + public SysAdminRecord value10(Integer value) { + setIslock(value); + return this; + } + + @Override + public SysAdminRecord value11(Integer value) { + setType(value); + return this; + } + + @Override + public SysAdminRecord value12(Integer value) { + setSort(value); + return this; + } + + @Override + public SysAdminRecord value13(String value) { + setCerId(value); + return this; + } + + @Override + public SysAdminRecord value14(String value) { + setCompanyId(value); + return this; + } + + @Override + public SysAdminRecord values(String value1, String value2, String value3, String value4, String value5, String value6, String value7, String value8, Integer value9, Integer value10, Integer value11, Integer value12, String value13, String value14) { + value1(value1); + value2(value2); + value3(value3); + value4(value4); + value5(value5); + value6(value6); + value7(value7); + value8(value8); + value9(value9); + value10(value10); + value11(value11); + value12(value12); + value13(value13); + value14(value14); + return this; + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached SysAdminRecord + */ + public SysAdminRecord() { + super(SysAdmin.SYS_ADMIN); + } + + /** + * Create a detached, initialised SysAdminRecord + */ + public SysAdminRecord(String id, String orgId, String realname, String username, String password, String phone, String email, String job, Integer gender, Integer islock, Integer type, Integer sort, String cerId, String companyId) { + super(SysAdmin.SYS_ADMIN); + + setId(id); + setOrgId(orgId); + setRealname(realname); + setUsername(username); + setPassword(password); + setPhone(phone); + setEmail(email); + setJob(job); + setGender(gender); + setIslock(islock); + setType(type); + setSort(sort); + setCerId(cerId); + setCompanyId(companyId); + resetChangedOnNotNull(); + } + + /** + * Create a detached, initialised SysAdminRecord + */ + public SysAdminRecord(jj.tech.paolu.repository.jooq.tables.pojos.SysAdmin value) { + super(SysAdmin.SYS_ADMIN); + + if (value != null) { + setId(value.getId()); + setOrgId(value.getOrgId()); + setRealname(value.getRealname()); + setUsername(value.getUsername()); + setPassword(value.getPassword()); + setPhone(value.getPhone()); + setEmail(value.getEmail()); + setJob(value.getJob()); + setGender(value.getGender()); + setIslock(value.getIslock()); + setType(value.getType()); + setSort(value.getSort()); + setCerId(value.getCerId()); + setCompanyId(value.getCompanyId()); + resetChangedOnNotNull(); + } + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysAdminRoleRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysAdminRoleRecord.java new file mode 100644 index 0000000..2e1a206 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysAdminRoleRecord.java @@ -0,0 +1,196 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.records; + + +import jj.tech.paolu.repository.jooq.tables.SysAdminRole; + +import org.jooq.Field; +import org.jooq.Record1; +import org.jooq.Record3; +import org.jooq.Row3; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysAdminRoleRecord extends UpdatableRecordImpl implements Record3 { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.sys_admin_role.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for public.sys_admin_role.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for public.sys_admin_role.adminid. + */ + public void setAdminid(String value) { + set(1, value); + } + + /** + * Getter for public.sys_admin_role.adminid. + */ + public String getAdminid() { + return (String) get(1); + } + + /** + * Setter for public.sys_admin_role.roleid. + */ + public void setRoleid(String value) { + set(2, value); + } + + /** + * Getter for public.sys_admin_role.roleid. + */ + public String getRoleid() { + return (String) get(2); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Record3 type implementation + // ------------------------------------------------------------------------- + + @Override + public Row3 fieldsRow() { + return (Row3) super.fieldsRow(); + } + + @Override + public Row3 valuesRow() { + return (Row3) super.valuesRow(); + } + + @Override + public Field field1() { + return SysAdminRole.SYS_ADMIN_ROLE.ID; + } + + @Override + public Field field2() { + return SysAdminRole.SYS_ADMIN_ROLE.ADMINID; + } + + @Override + public Field field3() { + return SysAdminRole.SYS_ADMIN_ROLE.ROLEID; + } + + @Override + public String component1() { + return getId(); + } + + @Override + public String component2() { + return getAdminid(); + } + + @Override + public String component3() { + return getRoleid(); + } + + @Override + public String value1() { + return getId(); + } + + @Override + public String value2() { + return getAdminid(); + } + + @Override + public String value3() { + return getRoleid(); + } + + @Override + public SysAdminRoleRecord value1(String value) { + setId(value); + return this; + } + + @Override + public SysAdminRoleRecord value2(String value) { + setAdminid(value); + return this; + } + + @Override + public SysAdminRoleRecord value3(String value) { + setRoleid(value); + return this; + } + + @Override + public SysAdminRoleRecord values(String value1, String value2, String value3) { + value1(value1); + value2(value2); + value3(value3); + return this; + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached SysAdminRoleRecord + */ + public SysAdminRoleRecord() { + super(SysAdminRole.SYS_ADMIN_ROLE); + } + + /** + * Create a detached, initialised SysAdminRoleRecord + */ + public SysAdminRoleRecord(String id, String adminid, String roleid) { + super(SysAdminRole.SYS_ADMIN_ROLE); + + setId(id); + setAdminid(adminid); + setRoleid(roleid); + resetChangedOnNotNull(); + } + + /** + * Create a detached, initialised SysAdminRoleRecord + */ + public SysAdminRoleRecord(jj.tech.paolu.repository.jooq.tables.pojos.SysAdminRole value) { + super(SysAdminRole.SYS_ADMIN_ROLE); + + if (value != null) { + setId(value.getId()); + setAdminid(value.getAdminid()); + setRoleid(value.getRoleid()); + resetChangedOnNotNull(); + } + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysAdminWeidRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysAdminWeidRecord.java new file mode 100644 index 0000000..53399e4 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysAdminWeidRecord.java @@ -0,0 +1,350 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.records; + + +import java.time.LocalDateTime; + +import jj.tech.paolu.repository.jooq.tables.SysAdminWeid; + +import org.jooq.Field; +import org.jooq.Record1; +import org.jooq.Record7; +import org.jooq.Row7; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysAdminWeidRecord extends UpdatableRecordImpl implements Record7 { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.sys_admin_weid.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for public.sys_admin_weid.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for public.sys_admin_weid.admin_id. + */ + public void setAdminId(String value) { + set(1, value); + } + + /** + * Getter for public.sys_admin_weid.admin_id. + */ + public String getAdminId() { + return (String) get(1); + } + + /** + * Setter for public.sys_admin_weid.wid. + */ + public void setWid(String value) { + set(2, value); + } + + /** + * Getter for public.sys_admin_weid.wid. + */ + public String getWid() { + return (String) get(2); + } + + /** + * Setter for public.sys_admin_weid.wprivate_key. + */ + public void setWprivateKey(String value) { + set(3, value); + } + + /** + * Getter for public.sys_admin_weid.wprivate_key. + */ + public String getWprivateKey() { + return (String) get(3); + } + + /** + * Setter for public.sys_admin_weid.add_time. + */ + public void setAddTime(LocalDateTime value) { + set(4, value); + } + + /** + * Getter for public.sys_admin_weid.add_time. + */ + public LocalDateTime getAddTime() { + return (LocalDateTime) get(4); + } + + /** + * Setter for public.sys_admin_weid.certificate_hash. 存证哈希 + */ + public void setCertificateHash(String value) { + set(5, value); + } + + /** + * Getter for public.sys_admin_weid.certificate_hash. 存证哈希 + */ + public String getCertificateHash() { + return (String) get(5); + } + + /** + * Setter for public.sys_admin_weid.chain_block. + */ + public void setChainBlock(String value) { + set(6, value); + } + + /** + * Getter for public.sys_admin_weid.chain_block. + */ + public String getChainBlock() { + return (String) get(6); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Record7 type implementation + // ------------------------------------------------------------------------- + + @Override + public Row7 fieldsRow() { + return (Row7) super.fieldsRow(); + } + + @Override + public Row7 valuesRow() { + return (Row7) super.valuesRow(); + } + + @Override + public Field field1() { + return SysAdminWeid.SYS_ADMIN_WEID.ID; + } + + @Override + public Field field2() { + return SysAdminWeid.SYS_ADMIN_WEID.ADMIN_ID; + } + + @Override + public Field field3() { + return SysAdminWeid.SYS_ADMIN_WEID.WID; + } + + @Override + public Field field4() { + return SysAdminWeid.SYS_ADMIN_WEID.WPRIVATE_KEY; + } + + @Override + public Field field5() { + return SysAdminWeid.SYS_ADMIN_WEID.ADD_TIME; + } + + @Override + public Field field6() { + return SysAdminWeid.SYS_ADMIN_WEID.CERTIFICATE_HASH; + } + + @Override + public Field field7() { + return SysAdminWeid.SYS_ADMIN_WEID.CHAIN_BLOCK; + } + + @Override + public String component1() { + return getId(); + } + + @Override + public String component2() { + return getAdminId(); + } + + @Override + public String component3() { + return getWid(); + } + + @Override + public String component4() { + return getWprivateKey(); + } + + @Override + public LocalDateTime component5() { + return getAddTime(); + } + + @Override + public String component6() { + return getCertificateHash(); + } + + @Override + public String component7() { + return getChainBlock(); + } + + @Override + public String value1() { + return getId(); + } + + @Override + public String value2() { + return getAdminId(); + } + + @Override + public String value3() { + return getWid(); + } + + @Override + public String value4() { + return getWprivateKey(); + } + + @Override + public LocalDateTime value5() { + return getAddTime(); + } + + @Override + public String value6() { + return getCertificateHash(); + } + + @Override + public String value7() { + return getChainBlock(); + } + + @Override + public SysAdminWeidRecord value1(String value) { + setId(value); + return this; + } + + @Override + public SysAdminWeidRecord value2(String value) { + setAdminId(value); + return this; + } + + @Override + public SysAdminWeidRecord value3(String value) { + setWid(value); + return this; + } + + @Override + public SysAdminWeidRecord value4(String value) { + setWprivateKey(value); + return this; + } + + @Override + public SysAdminWeidRecord value5(LocalDateTime value) { + setAddTime(value); + return this; + } + + @Override + public SysAdminWeidRecord value6(String value) { + setCertificateHash(value); + return this; + } + + @Override + public SysAdminWeidRecord value7(String value) { + setChainBlock(value); + return this; + } + + @Override + public SysAdminWeidRecord values(String value1, String value2, String value3, String value4, LocalDateTime value5, String value6, String value7) { + value1(value1); + value2(value2); + value3(value3); + value4(value4); + value5(value5); + value6(value6); + value7(value7); + return this; + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached SysAdminWeidRecord + */ + public SysAdminWeidRecord() { + super(SysAdminWeid.SYS_ADMIN_WEID); + } + + /** + * Create a detached, initialised SysAdminWeidRecord + */ + public SysAdminWeidRecord(String id, String adminId, String wid, String wprivateKey, LocalDateTime addTime, String certificateHash, String chainBlock) { + super(SysAdminWeid.SYS_ADMIN_WEID); + + setId(id); + setAdminId(adminId); + setWid(wid); + setWprivateKey(wprivateKey); + setAddTime(addTime); + setCertificateHash(certificateHash); + setChainBlock(chainBlock); + resetChangedOnNotNull(); + } + + /** + * Create a detached, initialised SysAdminWeidRecord + */ + public SysAdminWeidRecord(jj.tech.paolu.repository.jooq.tables.pojos.SysAdminWeid value) { + super(SysAdminWeid.SYS_ADMIN_WEID); + + if (value != null) { + setId(value.getId()); + setAdminId(value.getAdminId()); + setWid(value.getWid()); + setWprivateKey(value.getWprivateKey()); + setAddTime(value.getAddTime()); + setCertificateHash(value.getCertificateHash()); + setChainBlock(value.getChainBlock()); + resetChangedOnNotNull(); + } + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysAreaRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysAreaRecord.java new file mode 100644 index 0000000..918a0a3 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysAreaRecord.java @@ -0,0 +1,348 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.records; + + +import jj.tech.paolu.repository.jooq.tables.SysArea; + +import org.jooq.Field; +import org.jooq.Record1; +import org.jooq.Record7; +import org.jooq.Row7; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysAreaRecord extends UpdatableRecordImpl implements Record7 { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.sys_area.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for public.sys_area.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for public.sys_area.level_code. + */ + public void setLevelCode(Short value) { + set(1, value); + } + + /** + * Getter for public.sys_area.level_code. + */ + public Short getLevelCode() { + return (Short) get(1); + } + + /** + * Setter for public.sys_area.parent_code. + */ + public void setParentCode(String value) { + set(2, value); + } + + /** + * Getter for public.sys_area.parent_code. + */ + public String getParentCode() { + return (String) get(2); + } + + /** + * Setter for public.sys_area.area_code. + */ + public void setAreaCode(String value) { + set(3, value); + } + + /** + * Getter for public.sys_area.area_code. + */ + public String getAreaCode() { + return (String) get(3); + } + + /** + * Setter for public.sys_area.name. + */ + public void setName(String value) { + set(4, value); + } + + /** + * Getter for public.sys_area.name. + */ + public String getName() { + return (String) get(4); + } + + /** + * Setter for public.sys_area.pid. + */ + public void setPid(String value) { + set(5, value); + } + + /** + * Getter for public.sys_area.pid. + */ + public String getPid() { + return (String) get(5); + } + + /** + * Setter for public.sys_area.pids. + */ + public void setPids(String value) { + set(6, value); + } + + /** + * Getter for public.sys_area.pids. + */ + public String getPids() { + return (String) get(6); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Record7 type implementation + // ------------------------------------------------------------------------- + + @Override + public Row7 fieldsRow() { + return (Row7) super.fieldsRow(); + } + + @Override + public Row7 valuesRow() { + return (Row7) super.valuesRow(); + } + + @Override + public Field field1() { + return SysArea.SYS_AREA.ID; + } + + @Override + public Field field2() { + return SysArea.SYS_AREA.LEVEL_CODE; + } + + @Override + public Field field3() { + return SysArea.SYS_AREA.PARENT_CODE; + } + + @Override + public Field field4() { + return SysArea.SYS_AREA.AREA_CODE; + } + + @Override + public Field field5() { + return SysArea.SYS_AREA.NAME; + } + + @Override + public Field field6() { + return SysArea.SYS_AREA.PID; + } + + @Override + public Field field7() { + return SysArea.SYS_AREA.PIDS; + } + + @Override + public String component1() { + return getId(); + } + + @Override + public Short component2() { + return getLevelCode(); + } + + @Override + public String component3() { + return getParentCode(); + } + + @Override + public String component4() { + return getAreaCode(); + } + + @Override + public String component5() { + return getName(); + } + + @Override + public String component6() { + return getPid(); + } + + @Override + public String component7() { + return getPids(); + } + + @Override + public String value1() { + return getId(); + } + + @Override + public Short value2() { + return getLevelCode(); + } + + @Override + public String value3() { + return getParentCode(); + } + + @Override + public String value4() { + return getAreaCode(); + } + + @Override + public String value5() { + return getName(); + } + + @Override + public String value6() { + return getPid(); + } + + @Override + public String value7() { + return getPids(); + } + + @Override + public SysAreaRecord value1(String value) { + setId(value); + return this; + } + + @Override + public SysAreaRecord value2(Short value) { + setLevelCode(value); + return this; + } + + @Override + public SysAreaRecord value3(String value) { + setParentCode(value); + return this; + } + + @Override + public SysAreaRecord value4(String value) { + setAreaCode(value); + return this; + } + + @Override + public SysAreaRecord value5(String value) { + setName(value); + return this; + } + + @Override + public SysAreaRecord value6(String value) { + setPid(value); + return this; + } + + @Override + public SysAreaRecord value7(String value) { + setPids(value); + return this; + } + + @Override + public SysAreaRecord values(String value1, Short value2, String value3, String value4, String value5, String value6, String value7) { + value1(value1); + value2(value2); + value3(value3); + value4(value4); + value5(value5); + value6(value6); + value7(value7); + return this; + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached SysAreaRecord + */ + public SysAreaRecord() { + super(SysArea.SYS_AREA); + } + + /** + * Create a detached, initialised SysAreaRecord + */ + public SysAreaRecord(String id, Short levelCode, String parentCode, String areaCode, String name, String pid, String pids) { + super(SysArea.SYS_AREA); + + setId(id); + setLevelCode(levelCode); + setParentCode(parentCode); + setAreaCode(areaCode); + setName(name); + setPid(pid); + setPids(pids); + resetChangedOnNotNull(); + } + + /** + * Create a detached, initialised SysAreaRecord + */ + public SysAreaRecord(jj.tech.paolu.repository.jooq.tables.pojos.SysArea value) { + super(SysArea.SYS_AREA); + + if (value != null) { + setId(value.getId()); + setLevelCode(value.getLevelCode()); + setParentCode(value.getParentCode()); + setAreaCode(value.getAreaCode()); + setName(value.getName()); + setPid(value.getPid()); + setPids(value.getPids()); + resetChangedOnNotNull(); + } + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysConfigRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysConfigRecord.java new file mode 100644 index 0000000..b1b62c1 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysConfigRecord.java @@ -0,0 +1,350 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.records; + + +import java.time.LocalDateTime; + +import jj.tech.paolu.repository.jooq.tables.SysConfig; + +import org.jooq.Field; +import org.jooq.Record1; +import org.jooq.Record7; +import org.jooq.Row7; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysConfigRecord extends UpdatableRecordImpl implements Record7 { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.sys_config.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for public.sys_config.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for public.sys_config.subgroup. + */ + public void setSubgroup(String value) { + set(1, value); + } + + /** + * Getter for public.sys_config.subgroup. + */ + public String getSubgroup() { + return (String) get(1); + } + + /** + * Setter for public.sys_config.keys. + */ + public void setKeys(String value) { + set(2, value); + } + + /** + * Getter for public.sys_config.keys. + */ + public String getKeys() { + return (String) get(2); + } + + /** + * Setter for public.sys_config.val. + */ + public void setVal(String value) { + set(3, value); + } + + /** + * Getter for public.sys_config.val. + */ + public String getVal() { + return (String) get(3); + } + + /** + * Setter for public.sys_config.admin_id. + */ + public void setAdminId(String value) { + set(4, value); + } + + /** + * Getter for public.sys_config.admin_id. + */ + public String getAdminId() { + return (String) get(4); + } + + /** + * Setter for public.sys_config.adminname. + */ + public void setAdminname(String value) { + set(5, value); + } + + /** + * Getter for public.sys_config.adminname. + */ + public String getAdminname() { + return (String) get(5); + } + + /** + * Setter for public.sys_config.edittime. + */ + public void setEdittime(LocalDateTime value) { + set(6, value); + } + + /** + * Getter for public.sys_config.edittime. + */ + public LocalDateTime getEdittime() { + return (LocalDateTime) get(6); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Record7 type implementation + // ------------------------------------------------------------------------- + + @Override + public Row7 fieldsRow() { + return (Row7) super.fieldsRow(); + } + + @Override + public Row7 valuesRow() { + return (Row7) super.valuesRow(); + } + + @Override + public Field field1() { + return SysConfig.SYS_CONFIG.ID; + } + + @Override + public Field field2() { + return SysConfig.SYS_CONFIG.SUBGROUP; + } + + @Override + public Field field3() { + return SysConfig.SYS_CONFIG.KEYS; + } + + @Override + public Field field4() { + return SysConfig.SYS_CONFIG.VAL; + } + + @Override + public Field field5() { + return SysConfig.SYS_CONFIG.ADMIN_ID; + } + + @Override + public Field field6() { + return SysConfig.SYS_CONFIG.ADMINNAME; + } + + @Override + public Field field7() { + return SysConfig.SYS_CONFIG.EDITTIME; + } + + @Override + public String component1() { + return getId(); + } + + @Override + public String component2() { + return getSubgroup(); + } + + @Override + public String component3() { + return getKeys(); + } + + @Override + public String component4() { + return getVal(); + } + + @Override + public String component5() { + return getAdminId(); + } + + @Override + public String component6() { + return getAdminname(); + } + + @Override + public LocalDateTime component7() { + return getEdittime(); + } + + @Override + public String value1() { + return getId(); + } + + @Override + public String value2() { + return getSubgroup(); + } + + @Override + public String value3() { + return getKeys(); + } + + @Override + public String value4() { + return getVal(); + } + + @Override + public String value5() { + return getAdminId(); + } + + @Override + public String value6() { + return getAdminname(); + } + + @Override + public LocalDateTime value7() { + return getEdittime(); + } + + @Override + public SysConfigRecord value1(String value) { + setId(value); + return this; + } + + @Override + public SysConfigRecord value2(String value) { + setSubgroup(value); + return this; + } + + @Override + public SysConfigRecord value3(String value) { + setKeys(value); + return this; + } + + @Override + public SysConfigRecord value4(String value) { + setVal(value); + return this; + } + + @Override + public SysConfigRecord value5(String value) { + setAdminId(value); + return this; + } + + @Override + public SysConfigRecord value6(String value) { + setAdminname(value); + return this; + } + + @Override + public SysConfigRecord value7(LocalDateTime value) { + setEdittime(value); + return this; + } + + @Override + public SysConfigRecord values(String value1, String value2, String value3, String value4, String value5, String value6, LocalDateTime value7) { + value1(value1); + value2(value2); + value3(value3); + value4(value4); + value5(value5); + value6(value6); + value7(value7); + return this; + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached SysConfigRecord + */ + public SysConfigRecord() { + super(SysConfig.SYS_CONFIG); + } + + /** + * Create a detached, initialised SysConfigRecord + */ + public SysConfigRecord(String id, String subgroup, String keys, String val, String adminId, String adminname, LocalDateTime edittime) { + super(SysConfig.SYS_CONFIG); + + setId(id); + setSubgroup(subgroup); + setKeys(keys); + setVal(val); + setAdminId(adminId); + setAdminname(adminname); + setEdittime(edittime); + resetChangedOnNotNull(); + } + + /** + * Create a detached, initialised SysConfigRecord + */ + public SysConfigRecord(jj.tech.paolu.repository.jooq.tables.pojos.SysConfig value) { + super(SysConfig.SYS_CONFIG); + + if (value != null) { + setId(value.getId()); + setSubgroup(value.getSubgroup()); + setKeys(value.getKeys()); + setVal(value.getVal()); + setAdminId(value.getAdminId()); + setAdminname(value.getAdminname()); + setEdittime(value.getEdittime()); + resetChangedOnNotNull(); + } + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysMenuRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysMenuRecord.java new file mode 100644 index 0000000..926d773 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysMenuRecord.java @@ -0,0 +1,500 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.records; + + +import jj.tech.paolu.repository.jooq.tables.SysMenu; + +import org.jooq.Field; +import org.jooq.Record1; +import org.jooq.Record11; +import org.jooq.Row11; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysMenuRecord extends UpdatableRecordImpl implements Record11 { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.sys_menu.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for public.sys_menu.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for public.sys_menu.parent_id. + */ + public void setParentId(String value) { + set(1, value); + } + + /** + * Getter for public.sys_menu.parent_id. + */ + public String getParentId() { + return (String) get(1); + } + + /** + * Setter for public.sys_menu.level. + */ + public void setLevel(Integer value) { + set(2, value); + } + + /** + * Getter for public.sys_menu.level. + */ + public Integer getLevel() { + return (Integer) get(2); + } + + /** + * Setter for public.sys_menu.name. + */ + public void setName(String value) { + set(3, value); + } + + /** + * Getter for public.sys_menu.name. + */ + public String getName() { + return (String) get(3); + } + + /** + * Setter for public.sys_menu.types. + */ + public void setTypes(String value) { + set(4, value); + } + + /** + * Getter for public.sys_menu.types. + */ + public String getTypes() { + return (String) get(4); + } + + /** + * Setter for public.sys_menu.url. + */ + public void setUrl(String value) { + set(5, value); + } + + /** + * Getter for public.sys_menu.url. + */ + public String getUrl() { + return (String) get(5); + } + + /** + * Setter for public.sys_menu.icon. + */ + public void setIcon(String value) { + set(6, value); + } + + /** + * Getter for public.sys_menu.icon. + */ + public String getIcon() { + return (String) get(6); + } + + /** + * Setter for public.sys_menu.is_open. + */ + public void setIsOpen(Integer value) { + set(7, value); + } + + /** + * Getter for public.sys_menu.is_open. + */ + public Integer getIsOpen() { + return (Integer) get(7); + } + + /** + * Setter for public.sys_menu.description. + */ + public void setDescription(String value) { + set(8, value); + } + + /** + * Getter for public.sys_menu.description. + */ + public String getDescription() { + return (String) get(8); + } + + /** + * Setter for public.sys_menu.sort. + */ + public void setSort(Integer value) { + set(9, value); + } + + /** + * Getter for public.sys_menu.sort. + */ + public Integer getSort() { + return (Integer) get(9); + } + + /** + * Setter for public.sys_menu.parentpath. + */ + public void setParentpath(String value) { + set(10, value); + } + + /** + * Getter for public.sys_menu.parentpath. + */ + public String getParentpath() { + return (String) get(10); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Record11 type implementation + // ------------------------------------------------------------------------- + + @Override + public Row11 fieldsRow() { + return (Row11) super.fieldsRow(); + } + + @Override + public Row11 valuesRow() { + return (Row11) super.valuesRow(); + } + + @Override + public Field field1() { + return SysMenu.SYS_MENU.ID; + } + + @Override + public Field field2() { + return SysMenu.SYS_MENU.PARENT_ID; + } + + @Override + public Field field3() { + return SysMenu.SYS_MENU.LEVEL; + } + + @Override + public Field field4() { + return SysMenu.SYS_MENU.NAME; + } + + @Override + public Field field5() { + return SysMenu.SYS_MENU.TYPES; + } + + @Override + public Field field6() { + return SysMenu.SYS_MENU.URL; + } + + @Override + public Field field7() { + return SysMenu.SYS_MENU.ICON; + } + + @Override + public Field field8() { + return SysMenu.SYS_MENU.IS_OPEN; + } + + @Override + public Field field9() { + return SysMenu.SYS_MENU.DESCRIPTION; + } + + @Override + public Field field10() { + return SysMenu.SYS_MENU.SORT; + } + + @Override + public Field field11() { + return SysMenu.SYS_MENU.PARENTPATH; + } + + @Override + public String component1() { + return getId(); + } + + @Override + public String component2() { + return getParentId(); + } + + @Override + public Integer component3() { + return getLevel(); + } + + @Override + public String component4() { + return getName(); + } + + @Override + public String component5() { + return getTypes(); + } + + @Override + public String component6() { + return getUrl(); + } + + @Override + public String component7() { + return getIcon(); + } + + @Override + public Integer component8() { + return getIsOpen(); + } + + @Override + public String component9() { + return getDescription(); + } + + @Override + public Integer component10() { + return getSort(); + } + + @Override + public String component11() { + return getParentpath(); + } + + @Override + public String value1() { + return getId(); + } + + @Override + public String value2() { + return getParentId(); + } + + @Override + public Integer value3() { + return getLevel(); + } + + @Override + public String value4() { + return getName(); + } + + @Override + public String value5() { + return getTypes(); + } + + @Override + public String value6() { + return getUrl(); + } + + @Override + public String value7() { + return getIcon(); + } + + @Override + public Integer value8() { + return getIsOpen(); + } + + @Override + public String value9() { + return getDescription(); + } + + @Override + public Integer value10() { + return getSort(); + } + + @Override + public String value11() { + return getParentpath(); + } + + @Override + public SysMenuRecord value1(String value) { + setId(value); + return this; + } + + @Override + public SysMenuRecord value2(String value) { + setParentId(value); + return this; + } + + @Override + public SysMenuRecord value3(Integer value) { + setLevel(value); + return this; + } + + @Override + public SysMenuRecord value4(String value) { + setName(value); + return this; + } + + @Override + public SysMenuRecord value5(String value) { + setTypes(value); + return this; + } + + @Override + public SysMenuRecord value6(String value) { + setUrl(value); + return this; + } + + @Override + public SysMenuRecord value7(String value) { + setIcon(value); + return this; + } + + @Override + public SysMenuRecord value8(Integer value) { + setIsOpen(value); + return this; + } + + @Override + public SysMenuRecord value9(String value) { + setDescription(value); + return this; + } + + @Override + public SysMenuRecord value10(Integer value) { + setSort(value); + return this; + } + + @Override + public SysMenuRecord value11(String value) { + setParentpath(value); + return this; + } + + @Override + public SysMenuRecord values(String value1, String value2, Integer value3, String value4, String value5, String value6, String value7, Integer value8, String value9, Integer value10, String value11) { + value1(value1); + value2(value2); + value3(value3); + value4(value4); + value5(value5); + value6(value6); + value7(value7); + value8(value8); + value9(value9); + value10(value10); + value11(value11); + return this; + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached SysMenuRecord + */ + public SysMenuRecord() { + super(SysMenu.SYS_MENU); + } + + /** + * Create a detached, initialised SysMenuRecord + */ + public SysMenuRecord(String id, String parentId, Integer level, String name, String types, String url, String icon, Integer isOpen, String description, Integer sort, String parentpath) { + super(SysMenu.SYS_MENU); + + setId(id); + setParentId(parentId); + setLevel(level); + setName(name); + setTypes(types); + setUrl(url); + setIcon(icon); + setIsOpen(isOpen); + setDescription(description); + setSort(sort); + setParentpath(parentpath); + resetChangedOnNotNull(); + } + + /** + * Create a detached, initialised SysMenuRecord + */ + public SysMenuRecord(jj.tech.paolu.repository.jooq.tables.pojos.SysMenu value) { + super(SysMenu.SYS_MENU); + + if (value != null) { + setId(value.getId()); + setParentId(value.getParentId()); + setLevel(value.getLevel()); + setName(value.getName()); + setTypes(value.getTypes()); + setUrl(value.getUrl()); + setIcon(value.getIcon()); + setIsOpen(value.getIsOpen()); + setDescription(value.getDescription()); + setSort(value.getSort()); + setParentpath(value.getParentpath()); + resetChangedOnNotNull(); + } + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysOrgRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysOrgRecord.java new file mode 100644 index 0000000..5e1910b --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysOrgRecord.java @@ -0,0 +1,542 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.records; + + +import java.time.LocalDateTime; + +import jj.tech.paolu.repository.jooq.tables.SysOrg; + +import org.jooq.Record1; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysOrgRecord extends UpdatableRecordImpl { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.sys_org.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for public.sys_org.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for public.sys_org.pid. + */ + public void setPid(String value) { + set(1, value); + } + + /** + * Getter for public.sys_org.pid. + */ + public String getPid() { + return (String) get(1); + } + + /** + * Setter for public.sys_org.chinese_simple_name. + */ + public void setChineseSimpleName(String value) { + set(2, value); + } + + /** + * Getter for public.sys_org.chinese_simple_name. + */ + public String getChineseSimpleName() { + return (String) get(2); + } + + /** + * Setter for public.sys_org.english_simple_name. + */ + public void setEnglishSimpleName(String value) { + set(3, value); + } + + /** + * Getter for public.sys_org.english_simple_name. + */ + public String getEnglishSimpleName() { + return (String) get(3); + } + + /** + * Setter for public.sys_org.chinese_full_name. + */ + public void setChineseFullName(String value) { + set(4, value); + } + + /** + * Getter for public.sys_org.chinese_full_name. + */ + public String getChineseFullName() { + return (String) get(4); + } + + /** + * Setter for public.sys_org.english_full_name. + */ + public void setEnglishFullName(String value) { + set(5, value); + } + + /** + * Getter for public.sys_org.english_full_name. + */ + public String getEnglishFullName() { + return (String) get(5); + } + + /** + * Setter for public.sys_org.code. + */ + public void setCode(String value) { + set(6, value); + } + + /** + * Getter for public.sys_org.code. + */ + public String getCode() { + return (String) get(6); + } + + /** + * Setter for public.sys_org.sort. + */ + public void setSort(Integer value) { + set(7, value); + } + + /** + * Getter for public.sys_org.sort. + */ + public Integer getSort() { + return (Integer) get(7); + } + + /** + * Setter for public.sys_org.status. + */ + public void setStatus(Integer value) { + set(8, value); + } + + /** + * Getter for public.sys_org.status. + */ + public Integer getStatus() { + return (Integer) get(8); + } + + /** + * Setter for public.sys_org.is_company_department. + */ + public void setIsCompanyDepartment(Integer value) { + set(9, value); + } + + /** + * Getter for public.sys_org.is_company_department. + */ + public Integer getIsCompanyDepartment() { + return (Integer) get(9); + } + + /** + * Setter for public.sys_org.enterprise_legal_person. + */ + public void setEnterpriseLegalPerson(String value) { + set(10, value); + } + + /** + * Getter for public.sys_org.enterprise_legal_person. + */ + public String getEnterpriseLegalPerson() { + return (String) get(10); + } + + /** + * Setter for public.sys_org.contact_person. + */ + public void setContactPerson(String value) { + set(11, value); + } + + /** + * Getter for public.sys_org.contact_person. + */ + public String getContactPerson() { + return (String) get(11); + } + + /** + * Setter for public.sys_org.contact_phone. + */ + public void setContactPhone(String value) { + set(12, value); + } + + /** + * Getter for public.sys_org.contact_phone. + */ + public String getContactPhone() { + return (String) get(12); + } + + /** + * Setter for public.sys_org.remark. + */ + public void setRemark(String value) { + set(13, value); + } + + /** + * Getter for public.sys_org.remark. + */ + public String getRemark() { + return (String) get(13); + } + + /** + * Setter for public.sys_org.create_time. + */ + public void setCreateTime(LocalDateTime value) { + set(14, value); + } + + /** + * Getter for public.sys_org.create_time. + */ + public LocalDateTime getCreateTime() { + return (LocalDateTime) get(14); + } + + /** + * Setter for public.sys_org.create_user. + */ + public void setCreateUser(String value) { + set(15, value); + } + + /** + * Getter for public.sys_org.create_user. + */ + public String getCreateUser() { + return (String) get(15); + } + + /** + * Setter for public.sys_org.update_time. + */ + public void setUpdateTime(LocalDateTime value) { + set(16, value); + } + + /** + * Getter for public.sys_org.update_time. + */ + public LocalDateTime getUpdateTime() { + return (LocalDateTime) get(16); + } + + /** + * Setter for public.sys_org.update_user. + */ + public void setUpdateUser(String value) { + set(17, value); + } + + /** + * Getter for public.sys_org.update_user. + */ + public String getUpdateUser() { + return (String) get(17); + } + + /** + * Setter for public.sys_org.name. + */ + public void setName(String value) { + set(18, value); + } + + /** + * Getter for public.sys_org.name. + */ + public String getName() { + return (String) get(18); + } + + /** + * Setter for public.sys_org.industry_name. + */ + public void setIndustryName(String value) { + set(19, value); + } + + /** + * Getter for public.sys_org.industry_name. + */ + public String getIndustryName() { + return (String) get(19); + } + + /** + * Setter for public.sys_org.industry_code. + */ + public void setIndustryCode(String value) { + set(20, value); + } + + /** + * Getter for public.sys_org.industry_code. + */ + public String getIndustryCode() { + return (String) get(20); + } + + /** + * Setter for public.sys_org.province_code. + */ + public void setProvinceCode(String value) { + set(21, value); + } + + /** + * Getter for public.sys_org.province_code. + */ + public String getProvinceCode() { + return (String) get(21); + } + + /** + * Setter for public.sys_org.city_code. + */ + public void setCityCode(String value) { + set(22, value); + } + + /** + * Getter for public.sys_org.city_code. + */ + public String getCityCode() { + return (String) get(22); + } + + /** + * Setter for public.sys_org.area_code. + */ + public void setAreaCode(String value) { + set(23, value); + } + + /** + * Getter for public.sys_org.area_code. + */ + public String getAreaCode() { + return (String) get(23); + } + + /** + * Setter for public.sys_org.addr. + */ + public void setAddr(String value) { + set(24, value); + } + + /** + * Getter for public.sys_org.addr. + */ + public String getAddr() { + return (String) get(24); + } + + /** + * Setter for public.sys_org.uscc. + */ + public void setUscc(String value) { + set(25, value); + } + + /** + * Getter for public.sys_org.uscc. + */ + public String getUscc() { + return (String) get(25); + } + + /** + * Setter for public.sys_org.org_type. + */ + public void setOrgType(String value) { + set(26, value); + } + + /** + * Getter for public.sys_org.org_type. + */ + public String getOrgType() { + return (String) get(26); + } + + /** + * Setter for public.sys_org.is_archives_dep. + */ + public void setIsArchivesDep(Integer value) { + set(27, value); + } + + /** + * Getter for public.sys_org.is_archives_dep. + */ + public Integer getIsArchivesDep() { + return (Integer) get(27); + } + + /** + * Setter for public.sys_org.cer_id. + */ + public void setCerId(String value) { + set(28, value); + } + + /** + * Getter for public.sys_org.cer_id. + */ + public String getCerId() { + return (String) get(28); + } + + /** + * Setter for public.sys_org.is_forbidden. + */ + public void setIsForbidden(Integer value) { + set(29, value); + } + + /** + * Getter for public.sys_org.is_forbidden. + */ + public Integer getIsForbidden() { + return (Integer) get(29); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached SysOrgRecord + */ + public SysOrgRecord() { + super(SysOrg.SYS_ORG); + } + + /** + * Create a detached, initialised SysOrgRecord + */ + public SysOrgRecord(String id, String pid, String chineseSimpleName, String englishSimpleName, String chineseFullName, String englishFullName, String code, Integer sort, Integer status, Integer isCompanyDepartment, String enterpriseLegalPerson, String contactPerson, String contactPhone, String remark, LocalDateTime createTime, String createUser, LocalDateTime updateTime, String updateUser, String name, String industryName, String industryCode, String provinceCode, String cityCode, String areaCode, String addr, String uscc, String orgType, Integer isArchivesDep, String cerId, Integer isForbidden) { + super(SysOrg.SYS_ORG); + + setId(id); + setPid(pid); + setChineseSimpleName(chineseSimpleName); + setEnglishSimpleName(englishSimpleName); + setChineseFullName(chineseFullName); + setEnglishFullName(englishFullName); + setCode(code); + setSort(sort); + setStatus(status); + setIsCompanyDepartment(isCompanyDepartment); + setEnterpriseLegalPerson(enterpriseLegalPerson); + setContactPerson(contactPerson); + setContactPhone(contactPhone); + setRemark(remark); + setCreateTime(createTime); + setCreateUser(createUser); + setUpdateTime(updateTime); + setUpdateUser(updateUser); + setName(name); + setIndustryName(industryName); + setIndustryCode(industryCode); + setProvinceCode(provinceCode); + setCityCode(cityCode); + setAreaCode(areaCode); + setAddr(addr); + setUscc(uscc); + setOrgType(orgType); + setIsArchivesDep(isArchivesDep); + setCerId(cerId); + setIsForbidden(isForbidden); + resetChangedOnNotNull(); + } + + /** + * Create a detached, initialised SysOrgRecord + */ + public SysOrgRecord(jj.tech.paolu.repository.jooq.tables.pojos.SysOrg value) { + super(SysOrg.SYS_ORG); + + if (value != null) { + setId(value.getId()); + setPid(value.getPid()); + setChineseSimpleName(value.getChineseSimpleName()); + setEnglishSimpleName(value.getEnglishSimpleName()); + setChineseFullName(value.getChineseFullName()); + setEnglishFullName(value.getEnglishFullName()); + setCode(value.getCode()); + setSort(value.getSort()); + setStatus(value.getStatus()); + setIsCompanyDepartment(value.getIsCompanyDepartment()); + setEnterpriseLegalPerson(value.getEnterpriseLegalPerson()); + setContactPerson(value.getContactPerson()); + setContactPhone(value.getContactPhone()); + setRemark(value.getRemark()); + setCreateTime(value.getCreateTime()); + setCreateUser(value.getCreateUser()); + setUpdateTime(value.getUpdateTime()); + setUpdateUser(value.getUpdateUser()); + setName(value.getName()); + setIndustryName(value.getIndustryName()); + setIndustryCode(value.getIndustryCode()); + setProvinceCode(value.getProvinceCode()); + setCityCode(value.getCityCode()); + setAreaCode(value.getAreaCode()); + setAddr(value.getAddr()); + setUscc(value.getUscc()); + setOrgType(value.getOrgType()); + setIsArchivesDep(value.getIsArchivesDep()); + setCerId(value.getCerId()); + setIsForbidden(value.getIsForbidden()); + resetChangedOnNotNull(); + } + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysRoleMenuRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysRoleMenuRecord.java new file mode 100644 index 0000000..efe8c04 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysRoleMenuRecord.java @@ -0,0 +1,196 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.records; + + +import jj.tech.paolu.repository.jooq.tables.SysRoleMenu; + +import org.jooq.Field; +import org.jooq.Record1; +import org.jooq.Record3; +import org.jooq.Row3; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysRoleMenuRecord extends UpdatableRecordImpl implements Record3 { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.sys_role_menu.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for public.sys_role_menu.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for public.sys_role_menu.roleid. + */ + public void setRoleid(String value) { + set(1, value); + } + + /** + * Getter for public.sys_role_menu.roleid. + */ + public String getRoleid() { + return (String) get(1); + } + + /** + * Setter for public.sys_role_menu.menuid. + */ + public void setMenuid(String value) { + set(2, value); + } + + /** + * Getter for public.sys_role_menu.menuid. + */ + public String getMenuid() { + return (String) get(2); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Record3 type implementation + // ------------------------------------------------------------------------- + + @Override + public Row3 fieldsRow() { + return (Row3) super.fieldsRow(); + } + + @Override + public Row3 valuesRow() { + return (Row3) super.valuesRow(); + } + + @Override + public Field field1() { + return SysRoleMenu.SYS_ROLE_MENU.ID; + } + + @Override + public Field field2() { + return SysRoleMenu.SYS_ROLE_MENU.ROLEID; + } + + @Override + public Field field3() { + return SysRoleMenu.SYS_ROLE_MENU.MENUID; + } + + @Override + public String component1() { + return getId(); + } + + @Override + public String component2() { + return getRoleid(); + } + + @Override + public String component3() { + return getMenuid(); + } + + @Override + public String value1() { + return getId(); + } + + @Override + public String value2() { + return getRoleid(); + } + + @Override + public String value3() { + return getMenuid(); + } + + @Override + public SysRoleMenuRecord value1(String value) { + setId(value); + return this; + } + + @Override + public SysRoleMenuRecord value2(String value) { + setRoleid(value); + return this; + } + + @Override + public SysRoleMenuRecord value3(String value) { + setMenuid(value); + return this; + } + + @Override + public SysRoleMenuRecord values(String value1, String value2, String value3) { + value1(value1); + value2(value2); + value3(value3); + return this; + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached SysRoleMenuRecord + */ + public SysRoleMenuRecord() { + super(SysRoleMenu.SYS_ROLE_MENU); + } + + /** + * Create a detached, initialised SysRoleMenuRecord + */ + public SysRoleMenuRecord(String id, String roleid, String menuid) { + super(SysRoleMenu.SYS_ROLE_MENU); + + setId(id); + setRoleid(roleid); + setMenuid(menuid); + resetChangedOnNotNull(); + } + + /** + * Create a detached, initialised SysRoleMenuRecord + */ + public SysRoleMenuRecord(jj.tech.paolu.repository.jooq.tables.pojos.SysRoleMenu value) { + super(SysRoleMenu.SYS_ROLE_MENU); + + if (value != null) { + setId(value.getId()); + setRoleid(value.getRoleid()); + setMenuid(value.getMenuid()); + resetChangedOnNotNull(); + } + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysRoleRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysRoleRecord.java new file mode 100644 index 0000000..43b69cb --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysRoleRecord.java @@ -0,0 +1,424 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.records; + + +import jj.tech.paolu.repository.jooq.tables.SysRole; + +import org.jooq.Field; +import org.jooq.Record1; +import org.jooq.Record9; +import org.jooq.Row9; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysRoleRecord extends UpdatableRecordImpl implements Record9 { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.sys_role.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for public.sys_role.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for public.sys_role.rolename. + */ + public void setRolename(String value) { + set(1, value); + } + + /** + * Getter for public.sys_role.rolename. + */ + public String getRolename() { + return (String) get(1); + } + + /** + * Setter for public.sys_role.describe. + */ + public void setDescribe(String value) { + set(2, value); + } + + /** + * Getter for public.sys_role.describe. + */ + public String getDescribe() { + return (String) get(2); + } + + /** + * Setter for public.sys_role.sort. + */ + public void setSort(Integer value) { + set(3, value); + } + + /** + * Getter for public.sys_role.sort. + */ + public Integer getSort() { + return (Integer) get(3); + } + + /** + * Setter for public.sys_role.is_open. + */ + public void setIsOpen(Integer value) { + set(4, value); + } + + /** + * Getter for public.sys_role.is_open. + */ + public Integer getIsOpen() { + return (Integer) get(4); + } + + /** + * Setter for public.sys_role.sign_name. + */ + public void setSignName(String value) { + set(5, value); + } + + /** + * Getter for public.sys_role.sign_name. + */ + public String getSignName() { + return (String) get(5); + } + + /** + * Setter for public.sys_role.sign_id. + */ + public void setSignId(String value) { + set(6, value); + } + + /** + * Getter for public.sys_role.sign_id. + */ + public String getSignId() { + return (String) get(6); + } + + /** + * Setter for public.sys_role.company_id. + */ + public void setCompanyId(String value) { + set(7, value); + } + + /** + * Getter for public.sys_role.company_id. + */ + public String getCompanyId() { + return (String) get(7); + } + + /** + * Setter for public.sys_role.company_name. + */ + public void setCompanyName(String value) { + set(8, value); + } + + /** + * Getter for public.sys_role.company_name. + */ + public String getCompanyName() { + return (String) get(8); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Record9 type implementation + // ------------------------------------------------------------------------- + + @Override + public Row9 fieldsRow() { + return (Row9) super.fieldsRow(); + } + + @Override + public Row9 valuesRow() { + return (Row9) super.valuesRow(); + } + + @Override + public Field field1() { + return SysRole.SYS_ROLE.ID; + } + + @Override + public Field field2() { + return SysRole.SYS_ROLE.ROLENAME; + } + + @Override + public Field field3() { + return SysRole.SYS_ROLE.DESCRIBE; + } + + @Override + public Field field4() { + return SysRole.SYS_ROLE.SORT; + } + + @Override + public Field field5() { + return SysRole.SYS_ROLE.IS_OPEN; + } + + @Override + public Field field6() { + return SysRole.SYS_ROLE.SIGN_NAME; + } + + @Override + public Field field7() { + return SysRole.SYS_ROLE.SIGN_ID; + } + + @Override + public Field field8() { + return SysRole.SYS_ROLE.COMPANY_ID; + } + + @Override + public Field field9() { + return SysRole.SYS_ROLE.COMPANY_NAME; + } + + @Override + public String component1() { + return getId(); + } + + @Override + public String component2() { + return getRolename(); + } + + @Override + public String component3() { + return getDescribe(); + } + + @Override + public Integer component4() { + return getSort(); + } + + @Override + public Integer component5() { + return getIsOpen(); + } + + @Override + public String component6() { + return getSignName(); + } + + @Override + public String component7() { + return getSignId(); + } + + @Override + public String component8() { + return getCompanyId(); + } + + @Override + public String component9() { + return getCompanyName(); + } + + @Override + public String value1() { + return getId(); + } + + @Override + public String value2() { + return getRolename(); + } + + @Override + public String value3() { + return getDescribe(); + } + + @Override + public Integer value4() { + return getSort(); + } + + @Override + public Integer value5() { + return getIsOpen(); + } + + @Override + public String value6() { + return getSignName(); + } + + @Override + public String value7() { + return getSignId(); + } + + @Override + public String value8() { + return getCompanyId(); + } + + @Override + public String value9() { + return getCompanyName(); + } + + @Override + public SysRoleRecord value1(String value) { + setId(value); + return this; + } + + @Override + public SysRoleRecord value2(String value) { + setRolename(value); + return this; + } + + @Override + public SysRoleRecord value3(String value) { + setDescribe(value); + return this; + } + + @Override + public SysRoleRecord value4(Integer value) { + setSort(value); + return this; + } + + @Override + public SysRoleRecord value5(Integer value) { + setIsOpen(value); + return this; + } + + @Override + public SysRoleRecord value6(String value) { + setSignName(value); + return this; + } + + @Override + public SysRoleRecord value7(String value) { + setSignId(value); + return this; + } + + @Override + public SysRoleRecord value8(String value) { + setCompanyId(value); + return this; + } + + @Override + public SysRoleRecord value9(String value) { + setCompanyName(value); + return this; + } + + @Override + public SysRoleRecord values(String value1, String value2, String value3, Integer value4, Integer value5, String value6, String value7, String value8, String value9) { + value1(value1); + value2(value2); + value3(value3); + value4(value4); + value5(value5); + value6(value6); + value7(value7); + value8(value8); + value9(value9); + return this; + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached SysRoleRecord + */ + public SysRoleRecord() { + super(SysRole.SYS_ROLE); + } + + /** + * Create a detached, initialised SysRoleRecord + */ + public SysRoleRecord(String id, String rolename, String describe, Integer sort, Integer isOpen, String signName, String signId, String companyId, String companyName) { + super(SysRole.SYS_ROLE); + + setId(id); + setRolename(rolename); + setDescribe(describe); + setSort(sort); + setIsOpen(isOpen); + setSignName(signName); + setSignId(signId); + setCompanyId(companyId); + setCompanyName(companyName); + resetChangedOnNotNull(); + } + + /** + * Create a detached, initialised SysRoleRecord + */ + public SysRoleRecord(jj.tech.paolu.repository.jooq.tables.pojos.SysRole value) { + super(SysRole.SYS_ROLE); + + if (value != null) { + setId(value.getId()); + setRolename(value.getRolename()); + setDescribe(value.getDescribe()); + setSort(value.getSort()); + setIsOpen(value.getIsOpen()); + setSignName(value.getSignName()); + setSignId(value.getSignId()); + setCompanyId(value.getCompanyId()); + setCompanyName(value.getCompanyName()); + resetChangedOnNotNull(); + } + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysRoleSignRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysRoleSignRecord.java new file mode 100644 index 0000000..e969247 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysRoleSignRecord.java @@ -0,0 +1,196 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.records; + + +import jj.tech.paolu.repository.jooq.tables.SysRoleSign; + +import org.jooq.Field; +import org.jooq.Record1; +import org.jooq.Record3; +import org.jooq.Row3; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysRoleSignRecord extends UpdatableRecordImpl implements Record3 { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.sys_role_sign.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for public.sys_role_sign.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for public.sys_role_sign.sign_name. + */ + public void setSignName(String value) { + set(1, value); + } + + /** + * Getter for public.sys_role_sign.sign_name. + */ + public String getSignName() { + return (String) get(1); + } + + /** + * Setter for public.sys_role_sign.sign_code. + */ + public void setSignCode(String value) { + set(2, value); + } + + /** + * Getter for public.sys_role_sign.sign_code. + */ + public String getSignCode() { + return (String) get(2); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Record3 type implementation + // ------------------------------------------------------------------------- + + @Override + public Row3 fieldsRow() { + return (Row3) super.fieldsRow(); + } + + @Override + public Row3 valuesRow() { + return (Row3) super.valuesRow(); + } + + @Override + public Field field1() { + return SysRoleSign.SYS_ROLE_SIGN.ID; + } + + @Override + public Field field2() { + return SysRoleSign.SYS_ROLE_SIGN.SIGN_NAME; + } + + @Override + public Field field3() { + return SysRoleSign.SYS_ROLE_SIGN.SIGN_CODE; + } + + @Override + public String component1() { + return getId(); + } + + @Override + public String component2() { + return getSignName(); + } + + @Override + public String component3() { + return getSignCode(); + } + + @Override + public String value1() { + return getId(); + } + + @Override + public String value2() { + return getSignName(); + } + + @Override + public String value3() { + return getSignCode(); + } + + @Override + public SysRoleSignRecord value1(String value) { + setId(value); + return this; + } + + @Override + public SysRoleSignRecord value2(String value) { + setSignName(value); + return this; + } + + @Override + public SysRoleSignRecord value3(String value) { + setSignCode(value); + return this; + } + + @Override + public SysRoleSignRecord values(String value1, String value2, String value3) { + value1(value1); + value2(value2); + value3(value3); + return this; + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached SysRoleSignRecord + */ + public SysRoleSignRecord() { + super(SysRoleSign.SYS_ROLE_SIGN); + } + + /** + * Create a detached, initialised SysRoleSignRecord + */ + public SysRoleSignRecord(String id, String signName, String signCode) { + super(SysRoleSign.SYS_ROLE_SIGN); + + setId(id); + setSignName(signName); + setSignCode(signCode); + resetChangedOnNotNull(); + } + + /** + * Create a detached, initialised SysRoleSignRecord + */ + public SysRoleSignRecord(jj.tech.paolu.repository.jooq.tables.pojos.SysRoleSign value) { + super(SysRoleSign.SYS_ROLE_SIGN); + + if (value != null) { + setId(value.getId()); + setSignName(value.getSignName()); + setSignCode(value.getSignCode()); + resetChangedOnNotNull(); + } + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysRoleUrlRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysRoleUrlRecord.java new file mode 100644 index 0000000..b027a8f --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysRoleUrlRecord.java @@ -0,0 +1,234 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.records; + + +import jj.tech.paolu.repository.jooq.tables.SysRoleUrl; + +import org.jooq.Field; +import org.jooq.Record1; +import org.jooq.Record4; +import org.jooq.Row4; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysRoleUrlRecord extends UpdatableRecordImpl implements Record4 { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.sys_role_url.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for public.sys_role_url.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for public.sys_role_url.roleid. + */ + public void setRoleid(String value) { + set(1, value); + } + + /** + * Getter for public.sys_role_url.roleid. + */ + public String getRoleid() { + return (String) get(1); + } + + /** + * Setter for public.sys_role_url.url. + */ + public void setUrl(String value) { + set(2, value); + } + + /** + * Getter for public.sys_role_url.url. + */ + public String getUrl() { + return (String) get(2); + } + + /** + * Setter for public.sys_role_url.urltypes. + */ + public void setUrltypes(Integer value) { + set(3, value); + } + + /** + * Getter for public.sys_role_url.urltypes. + */ + public Integer getUrltypes() { + return (Integer) get(3); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Record4 type implementation + // ------------------------------------------------------------------------- + + @Override + public Row4 fieldsRow() { + return (Row4) super.fieldsRow(); + } + + @Override + public Row4 valuesRow() { + return (Row4) super.valuesRow(); + } + + @Override + public Field field1() { + return SysRoleUrl.SYS_ROLE_URL.ID; + } + + @Override + public Field field2() { + return SysRoleUrl.SYS_ROLE_URL.ROLEID; + } + + @Override + public Field field3() { + return SysRoleUrl.SYS_ROLE_URL.URL; + } + + @Override + public Field field4() { + return SysRoleUrl.SYS_ROLE_URL.URLTYPES; + } + + @Override + public String component1() { + return getId(); + } + + @Override + public String component2() { + return getRoleid(); + } + + @Override + public String component3() { + return getUrl(); + } + + @Override + public Integer component4() { + return getUrltypes(); + } + + @Override + public String value1() { + return getId(); + } + + @Override + public String value2() { + return getRoleid(); + } + + @Override + public String value3() { + return getUrl(); + } + + @Override + public Integer value4() { + return getUrltypes(); + } + + @Override + public SysRoleUrlRecord value1(String value) { + setId(value); + return this; + } + + @Override + public SysRoleUrlRecord value2(String value) { + setRoleid(value); + return this; + } + + @Override + public SysRoleUrlRecord value3(String value) { + setUrl(value); + return this; + } + + @Override + public SysRoleUrlRecord value4(Integer value) { + setUrltypes(value); + return this; + } + + @Override + public SysRoleUrlRecord values(String value1, String value2, String value3, Integer value4) { + value1(value1); + value2(value2); + value3(value3); + value4(value4); + return this; + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached SysRoleUrlRecord + */ + public SysRoleUrlRecord() { + super(SysRoleUrl.SYS_ROLE_URL); + } + + /** + * Create a detached, initialised SysRoleUrlRecord + */ + public SysRoleUrlRecord(String id, String roleid, String url, Integer urltypes) { + super(SysRoleUrl.SYS_ROLE_URL); + + setId(id); + setRoleid(roleid); + setUrl(url); + setUrltypes(urltypes); + resetChangedOnNotNull(); + } + + /** + * Create a detached, initialised SysRoleUrlRecord + */ + public SysRoleUrlRecord(jj.tech.paolu.repository.jooq.tables.pojos.SysRoleUrl value) { + super(SysRoleUrl.SYS_ROLE_URL); + + if (value != null) { + setId(value.getId()); + setRoleid(value.getRoleid()); + setUrl(value.getUrl()); + setUrltypes(value.getUrltypes()); + resetChangedOnNotNull(); + } + } +} diff --git a/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysUrlsRecord.java b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysUrlsRecord.java new file mode 100644 index 0000000..623785a --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/jooq/tables/records/SysUrlsRecord.java @@ -0,0 +1,348 @@ +/* + * This file is generated by jOOQ. + */ +package jj.tech.paolu.repository.jooq.tables.records; + + +import jj.tech.paolu.repository.jooq.tables.SysUrls; + +import org.jooq.Field; +import org.jooq.Record1; +import org.jooq.Record7; +import org.jooq.Row7; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class SysUrlsRecord extends UpdatableRecordImpl implements Record7 { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.sys_urls.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for public.sys_urls.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for public.sys_urls.pid. + */ + public void setPid(String value) { + set(1, value); + } + + /** + * Getter for public.sys_urls.pid. + */ + public String getPid() { + return (String) get(1); + } + + /** + * Setter for public.sys_urls.types. + */ + public void setTypes(Integer value) { + set(2, value); + } + + /** + * Getter for public.sys_urls.types. + */ + public Integer getTypes() { + return (Integer) get(2); + } + + /** + * Setter for public.sys_urls.level. + */ + public void setLevel(Integer value) { + set(3, value); + } + + /** + * Getter for public.sys_urls.level. + */ + public Integer getLevel() { + return (Integer) get(3); + } + + /** + * Setter for public.sys_urls.url. + */ + public void setUrl(String value) { + set(4, value); + } + + /** + * Getter for public.sys_urls.url. + */ + public String getUrl() { + return (String) get(4); + } + + /** + * Setter for public.sys_urls.name. + */ + public void setName(String value) { + set(5, value); + } + + /** + * Getter for public.sys_urls.name. + */ + public String getName() { + return (String) get(5); + } + + /** + * Setter for public.sys_urls.method. + */ + public void setMethod(String value) { + set(6, value); + } + + /** + * Getter for public.sys_urls.method. + */ + public String getMethod() { + return (String) get(6); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Record7 type implementation + // ------------------------------------------------------------------------- + + @Override + public Row7 fieldsRow() { + return (Row7) super.fieldsRow(); + } + + @Override + public Row7 valuesRow() { + return (Row7) super.valuesRow(); + } + + @Override + public Field field1() { + return SysUrls.SYS_URLS.ID; + } + + @Override + public Field field2() { + return SysUrls.SYS_URLS.PID; + } + + @Override + public Field field3() { + return SysUrls.SYS_URLS.TYPES; + } + + @Override + public Field field4() { + return SysUrls.SYS_URLS.LEVEL; + } + + @Override + public Field field5() { + return SysUrls.SYS_URLS.URL; + } + + @Override + public Field field6() { + return SysUrls.SYS_URLS.NAME; + } + + @Override + public Field field7() { + return SysUrls.SYS_URLS.METHOD; + } + + @Override + public String component1() { + return getId(); + } + + @Override + public String component2() { + return getPid(); + } + + @Override + public Integer component3() { + return getTypes(); + } + + @Override + public Integer component4() { + return getLevel(); + } + + @Override + public String component5() { + return getUrl(); + } + + @Override + public String component6() { + return getName(); + } + + @Override + public String component7() { + return getMethod(); + } + + @Override + public String value1() { + return getId(); + } + + @Override + public String value2() { + return getPid(); + } + + @Override + public Integer value3() { + return getTypes(); + } + + @Override + public Integer value4() { + return getLevel(); + } + + @Override + public String value5() { + return getUrl(); + } + + @Override + public String value6() { + return getName(); + } + + @Override + public String value7() { + return getMethod(); + } + + @Override + public SysUrlsRecord value1(String value) { + setId(value); + return this; + } + + @Override + public SysUrlsRecord value2(String value) { + setPid(value); + return this; + } + + @Override + public SysUrlsRecord value3(Integer value) { + setTypes(value); + return this; + } + + @Override + public SysUrlsRecord value4(Integer value) { + setLevel(value); + return this; + } + + @Override + public SysUrlsRecord value5(String value) { + setUrl(value); + return this; + } + + @Override + public SysUrlsRecord value6(String value) { + setName(value); + return this; + } + + @Override + public SysUrlsRecord value7(String value) { + setMethod(value); + return this; + } + + @Override + public SysUrlsRecord values(String value1, String value2, Integer value3, Integer value4, String value5, String value6, String value7) { + value1(value1); + value2(value2); + value3(value3); + value4(value4); + value5(value5); + value6(value6); + value7(value7); + return this; + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached SysUrlsRecord + */ + public SysUrlsRecord() { + super(SysUrls.SYS_URLS); + } + + /** + * Create a detached, initialised SysUrlsRecord + */ + public SysUrlsRecord(String id, String pid, Integer types, Integer level, String url, String name, String method) { + super(SysUrls.SYS_URLS); + + setId(id); + setPid(pid); + setTypes(types); + setLevel(level); + setUrl(url); + setName(name); + setMethod(method); + resetChangedOnNotNull(); + } + + /** + * Create a detached, initialised SysUrlsRecord + */ + public SysUrlsRecord(jj.tech.paolu.repository.jooq.tables.pojos.SysUrls value) { + super(SysUrls.SYS_URLS); + + if (value != null) { + setId(value.getId()); + setPid(value.getPid()); + setTypes(value.getTypes()); + setLevel(value.getLevel()); + setUrl(value.getUrl()); + setName(value.getName()); + setMethod(value.getMethod()); + resetChangedOnNotNull(); + } + } +} diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/ArchiveSynLogController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/ArchiveSynLogController.java new file mode 100644 index 0000000..4710a9b --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/ArchiveSynLogController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.ArchiveSynLogMapper; +import jj.tech.paolu.repository.mybatis.entity.ArchiveSynLog; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/archiveSynLog") +public class ArchiveSynLogController { + + @Autowired + public ArchiveSynLogMapper archiveSynLogMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(archiveSynLogMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(archiveSynLogMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody ArchiveSynLog record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(archiveSynLogMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody ArchiveSynLog record) { + return R.SUCCESS(archiveSynLogMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/ArchiveSynLogDetailController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/ArchiveSynLogDetailController.java new file mode 100644 index 0000000..342fae0 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/ArchiveSynLogDetailController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.ArchiveSynLogDetailMapper; +import jj.tech.paolu.repository.mybatis.entity.ArchiveSynLogDetail; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/archiveSynLogDetail") +public class ArchiveSynLogDetailController { + + @Autowired + public ArchiveSynLogDetailMapper archiveSynLogDetailMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(archiveSynLogDetailMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(archiveSynLogDetailMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody ArchiveSynLogDetail record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(archiveSynLogDetailMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody ArchiveSynLogDetail record) { + return R.SUCCESS(archiveSynLogDetailMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/ArchiveSynTimestampController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/ArchiveSynTimestampController.java new file mode 100644 index 0000000..44c4f59 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/ArchiveSynTimestampController.java @@ -0,0 +1,31 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.ArchiveSynTimestampMapper; +import jj.tech.paolu.repository.mybatis.entity.ArchiveSynTimestamp; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/archiveSynTimestamp") +public class ArchiveSynTimestampController { + + @Autowired + public ArchiveSynTimestampMapper archiveSynTimestampMapper; + + @PostMapping("findById/{node_id}/{node_type}") + public Object findById(@PathVariable("node_id") String node_id, @PathVariable("node_type") Integer node_type) { + return R.SUCCESS(archiveSynTimestampMapper.selectByPrimaryKey(node_id,node_type).orElse(null)); + } + + @PostMapping("delete/{node_id}/{node_type}") + public Object delete(@PathVariable("node_id") String node_id, @PathVariable("node_type") Integer node_type) { + return R.SUCCESS(archiveSynTimestampMapper.deleteByPrimaryKey(node_id,node_type)); + } + + @PostMapping("update") + public Object update(@RequestBody ArchiveSynTimestamp record) { + return R.SUCCESS(archiveSynTimestampMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/CertificateApplyController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/CertificateApplyController.java new file mode 100644 index 0000000..b5b694f --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/CertificateApplyController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.CertificateApplyMapper; +import jj.tech.paolu.repository.mybatis.entity.CertificateApply; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/certificateApply") +public class CertificateApplyController { + + @Autowired + public CertificateApplyMapper certificateApplyMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(certificateApplyMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(certificateApplyMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody CertificateApply record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(certificateApplyMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody CertificateApply record) { + return R.SUCCESS(certificateApplyMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/CertificateApplyRecordController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/CertificateApplyRecordController.java new file mode 100644 index 0000000..d2d42af --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/CertificateApplyRecordController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.CertificateApplyRecordMapper; +import jj.tech.paolu.repository.mybatis.entity.CertificateApplyRecord; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/certificateApplyRecord") +public class CertificateApplyRecordController { + + @Autowired + public CertificateApplyRecordMapper certificateApplyRecordMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(certificateApplyRecordMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(certificateApplyRecordMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody CertificateApplyRecord record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(certificateApplyRecordMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody CertificateApplyRecord record) { + return R.SUCCESS(certificateApplyRecordMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/CertificateDetailController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/CertificateDetailController.java new file mode 100644 index 0000000..bd7563b --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/CertificateDetailController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.CertificateDetailMapper; +import jj.tech.paolu.repository.mybatis.entity.CertificateDetail; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/certificateDetail") +public class CertificateDetailController { + + @Autowired + public CertificateDetailMapper certificateDetailMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(certificateDetailMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(certificateDetailMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody CertificateDetail record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(certificateDetailMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody CertificateDetail record) { + return R.SUCCESS(certificateDetailMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/DecryptLogController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/DecryptLogController.java new file mode 100644 index 0000000..b682895 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/DecryptLogController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.DecryptLogMapper; +import jj.tech.paolu.repository.mybatis.entity.DecryptLog; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/decryptLog") +public class DecryptLogController { + + @Autowired + public DecryptLogMapper decryptLogMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(decryptLogMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(decryptLogMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody DecryptLog record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(decryptLogMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody DecryptLog record) { + return R.SUCCESS(decryptLogMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/DownloadLogController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/DownloadLogController.java new file mode 100644 index 0000000..cc4d587 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/DownloadLogController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.DownloadLogMapper; +import jj.tech.paolu.repository.mybatis.entity.DownloadLog; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/downloadLog") +public class DownloadLogController { + + @Autowired + public DownloadLogMapper downloadLogMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(downloadLogMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(downloadLogMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody DownloadLog record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(downloadLogMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody DownloadLog record) { + return R.SUCCESS(downloadLogMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/FilesApplyCheckRecordController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/FilesApplyCheckRecordController.java new file mode 100644 index 0000000..5c13cf4 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/FilesApplyCheckRecordController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.FilesApplyCheckRecordMapper; +import jj.tech.paolu.repository.mybatis.entity.FilesApplyCheckRecord; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/filesApplyCheckRecord") +public class FilesApplyCheckRecordController { + + @Autowired + public FilesApplyCheckRecordMapper filesApplyCheckRecordMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(filesApplyCheckRecordMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(filesApplyCheckRecordMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody FilesApplyCheckRecord record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(filesApplyCheckRecordMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody FilesApplyCheckRecord record) { + return R.SUCCESS(filesApplyCheckRecordMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/FilesApplyController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/FilesApplyController.java new file mode 100644 index 0000000..0e68789 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/FilesApplyController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.FilesApplyMapper; +import jj.tech.paolu.repository.mybatis.entity.FilesApply; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/filesApply") +public class FilesApplyController { + + @Autowired + public FilesApplyMapper filesApplyMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(filesApplyMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(filesApplyMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody FilesApply record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(filesApplyMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody FilesApply record) { + return R.SUCCESS(filesApplyMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/FilesApplyDirectoryDocsController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/FilesApplyDirectoryDocsController.java new file mode 100644 index 0000000..99e7435 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/FilesApplyDirectoryDocsController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.FilesApplyDirectoryDocsMapper; +import jj.tech.paolu.repository.mybatis.entity.FilesApplyDirectoryDocs; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/filesApplyDirectoryDocs") +public class FilesApplyDirectoryDocsController { + + @Autowired + public FilesApplyDirectoryDocsMapper filesApplyDirectoryDocsMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(filesApplyDirectoryDocsMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(filesApplyDirectoryDocsMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody FilesApplyDirectoryDocs record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(filesApplyDirectoryDocsMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody FilesApplyDirectoryDocs record) { + return R.SUCCESS(filesApplyDirectoryDocsMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/FilesApplyDocsController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/FilesApplyDocsController.java new file mode 100644 index 0000000..799f481 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/FilesApplyDocsController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.FilesApplyDocsMapper; +import jj.tech.paolu.repository.mybatis.entity.FilesApplyDocs; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/filesApplyDocs") +public class FilesApplyDocsController { + + @Autowired + public FilesApplyDocsMapper filesApplyDocsMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(filesApplyDocsMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(filesApplyDocsMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody FilesApplyDocs record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(filesApplyDocsMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody FilesApplyDocs record) { + return R.SUCCESS(filesApplyDocsMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/FilesApplyDownloadRecordController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/FilesApplyDownloadRecordController.java new file mode 100644 index 0000000..e7a6f8e --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/FilesApplyDownloadRecordController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.FilesApplyDownloadRecordMapper; +import jj.tech.paolu.repository.mybatis.entity.FilesApplyDownloadRecord; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/filesApplyDownloadRecord") +public class FilesApplyDownloadRecordController { + + @Autowired + public FilesApplyDownloadRecordMapper filesApplyDownloadRecordMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(filesApplyDownloadRecordMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(filesApplyDownloadRecordMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody FilesApplyDownloadRecord record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(filesApplyDownloadRecordMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody FilesApplyDownloadRecord record) { + return R.SUCCESS(filesApplyDownloadRecordMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/PreShareDirectoryFileTagController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/PreShareDirectoryFileTagController.java new file mode 100644 index 0000000..06bada4 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/PreShareDirectoryFileTagController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.PreShareDirectoryFileTagMapper; +import jj.tech.paolu.repository.mybatis.entity.PreShareDirectoryFileTag; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/preShareDirectoryFileTag") +public class PreShareDirectoryFileTagController { + + @Autowired + public PreShareDirectoryFileTagMapper preShareDirectoryFileTagMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(preShareDirectoryFileTagMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(preShareDirectoryFileTagMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody PreShareDirectoryFileTag record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(preShareDirectoryFileTagMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody PreShareDirectoryFileTag record) { + return R.SUCCESS(preShareDirectoryFileTagMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/PreShareDirectoryTagController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/PreShareDirectoryTagController.java new file mode 100644 index 0000000..cbdd47d --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/PreShareDirectoryTagController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.PreShareDirectoryTagMapper; +import jj.tech.paolu.repository.mybatis.entity.PreShareDirectoryTag; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/preShareDirectoryTag") +public class PreShareDirectoryTagController { + + @Autowired + public PreShareDirectoryTagMapper preShareDirectoryTagMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(preShareDirectoryTagMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(preShareDirectoryTagMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody PreShareDirectoryTag record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(preShareDirectoryTagMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody PreShareDirectoryTag record) { + return R.SUCCESS(preShareDirectoryTagMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/PreShareFileTagController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/PreShareFileTagController.java new file mode 100644 index 0000000..3334f2e --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/PreShareFileTagController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.PreShareFileTagMapper; +import jj.tech.paolu.repository.mybatis.entity.PreShareFileTag; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/preShareFileTag") +public class PreShareFileTagController { + + @Autowired + public PreShareFileTagMapper preShareFileTagMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(preShareFileTagMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(preShareFileTagMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody PreShareFileTag record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(preShareFileTagMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody PreShareFileTag record) { + return R.SUCCESS(preShareFileTagMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/ProjectController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/ProjectController.java new file mode 100644 index 0000000..e13fdfb --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/ProjectController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.ProjectMapper; +import jj.tech.paolu.repository.mybatis.entity.Project; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/project") +public class ProjectController { + + @Autowired + public ProjectMapper projectMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(projectMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(projectMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody Project record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(projectMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody Project record) { + return R.SUCCESS(projectMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/ProviderController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/ProviderController.java new file mode 100644 index 0000000..05921f8 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/ProviderController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.ProviderMapper; +import jj.tech.paolu.repository.mybatis.entity.Provider; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/provider") +public class ProviderController { + + @Autowired + public ProviderMapper providerMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(providerMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(providerMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody Provider record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(providerMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody Provider record) { + return R.SUCCESS(providerMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/ReadLogController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/ReadLogController.java new file mode 100644 index 0000000..79bf408 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/ReadLogController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.ReadLogMapper; +import jj.tech.paolu.repository.mybatis.entity.ReadLog; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/readLog") +public class ReadLogController { + + @Autowired + public ReadLogMapper readLogMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(readLogMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(readLogMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody ReadLog record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(readLogMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody ReadLog record) { + return R.SUCCESS(readLogMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/ShareDirectoryController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/ShareDirectoryController.java new file mode 100644 index 0000000..0c0c531 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/ShareDirectoryController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.ShareDirectoryMapper; +import jj.tech.paolu.repository.mybatis.entity.ShareDirectory; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/shareDirectory") +public class ShareDirectoryController { + + @Autowired + public ShareDirectoryMapper shareDirectoryMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(shareDirectoryMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(shareDirectoryMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody ShareDirectory record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(shareDirectoryMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody ShareDirectory record) { + return R.SUCCESS(shareDirectoryMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/ShareDirectoryFileController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/ShareDirectoryFileController.java new file mode 100644 index 0000000..6b4b3d4 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/ShareDirectoryFileController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.ShareDirectoryFileMapper; +import jj.tech.paolu.repository.mybatis.entity.ShareDirectoryFile; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/shareDirectoryFile") +public class ShareDirectoryFileController { + + @Autowired + public ShareDirectoryFileMapper shareDirectoryFileMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(shareDirectoryFileMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(shareDirectoryFileMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody ShareDirectoryFile record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(shareDirectoryFileMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody ShareDirectoryFile record) { + return R.SUCCESS(shareDirectoryFileMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/ShareFileController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/ShareFileController.java new file mode 100644 index 0000000..476cc14 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/ShareFileController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.ShareFileMapper; +import jj.tech.paolu.repository.mybatis.entity.ShareFile; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/shareFile") +public class ShareFileController { + + @Autowired + public ShareFileMapper shareFileMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(shareFileMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(shareFileMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody ShareFile record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(shareFileMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody ShareFile record) { + return R.SUCCESS(shareFileMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/SharedElementUpdateDetailController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/SharedElementUpdateDetailController.java new file mode 100644 index 0000000..217a911 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/SharedElementUpdateDetailController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.SharedElementUpdateDetailMapper; +import jj.tech.paolu.repository.mybatis.entity.SharedElementUpdateDetail; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/sharedElementUpdateDetail") +public class SharedElementUpdateDetailController { + + @Autowired + public SharedElementUpdateDetailMapper sharedElementUpdateDetailMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(sharedElementUpdateDetailMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(sharedElementUpdateDetailMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody SharedElementUpdateDetail record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(sharedElementUpdateDetailMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody SharedElementUpdateDetail record) { + return R.SUCCESS(sharedElementUpdateDetailMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/SharedElementUpdateRecordController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/SharedElementUpdateRecordController.java new file mode 100644 index 0000000..252750c --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/SharedElementUpdateRecordController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.SharedElementUpdateRecordMapper; +import jj.tech.paolu.repository.mybatis.entity.SharedElementUpdateRecord; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/sharedElementUpdateRecord") +public class SharedElementUpdateRecordController { + + @Autowired + public SharedElementUpdateRecordMapper sharedElementUpdateRecordMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(sharedElementUpdateRecordMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(sharedElementUpdateRecordMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody SharedElementUpdateRecord record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(sharedElementUpdateRecordMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody SharedElementUpdateRecord record) { + return R.SUCCESS(sharedElementUpdateRecordMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/SharedRuleConfigController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/SharedRuleConfigController.java new file mode 100644 index 0000000..871827e --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/SharedRuleConfigController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.SharedRuleConfigMapper; +import jj.tech.paolu.repository.mybatis.entity.SharedRuleConfig; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/sharedRuleConfig") +public class SharedRuleConfigController { + + @Autowired + public SharedRuleConfigMapper sharedRuleConfigMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(sharedRuleConfigMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(sharedRuleConfigMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody SharedRuleConfig record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(sharedRuleConfigMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody SharedRuleConfig record) { + return R.SUCCESS(sharedRuleConfigMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/SharedSynAllController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/SharedSynAllController.java new file mode 100644 index 0000000..73ba5b0 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/SharedSynAllController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.SharedSynAllMapper; +import jj.tech.paolu.repository.mybatis.entity.SharedSynAll; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/sharedSynAll") +public class SharedSynAllController { + + @Autowired + public SharedSynAllMapper sharedSynAllMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(sharedSynAllMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(sharedSynAllMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody SharedSynAll record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(sharedSynAllMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody SharedSynAll record) { + return R.SUCCESS(sharedSynAllMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/SynDirectoryController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/SynDirectoryController.java new file mode 100644 index 0000000..9838314 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/SynDirectoryController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.SynDirectoryMapper; +import jj.tech.paolu.repository.mybatis.entity.SynDirectory; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/synDirectory") +public class SynDirectoryController { + + @Autowired + public SynDirectoryMapper synDirectoryMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(synDirectoryMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(synDirectoryMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody SynDirectory record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(synDirectoryMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody SynDirectory record) { + return R.SUCCESS(synDirectoryMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/SynDirectoryFileController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/SynDirectoryFileController.java new file mode 100644 index 0000000..b293ea5 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/SynDirectoryFileController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.SynDirectoryFileMapper; +import jj.tech.paolu.repository.mybatis.entity.SynDirectoryFile; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/synDirectoryFile") +public class SynDirectoryFileController { + + @Autowired + public SynDirectoryFileMapper synDirectoryFileMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(synDirectoryFileMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(synDirectoryFileMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody SynDirectoryFile record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(synDirectoryFileMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody SynDirectoryFile record) { + return R.SUCCESS(synDirectoryFileMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/SynFileController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/SynFileController.java new file mode 100644 index 0000000..72f4879 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/SynFileController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.SynFileMapper; +import jj.tech.paolu.repository.mybatis.entity.SynFile; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/synFile") +public class SynFileController { + + @Autowired + public SynFileMapper synFileMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(synFileMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(synFileMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody SynFile record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(synFileMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody SynFile record) { + return R.SUCCESS(synFileMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/Sync2blockchainTaskController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/Sync2blockchainTaskController.java new file mode 100644 index 0000000..4fb9f9f --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/Sync2blockchainTaskController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.Sync2blockchainTaskMapper; +import jj.tech.paolu.repository.mybatis.entity.Sync2blockchainTask; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/sync2blockchainTask") +public class Sync2blockchainTaskController { + + @Autowired + public Sync2blockchainTaskMapper sync2blockchainTaskMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(sync2blockchainTaskMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(sync2blockchainTaskMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody Sync2blockchainTask record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(sync2blockchainTaskMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody Sync2blockchainTask record) { + return R.SUCCESS(sync2blockchainTaskMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/SysAdminController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/SysAdminController.java new file mode 100644 index 0000000..ffafb2f --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/SysAdminController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.SysAdminMapper; +import jj.tech.paolu.repository.mybatis.entity.SysAdmin; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/sysAdmin") +public class SysAdminController { + + @Autowired + public SysAdminMapper sysAdminMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(sysAdminMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(sysAdminMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody SysAdmin record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(sysAdminMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody SysAdmin record) { + return R.SUCCESS(sysAdminMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/SysAdminRoleController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/SysAdminRoleController.java new file mode 100644 index 0000000..3081580 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/SysAdminRoleController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.SysAdminRoleMapper; +import jj.tech.paolu.repository.mybatis.entity.SysAdminRole; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/sysAdminRole") +public class SysAdminRoleController { + + @Autowired + public SysAdminRoleMapper sysAdminRoleMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(sysAdminRoleMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(sysAdminRoleMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody SysAdminRole record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(sysAdminRoleMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody SysAdminRole record) { + return R.SUCCESS(sysAdminRoleMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/SysAdminWeidController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/SysAdminWeidController.java new file mode 100644 index 0000000..871f01c --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/SysAdminWeidController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.SysAdminWeidMapper; +import jj.tech.paolu.repository.mybatis.entity.SysAdminWeid; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/sysAdminWeid") +public class SysAdminWeidController { + + @Autowired + public SysAdminWeidMapper sysAdminWeidMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(sysAdminWeidMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(sysAdminWeidMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody SysAdminWeid record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(sysAdminWeidMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody SysAdminWeid record) { + return R.SUCCESS(sysAdminWeidMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/SysAreaController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/SysAreaController.java new file mode 100644 index 0000000..4378b6a --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/SysAreaController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.SysAreaMapper; +import jj.tech.paolu.repository.mybatis.entity.SysArea; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/sysArea") +public class SysAreaController { + + @Autowired + public SysAreaMapper sysAreaMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(sysAreaMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(sysAreaMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody SysArea record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(sysAreaMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody SysArea record) { + return R.SUCCESS(sysAreaMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/SysConfigController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/SysConfigController.java new file mode 100644 index 0000000..eefbfb5 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/SysConfigController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.SysConfigMapper; +import jj.tech.paolu.repository.mybatis.entity.SysConfig; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/sysConfig") +public class SysConfigController { + + @Autowired + public SysConfigMapper sysConfigMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(sysConfigMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(sysConfigMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody SysConfig record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(sysConfigMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody SysConfig record) { + return R.SUCCESS(sysConfigMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/SysMenuController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/SysMenuController.java new file mode 100644 index 0000000..da5aa8e --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/SysMenuController.java @@ -0,0 +1,37 @@ +//package jj.tech.paolu.repository.mybatis.control; +// +//import jj.tech.paolu.repository.mybatis.dao.SysMenuMapper; +//import jj.tech.paolu.repository.mybatis.entity.SysMenu; +//import jj.tech.paolu.utils.IDHelp; +//import jj.tech.paolu.utils.R; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.web.bind.annotation.*; +// +//@RestController +//@RequestMapping("mybatis/sysMenu") +//public class SysMenuController { +// +// @Autowired +// public SysMenuMapper sysMenuMapper; +// +// @PostMapping("findById/{id}") +// public Object findById(@PathVariable("id") String id) { +// return R.SUCCESS(sysMenuMapper.selectByPrimaryKey(id).orElse(null)); +// } +// +// @PostMapping("delete/{id}") +// public Object delete(@PathVariable("id") String id) { +// return R.SUCCESS(sysMenuMapper.deleteByPrimaryKey(id)); +// } +// +// @PostMapping("save") +// public Object save(@RequestBody SysMenu record) { +// record.setId(IDHelp.getInstance().nextId()); +// return R.SUCCESS(sysMenuMapper.insertSelective(record)); +// } +// +// @PostMapping("update") +// public Object update(@RequestBody SysMenu record) { +// return R.SUCCESS(sysMenuMapper.updateByPrimaryKeySelective(record)); +// } +//} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/SysOrgController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/SysOrgController.java new file mode 100644 index 0000000..bd87b7d --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/SysOrgController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.SysOrgMapper; +import jj.tech.paolu.repository.mybatis.entity.SysOrg; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/sysOrg") +public class SysOrgController { + + @Autowired + public SysOrgMapper sysOrgMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(sysOrgMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(sysOrgMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody SysOrg record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(sysOrgMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody SysOrg record) { + return R.SUCCESS(sysOrgMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/SysRoleController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/SysRoleController.java new file mode 100644 index 0000000..553fcdb --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/SysRoleController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.SysRoleMapper; +import jj.tech.paolu.repository.mybatis.entity.SysRole; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/sysRole") +public class SysRoleController { + + @Autowired + public SysRoleMapper sysRoleMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(sysRoleMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(sysRoleMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody SysRole record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(sysRoleMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody SysRole record) { + return R.SUCCESS(sysRoleMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/SysRoleMenuController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/SysRoleMenuController.java new file mode 100644 index 0000000..dd8836a --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/SysRoleMenuController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.SysRoleMenuMapper; +import jj.tech.paolu.repository.mybatis.entity.SysRoleMenu; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/sysRoleMenu") +public class SysRoleMenuController { + + @Autowired + public SysRoleMenuMapper sysRoleMenuMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(sysRoleMenuMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(sysRoleMenuMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody SysRoleMenu record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(sysRoleMenuMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody SysRoleMenu record) { + return R.SUCCESS(sysRoleMenuMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/SysRoleSignController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/SysRoleSignController.java new file mode 100644 index 0000000..478adec --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/SysRoleSignController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.SysRoleSignMapper; +import jj.tech.paolu.repository.mybatis.entity.SysRoleSign; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/sysRoleSign") +public class SysRoleSignController { + + @Autowired + public SysRoleSignMapper sysRoleSignMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(sysRoleSignMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(sysRoleSignMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody SysRoleSign record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(sysRoleSignMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody SysRoleSign record) { + return R.SUCCESS(sysRoleSignMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/SysRoleUrlController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/SysRoleUrlController.java new file mode 100644 index 0000000..a2f7411 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/SysRoleUrlController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.SysRoleUrlMapper; +import jj.tech.paolu.repository.mybatis.entity.SysRoleUrl; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/sysRoleUrl") +public class SysRoleUrlController { + + @Autowired + public SysRoleUrlMapper sysRoleUrlMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(sysRoleUrlMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(sysRoleUrlMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody SysRoleUrl record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(sysRoleUrlMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody SysRoleUrl record) { + return R.SUCCESS(sysRoleUrlMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/control/SysUrlsController.java b/src/main/java/jj/tech/paolu/repository/mybatis/control/SysUrlsController.java new file mode 100644 index 0000000..34e169d --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/control/SysUrlsController.java @@ -0,0 +1,37 @@ +package jj.tech.paolu.repository.mybatis.control; + +import jj.tech.paolu.repository.mybatis.dao.SysUrlsMapper; +import jj.tech.paolu.repository.mybatis.entity.SysUrls; +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("mybatis/sysUrls") +public class SysUrlsController { + + @Autowired + public SysUrlsMapper sysUrlsMapper; + + @PostMapping("findById/{id}") + public Object findById(@PathVariable("id") String id) { + return R.SUCCESS(sysUrlsMapper.selectByPrimaryKey(id).orElse(null)); + } + + @PostMapping("delete/{id}") + public Object delete(@PathVariable("id") String id) { + return R.SUCCESS(sysUrlsMapper.deleteByPrimaryKey(id)); + } + + @PostMapping("save") + public Object save(@RequestBody SysUrls record) { + record.setId(IDHelp.getInstance().nextId()); + return R.SUCCESS(sysUrlsMapper.insertSelective(record)); + } + + @PostMapping("update") + public Object update(@RequestBody SysUrls record) { + return R.SUCCESS(sysUrlsMapper.updateByPrimaryKeySelective(record)); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/ArchiveSynLogDetailMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/ArchiveSynLogDetailMapper.java new file mode 100644 index 0000000..5564182 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/ArchiveSynLogDetailMapper.java @@ -0,0 +1,177 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.ArchiveSynLogDetailDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.ArchiveSynLogDetail; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface ArchiveSynLogDetailMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6567952+08:00", comments="Source Table: public.archive_syn_log_detail") + BasicColumn[] selectList = BasicColumn.columnList(id, node_id, note_type, process_type, create_time, log_id); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6477277+08:00", comments="Source Table: public.archive_syn_log_detail") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="ArchiveSynLogDetailResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="node_id", property="node_id", jdbcType=JdbcType.VARCHAR), + @Result(column="note_type", property="note_type", jdbcType=JdbcType.INTEGER), + @Result(column="process_type", property="process_type", jdbcType=JdbcType.INTEGER), + @Result(column="create_time", property="create_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="log_id", property="log_id", jdbcType=JdbcType.VARCHAR) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.648734+08:00", comments="Source Table: public.archive_syn_log_detail") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("ArchiveSynLogDetailResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6499717+08:00", comments="Source Table: public.archive_syn_log_detail") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, archiveSynLogDetail, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6499717+08:00", comments="Source Table: public.archive_syn_log_detail") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, archiveSynLogDetail, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6499717+08:00", comments="Source Table: public.archive_syn_log_detail") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6511217+08:00", comments="Source Table: public.archive_syn_log_detail") + default int insert(ArchiveSynLogDetail row) { + return MyBatis3Utils.insert(this::insert, row, archiveSynLogDetail, c -> + c.map(id).toProperty("id") + .map(node_id).toProperty("node_id") + .map(note_type).toProperty("note_type") + .map(process_type).toProperty("process_type") + .map(create_time).toProperty("create_time") + .map(log_id).toProperty("log_id") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6544067+08:00", comments="Source Table: public.archive_syn_log_detail") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, archiveSynLogDetail, c -> + c.map(id).toProperty("id") + .map(node_id).toProperty("node_id") + .map(note_type).toProperty("note_type") + .map(process_type).toProperty("process_type") + .map(create_time).toProperty("create_time") + .map(log_id).toProperty("log_id") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6554066+08:00", comments="Source Table: public.archive_syn_log_detail") + default int insertSelective(ArchiveSynLogDetail row) { + return MyBatis3Utils.insert(this::insert, row, archiveSynLogDetail, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(node_id).toPropertyWhenPresent("node_id", row::getNode_id) + .map(note_type).toPropertyWhenPresent("note_type", row::getNote_type) + .map(process_type).toPropertyWhenPresent("process_type", row::getProcess_type) + .map(create_time).toPropertyWhenPresent("create_time", row::getCreate_time) + .map(log_id).toPropertyWhenPresent("log_id", row::getLog_id) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6567952+08:00", comments="Source Table: public.archive_syn_log_detail") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, archiveSynLogDetail, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6578+08:00", comments="Source Table: public.archive_syn_log_detail") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, archiveSynLogDetail, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6578+08:00", comments="Source Table: public.archive_syn_log_detail") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, archiveSynLogDetail, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6578+08:00", comments="Source Table: public.archive_syn_log_detail") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6587996+08:00", comments="Source Table: public.archive_syn_log_detail") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, archiveSynLogDetail, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6587996+08:00", comments="Source Table: public.archive_syn_log_detail") + static UpdateDSL updateAllColumns(ArchiveSynLogDetail row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(node_id).equalTo(row::getNode_id) + .set(note_type).equalTo(row::getNote_type) + .set(process_type).equalTo(row::getProcess_type) + .set(create_time).equalTo(row::getCreate_time) + .set(log_id).equalTo(row::getLog_id); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6587996+08:00", comments="Source Table: public.archive_syn_log_detail") + static UpdateDSL updateSelectiveColumns(ArchiveSynLogDetail row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(node_id).equalToWhenPresent(row::getNode_id) + .set(note_type).equalToWhenPresent(row::getNote_type) + .set(process_type).equalToWhenPresent(row::getProcess_type) + .set(create_time).equalToWhenPresent(row::getCreate_time) + .set(log_id).equalToWhenPresent(row::getLog_id); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6597992+08:00", comments="Source Table: public.archive_syn_log_detail") + default int updateByPrimaryKey(ArchiveSynLogDetail row) { + return update(c -> + c.set(node_id).equalTo(row::getNode_id) + .set(note_type).equalTo(row::getNote_type) + .set(process_type).equalTo(row::getProcess_type) + .set(create_time).equalTo(row::getCreate_time) + .set(log_id).equalTo(row::getLog_id) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6609965+08:00", comments="Source Table: public.archive_syn_log_detail") + default int updateByPrimaryKeySelective(ArchiveSynLogDetail row) { + return update(c -> + c.set(node_id).equalToWhenPresent(row::getNode_id) + .set(note_type).equalToWhenPresent(row::getNote_type) + .set(process_type).equalToWhenPresent(row::getProcess_type) + .set(create_time).equalToWhenPresent(row::getCreate_time) + .set(log_id).equalToWhenPresent(row::getLog_id) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/ArchiveSynLogMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/ArchiveSynLogMapper.java new file mode 100644 index 0000000..1c6c81e --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/ArchiveSynLogMapper.java @@ -0,0 +1,233 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.ArchiveSynLogDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.ArchiveSynLog; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface ArchiveSynLogMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2891521+08:00", comments="Source Table: public.archive_syn_log") + BasicColumn[] selectList = BasicColumn.columnList(id, start_time, insert_dir_count, update_dir_count, insert_dirfile_count, update_dirfile_count, insert_file_count, update_file_count, description, run_result, update_timestamp, next_update_timestamp, end_time); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source Table: public.archive_syn_log") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="ArchiveSynLogResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="start_time", property="start_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="insert_dir_count", property="insert_dir_count", jdbcType=JdbcType.BIGINT), + @Result(column="update_dir_count", property="update_dir_count", jdbcType=JdbcType.BIGINT), + @Result(column="insert_dirfile_count", property="insert_dirfile_count", jdbcType=JdbcType.BIGINT), + @Result(column="update_dirfile_count", property="update_dirfile_count", jdbcType=JdbcType.BIGINT), + @Result(column="insert_file_count", property="insert_file_count", jdbcType=JdbcType.BIGINT), + @Result(column="update_file_count", property="update_file_count", jdbcType=JdbcType.BIGINT), + @Result(column="description", property="description", jdbcType=JdbcType.VARCHAR), + @Result(column="run_result", property="run_result", jdbcType=JdbcType.VARCHAR), + @Result(column="update_timestamp", property="update_timestamp", jdbcType=JdbcType.BIGINT), + @Result(column="next_update_timestamp", property="next_update_timestamp", jdbcType=JdbcType.BIGINT), + @Result(column="end_time", property="end_time", jdbcType=JdbcType.TIMESTAMP) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source Table: public.archive_syn_log") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("ArchiveSynLogResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source Table: public.archive_syn_log") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, archiveSynLog, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source Table: public.archive_syn_log") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, archiveSynLog, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source Table: public.archive_syn_log") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source Table: public.archive_syn_log") + default int insert(ArchiveSynLog row) { + return MyBatis3Utils.insert(this::insert, row, archiveSynLog, c -> + c.map(id).toProperty("id") + .map(start_time).toProperty("start_time") + .map(insert_dir_count).toProperty("insert_dir_count") + .map(update_dir_count).toProperty("update_dir_count") + .map(insert_dirfile_count).toProperty("insert_dirfile_count") + .map(update_dirfile_count).toProperty("update_dirfile_count") + .map(insert_file_count).toProperty("insert_file_count") + .map(update_file_count).toProperty("update_file_count") + .map(description).toProperty("description") + .map(run_result).toProperty("run_result") + .map(update_timestamp).toProperty("update_timestamp") + .map(next_update_timestamp).toProperty("next_update_timestamp") + .map(end_time).toProperty("end_time") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2891521+08:00", comments="Source Table: public.archive_syn_log") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, archiveSynLog, c -> + c.map(id).toProperty("id") + .map(start_time).toProperty("start_time") + .map(insert_dir_count).toProperty("insert_dir_count") + .map(update_dir_count).toProperty("update_dir_count") + .map(insert_dirfile_count).toProperty("insert_dirfile_count") + .map(update_dirfile_count).toProperty("update_dirfile_count") + .map(insert_file_count).toProperty("insert_file_count") + .map(update_file_count).toProperty("update_file_count") + .map(description).toProperty("description") + .map(run_result).toProperty("run_result") + .map(update_timestamp).toProperty("update_timestamp") + .map(next_update_timestamp).toProperty("next_update_timestamp") + .map(end_time).toProperty("end_time") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2891521+08:00", comments="Source Table: public.archive_syn_log") + default int insertSelective(ArchiveSynLog row) { + return MyBatis3Utils.insert(this::insert, row, archiveSynLog, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(start_time).toPropertyWhenPresent("start_time", row::getStart_time) + .map(insert_dir_count).toPropertyWhenPresent("insert_dir_count", row::getInsert_dir_count) + .map(update_dir_count).toPropertyWhenPresent("update_dir_count", row::getUpdate_dir_count) + .map(insert_dirfile_count).toPropertyWhenPresent("insert_dirfile_count", row::getInsert_dirfile_count) + .map(update_dirfile_count).toPropertyWhenPresent("update_dirfile_count", row::getUpdate_dirfile_count) + .map(insert_file_count).toPropertyWhenPresent("insert_file_count", row::getInsert_file_count) + .map(update_file_count).toPropertyWhenPresent("update_file_count", row::getUpdate_file_count) + .map(description).toPropertyWhenPresent("description", row::getDescription) + .map(run_result).toPropertyWhenPresent("run_result", row::getRun_result) + .map(update_timestamp).toPropertyWhenPresent("update_timestamp", row::getUpdate_timestamp) + .map(next_update_timestamp).toPropertyWhenPresent("next_update_timestamp", row::getNext_update_timestamp) + .map(end_time).toPropertyWhenPresent("end_time", row::getEnd_time) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2891521+08:00", comments="Source Table: public.archive_syn_log") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, archiveSynLog, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2891521+08:00", comments="Source Table: public.archive_syn_log") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, archiveSynLog, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2891521+08:00", comments="Source Table: public.archive_syn_log") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, archiveSynLog, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2891521+08:00", comments="Source Table: public.archive_syn_log") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2891521+08:00", comments="Source Table: public.archive_syn_log") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, archiveSynLog, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2891521+08:00", comments="Source Table: public.archive_syn_log") + static UpdateDSL updateAllColumns(ArchiveSynLog row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(start_time).equalTo(row::getStart_time) + .set(insert_dir_count).equalTo(row::getInsert_dir_count) + .set(update_dir_count).equalTo(row::getUpdate_dir_count) + .set(insert_dirfile_count).equalTo(row::getInsert_dirfile_count) + .set(update_dirfile_count).equalTo(row::getUpdate_dirfile_count) + .set(insert_file_count).equalTo(row::getInsert_file_count) + .set(update_file_count).equalTo(row::getUpdate_file_count) + .set(description).equalTo(row::getDescription) + .set(run_result).equalTo(row::getRun_result) + .set(update_timestamp).equalTo(row::getUpdate_timestamp) + .set(next_update_timestamp).equalTo(row::getNext_update_timestamp) + .set(end_time).equalTo(row::getEnd_time); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2891521+08:00", comments="Source Table: public.archive_syn_log") + static UpdateDSL updateSelectiveColumns(ArchiveSynLog row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(start_time).equalToWhenPresent(row::getStart_time) + .set(insert_dir_count).equalToWhenPresent(row::getInsert_dir_count) + .set(update_dir_count).equalToWhenPresent(row::getUpdate_dir_count) + .set(insert_dirfile_count).equalToWhenPresent(row::getInsert_dirfile_count) + .set(update_dirfile_count).equalToWhenPresent(row::getUpdate_dirfile_count) + .set(insert_file_count).equalToWhenPresent(row::getInsert_file_count) + .set(update_file_count).equalToWhenPresent(row::getUpdate_file_count) + .set(description).equalToWhenPresent(row::getDescription) + .set(run_result).equalToWhenPresent(row::getRun_result) + .set(update_timestamp).equalToWhenPresent(row::getUpdate_timestamp) + .set(next_update_timestamp).equalToWhenPresent(row::getNext_update_timestamp) + .set(end_time).equalToWhenPresent(row::getEnd_time); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2891521+08:00", comments="Source Table: public.archive_syn_log") + default int updateByPrimaryKey(ArchiveSynLog row) { + return update(c -> + c.set(start_time).equalTo(row::getStart_time) + .set(insert_dir_count).equalTo(row::getInsert_dir_count) + .set(update_dir_count).equalTo(row::getUpdate_dir_count) + .set(insert_dirfile_count).equalTo(row::getInsert_dirfile_count) + .set(update_dirfile_count).equalTo(row::getUpdate_dirfile_count) + .set(insert_file_count).equalTo(row::getInsert_file_count) + .set(update_file_count).equalTo(row::getUpdate_file_count) + .set(description).equalTo(row::getDescription) + .set(run_result).equalTo(row::getRun_result) + .set(update_timestamp).equalTo(row::getUpdate_timestamp) + .set(next_update_timestamp).equalTo(row::getNext_update_timestamp) + .set(end_time).equalTo(row::getEnd_time) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2891521+08:00", comments="Source Table: public.archive_syn_log") + default int updateByPrimaryKeySelective(ArchiveSynLog row) { + return update(c -> + c.set(start_time).equalToWhenPresent(row::getStart_time) + .set(insert_dir_count).equalToWhenPresent(row::getInsert_dir_count) + .set(update_dir_count).equalToWhenPresent(row::getUpdate_dir_count) + .set(insert_dirfile_count).equalToWhenPresent(row::getInsert_dirfile_count) + .set(update_dirfile_count).equalToWhenPresent(row::getUpdate_dirfile_count) + .set(insert_file_count).equalToWhenPresent(row::getInsert_file_count) + .set(update_file_count).equalToWhenPresent(row::getUpdate_file_count) + .set(description).equalToWhenPresent(row::getDescription) + .set(run_result).equalToWhenPresent(row::getRun_result) + .set(update_timestamp).equalToWhenPresent(row::getUpdate_timestamp) + .set(next_update_timestamp).equalToWhenPresent(row::getNext_update_timestamp) + .set(end_time).equalToWhenPresent(row::getEnd_time) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/ArchiveSynTimestampMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/ArchiveSynTimestampMapper.java new file mode 100644 index 0000000..e980078 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/ArchiveSynTimestampMapper.java @@ -0,0 +1,155 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.ArchiveSynTimestampDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.ArchiveSynTimestamp; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface ArchiveSynTimestampMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.7122239+08:00", comments="Source Table: public.archive_syn_timestamp") + BasicColumn[] selectList = BasicColumn.columnList(node_id, node_type, timestamp); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.7036908+08:00", comments="Source Table: public.archive_syn_timestamp") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="ArchiveSynTimestampResult", value = { + @Result(column="node_id", property="node_id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="node_type", property="node_type", jdbcType=JdbcType.INTEGER, id=true), + @Result(column="timestamp", property="timestamp", jdbcType=JdbcType.VARCHAR) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.7046911+08:00", comments="Source Table: public.archive_syn_timestamp") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("ArchiveSynTimestampResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.7061882+08:00", comments="Source Table: public.archive_syn_timestamp") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, archiveSynTimestamp, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.7061882+08:00", comments="Source Table: public.archive_syn_timestamp") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, archiveSynTimestamp, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.7061882+08:00", comments="Source Table: public.archive_syn_timestamp") + default int deleteByPrimaryKey(String node_id_, Integer node_type_) { + return delete(c -> + c.where(node_id, isEqualTo(node_id_)) + .and(node_type, isEqualTo(node_type_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.7075694+08:00", comments="Source Table: public.archive_syn_timestamp") + default int insert(ArchiveSynTimestamp row) { + return MyBatis3Utils.insert(this::insert, row, archiveSynTimestamp, c -> + c.map(node_id).toProperty("node_id") + .map(node_type).toProperty("node_type") + .map(timestamp).toProperty("timestamp") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.7098802+08:00", comments="Source Table: public.archive_syn_timestamp") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, archiveSynTimestamp, c -> + c.map(node_id).toProperty("node_id") + .map(node_type).toProperty("node_type") + .map(timestamp).toProperty("timestamp") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.7110346+08:00", comments="Source Table: public.archive_syn_timestamp") + default int insertSelective(ArchiveSynTimestamp row) { + return MyBatis3Utils.insert(this::insert, row, archiveSynTimestamp, c -> + c.map(node_id).toPropertyWhenPresent("node_id", row::getNode_id) + .map(node_type).toPropertyWhenPresent("node_type", row::getNode_type) + .map(timestamp).toPropertyWhenPresent("timestamp", row::getTimestamp) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.7122239+08:00", comments="Source Table: public.archive_syn_timestamp") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, archiveSynTimestamp, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.7133331+08:00", comments="Source Table: public.archive_syn_timestamp") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, archiveSynTimestamp, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.7133331+08:00", comments="Source Table: public.archive_syn_timestamp") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, archiveSynTimestamp, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.7133331+08:00", comments="Source Table: public.archive_syn_timestamp") + default Optional selectByPrimaryKey(String node_id_, Integer node_type_) { + return selectOne(c -> + c.where(node_id, isEqualTo(node_id_)) + .and(node_type, isEqualTo(node_type_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.7143793+08:00", comments="Source Table: public.archive_syn_timestamp") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, archiveSynTimestamp, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.7143793+08:00", comments="Source Table: public.archive_syn_timestamp") + static UpdateDSL updateAllColumns(ArchiveSynTimestamp row, UpdateDSL dsl) { + return dsl.set(node_id).equalTo(row::getNode_id) + .set(node_type).equalTo(row::getNode_type) + .set(timestamp).equalTo(row::getTimestamp); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.7143793+08:00", comments="Source Table: public.archive_syn_timestamp") + static UpdateDSL updateSelectiveColumns(ArchiveSynTimestamp row, UpdateDSL dsl) { + return dsl.set(node_id).equalToWhenPresent(row::getNode_id) + .set(node_type).equalToWhenPresent(row::getNode_type) + .set(timestamp).equalToWhenPresent(row::getTimestamp); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.7155033+08:00", comments="Source Table: public.archive_syn_timestamp") + default int updateByPrimaryKey(ArchiveSynTimestamp row) { + return update(c -> + c.set(timestamp).equalTo(row::getTimestamp) + .where(node_id, isEqualTo(row::getNode_id)) + .and(node_type, isEqualTo(row::getNode_type)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.7155033+08:00", comments="Source Table: public.archive_syn_timestamp") + default int updateByPrimaryKeySelective(ArchiveSynTimestamp row) { + return update(c -> + c.set(timestamp).equalToWhenPresent(row::getTimestamp) + .where(node_id, isEqualTo(row::getNode_id)) + .and(node_type, isEqualTo(row::getNode_type)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/CertificateApplyMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/CertificateApplyMapper.java new file mode 100644 index 0000000..a3fc6d1 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/CertificateApplyMapper.java @@ -0,0 +1,265 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.CertificateApplyDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.CertificateApply; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface CertificateApplyMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3111488+08:00", comments="Source Table: public.certificate_apply") + BasicColumn[] selectList = BasicColumn.columnList(id, is_org, user_id, user_name, user_real_name, user_phone, user_org_id, user_org_name, apply_type, status, apply_time, apply_finish_time, apply_reason, next_check_org_id, end_check_org_id, cer_id, company_id); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3111488+08:00", comments="Source Table: public.certificate_apply") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="CertificateApplyResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="is_org", property="is_org", jdbcType=JdbcType.INTEGER), + @Result(column="user_id", property="user_id", jdbcType=JdbcType.VARCHAR), + @Result(column="user_name", property="user_name", jdbcType=JdbcType.VARCHAR), + @Result(column="user_real_name", property="user_real_name", jdbcType=JdbcType.VARCHAR), + @Result(column="user_phone", property="user_phone", jdbcType=JdbcType.VARCHAR), + @Result(column="user_org_id", property="user_org_id", jdbcType=JdbcType.VARCHAR), + @Result(column="user_org_name", property="user_org_name", jdbcType=JdbcType.VARCHAR), + @Result(column="apply_type", property="apply_type", jdbcType=JdbcType.INTEGER), + @Result(column="status", property="status", jdbcType=JdbcType.INTEGER), + @Result(column="apply_time", property="apply_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="apply_finish_time", property="apply_finish_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="apply_reason", property="apply_reason", jdbcType=JdbcType.VARCHAR), + @Result(column="next_check_org_id", property="next_check_org_id", jdbcType=JdbcType.VARCHAR), + @Result(column="end_check_org_id", property="end_check_org_id", jdbcType=JdbcType.VARCHAR), + @Result(column="cer_id", property="cer_id", jdbcType=JdbcType.VARCHAR), + @Result(column="company_id", property="company_id", jdbcType=JdbcType.VARCHAR) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3111488+08:00", comments="Source Table: public.certificate_apply") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("CertificateApplyResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3111488+08:00", comments="Source Table: public.certificate_apply") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, certificateApply, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3111488+08:00", comments="Source Table: public.certificate_apply") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, certificateApply, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3111488+08:00", comments="Source Table: public.certificate_apply") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3111488+08:00", comments="Source Table: public.certificate_apply") + default int insert(CertificateApply row) { + return MyBatis3Utils.insert(this::insert, row, certificateApply, c -> + c.map(id).toProperty("id") + .map(is_org).toProperty("is_org") + .map(user_id).toProperty("user_id") + .map(user_name).toProperty("user_name") + .map(user_real_name).toProperty("user_real_name") + .map(user_phone).toProperty("user_phone") + .map(user_org_id).toProperty("user_org_id") + .map(user_org_name).toProperty("user_org_name") + .map(apply_type).toProperty("apply_type") + .map(status).toProperty("status") + .map(apply_time).toProperty("apply_time") + .map(apply_finish_time).toProperty("apply_finish_time") + .map(apply_reason).toProperty("apply_reason") + .map(next_check_org_id).toProperty("next_check_org_id") + .map(end_check_org_id).toProperty("end_check_org_id") + .map(cer_id).toProperty("cer_id") + .map(company_id).toProperty("company_id") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3111488+08:00", comments="Source Table: public.certificate_apply") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, certificateApply, c -> + c.map(id).toProperty("id") + .map(is_org).toProperty("is_org") + .map(user_id).toProperty("user_id") + .map(user_name).toProperty("user_name") + .map(user_real_name).toProperty("user_real_name") + .map(user_phone).toProperty("user_phone") + .map(user_org_id).toProperty("user_org_id") + .map(user_org_name).toProperty("user_org_name") + .map(apply_type).toProperty("apply_type") + .map(status).toProperty("status") + .map(apply_time).toProperty("apply_time") + .map(apply_finish_time).toProperty("apply_finish_time") + .map(apply_reason).toProperty("apply_reason") + .map(next_check_org_id).toProperty("next_check_org_id") + .map(end_check_org_id).toProperty("end_check_org_id") + .map(cer_id).toProperty("cer_id") + .map(company_id).toProperty("company_id") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3111488+08:00", comments="Source Table: public.certificate_apply") + default int insertSelective(CertificateApply row) { + return MyBatis3Utils.insert(this::insert, row, certificateApply, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(is_org).toPropertyWhenPresent("is_org", row::getIs_org) + .map(user_id).toPropertyWhenPresent("user_id", row::getUser_id) + .map(user_name).toPropertyWhenPresent("user_name", row::getUser_name) + .map(user_real_name).toPropertyWhenPresent("user_real_name", row::getUser_real_name) + .map(user_phone).toPropertyWhenPresent("user_phone", row::getUser_phone) + .map(user_org_id).toPropertyWhenPresent("user_org_id", row::getUser_org_id) + .map(user_org_name).toPropertyWhenPresent("user_org_name", row::getUser_org_name) + .map(apply_type).toPropertyWhenPresent("apply_type", row::getApply_type) + .map(status).toPropertyWhenPresent("status", row::getStatus) + .map(apply_time).toPropertyWhenPresent("apply_time", row::getApply_time) + .map(apply_finish_time).toPropertyWhenPresent("apply_finish_time", row::getApply_finish_time) + .map(apply_reason).toPropertyWhenPresent("apply_reason", row::getApply_reason) + .map(next_check_org_id).toPropertyWhenPresent("next_check_org_id", row::getNext_check_org_id) + .map(end_check_org_id).toPropertyWhenPresent("end_check_org_id", row::getEnd_check_org_id) + .map(cer_id).toPropertyWhenPresent("cer_id", row::getCer_id) + .map(company_id).toPropertyWhenPresent("company_id", row::getCompany_id) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3111488+08:00", comments="Source Table: public.certificate_apply") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, certificateApply, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3121484+08:00", comments="Source Table: public.certificate_apply") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, certificateApply, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3121484+08:00", comments="Source Table: public.certificate_apply") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, certificateApply, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3121484+08:00", comments="Source Table: public.certificate_apply") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3121484+08:00", comments="Source Table: public.certificate_apply") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, certificateApply, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3121484+08:00", comments="Source Table: public.certificate_apply") + static UpdateDSL updateAllColumns(CertificateApply row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(is_org).equalTo(row::getIs_org) + .set(user_id).equalTo(row::getUser_id) + .set(user_name).equalTo(row::getUser_name) + .set(user_real_name).equalTo(row::getUser_real_name) + .set(user_phone).equalTo(row::getUser_phone) + .set(user_org_id).equalTo(row::getUser_org_id) + .set(user_org_name).equalTo(row::getUser_org_name) + .set(apply_type).equalTo(row::getApply_type) + .set(status).equalTo(row::getStatus) + .set(apply_time).equalTo(row::getApply_time) + .set(apply_finish_time).equalTo(row::getApply_finish_time) + .set(apply_reason).equalTo(row::getApply_reason) + .set(next_check_org_id).equalTo(row::getNext_check_org_id) + .set(end_check_org_id).equalTo(row::getEnd_check_org_id) + .set(cer_id).equalTo(row::getCer_id) + .set(company_id).equalTo(row::getCompany_id); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3121484+08:00", comments="Source Table: public.certificate_apply") + static UpdateDSL updateSelectiveColumns(CertificateApply row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(is_org).equalToWhenPresent(row::getIs_org) + .set(user_id).equalToWhenPresent(row::getUser_id) + .set(user_name).equalToWhenPresent(row::getUser_name) + .set(user_real_name).equalToWhenPresent(row::getUser_real_name) + .set(user_phone).equalToWhenPresent(row::getUser_phone) + .set(user_org_id).equalToWhenPresent(row::getUser_org_id) + .set(user_org_name).equalToWhenPresent(row::getUser_org_name) + .set(apply_type).equalToWhenPresent(row::getApply_type) + .set(status).equalToWhenPresent(row::getStatus) + .set(apply_time).equalToWhenPresent(row::getApply_time) + .set(apply_finish_time).equalToWhenPresent(row::getApply_finish_time) + .set(apply_reason).equalToWhenPresent(row::getApply_reason) + .set(next_check_org_id).equalToWhenPresent(row::getNext_check_org_id) + .set(end_check_org_id).equalToWhenPresent(row::getEnd_check_org_id) + .set(cer_id).equalToWhenPresent(row::getCer_id) + .set(company_id).equalToWhenPresent(row::getCompany_id); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3121484+08:00", comments="Source Table: public.certificate_apply") + default int updateByPrimaryKey(CertificateApply row) { + return update(c -> + c.set(is_org).equalTo(row::getIs_org) + .set(user_id).equalTo(row::getUser_id) + .set(user_name).equalTo(row::getUser_name) + .set(user_real_name).equalTo(row::getUser_real_name) + .set(user_phone).equalTo(row::getUser_phone) + .set(user_org_id).equalTo(row::getUser_org_id) + .set(user_org_name).equalTo(row::getUser_org_name) + .set(apply_type).equalTo(row::getApply_type) + .set(status).equalTo(row::getStatus) + .set(apply_time).equalTo(row::getApply_time) + .set(apply_finish_time).equalTo(row::getApply_finish_time) + .set(apply_reason).equalTo(row::getApply_reason) + .set(next_check_org_id).equalTo(row::getNext_check_org_id) + .set(end_check_org_id).equalTo(row::getEnd_check_org_id) + .set(cer_id).equalTo(row::getCer_id) + .set(company_id).equalTo(row::getCompany_id) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3121484+08:00", comments="Source Table: public.certificate_apply") + default int updateByPrimaryKeySelective(CertificateApply row) { + return update(c -> + c.set(is_org).equalToWhenPresent(row::getIs_org) + .set(user_id).equalToWhenPresent(row::getUser_id) + .set(user_name).equalToWhenPresent(row::getUser_name) + .set(user_real_name).equalToWhenPresent(row::getUser_real_name) + .set(user_phone).equalToWhenPresent(row::getUser_phone) + .set(user_org_id).equalToWhenPresent(row::getUser_org_id) + .set(user_org_name).equalToWhenPresent(row::getUser_org_name) + .set(apply_type).equalToWhenPresent(row::getApply_type) + .set(status).equalToWhenPresent(row::getStatus) + .set(apply_time).equalToWhenPresent(row::getApply_time) + .set(apply_finish_time).equalToWhenPresent(row::getApply_finish_time) + .set(apply_reason).equalToWhenPresent(row::getApply_reason) + .set(next_check_org_id).equalToWhenPresent(row::getNext_check_org_id) + .set(end_check_org_id).equalToWhenPresent(row::getEnd_check_org_id) + .set(cer_id).equalToWhenPresent(row::getCer_id) + .set(company_id).equalToWhenPresent(row::getCompany_id) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/CertificateApplyRecordMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/CertificateApplyRecordMapper.java new file mode 100644 index 0000000..edd442e --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/CertificateApplyRecordMapper.java @@ -0,0 +1,249 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.CertificateApplyRecordDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.CertificateApplyRecord; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface CertificateApplyRecordMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source Table: public.certificate_apply_record") + BasicColumn[] selectList = BasicColumn.columnList(id, certificate_apply_id, certificate_apply_user_id, certificate_apply_user_org_id, is_org, apply_type, check_user_id, check_user_name, check_org_id, check_org_name, check_describe, check_status, check_time, next_check_org_id, next_check_org_name); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source Table: public.certificate_apply_record") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="CertificateApplyRecordResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="certificate_apply_id", property="certificate_apply_id", jdbcType=JdbcType.VARCHAR), + @Result(column="certificate_apply_user_id", property="certificate_apply_user_id", jdbcType=JdbcType.VARCHAR), + @Result(column="certificate_apply_user_org_id", property="certificate_apply_user_org_id", jdbcType=JdbcType.VARCHAR), + @Result(column="is_org", property="is_org", jdbcType=JdbcType.INTEGER), + @Result(column="apply_type", property="apply_type", jdbcType=JdbcType.INTEGER), + @Result(column="check_user_id", property="check_user_id", jdbcType=JdbcType.VARCHAR), + @Result(column="check_user_name", property="check_user_name", jdbcType=JdbcType.VARCHAR), + @Result(column="check_org_id", property="check_org_id", jdbcType=JdbcType.VARCHAR), + @Result(column="check_org_name", property="check_org_name", jdbcType=JdbcType.VARCHAR), + @Result(column="check_describe", property="check_describe", jdbcType=JdbcType.VARCHAR), + @Result(column="check_status", property="check_status", jdbcType=JdbcType.INTEGER), + @Result(column="check_time", property="check_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="next_check_org_id", property="next_check_org_id", jdbcType=JdbcType.VARCHAR), + @Result(column="next_check_org_name", property="next_check_org_name", jdbcType=JdbcType.VARCHAR) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source Table: public.certificate_apply_record") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("CertificateApplyRecordResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source Table: public.certificate_apply_record") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, certificateApplyRecord, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source Table: public.certificate_apply_record") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, certificateApplyRecord, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source Table: public.certificate_apply_record") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source Table: public.certificate_apply_record") + default int insert(CertificateApplyRecord row) { + return MyBatis3Utils.insert(this::insert, row, certificateApplyRecord, c -> + c.map(id).toProperty("id") + .map(certificate_apply_id).toProperty("certificate_apply_id") + .map(certificate_apply_user_id).toProperty("certificate_apply_user_id") + .map(certificate_apply_user_org_id).toProperty("certificate_apply_user_org_id") + .map(is_org).toProperty("is_org") + .map(apply_type).toProperty("apply_type") + .map(check_user_id).toProperty("check_user_id") + .map(check_user_name).toProperty("check_user_name") + .map(check_org_id).toProperty("check_org_id") + .map(check_org_name).toProperty("check_org_name") + .map(check_describe).toProperty("check_describe") + .map(check_status).toProperty("check_status") + .map(check_time).toProperty("check_time") + .map(next_check_org_id).toProperty("next_check_org_id") + .map(next_check_org_name).toProperty("next_check_org_name") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source Table: public.certificate_apply_record") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, certificateApplyRecord, c -> + c.map(id).toProperty("id") + .map(certificate_apply_id).toProperty("certificate_apply_id") + .map(certificate_apply_user_id).toProperty("certificate_apply_user_id") + .map(certificate_apply_user_org_id).toProperty("certificate_apply_user_org_id") + .map(is_org).toProperty("is_org") + .map(apply_type).toProperty("apply_type") + .map(check_user_id).toProperty("check_user_id") + .map(check_user_name).toProperty("check_user_name") + .map(check_org_id).toProperty("check_org_id") + .map(check_org_name).toProperty("check_org_name") + .map(check_describe).toProperty("check_describe") + .map(check_status).toProperty("check_status") + .map(check_time).toProperty("check_time") + .map(next_check_org_id).toProperty("next_check_org_id") + .map(next_check_org_name).toProperty("next_check_org_name") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source Table: public.certificate_apply_record") + default int insertSelective(CertificateApplyRecord row) { + return MyBatis3Utils.insert(this::insert, row, certificateApplyRecord, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(certificate_apply_id).toPropertyWhenPresent("certificate_apply_id", row::getCertificate_apply_id) + .map(certificate_apply_user_id).toPropertyWhenPresent("certificate_apply_user_id", row::getCertificate_apply_user_id) + .map(certificate_apply_user_org_id).toPropertyWhenPresent("certificate_apply_user_org_id", row::getCertificate_apply_user_org_id) + .map(is_org).toPropertyWhenPresent("is_org", row::getIs_org) + .map(apply_type).toPropertyWhenPresent("apply_type", row::getApply_type) + .map(check_user_id).toPropertyWhenPresent("check_user_id", row::getCheck_user_id) + .map(check_user_name).toPropertyWhenPresent("check_user_name", row::getCheck_user_name) + .map(check_org_id).toPropertyWhenPresent("check_org_id", row::getCheck_org_id) + .map(check_org_name).toPropertyWhenPresent("check_org_name", row::getCheck_org_name) + .map(check_describe).toPropertyWhenPresent("check_describe", row::getCheck_describe) + .map(check_status).toPropertyWhenPresent("check_status", row::getCheck_status) + .map(check_time).toPropertyWhenPresent("check_time", row::getCheck_time) + .map(next_check_org_id).toPropertyWhenPresent("next_check_org_id", row::getNext_check_org_id) + .map(next_check_org_name).toPropertyWhenPresent("next_check_org_name", row::getNext_check_org_name) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source Table: public.certificate_apply_record") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, certificateApplyRecord, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source Table: public.certificate_apply_record") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, certificateApplyRecord, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source Table: public.certificate_apply_record") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, certificateApplyRecord, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source Table: public.certificate_apply_record") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source Table: public.certificate_apply_record") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, certificateApplyRecord, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source Table: public.certificate_apply_record") + static UpdateDSL updateAllColumns(CertificateApplyRecord row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(certificate_apply_id).equalTo(row::getCertificate_apply_id) + .set(certificate_apply_user_id).equalTo(row::getCertificate_apply_user_id) + .set(certificate_apply_user_org_id).equalTo(row::getCertificate_apply_user_org_id) + .set(is_org).equalTo(row::getIs_org) + .set(apply_type).equalTo(row::getApply_type) + .set(check_user_id).equalTo(row::getCheck_user_id) + .set(check_user_name).equalTo(row::getCheck_user_name) + .set(check_org_id).equalTo(row::getCheck_org_id) + .set(check_org_name).equalTo(row::getCheck_org_name) + .set(check_describe).equalTo(row::getCheck_describe) + .set(check_status).equalTo(row::getCheck_status) + .set(check_time).equalTo(row::getCheck_time) + .set(next_check_org_id).equalTo(row::getNext_check_org_id) + .set(next_check_org_name).equalTo(row::getNext_check_org_name); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source Table: public.certificate_apply_record") + static UpdateDSL updateSelectiveColumns(CertificateApplyRecord row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(certificate_apply_id).equalToWhenPresent(row::getCertificate_apply_id) + .set(certificate_apply_user_id).equalToWhenPresent(row::getCertificate_apply_user_id) + .set(certificate_apply_user_org_id).equalToWhenPresent(row::getCertificate_apply_user_org_id) + .set(is_org).equalToWhenPresent(row::getIs_org) + .set(apply_type).equalToWhenPresent(row::getApply_type) + .set(check_user_id).equalToWhenPresent(row::getCheck_user_id) + .set(check_user_name).equalToWhenPresent(row::getCheck_user_name) + .set(check_org_id).equalToWhenPresent(row::getCheck_org_id) + .set(check_org_name).equalToWhenPresent(row::getCheck_org_name) + .set(check_describe).equalToWhenPresent(row::getCheck_describe) + .set(check_status).equalToWhenPresent(row::getCheck_status) + .set(check_time).equalToWhenPresent(row::getCheck_time) + .set(next_check_org_id).equalToWhenPresent(row::getNext_check_org_id) + .set(next_check_org_name).equalToWhenPresent(row::getNext_check_org_name); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source Table: public.certificate_apply_record") + default int updateByPrimaryKey(CertificateApplyRecord row) { + return update(c -> + c.set(certificate_apply_id).equalTo(row::getCertificate_apply_id) + .set(certificate_apply_user_id).equalTo(row::getCertificate_apply_user_id) + .set(certificate_apply_user_org_id).equalTo(row::getCertificate_apply_user_org_id) + .set(is_org).equalTo(row::getIs_org) + .set(apply_type).equalTo(row::getApply_type) + .set(check_user_id).equalTo(row::getCheck_user_id) + .set(check_user_name).equalTo(row::getCheck_user_name) + .set(check_org_id).equalTo(row::getCheck_org_id) + .set(check_org_name).equalTo(row::getCheck_org_name) + .set(check_describe).equalTo(row::getCheck_describe) + .set(check_status).equalTo(row::getCheck_status) + .set(check_time).equalTo(row::getCheck_time) + .set(next_check_org_id).equalTo(row::getNext_check_org_id) + .set(next_check_org_name).equalTo(row::getNext_check_org_name) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source Table: public.certificate_apply_record") + default int updateByPrimaryKeySelective(CertificateApplyRecord row) { + return update(c -> + c.set(certificate_apply_id).equalToWhenPresent(row::getCertificate_apply_id) + .set(certificate_apply_user_id).equalToWhenPresent(row::getCertificate_apply_user_id) + .set(certificate_apply_user_org_id).equalToWhenPresent(row::getCertificate_apply_user_org_id) + .set(is_org).equalToWhenPresent(row::getIs_org) + .set(apply_type).equalToWhenPresent(row::getApply_type) + .set(check_user_id).equalToWhenPresent(row::getCheck_user_id) + .set(check_user_name).equalToWhenPresent(row::getCheck_user_name) + .set(check_org_id).equalToWhenPresent(row::getCheck_org_id) + .set(check_org_name).equalToWhenPresent(row::getCheck_org_name) + .set(check_describe).equalToWhenPresent(row::getCheck_describe) + .set(check_status).equalToWhenPresent(row::getCheck_status) + .set(check_time).equalToWhenPresent(row::getCheck_time) + .set(next_check_org_id).equalToWhenPresent(row::getNext_check_org_id) + .set(next_check_org_name).equalToWhenPresent(row::getNext_check_org_name) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/CertificateDetailMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/CertificateDetailMapper.java new file mode 100644 index 0000000..5b4cf8a --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/CertificateDetailMapper.java @@ -0,0 +1,241 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.CertificateDetailDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.CertificateDetail; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface CertificateDetailMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2991516+08:00", comments="Source Table: public.certificate_detail") + BasicColumn[] selectList = BasicColumn.columnList(id, certificate_apply_id, work_start_time, work_end_time, status, cert_file_content, is_up_chain, weid, private_key_hex_str, x509_serial_number, x509_subject, x509_issuer, x509_public_key, x509_sig_alg_name); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2991516+08:00", comments="Source Table: public.certificate_detail") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="CertificateDetailResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="certificate_apply_id", property="certificate_apply_id", jdbcType=JdbcType.VARCHAR), + @Result(column="work_start_time", property="work_start_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="work_end_time", property="work_end_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="status", property="status", jdbcType=JdbcType.INTEGER), + @Result(column="cert_file_content", property="cert_file_content", jdbcType=JdbcType.VARCHAR), + @Result(column="is_up_chain", property="is_up_chain", jdbcType=JdbcType.INTEGER), + @Result(column="weid", property="weid", jdbcType=JdbcType.VARCHAR), + @Result(column="private_key_hex_str", property="private_key_hex_str", jdbcType=JdbcType.VARCHAR), + @Result(column="x509_serial_number", property="x509_serial_number", jdbcType=JdbcType.VARCHAR), + @Result(column="x509_subject", property="x509_subject", jdbcType=JdbcType.VARCHAR), + @Result(column="x509_issuer", property="x509_issuer", jdbcType=JdbcType.VARCHAR), + @Result(column="x509_public_key", property="x509_public_key", jdbcType=JdbcType.VARCHAR), + @Result(column="x509_sig_alg_name", property="x509_sig_alg_name", jdbcType=JdbcType.VARCHAR) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2991516+08:00", comments="Source Table: public.certificate_detail") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("CertificateDetailResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2991516+08:00", comments="Source Table: public.certificate_detail") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, certificateDetail, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2991516+08:00", comments="Source Table: public.certificate_detail") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, certificateDetail, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2991516+08:00", comments="Source Table: public.certificate_detail") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2991516+08:00", comments="Source Table: public.certificate_detail") + default int insert(CertificateDetail row) { + return MyBatis3Utils.insert(this::insert, row, certificateDetail, c -> + c.map(id).toProperty("id") + .map(certificate_apply_id).toProperty("certificate_apply_id") + .map(work_start_time).toProperty("work_start_time") + .map(work_end_time).toProperty("work_end_time") + .map(status).toProperty("status") + .map(cert_file_content).toProperty("cert_file_content") + .map(is_up_chain).toProperty("is_up_chain") + .map(weid).toProperty("weid") + .map(private_key_hex_str).toProperty("private_key_hex_str") + .map(x509_serial_number).toProperty("x509_serial_number") + .map(x509_subject).toProperty("x509_subject") + .map(x509_issuer).toProperty("x509_issuer") + .map(x509_public_key).toProperty("x509_public_key") + .map(x509_sig_alg_name).toProperty("x509_sig_alg_name") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2991516+08:00", comments="Source Table: public.certificate_detail") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, certificateDetail, c -> + c.map(id).toProperty("id") + .map(certificate_apply_id).toProperty("certificate_apply_id") + .map(work_start_time).toProperty("work_start_time") + .map(work_end_time).toProperty("work_end_time") + .map(status).toProperty("status") + .map(cert_file_content).toProperty("cert_file_content") + .map(is_up_chain).toProperty("is_up_chain") + .map(weid).toProperty("weid") + .map(private_key_hex_str).toProperty("private_key_hex_str") + .map(x509_serial_number).toProperty("x509_serial_number") + .map(x509_subject).toProperty("x509_subject") + .map(x509_issuer).toProperty("x509_issuer") + .map(x509_public_key).toProperty("x509_public_key") + .map(x509_sig_alg_name).toProperty("x509_sig_alg_name") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2991516+08:00", comments="Source Table: public.certificate_detail") + default int insertSelective(CertificateDetail row) { + return MyBatis3Utils.insert(this::insert, row, certificateDetail, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(certificate_apply_id).toPropertyWhenPresent("certificate_apply_id", row::getCertificate_apply_id) + .map(work_start_time).toPropertyWhenPresent("work_start_time", row::getWork_start_time) + .map(work_end_time).toPropertyWhenPresent("work_end_time", row::getWork_end_time) + .map(status).toPropertyWhenPresent("status", row::getStatus) + .map(cert_file_content).toPropertyWhenPresent("cert_file_content", row::getCert_file_content) + .map(is_up_chain).toPropertyWhenPresent("is_up_chain", row::getIs_up_chain) + .map(weid).toPropertyWhenPresent("weid", row::getWeid) + .map(private_key_hex_str).toPropertyWhenPresent("private_key_hex_str", row::getPrivate_key_hex_str) + .map(x509_serial_number).toPropertyWhenPresent("x509_serial_number", row::getX509_serial_number) + .map(x509_subject).toPropertyWhenPresent("x509_subject", row::getX509_subject) + .map(x509_issuer).toPropertyWhenPresent("x509_issuer", row::getX509_issuer) + .map(x509_public_key).toPropertyWhenPresent("x509_public_key", row::getX509_public_key) + .map(x509_sig_alg_name).toPropertyWhenPresent("x509_sig_alg_name", row::getX509_sig_alg_name) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2991516+08:00", comments="Source Table: public.certificate_detail") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, certificateDetail, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2991516+08:00", comments="Source Table: public.certificate_detail") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, certificateDetail, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2991516+08:00", comments="Source Table: public.certificate_detail") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, certificateDetail, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2991516+08:00", comments="Source Table: public.certificate_detail") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2991516+08:00", comments="Source Table: public.certificate_detail") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, certificateDetail, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2991516+08:00", comments="Source Table: public.certificate_detail") + static UpdateDSL updateAllColumns(CertificateDetail row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(certificate_apply_id).equalTo(row::getCertificate_apply_id) + .set(work_start_time).equalTo(row::getWork_start_time) + .set(work_end_time).equalTo(row::getWork_end_time) + .set(status).equalTo(row::getStatus) + .set(cert_file_content).equalTo(row::getCert_file_content) + .set(is_up_chain).equalTo(row::getIs_up_chain) + .set(weid).equalTo(row::getWeid) + .set(private_key_hex_str).equalTo(row::getPrivate_key_hex_str) + .set(x509_serial_number).equalTo(row::getX509_serial_number) + .set(x509_subject).equalTo(row::getX509_subject) + .set(x509_issuer).equalTo(row::getX509_issuer) + .set(x509_public_key).equalTo(row::getX509_public_key) + .set(x509_sig_alg_name).equalTo(row::getX509_sig_alg_name); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2991516+08:00", comments="Source Table: public.certificate_detail") + static UpdateDSL updateSelectiveColumns(CertificateDetail row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(certificate_apply_id).equalToWhenPresent(row::getCertificate_apply_id) + .set(work_start_time).equalToWhenPresent(row::getWork_start_time) + .set(work_end_time).equalToWhenPresent(row::getWork_end_time) + .set(status).equalToWhenPresent(row::getStatus) + .set(cert_file_content).equalToWhenPresent(row::getCert_file_content) + .set(is_up_chain).equalToWhenPresent(row::getIs_up_chain) + .set(weid).equalToWhenPresent(row::getWeid) + .set(private_key_hex_str).equalToWhenPresent(row::getPrivate_key_hex_str) + .set(x509_serial_number).equalToWhenPresent(row::getX509_serial_number) + .set(x509_subject).equalToWhenPresent(row::getX509_subject) + .set(x509_issuer).equalToWhenPresent(row::getX509_issuer) + .set(x509_public_key).equalToWhenPresent(row::getX509_public_key) + .set(x509_sig_alg_name).equalToWhenPresent(row::getX509_sig_alg_name); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2991516+08:00", comments="Source Table: public.certificate_detail") + default int updateByPrimaryKey(CertificateDetail row) { + return update(c -> + c.set(certificate_apply_id).equalTo(row::getCertificate_apply_id) + .set(work_start_time).equalTo(row::getWork_start_time) + .set(work_end_time).equalTo(row::getWork_end_time) + .set(status).equalTo(row::getStatus) + .set(cert_file_content).equalTo(row::getCert_file_content) + .set(is_up_chain).equalTo(row::getIs_up_chain) + .set(weid).equalTo(row::getWeid) + .set(private_key_hex_str).equalTo(row::getPrivate_key_hex_str) + .set(x509_serial_number).equalTo(row::getX509_serial_number) + .set(x509_subject).equalTo(row::getX509_subject) + .set(x509_issuer).equalTo(row::getX509_issuer) + .set(x509_public_key).equalTo(row::getX509_public_key) + .set(x509_sig_alg_name).equalTo(row::getX509_sig_alg_name) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2991516+08:00", comments="Source Table: public.certificate_detail") + default int updateByPrimaryKeySelective(CertificateDetail row) { + return update(c -> + c.set(certificate_apply_id).equalToWhenPresent(row::getCertificate_apply_id) + .set(work_start_time).equalToWhenPresent(row::getWork_start_time) + .set(work_end_time).equalToWhenPresent(row::getWork_end_time) + .set(status).equalToWhenPresent(row::getStatus) + .set(cert_file_content).equalToWhenPresent(row::getCert_file_content) + .set(is_up_chain).equalToWhenPresent(row::getIs_up_chain) + .set(weid).equalToWhenPresent(row::getWeid) + .set(private_key_hex_str).equalToWhenPresent(row::getPrivate_key_hex_str) + .set(x509_serial_number).equalToWhenPresent(row::getX509_serial_number) + .set(x509_subject).equalToWhenPresent(row::getX509_subject) + .set(x509_issuer).equalToWhenPresent(row::getX509_issuer) + .set(x509_public_key).equalToWhenPresent(row::getX509_public_key) + .set(x509_sig_alg_name).equalToWhenPresent(row::getX509_sig_alg_name) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/DecryptLogMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/DecryptLogMapper.java new file mode 100644 index 0000000..f57caea --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/DecryptLogMapper.java @@ -0,0 +1,201 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.DecryptLogDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.DecryptLog; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface DecryptLogMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3181488+08:00", comments="Source Table: public.decrypt_log") + BasicColumn[] selectList = BasicColumn.columnList(id, weid, content_type, content_id, dec_time, location, sm9hibeid, status, sign); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3181488+08:00", comments="Source Table: public.decrypt_log") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="DecryptLogResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="weid", property="weid", jdbcType=JdbcType.VARCHAR), + @Result(column="content_type", property="content_type", jdbcType=JdbcType.INTEGER), + @Result(column="content_id", property="content_id", jdbcType=JdbcType.VARCHAR), + @Result(column="dec_time", property="dec_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="location", property="location", jdbcType=JdbcType.VARCHAR), + @Result(column="sm9hibeid", property="sm9hibeid", jdbcType=JdbcType.VARCHAR), + @Result(column="status", property="status", jdbcType=JdbcType.INTEGER), + @Result(column="sign", property="sign", jdbcType=JdbcType.VARCHAR) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3181488+08:00", comments="Source Table: public.decrypt_log") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("DecryptLogResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3181488+08:00", comments="Source Table: public.decrypt_log") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, decryptLog, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3181488+08:00", comments="Source Table: public.decrypt_log") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, decryptLog, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3181488+08:00", comments="Source Table: public.decrypt_log") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3181488+08:00", comments="Source Table: public.decrypt_log") + default int insert(DecryptLog row) { + return MyBatis3Utils.insert(this::insert, row, decryptLog, c -> + c.map(id).toProperty("id") + .map(weid).toProperty("weid") + .map(content_type).toProperty("content_type") + .map(content_id).toProperty("content_id") + .map(dec_time).toProperty("dec_time") + .map(location).toProperty("location") + .map(sm9hibeid).toProperty("sm9hibeid") + .map(status).toProperty("status") + .map(sign).toProperty("sign") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3181488+08:00", comments="Source Table: public.decrypt_log") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, decryptLog, c -> + c.map(id).toProperty("id") + .map(weid).toProperty("weid") + .map(content_type).toProperty("content_type") + .map(content_id).toProperty("content_id") + .map(dec_time).toProperty("dec_time") + .map(location).toProperty("location") + .map(sm9hibeid).toProperty("sm9hibeid") + .map(status).toProperty("status") + .map(sign).toProperty("sign") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3181488+08:00", comments="Source Table: public.decrypt_log") + default int insertSelective(DecryptLog row) { + return MyBatis3Utils.insert(this::insert, row, decryptLog, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(weid).toPropertyWhenPresent("weid", row::getWeid) + .map(content_type).toPropertyWhenPresent("content_type", row::getContent_type) + .map(content_id).toPropertyWhenPresent("content_id", row::getContent_id) + .map(dec_time).toPropertyWhenPresent("dec_time", row::getDec_time) + .map(location).toPropertyWhenPresent("location", row::getLocation) + .map(sm9hibeid).toPropertyWhenPresent("sm9hibeid", row::getSm9hibeid) + .map(status).toPropertyWhenPresent("status", row::getStatus) + .map(sign).toPropertyWhenPresent("sign", row::getSign) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3181488+08:00", comments="Source Table: public.decrypt_log") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, decryptLog, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3181488+08:00", comments="Source Table: public.decrypt_log") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, decryptLog, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3181488+08:00", comments="Source Table: public.decrypt_log") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, decryptLog, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3181488+08:00", comments="Source Table: public.decrypt_log") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3181488+08:00", comments="Source Table: public.decrypt_log") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, decryptLog, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3181488+08:00", comments="Source Table: public.decrypt_log") + static UpdateDSL updateAllColumns(DecryptLog row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(weid).equalTo(row::getWeid) + .set(content_type).equalTo(row::getContent_type) + .set(content_id).equalTo(row::getContent_id) + .set(dec_time).equalTo(row::getDec_time) + .set(location).equalTo(row::getLocation) + .set(sm9hibeid).equalTo(row::getSm9hibeid) + .set(status).equalTo(row::getStatus) + .set(sign).equalTo(row::getSign); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3181488+08:00", comments="Source Table: public.decrypt_log") + static UpdateDSL updateSelectiveColumns(DecryptLog row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(weid).equalToWhenPresent(row::getWeid) + .set(content_type).equalToWhenPresent(row::getContent_type) + .set(content_id).equalToWhenPresent(row::getContent_id) + .set(dec_time).equalToWhenPresent(row::getDec_time) + .set(location).equalToWhenPresent(row::getLocation) + .set(sm9hibeid).equalToWhenPresent(row::getSm9hibeid) + .set(status).equalToWhenPresent(row::getStatus) + .set(sign).equalToWhenPresent(row::getSign); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3181488+08:00", comments="Source Table: public.decrypt_log") + default int updateByPrimaryKey(DecryptLog row) { + return update(c -> + c.set(weid).equalTo(row::getWeid) + .set(content_type).equalTo(row::getContent_type) + .set(content_id).equalTo(row::getContent_id) + .set(dec_time).equalTo(row::getDec_time) + .set(location).equalTo(row::getLocation) + .set(sm9hibeid).equalTo(row::getSm9hibeid) + .set(status).equalTo(row::getStatus) + .set(sign).equalTo(row::getSign) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3181488+08:00", comments="Source Table: public.decrypt_log") + default int updateByPrimaryKeySelective(DecryptLog row) { + return update(c -> + c.set(weid).equalToWhenPresent(row::getWeid) + .set(content_type).equalToWhenPresent(row::getContent_type) + .set(content_id).equalToWhenPresent(row::getContent_id) + .set(dec_time).equalToWhenPresent(row::getDec_time) + .set(location).equalToWhenPresent(row::getLocation) + .set(sm9hibeid).equalToWhenPresent(row::getSm9hibeid) + .set(status).equalToWhenPresent(row::getStatus) + .set(sign).equalToWhenPresent(row::getSign) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/DownloadLogMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/DownloadLogMapper.java new file mode 100644 index 0000000..a32bab2 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/DownloadLogMapper.java @@ -0,0 +1,185 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.DownloadLogDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.DownloadLog; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface DownloadLogMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2531552+08:00", comments="Source Table: public.download_log") + BasicColumn[] selectList = BasicColumn.columnList(id, weid, downloadtime, filenum, content_type, contentid, sign); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2521575+08:00", comments="Source Table: public.download_log") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="DownloadLogResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="weid", property="weid", jdbcType=JdbcType.VARCHAR), + @Result(column="downloadtime", property="downloadtime", jdbcType=JdbcType.TIMESTAMP), + @Result(column="filenum", property="filenum", jdbcType=JdbcType.INTEGER), + @Result(column="content_type", property="content_type", jdbcType=JdbcType.INTEGER), + @Result(column="contentid", property="contentid", jdbcType=JdbcType.VARCHAR), + @Result(column="sign", property="sign", jdbcType=JdbcType.VARCHAR) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2521575+08:00", comments="Source Table: public.download_log") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("DownloadLogResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2521575+08:00", comments="Source Table: public.download_log") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, downloadLog, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2521575+08:00", comments="Source Table: public.download_log") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, downloadLog, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2521575+08:00", comments="Source Table: public.download_log") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2531552+08:00", comments="Source Table: public.download_log") + default int insert(DownloadLog row) { + return MyBatis3Utils.insert(this::insert, row, downloadLog, c -> + c.map(id).toProperty("id") + .map(weid).toProperty("weid") + .map(downloadtime).toProperty("downloadtime") + .map(filenum).toProperty("filenum") + .map(content_type).toProperty("content_type") + .map(contentid).toProperty("contentid") + .map(sign).toProperty("sign") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2531552+08:00", comments="Source Table: public.download_log") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, downloadLog, c -> + c.map(id).toProperty("id") + .map(weid).toProperty("weid") + .map(downloadtime).toProperty("downloadtime") + .map(filenum).toProperty("filenum") + .map(content_type).toProperty("content_type") + .map(contentid).toProperty("contentid") + .map(sign).toProperty("sign") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2531552+08:00", comments="Source Table: public.download_log") + default int insertSelective(DownloadLog row) { + return MyBatis3Utils.insert(this::insert, row, downloadLog, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(weid).toPropertyWhenPresent("weid", row::getWeid) + .map(downloadtime).toPropertyWhenPresent("downloadtime", row::getDownloadtime) + .map(filenum).toPropertyWhenPresent("filenum", row::getFilenum) + .map(content_type).toPropertyWhenPresent("content_type", row::getContent_type) + .map(contentid).toPropertyWhenPresent("contentid", row::getContentid) + .map(sign).toPropertyWhenPresent("sign", row::getSign) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2531552+08:00", comments="Source Table: public.download_log") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, downloadLog, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2531552+08:00", comments="Source Table: public.download_log") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, downloadLog, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2531552+08:00", comments="Source Table: public.download_log") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, downloadLog, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2531552+08:00", comments="Source Table: public.download_log") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2531552+08:00", comments="Source Table: public.download_log") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, downloadLog, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2531552+08:00", comments="Source Table: public.download_log") + static UpdateDSL updateAllColumns(DownloadLog row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(weid).equalTo(row::getWeid) + .set(downloadtime).equalTo(row::getDownloadtime) + .set(filenum).equalTo(row::getFilenum) + .set(content_type).equalTo(row::getContent_type) + .set(contentid).equalTo(row::getContentid) + .set(sign).equalTo(row::getSign); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2531552+08:00", comments="Source Table: public.download_log") + static UpdateDSL updateSelectiveColumns(DownloadLog row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(weid).equalToWhenPresent(row::getWeid) + .set(downloadtime).equalToWhenPresent(row::getDownloadtime) + .set(filenum).equalToWhenPresent(row::getFilenum) + .set(content_type).equalToWhenPresent(row::getContent_type) + .set(contentid).equalToWhenPresent(row::getContentid) + .set(sign).equalToWhenPresent(row::getSign); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2531552+08:00", comments="Source Table: public.download_log") + default int updateByPrimaryKey(DownloadLog row) { + return update(c -> + c.set(weid).equalTo(row::getWeid) + .set(downloadtime).equalTo(row::getDownloadtime) + .set(filenum).equalTo(row::getFilenum) + .set(content_type).equalTo(row::getContent_type) + .set(contentid).equalTo(row::getContentid) + .set(sign).equalTo(row::getSign) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2541531+08:00", comments="Source Table: public.download_log") + default int updateByPrimaryKeySelective(DownloadLog row) { + return update(c -> + c.set(weid).equalToWhenPresent(row::getWeid) + .set(downloadtime).equalToWhenPresent(row::getDownloadtime) + .set(filenum).equalToWhenPresent(row::getFilenum) + .set(content_type).equalToWhenPresent(row::getContent_type) + .set(contentid).equalToWhenPresent(row::getContentid) + .set(sign).equalToWhenPresent(row::getSign) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/FilesApplyCheckRecordMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/FilesApplyCheckRecordMapper.java new file mode 100644 index 0000000..3dabdbd --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/FilesApplyCheckRecordMapper.java @@ -0,0 +1,249 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.FilesApplyCheckRecordDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.FilesApplyCheckRecord; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface FilesApplyCheckRecordMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3161488+08:00", comments="Source Table: public.files_apply_check_record") + BasicColumn[] selectList = BasicColumn.columnList(id, files_apply_id, is_apply_provider, check_user_id, check_user_name, check_org_id, check_org_name, next_check_org_id, next_check_org_name, check_describe, check_status, check_time, provider_next_check_role_sign_id, provider_next_check_role_sign_name, sign); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3161488+08:00", comments="Source Table: public.files_apply_check_record") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="FilesApplyCheckRecordResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="files_apply_id", property="files_apply_id", jdbcType=JdbcType.VARCHAR), + @Result(column="is_apply_provider", property="is_apply_provider", jdbcType=JdbcType.INTEGER), + @Result(column="check_user_id", property="check_user_id", jdbcType=JdbcType.VARCHAR), + @Result(column="check_user_name", property="check_user_name", jdbcType=JdbcType.VARCHAR), + @Result(column="check_org_id", property="check_org_id", jdbcType=JdbcType.VARCHAR), + @Result(column="check_org_name", property="check_org_name", jdbcType=JdbcType.VARCHAR), + @Result(column="next_check_org_id", property="next_check_org_id", jdbcType=JdbcType.VARCHAR), + @Result(column="next_check_org_name", property="next_check_org_name", jdbcType=JdbcType.VARCHAR), + @Result(column="check_describe", property="check_describe", jdbcType=JdbcType.VARCHAR), + @Result(column="check_status", property="check_status", jdbcType=JdbcType.INTEGER), + @Result(column="check_time", property="check_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="provider_next_check_role_sign_id", property="provider_next_check_role_sign_id", jdbcType=JdbcType.VARCHAR), + @Result(column="provider_next_check_role_sign_name", property="provider_next_check_role_sign_name", jdbcType=JdbcType.VARCHAR), + @Result(column="sign", property="sign", jdbcType=JdbcType.VARCHAR) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3161488+08:00", comments="Source Table: public.files_apply_check_record") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("FilesApplyCheckRecordResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3161488+08:00", comments="Source Table: public.files_apply_check_record") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, filesApplyCheckRecord, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3161488+08:00", comments="Source Table: public.files_apply_check_record") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, filesApplyCheckRecord, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3161488+08:00", comments="Source Table: public.files_apply_check_record") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3161488+08:00", comments="Source Table: public.files_apply_check_record") + default int insert(FilesApplyCheckRecord row) { + return MyBatis3Utils.insert(this::insert, row, filesApplyCheckRecord, c -> + c.map(id).toProperty("id") + .map(files_apply_id).toProperty("files_apply_id") + .map(is_apply_provider).toProperty("is_apply_provider") + .map(check_user_id).toProperty("check_user_id") + .map(check_user_name).toProperty("check_user_name") + .map(check_org_id).toProperty("check_org_id") + .map(check_org_name).toProperty("check_org_name") + .map(next_check_org_id).toProperty("next_check_org_id") + .map(next_check_org_name).toProperty("next_check_org_name") + .map(check_describe).toProperty("check_describe") + .map(check_status).toProperty("check_status") + .map(check_time).toProperty("check_time") + .map(provider_next_check_role_sign_id).toProperty("provider_next_check_role_sign_id") + .map(provider_next_check_role_sign_name).toProperty("provider_next_check_role_sign_name") + .map(sign).toProperty("sign") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3161488+08:00", comments="Source Table: public.files_apply_check_record") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, filesApplyCheckRecord, c -> + c.map(id).toProperty("id") + .map(files_apply_id).toProperty("files_apply_id") + .map(is_apply_provider).toProperty("is_apply_provider") + .map(check_user_id).toProperty("check_user_id") + .map(check_user_name).toProperty("check_user_name") + .map(check_org_id).toProperty("check_org_id") + .map(check_org_name).toProperty("check_org_name") + .map(next_check_org_id).toProperty("next_check_org_id") + .map(next_check_org_name).toProperty("next_check_org_name") + .map(check_describe).toProperty("check_describe") + .map(check_status).toProperty("check_status") + .map(check_time).toProperty("check_time") + .map(provider_next_check_role_sign_id).toProperty("provider_next_check_role_sign_id") + .map(provider_next_check_role_sign_name).toProperty("provider_next_check_role_sign_name") + .map(sign).toProperty("sign") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3161488+08:00", comments="Source Table: public.files_apply_check_record") + default int insertSelective(FilesApplyCheckRecord row) { + return MyBatis3Utils.insert(this::insert, row, filesApplyCheckRecord, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(files_apply_id).toPropertyWhenPresent("files_apply_id", row::getFiles_apply_id) + .map(is_apply_provider).toPropertyWhenPresent("is_apply_provider", row::getIs_apply_provider) + .map(check_user_id).toPropertyWhenPresent("check_user_id", row::getCheck_user_id) + .map(check_user_name).toPropertyWhenPresent("check_user_name", row::getCheck_user_name) + .map(check_org_id).toPropertyWhenPresent("check_org_id", row::getCheck_org_id) + .map(check_org_name).toPropertyWhenPresent("check_org_name", row::getCheck_org_name) + .map(next_check_org_id).toPropertyWhenPresent("next_check_org_id", row::getNext_check_org_id) + .map(next_check_org_name).toPropertyWhenPresent("next_check_org_name", row::getNext_check_org_name) + .map(check_describe).toPropertyWhenPresent("check_describe", row::getCheck_describe) + .map(check_status).toPropertyWhenPresent("check_status", row::getCheck_status) + .map(check_time).toPropertyWhenPresent("check_time", row::getCheck_time) + .map(provider_next_check_role_sign_id).toPropertyWhenPresent("provider_next_check_role_sign_id", row::getProvider_next_check_role_sign_id) + .map(provider_next_check_role_sign_name).toPropertyWhenPresent("provider_next_check_role_sign_name", row::getProvider_next_check_role_sign_name) + .map(sign).toPropertyWhenPresent("sign", row::getSign) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3161488+08:00", comments="Source Table: public.files_apply_check_record") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, filesApplyCheckRecord, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3161488+08:00", comments="Source Table: public.files_apply_check_record") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, filesApplyCheckRecord, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3161488+08:00", comments="Source Table: public.files_apply_check_record") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, filesApplyCheckRecord, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3161488+08:00", comments="Source Table: public.files_apply_check_record") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3161488+08:00", comments="Source Table: public.files_apply_check_record") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, filesApplyCheckRecord, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3161488+08:00", comments="Source Table: public.files_apply_check_record") + static UpdateDSL updateAllColumns(FilesApplyCheckRecord row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(files_apply_id).equalTo(row::getFiles_apply_id) + .set(is_apply_provider).equalTo(row::getIs_apply_provider) + .set(check_user_id).equalTo(row::getCheck_user_id) + .set(check_user_name).equalTo(row::getCheck_user_name) + .set(check_org_id).equalTo(row::getCheck_org_id) + .set(check_org_name).equalTo(row::getCheck_org_name) + .set(next_check_org_id).equalTo(row::getNext_check_org_id) + .set(next_check_org_name).equalTo(row::getNext_check_org_name) + .set(check_describe).equalTo(row::getCheck_describe) + .set(check_status).equalTo(row::getCheck_status) + .set(check_time).equalTo(row::getCheck_time) + .set(provider_next_check_role_sign_id).equalTo(row::getProvider_next_check_role_sign_id) + .set(provider_next_check_role_sign_name).equalTo(row::getProvider_next_check_role_sign_name) + .set(sign).equalTo(row::getSign); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3161488+08:00", comments="Source Table: public.files_apply_check_record") + static UpdateDSL updateSelectiveColumns(FilesApplyCheckRecord row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(files_apply_id).equalToWhenPresent(row::getFiles_apply_id) + .set(is_apply_provider).equalToWhenPresent(row::getIs_apply_provider) + .set(check_user_id).equalToWhenPresent(row::getCheck_user_id) + .set(check_user_name).equalToWhenPresent(row::getCheck_user_name) + .set(check_org_id).equalToWhenPresent(row::getCheck_org_id) + .set(check_org_name).equalToWhenPresent(row::getCheck_org_name) + .set(next_check_org_id).equalToWhenPresent(row::getNext_check_org_id) + .set(next_check_org_name).equalToWhenPresent(row::getNext_check_org_name) + .set(check_describe).equalToWhenPresent(row::getCheck_describe) + .set(check_status).equalToWhenPresent(row::getCheck_status) + .set(check_time).equalToWhenPresent(row::getCheck_time) + .set(provider_next_check_role_sign_id).equalToWhenPresent(row::getProvider_next_check_role_sign_id) + .set(provider_next_check_role_sign_name).equalToWhenPresent(row::getProvider_next_check_role_sign_name) + .set(sign).equalToWhenPresent(row::getSign); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3161488+08:00", comments="Source Table: public.files_apply_check_record") + default int updateByPrimaryKey(FilesApplyCheckRecord row) { + return update(c -> + c.set(files_apply_id).equalTo(row::getFiles_apply_id) + .set(is_apply_provider).equalTo(row::getIs_apply_provider) + .set(check_user_id).equalTo(row::getCheck_user_id) + .set(check_user_name).equalTo(row::getCheck_user_name) + .set(check_org_id).equalTo(row::getCheck_org_id) + .set(check_org_name).equalTo(row::getCheck_org_name) + .set(next_check_org_id).equalTo(row::getNext_check_org_id) + .set(next_check_org_name).equalTo(row::getNext_check_org_name) + .set(check_describe).equalTo(row::getCheck_describe) + .set(check_status).equalTo(row::getCheck_status) + .set(check_time).equalTo(row::getCheck_time) + .set(provider_next_check_role_sign_id).equalTo(row::getProvider_next_check_role_sign_id) + .set(provider_next_check_role_sign_name).equalTo(row::getProvider_next_check_role_sign_name) + .set(sign).equalTo(row::getSign) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3161488+08:00", comments="Source Table: public.files_apply_check_record") + default int updateByPrimaryKeySelective(FilesApplyCheckRecord row) { + return update(c -> + c.set(files_apply_id).equalToWhenPresent(row::getFiles_apply_id) + .set(is_apply_provider).equalToWhenPresent(row::getIs_apply_provider) + .set(check_user_id).equalToWhenPresent(row::getCheck_user_id) + .set(check_user_name).equalToWhenPresent(row::getCheck_user_name) + .set(check_org_id).equalToWhenPresent(row::getCheck_org_id) + .set(check_org_name).equalToWhenPresent(row::getCheck_org_name) + .set(next_check_org_id).equalToWhenPresent(row::getNext_check_org_id) + .set(next_check_org_name).equalToWhenPresent(row::getNext_check_org_name) + .set(check_describe).equalToWhenPresent(row::getCheck_describe) + .set(check_status).equalToWhenPresent(row::getCheck_status) + .set(check_time).equalToWhenPresent(row::getCheck_time) + .set(provider_next_check_role_sign_id).equalToWhenPresent(row::getProvider_next_check_role_sign_id) + .set(provider_next_check_role_sign_name).equalToWhenPresent(row::getProvider_next_check_role_sign_name) + .set(sign).equalToWhenPresent(row::getSign) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/FilesApplyDirectoryDocsMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/FilesApplyDirectoryDocsMapper.java new file mode 100644 index 0000000..d538d40 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/FilesApplyDirectoryDocsMapper.java @@ -0,0 +1,313 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.FilesApplyDirectoryDocsDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.FilesApplyDirectoryDocs; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface FilesApplyDirectoryDocsMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2351522+08:00", comments="Source Table: public.files_apply_directory_docs") + BasicColumn[] selectList = BasicColumn.columnList(id, files_apply_id, directory_file_id, directory_file_p_id, filesuper, filecount, dutyperson, eweavedate, filepage, sortorder, bpeg, epeg, filenum, remark, recordnum, piecenumber, adddate, editdate, time_stamp, isdel, catalogpdfurl, signtag, collecttag); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2252114+08:00", comments="Source Table: public.files_apply_directory_docs") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="FilesApplyDirectoryDocsResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="files_apply_id", property="files_apply_id", jdbcType=JdbcType.VARCHAR), + @Result(column="directory_file_id", property="directory_file_id", jdbcType=JdbcType.VARCHAR), + @Result(column="directory_file_p_id", property="directory_file_p_id", jdbcType=JdbcType.VARCHAR), + @Result(column="filesuper", property="filesuper", jdbcType=JdbcType.VARCHAR), + @Result(column="filecount", property="filecount", jdbcType=JdbcType.INTEGER), + @Result(column="dutyperson", property="dutyperson", jdbcType=JdbcType.VARCHAR), + @Result(column="eweavedate", property="eweavedate", jdbcType=JdbcType.VARCHAR), + @Result(column="filepage", property="filepage", jdbcType=JdbcType.INTEGER), + @Result(column="sortorder", property="sortorder", jdbcType=JdbcType.VARCHAR), + @Result(column="bpeg", property="bpeg", jdbcType=JdbcType.VARCHAR), + @Result(column="epeg", property="epeg", jdbcType=JdbcType.VARCHAR), + @Result(column="filenum", property="filenum", jdbcType=JdbcType.VARCHAR), + @Result(column="remark", property="remark", jdbcType=JdbcType.VARCHAR), + @Result(column="recordnum", property="recordnum", jdbcType=JdbcType.VARCHAR), + @Result(column="piecenumber", property="piecenumber", jdbcType=JdbcType.VARCHAR), + @Result(column="adddate", property="adddate", jdbcType=JdbcType.VARCHAR), + @Result(column="editdate", property="editdate", jdbcType=JdbcType.VARCHAR), + @Result(column="time_stamp", property="time_stamp", jdbcType=JdbcType.VARCHAR), + @Result(column="isdel", property="isdel", jdbcType=JdbcType.INTEGER), + @Result(column="catalogpdfurl", property="catalogpdfurl", jdbcType=JdbcType.VARCHAR), + @Result(column="signtag", property="signtag", jdbcType=JdbcType.VARCHAR), + @Result(column="collecttag", property="collecttag", jdbcType=JdbcType.VARCHAR) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2281844+08:00", comments="Source Table: public.files_apply_directory_docs") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("FilesApplyDirectoryDocsResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2291477+08:00", comments="Source Table: public.files_apply_directory_docs") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, filesApplyDirectoryDocs, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2291477+08:00", comments="Source Table: public.files_apply_directory_docs") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, filesApplyDirectoryDocs, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2301846+08:00", comments="Source Table: public.files_apply_directory_docs") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2301846+08:00", comments="Source Table: public.files_apply_directory_docs") + default int insert(FilesApplyDirectoryDocs row) { + return MyBatis3Utils.insert(this::insert, row, filesApplyDirectoryDocs, c -> + c.map(id).toProperty("id") + .map(files_apply_id).toProperty("files_apply_id") + .map(directory_file_id).toProperty("directory_file_id") + .map(directory_file_p_id).toProperty("directory_file_p_id") + .map(filesuper).toProperty("filesuper") + .map(filecount).toProperty("filecount") + .map(dutyperson).toProperty("dutyperson") + .map(eweavedate).toProperty("eweavedate") + .map(filepage).toProperty("filepage") + .map(sortorder).toProperty("sortorder") + .map(bpeg).toProperty("bpeg") + .map(epeg).toProperty("epeg") + .map(filenum).toProperty("filenum") + .map(remark).toProperty("remark") + .map(recordnum).toProperty("recordnum") + .map(piecenumber).toProperty("piecenumber") + .map(adddate).toProperty("adddate") + .map(editdate).toProperty("editdate") + .map(time_stamp).toProperty("time_stamp") + .map(isdel).toProperty("isdel") + .map(catalogpdfurl).toProperty("catalogpdfurl") + .map(signtag).toProperty("signtag") + .map(collecttag).toProperty("collecttag") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2331477+08:00", comments="Source Table: public.files_apply_directory_docs") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, filesApplyDirectoryDocs, c -> + c.map(id).toProperty("id") + .map(files_apply_id).toProperty("files_apply_id") + .map(directory_file_id).toProperty("directory_file_id") + .map(directory_file_p_id).toProperty("directory_file_p_id") + .map(filesuper).toProperty("filesuper") + .map(filecount).toProperty("filecount") + .map(dutyperson).toProperty("dutyperson") + .map(eweavedate).toProperty("eweavedate") + .map(filepage).toProperty("filepage") + .map(sortorder).toProperty("sortorder") + .map(bpeg).toProperty("bpeg") + .map(epeg).toProperty("epeg") + .map(filenum).toProperty("filenum") + .map(remark).toProperty("remark") + .map(recordnum).toProperty("recordnum") + .map(piecenumber).toProperty("piecenumber") + .map(adddate).toProperty("adddate") + .map(editdate).toProperty("editdate") + .map(time_stamp).toProperty("time_stamp") + .map(isdel).toProperty("isdel") + .map(catalogpdfurl).toProperty("catalogpdfurl") + .map(signtag).toProperty("signtag") + .map(collecttag).toProperty("collecttag") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2331477+08:00", comments="Source Table: public.files_apply_directory_docs") + default int insertSelective(FilesApplyDirectoryDocs row) { + return MyBatis3Utils.insert(this::insert, row, filesApplyDirectoryDocs, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(files_apply_id).toPropertyWhenPresent("files_apply_id", row::getFiles_apply_id) + .map(directory_file_id).toPropertyWhenPresent("directory_file_id", row::getDirectory_file_id) + .map(directory_file_p_id).toPropertyWhenPresent("directory_file_p_id", row::getDirectory_file_p_id) + .map(filesuper).toPropertyWhenPresent("filesuper", row::getFilesuper) + .map(filecount).toPropertyWhenPresent("filecount", row::getFilecount) + .map(dutyperson).toPropertyWhenPresent("dutyperson", row::getDutyperson) + .map(eweavedate).toPropertyWhenPresent("eweavedate", row::getEweavedate) + .map(filepage).toPropertyWhenPresent("filepage", row::getFilepage) + .map(sortorder).toPropertyWhenPresent("sortorder", row::getSortorder) + .map(bpeg).toPropertyWhenPresent("bpeg", row::getBpeg) + .map(epeg).toPropertyWhenPresent("epeg", row::getEpeg) + .map(filenum).toPropertyWhenPresent("filenum", row::getFilenum) + .map(remark).toPropertyWhenPresent("remark", row::getRemark) + .map(recordnum).toPropertyWhenPresent("recordnum", row::getRecordnum) + .map(piecenumber).toPropertyWhenPresent("piecenumber", row::getPiecenumber) + .map(adddate).toPropertyWhenPresent("adddate", row::getAdddate) + .map(editdate).toPropertyWhenPresent("editdate", row::getEditdate) + .map(time_stamp).toPropertyWhenPresent("time_stamp", row::getTime_stamp) + .map(isdel).toPropertyWhenPresent("isdel", row::getIsdel) + .map(catalogpdfurl).toPropertyWhenPresent("catalogpdfurl", row::getCatalogpdfurl) + .map(signtag).toPropertyWhenPresent("signtag", row::getSigntag) + .map(collecttag).toPropertyWhenPresent("collecttag", row::getCollecttag) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.236184+08:00", comments="Source Table: public.files_apply_directory_docs") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, filesApplyDirectoryDocs, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.236184+08:00", comments="Source Table: public.files_apply_directory_docs") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, filesApplyDirectoryDocs, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2371846+08:00", comments="Source Table: public.files_apply_directory_docs") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, filesApplyDirectoryDocs, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2371846+08:00", comments="Source Table: public.files_apply_directory_docs") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2381828+08:00", comments="Source Table: public.files_apply_directory_docs") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, filesApplyDirectoryDocs, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2381828+08:00", comments="Source Table: public.files_apply_directory_docs") + static UpdateDSL updateAllColumns(FilesApplyDirectoryDocs row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(files_apply_id).equalTo(row::getFiles_apply_id) + .set(directory_file_id).equalTo(row::getDirectory_file_id) + .set(directory_file_p_id).equalTo(row::getDirectory_file_p_id) + .set(filesuper).equalTo(row::getFilesuper) + .set(filecount).equalTo(row::getFilecount) + .set(dutyperson).equalTo(row::getDutyperson) + .set(eweavedate).equalTo(row::getEweavedate) + .set(filepage).equalTo(row::getFilepage) + .set(sortorder).equalTo(row::getSortorder) + .set(bpeg).equalTo(row::getBpeg) + .set(epeg).equalTo(row::getEpeg) + .set(filenum).equalTo(row::getFilenum) + .set(remark).equalTo(row::getRemark) + .set(recordnum).equalTo(row::getRecordnum) + .set(piecenumber).equalTo(row::getPiecenumber) + .set(adddate).equalTo(row::getAdddate) + .set(editdate).equalTo(row::getEditdate) + .set(time_stamp).equalTo(row::getTime_stamp) + .set(isdel).equalTo(row::getIsdel) + .set(catalogpdfurl).equalTo(row::getCatalogpdfurl) + .set(signtag).equalTo(row::getSigntag) + .set(collecttag).equalTo(row::getCollecttag); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2391507+08:00", comments="Source Table: public.files_apply_directory_docs") + static UpdateDSL updateSelectiveColumns(FilesApplyDirectoryDocs row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(files_apply_id).equalToWhenPresent(row::getFiles_apply_id) + .set(directory_file_id).equalToWhenPresent(row::getDirectory_file_id) + .set(directory_file_p_id).equalToWhenPresent(row::getDirectory_file_p_id) + .set(filesuper).equalToWhenPresent(row::getFilesuper) + .set(filecount).equalToWhenPresent(row::getFilecount) + .set(dutyperson).equalToWhenPresent(row::getDutyperson) + .set(eweavedate).equalToWhenPresent(row::getEweavedate) + .set(filepage).equalToWhenPresent(row::getFilepage) + .set(sortorder).equalToWhenPresent(row::getSortorder) + .set(bpeg).equalToWhenPresent(row::getBpeg) + .set(epeg).equalToWhenPresent(row::getEpeg) + .set(filenum).equalToWhenPresent(row::getFilenum) + .set(remark).equalToWhenPresent(row::getRemark) + .set(recordnum).equalToWhenPresent(row::getRecordnum) + .set(piecenumber).equalToWhenPresent(row::getPiecenumber) + .set(adddate).equalToWhenPresent(row::getAdddate) + .set(editdate).equalToWhenPresent(row::getEditdate) + .set(time_stamp).equalToWhenPresent(row::getTime_stamp) + .set(isdel).equalToWhenPresent(row::getIsdel) + .set(catalogpdfurl).equalToWhenPresent(row::getCatalogpdfurl) + .set(signtag).equalToWhenPresent(row::getSigntag) + .set(collecttag).equalToWhenPresent(row::getCollecttag); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2401479+08:00", comments="Source Table: public.files_apply_directory_docs") + default int updateByPrimaryKey(FilesApplyDirectoryDocs row) { + return update(c -> + c.set(files_apply_id).equalTo(row::getFiles_apply_id) + .set(directory_file_id).equalTo(row::getDirectory_file_id) + .set(directory_file_p_id).equalTo(row::getDirectory_file_p_id) + .set(filesuper).equalTo(row::getFilesuper) + .set(filecount).equalTo(row::getFilecount) + .set(dutyperson).equalTo(row::getDutyperson) + .set(eweavedate).equalTo(row::getEweavedate) + .set(filepage).equalTo(row::getFilepage) + .set(sortorder).equalTo(row::getSortorder) + .set(bpeg).equalTo(row::getBpeg) + .set(epeg).equalTo(row::getEpeg) + .set(filenum).equalTo(row::getFilenum) + .set(remark).equalTo(row::getRemark) + .set(recordnum).equalTo(row::getRecordnum) + .set(piecenumber).equalTo(row::getPiecenumber) + .set(adddate).equalTo(row::getAdddate) + .set(editdate).equalTo(row::getEditdate) + .set(time_stamp).equalTo(row::getTime_stamp) + .set(isdel).equalTo(row::getIsdel) + .set(catalogpdfurl).equalTo(row::getCatalogpdfurl) + .set(signtag).equalTo(row::getSigntag) + .set(collecttag).equalTo(row::getCollecttag) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2401479+08:00", comments="Source Table: public.files_apply_directory_docs") + default int updateByPrimaryKeySelective(FilesApplyDirectoryDocs row) { + return update(c -> + c.set(files_apply_id).equalToWhenPresent(row::getFiles_apply_id) + .set(directory_file_id).equalToWhenPresent(row::getDirectory_file_id) + .set(directory_file_p_id).equalToWhenPresent(row::getDirectory_file_p_id) + .set(filesuper).equalToWhenPresent(row::getFilesuper) + .set(filecount).equalToWhenPresent(row::getFilecount) + .set(dutyperson).equalToWhenPresent(row::getDutyperson) + .set(eweavedate).equalToWhenPresent(row::getEweavedate) + .set(filepage).equalToWhenPresent(row::getFilepage) + .set(sortorder).equalToWhenPresent(row::getSortorder) + .set(bpeg).equalToWhenPresent(row::getBpeg) + .set(epeg).equalToWhenPresent(row::getEpeg) + .set(filenum).equalToWhenPresent(row::getFilenum) + .set(remark).equalToWhenPresent(row::getRemark) + .set(recordnum).equalToWhenPresent(row::getRecordnum) + .set(piecenumber).equalToWhenPresent(row::getPiecenumber) + .set(adddate).equalToWhenPresent(row::getAdddate) + .set(editdate).equalToWhenPresent(row::getEditdate) + .set(time_stamp).equalToWhenPresent(row::getTime_stamp) + .set(isdel).equalToWhenPresent(row::getIsdel) + .set(catalogpdfurl).equalToWhenPresent(row::getCatalogpdfurl) + .set(signtag).equalToWhenPresent(row::getSigntag) + .set(collecttag).equalToWhenPresent(row::getCollecttag) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/FilesApplyDocsMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/FilesApplyDocsMapper.java new file mode 100644 index 0000000..f177993 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/FilesApplyDocsMapper.java @@ -0,0 +1,297 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.FilesApplyDocsDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.FilesApplyDocs; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface FilesApplyDocsMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2691488+08:00", comments="Source Table: public.files_apply_docs") + BasicColumn[] selectList = BasicColumn.columnList(id, files_apply_id, syn_file_id, syn_file_p_id, tablenumber, annexname, projectname, eweavedate, checkdate, annexpage, sortorder, filefrom, archivestag, adddate, editdate, time_stamp, isdel, downurl, filesize, apply_view_type_print, apply_view_type_online); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2691488+08:00", comments="Source Table: public.files_apply_docs") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="FilesApplyDocsResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="files_apply_id", property="files_apply_id", jdbcType=JdbcType.VARCHAR), + @Result(column="syn_file_id", property="syn_file_id", jdbcType=JdbcType.VARCHAR), + @Result(column="syn_file_p_id", property="syn_file_p_id", jdbcType=JdbcType.VARCHAR), + @Result(column="tablenumber", property="tablenumber", jdbcType=JdbcType.VARCHAR), + @Result(column="annexname", property="annexname", jdbcType=JdbcType.VARCHAR), + @Result(column="projectname", property="projectname", jdbcType=JdbcType.VARCHAR), + @Result(column="eweavedate", property="eweavedate", jdbcType=JdbcType.VARCHAR), + @Result(column="checkdate", property="checkdate", jdbcType=JdbcType.VARCHAR), + @Result(column="annexpage", property="annexpage", jdbcType=JdbcType.INTEGER), + @Result(column="sortorder", property="sortorder", jdbcType=JdbcType.VARCHAR), + @Result(column="filefrom", property="filefrom", jdbcType=JdbcType.VARCHAR), + @Result(column="archivestag", property="archivestag", jdbcType=JdbcType.VARCHAR), + @Result(column="adddate", property="adddate", jdbcType=JdbcType.VARCHAR), + @Result(column="editdate", property="editdate", jdbcType=JdbcType.VARCHAR), + @Result(column="time_stamp", property="time_stamp", jdbcType=JdbcType.VARCHAR), + @Result(column="isdel", property="isdel", jdbcType=JdbcType.INTEGER), + @Result(column="downurl", property="downurl", jdbcType=JdbcType.VARCHAR), + @Result(column="filesize", property="filesize", jdbcType=JdbcType.INTEGER), + @Result(column="apply_view_type_print", property="apply_view_type_print", jdbcType=JdbcType.INTEGER), + @Result(column="apply_view_type_online", property="apply_view_type_online", jdbcType=JdbcType.INTEGER) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2691488+08:00", comments="Source Table: public.files_apply_docs") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("FilesApplyDocsResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2691488+08:00", comments="Source Table: public.files_apply_docs") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, filesApplyDocs, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2691488+08:00", comments="Source Table: public.files_apply_docs") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, filesApplyDocs, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2691488+08:00", comments="Source Table: public.files_apply_docs") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2691488+08:00", comments="Source Table: public.files_apply_docs") + default int insert(FilesApplyDocs row) { + return MyBatis3Utils.insert(this::insert, row, filesApplyDocs, c -> + c.map(id).toProperty("id") + .map(files_apply_id).toProperty("files_apply_id") + .map(syn_file_id).toProperty("syn_file_id") + .map(syn_file_p_id).toProperty("syn_file_p_id") + .map(tablenumber).toProperty("tablenumber") + .map(annexname).toProperty("annexname") + .map(projectname).toProperty("projectname") + .map(eweavedate).toProperty("eweavedate") + .map(checkdate).toProperty("checkdate") + .map(annexpage).toProperty("annexpage") + .map(sortorder).toProperty("sortorder") + .map(filefrom).toProperty("filefrom") + .map(archivestag).toProperty("archivestag") + .map(adddate).toProperty("adddate") + .map(editdate).toProperty("editdate") + .map(time_stamp).toProperty("time_stamp") + .map(isdel).toProperty("isdel") + .map(downurl).toProperty("downurl") + .map(filesize).toProperty("filesize") + .map(apply_view_type_print).toProperty("apply_view_type_print") + .map(apply_view_type_online).toProperty("apply_view_type_online") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2691488+08:00", comments="Source Table: public.files_apply_docs") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, filesApplyDocs, c -> + c.map(id).toProperty("id") + .map(files_apply_id).toProperty("files_apply_id") + .map(syn_file_id).toProperty("syn_file_id") + .map(syn_file_p_id).toProperty("syn_file_p_id") + .map(tablenumber).toProperty("tablenumber") + .map(annexname).toProperty("annexname") + .map(projectname).toProperty("projectname") + .map(eweavedate).toProperty("eweavedate") + .map(checkdate).toProperty("checkdate") + .map(annexpage).toProperty("annexpage") + .map(sortorder).toProperty("sortorder") + .map(filefrom).toProperty("filefrom") + .map(archivestag).toProperty("archivestag") + .map(adddate).toProperty("adddate") + .map(editdate).toProperty("editdate") + .map(time_stamp).toProperty("time_stamp") + .map(isdel).toProperty("isdel") + .map(downurl).toProperty("downurl") + .map(filesize).toProperty("filesize") + .map(apply_view_type_print).toProperty("apply_view_type_print") + .map(apply_view_type_online).toProperty("apply_view_type_online") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2691488+08:00", comments="Source Table: public.files_apply_docs") + default int insertSelective(FilesApplyDocs row) { + return MyBatis3Utils.insert(this::insert, row, filesApplyDocs, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(files_apply_id).toPropertyWhenPresent("files_apply_id", row::getFiles_apply_id) + .map(syn_file_id).toPropertyWhenPresent("syn_file_id", row::getSyn_file_id) + .map(syn_file_p_id).toPropertyWhenPresent("syn_file_p_id", row::getSyn_file_p_id) + .map(tablenumber).toPropertyWhenPresent("tablenumber", row::getTablenumber) + .map(annexname).toPropertyWhenPresent("annexname", row::getAnnexname) + .map(projectname).toPropertyWhenPresent("projectname", row::getProjectname) + .map(eweavedate).toPropertyWhenPresent("eweavedate", row::getEweavedate) + .map(checkdate).toPropertyWhenPresent("checkdate", row::getCheckdate) + .map(annexpage).toPropertyWhenPresent("annexpage", row::getAnnexpage) + .map(sortorder).toPropertyWhenPresent("sortorder", row::getSortorder) + .map(filefrom).toPropertyWhenPresent("filefrom", row::getFilefrom) + .map(archivestag).toPropertyWhenPresent("archivestag", row::getArchivestag) + .map(adddate).toPropertyWhenPresent("adddate", row::getAdddate) + .map(editdate).toPropertyWhenPresent("editdate", row::getEditdate) + .map(time_stamp).toPropertyWhenPresent("time_stamp", row::getTime_stamp) + .map(isdel).toPropertyWhenPresent("isdel", row::getIsdel) + .map(downurl).toPropertyWhenPresent("downurl", row::getDownurl) + .map(filesize).toPropertyWhenPresent("filesize", row::getFilesize) + .map(apply_view_type_print).toPropertyWhenPresent("apply_view_type_print", row::getApply_view_type_print) + .map(apply_view_type_online).toPropertyWhenPresent("apply_view_type_online", row::getApply_view_type_online) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2701477+08:00", comments="Source Table: public.files_apply_docs") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, filesApplyDocs, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2701477+08:00", comments="Source Table: public.files_apply_docs") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, filesApplyDocs, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2701477+08:00", comments="Source Table: public.files_apply_docs") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, filesApplyDocs, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2701477+08:00", comments="Source Table: public.files_apply_docs") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2701477+08:00", comments="Source Table: public.files_apply_docs") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, filesApplyDocs, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2701477+08:00", comments="Source Table: public.files_apply_docs") + static UpdateDSL updateAllColumns(FilesApplyDocs row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(files_apply_id).equalTo(row::getFiles_apply_id) + .set(syn_file_id).equalTo(row::getSyn_file_id) + .set(syn_file_p_id).equalTo(row::getSyn_file_p_id) + .set(tablenumber).equalTo(row::getTablenumber) + .set(annexname).equalTo(row::getAnnexname) + .set(projectname).equalTo(row::getProjectname) + .set(eweavedate).equalTo(row::getEweavedate) + .set(checkdate).equalTo(row::getCheckdate) + .set(annexpage).equalTo(row::getAnnexpage) + .set(sortorder).equalTo(row::getSortorder) + .set(filefrom).equalTo(row::getFilefrom) + .set(archivestag).equalTo(row::getArchivestag) + .set(adddate).equalTo(row::getAdddate) + .set(editdate).equalTo(row::getEditdate) + .set(time_stamp).equalTo(row::getTime_stamp) + .set(isdel).equalTo(row::getIsdel) + .set(downurl).equalTo(row::getDownurl) + .set(filesize).equalTo(row::getFilesize) + .set(apply_view_type_print).equalTo(row::getApply_view_type_print) + .set(apply_view_type_online).equalTo(row::getApply_view_type_online); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2701477+08:00", comments="Source Table: public.files_apply_docs") + static UpdateDSL updateSelectiveColumns(FilesApplyDocs row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(files_apply_id).equalToWhenPresent(row::getFiles_apply_id) + .set(syn_file_id).equalToWhenPresent(row::getSyn_file_id) + .set(syn_file_p_id).equalToWhenPresent(row::getSyn_file_p_id) + .set(tablenumber).equalToWhenPresent(row::getTablenumber) + .set(annexname).equalToWhenPresent(row::getAnnexname) + .set(projectname).equalToWhenPresent(row::getProjectname) + .set(eweavedate).equalToWhenPresent(row::getEweavedate) + .set(checkdate).equalToWhenPresent(row::getCheckdate) + .set(annexpage).equalToWhenPresent(row::getAnnexpage) + .set(sortorder).equalToWhenPresent(row::getSortorder) + .set(filefrom).equalToWhenPresent(row::getFilefrom) + .set(archivestag).equalToWhenPresent(row::getArchivestag) + .set(adddate).equalToWhenPresent(row::getAdddate) + .set(editdate).equalToWhenPresent(row::getEditdate) + .set(time_stamp).equalToWhenPresent(row::getTime_stamp) + .set(isdel).equalToWhenPresent(row::getIsdel) + .set(downurl).equalToWhenPresent(row::getDownurl) + .set(filesize).equalToWhenPresent(row::getFilesize) + .set(apply_view_type_print).equalToWhenPresent(row::getApply_view_type_print) + .set(apply_view_type_online).equalToWhenPresent(row::getApply_view_type_online); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2701477+08:00", comments="Source Table: public.files_apply_docs") + default int updateByPrimaryKey(FilesApplyDocs row) { + return update(c -> + c.set(files_apply_id).equalTo(row::getFiles_apply_id) + .set(syn_file_id).equalTo(row::getSyn_file_id) + .set(syn_file_p_id).equalTo(row::getSyn_file_p_id) + .set(tablenumber).equalTo(row::getTablenumber) + .set(annexname).equalTo(row::getAnnexname) + .set(projectname).equalTo(row::getProjectname) + .set(eweavedate).equalTo(row::getEweavedate) + .set(checkdate).equalTo(row::getCheckdate) + .set(annexpage).equalTo(row::getAnnexpage) + .set(sortorder).equalTo(row::getSortorder) + .set(filefrom).equalTo(row::getFilefrom) + .set(archivestag).equalTo(row::getArchivestag) + .set(adddate).equalTo(row::getAdddate) + .set(editdate).equalTo(row::getEditdate) + .set(time_stamp).equalTo(row::getTime_stamp) + .set(isdel).equalTo(row::getIsdel) + .set(downurl).equalTo(row::getDownurl) + .set(filesize).equalTo(row::getFilesize) + .set(apply_view_type_print).equalTo(row::getApply_view_type_print) + .set(apply_view_type_online).equalTo(row::getApply_view_type_online) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2701477+08:00", comments="Source Table: public.files_apply_docs") + default int updateByPrimaryKeySelective(FilesApplyDocs row) { + return update(c -> + c.set(files_apply_id).equalToWhenPresent(row::getFiles_apply_id) + .set(syn_file_id).equalToWhenPresent(row::getSyn_file_id) + .set(syn_file_p_id).equalToWhenPresent(row::getSyn_file_p_id) + .set(tablenumber).equalToWhenPresent(row::getTablenumber) + .set(annexname).equalToWhenPresent(row::getAnnexname) + .set(projectname).equalToWhenPresent(row::getProjectname) + .set(eweavedate).equalToWhenPresent(row::getEweavedate) + .set(checkdate).equalToWhenPresent(row::getCheckdate) + .set(annexpage).equalToWhenPresent(row::getAnnexpage) + .set(sortorder).equalToWhenPresent(row::getSortorder) + .set(filefrom).equalToWhenPresent(row::getFilefrom) + .set(archivestag).equalToWhenPresent(row::getArchivestag) + .set(adddate).equalToWhenPresent(row::getAdddate) + .set(editdate).equalToWhenPresent(row::getEditdate) + .set(time_stamp).equalToWhenPresent(row::getTime_stamp) + .set(isdel).equalToWhenPresent(row::getIsdel) + .set(downurl).equalToWhenPresent(row::getDownurl) + .set(filesize).equalToWhenPresent(row::getFilesize) + .set(apply_view_type_print).equalToWhenPresent(row::getApply_view_type_print) + .set(apply_view_type_online).equalToWhenPresent(row::getApply_view_type_online) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/FilesApplyDownloadRecordMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/FilesApplyDownloadRecordMapper.java new file mode 100644 index 0000000..7cf3010 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/FilesApplyDownloadRecordMapper.java @@ -0,0 +1,217 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.FilesApplyDownloadRecordDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.FilesApplyDownloadRecord; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface FilesApplyDownloadRecordMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2951492+08:00", comments="Source Table: public.files_apply_download_record") + BasicColumn[] selectList = BasicColumn.columnList(id, files_apply_id, is_dir_file, syn_file_id, syn_file_p_id, syn_file_name, user_id, user_name, org_id, org_name, download_time); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2941514+08:00", comments="Source Table: public.files_apply_download_record") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="FilesApplyDownloadRecordResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="files_apply_id", property="files_apply_id", jdbcType=JdbcType.VARCHAR), + @Result(column="is_dir_file", property="is_dir_file", jdbcType=JdbcType.INTEGER), + @Result(column="syn_file_id", property="syn_file_id", jdbcType=JdbcType.VARCHAR), + @Result(column="syn_file_p_id", property="syn_file_p_id", jdbcType=JdbcType.VARCHAR), + @Result(column="syn_file_name", property="syn_file_name", jdbcType=JdbcType.VARCHAR), + @Result(column="user_id", property="user_id", jdbcType=JdbcType.VARCHAR), + @Result(column="user_name", property="user_name", jdbcType=JdbcType.VARCHAR), + @Result(column="org_id", property="org_id", jdbcType=JdbcType.VARCHAR), + @Result(column="org_name", property="org_name", jdbcType=JdbcType.VARCHAR), + @Result(column="download_time", property="download_time", jdbcType=JdbcType.TIMESTAMP) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2951492+08:00", comments="Source Table: public.files_apply_download_record") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("FilesApplyDownloadRecordResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2951492+08:00", comments="Source Table: public.files_apply_download_record") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, filesApplyDownloadRecord, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2951492+08:00", comments="Source Table: public.files_apply_download_record") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, filesApplyDownloadRecord, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2951492+08:00", comments="Source Table: public.files_apply_download_record") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2951492+08:00", comments="Source Table: public.files_apply_download_record") + default int insert(FilesApplyDownloadRecord row) { + return MyBatis3Utils.insert(this::insert, row, filesApplyDownloadRecord, c -> + c.map(id).toProperty("id") + .map(files_apply_id).toProperty("files_apply_id") + .map(is_dir_file).toProperty("is_dir_file") + .map(syn_file_id).toProperty("syn_file_id") + .map(syn_file_p_id).toProperty("syn_file_p_id") + .map(syn_file_name).toProperty("syn_file_name") + .map(user_id).toProperty("user_id") + .map(user_name).toProperty("user_name") + .map(org_id).toProperty("org_id") + .map(org_name).toProperty("org_name") + .map(download_time).toProperty("download_time") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2951492+08:00", comments="Source Table: public.files_apply_download_record") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, filesApplyDownloadRecord, c -> + c.map(id).toProperty("id") + .map(files_apply_id).toProperty("files_apply_id") + .map(is_dir_file).toProperty("is_dir_file") + .map(syn_file_id).toProperty("syn_file_id") + .map(syn_file_p_id).toProperty("syn_file_p_id") + .map(syn_file_name).toProperty("syn_file_name") + .map(user_id).toProperty("user_id") + .map(user_name).toProperty("user_name") + .map(org_id).toProperty("org_id") + .map(org_name).toProperty("org_name") + .map(download_time).toProperty("download_time") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2951492+08:00", comments="Source Table: public.files_apply_download_record") + default int insertSelective(FilesApplyDownloadRecord row) { + return MyBatis3Utils.insert(this::insert, row, filesApplyDownloadRecord, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(files_apply_id).toPropertyWhenPresent("files_apply_id", row::getFiles_apply_id) + .map(is_dir_file).toPropertyWhenPresent("is_dir_file", row::getIs_dir_file) + .map(syn_file_id).toPropertyWhenPresent("syn_file_id", row::getSyn_file_id) + .map(syn_file_p_id).toPropertyWhenPresent("syn_file_p_id", row::getSyn_file_p_id) + .map(syn_file_name).toPropertyWhenPresent("syn_file_name", row::getSyn_file_name) + .map(user_id).toPropertyWhenPresent("user_id", row::getUser_id) + .map(user_name).toPropertyWhenPresent("user_name", row::getUser_name) + .map(org_id).toPropertyWhenPresent("org_id", row::getOrg_id) + .map(org_name).toPropertyWhenPresent("org_name", row::getOrg_name) + .map(download_time).toPropertyWhenPresent("download_time", row::getDownload_time) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2961489+08:00", comments="Source Table: public.files_apply_download_record") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, filesApplyDownloadRecord, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2961489+08:00", comments="Source Table: public.files_apply_download_record") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, filesApplyDownloadRecord, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2961489+08:00", comments="Source Table: public.files_apply_download_record") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, filesApplyDownloadRecord, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2961489+08:00", comments="Source Table: public.files_apply_download_record") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2961489+08:00", comments="Source Table: public.files_apply_download_record") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, filesApplyDownloadRecord, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2961489+08:00", comments="Source Table: public.files_apply_download_record") + static UpdateDSL updateAllColumns(FilesApplyDownloadRecord row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(files_apply_id).equalTo(row::getFiles_apply_id) + .set(is_dir_file).equalTo(row::getIs_dir_file) + .set(syn_file_id).equalTo(row::getSyn_file_id) + .set(syn_file_p_id).equalTo(row::getSyn_file_p_id) + .set(syn_file_name).equalTo(row::getSyn_file_name) + .set(user_id).equalTo(row::getUser_id) + .set(user_name).equalTo(row::getUser_name) + .set(org_id).equalTo(row::getOrg_id) + .set(org_name).equalTo(row::getOrg_name) + .set(download_time).equalTo(row::getDownload_time); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2961489+08:00", comments="Source Table: public.files_apply_download_record") + static UpdateDSL updateSelectiveColumns(FilesApplyDownloadRecord row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(files_apply_id).equalToWhenPresent(row::getFiles_apply_id) + .set(is_dir_file).equalToWhenPresent(row::getIs_dir_file) + .set(syn_file_id).equalToWhenPresent(row::getSyn_file_id) + .set(syn_file_p_id).equalToWhenPresent(row::getSyn_file_p_id) + .set(syn_file_name).equalToWhenPresent(row::getSyn_file_name) + .set(user_id).equalToWhenPresent(row::getUser_id) + .set(user_name).equalToWhenPresent(row::getUser_name) + .set(org_id).equalToWhenPresent(row::getOrg_id) + .set(org_name).equalToWhenPresent(row::getOrg_name) + .set(download_time).equalToWhenPresent(row::getDownload_time); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2961489+08:00", comments="Source Table: public.files_apply_download_record") + default int updateByPrimaryKey(FilesApplyDownloadRecord row) { + return update(c -> + c.set(files_apply_id).equalTo(row::getFiles_apply_id) + .set(is_dir_file).equalTo(row::getIs_dir_file) + .set(syn_file_id).equalTo(row::getSyn_file_id) + .set(syn_file_p_id).equalTo(row::getSyn_file_p_id) + .set(syn_file_name).equalTo(row::getSyn_file_name) + .set(user_id).equalTo(row::getUser_id) + .set(user_name).equalTo(row::getUser_name) + .set(org_id).equalTo(row::getOrg_id) + .set(org_name).equalTo(row::getOrg_name) + .set(download_time).equalTo(row::getDownload_time) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2961489+08:00", comments="Source Table: public.files_apply_download_record") + default int updateByPrimaryKeySelective(FilesApplyDownloadRecord row) { + return update(c -> + c.set(files_apply_id).equalToWhenPresent(row::getFiles_apply_id) + .set(is_dir_file).equalToWhenPresent(row::getIs_dir_file) + .set(syn_file_id).equalToWhenPresent(row::getSyn_file_id) + .set(syn_file_p_id).equalToWhenPresent(row::getSyn_file_p_id) + .set(syn_file_name).equalToWhenPresent(row::getSyn_file_name) + .set(user_id).equalToWhenPresent(row::getUser_id) + .set(user_name).equalToWhenPresent(row::getUser_name) + .set(org_id).equalToWhenPresent(row::getOrg_id) + .set(org_name).equalToWhenPresent(row::getOrg_name) + .set(download_time).equalToWhenPresent(row::getDownload_time) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/FilesApplyMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/FilesApplyMapper.java new file mode 100644 index 0000000..1034507 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/FilesApplyMapper.java @@ -0,0 +1,505 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.FilesApplyDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.FilesApply; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface FilesApplyMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2781481+08:00", comments="Source Table: public.files_apply") + BasicColumn[] selectList = BasicColumn.columnList(id, apply_user_id, apply_user_name, apply_user_phone, apply_user_email, apply_org_id, apply_org_name, apply_in_check_user_id, apply_in_check_user_name, apply_in_check_org_id, apply_in_check_org_name, apply_next_check_org_id, apply_next_check_org_name, apply_end_check_user_id, apply_end_check_user_name, apply_end_check_org_id, apply_end_check_org_name, apply_days, apply_feedback, apply_reason, apply_cancel_reason, apply_view_type_print, apply_view_type_online, apply_file_num, apply_time, apply_check_is_finish, provider_org_id, provider_org_name, provider_file_properties, provider_use_start_time, provider_use_end_time, provider_in_check_user_id, provider_in_check_user_name, provider_in_check_org_id, provider_in_check_org_name, provider_next_check_role_sign_id, provider_next_check_role_sign_name, provider_end_check_user_id, provider_end_check_user_name, provider_end_check_org_id, provider_end_check_org_name, provider_check_is_finish, secret_key, status, project_id, project_name, sign); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2771463+08:00", comments="Source Table: public.files_apply") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="FilesApplyResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="apply_user_id", property="apply_user_id", jdbcType=JdbcType.VARCHAR), + @Result(column="apply_user_name", property="apply_user_name", jdbcType=JdbcType.VARCHAR), + @Result(column="apply_user_phone", property="apply_user_phone", jdbcType=JdbcType.VARCHAR), + @Result(column="apply_user_email", property="apply_user_email", jdbcType=JdbcType.VARCHAR), + @Result(column="apply_org_id", property="apply_org_id", jdbcType=JdbcType.VARCHAR), + @Result(column="apply_org_name", property="apply_org_name", jdbcType=JdbcType.VARCHAR), + @Result(column="apply_in_check_user_id", property="apply_in_check_user_id", jdbcType=JdbcType.VARCHAR), + @Result(column="apply_in_check_user_name", property="apply_in_check_user_name", jdbcType=JdbcType.VARCHAR), + @Result(column="apply_in_check_org_id", property="apply_in_check_org_id", jdbcType=JdbcType.VARCHAR), + @Result(column="apply_in_check_org_name", property="apply_in_check_org_name", jdbcType=JdbcType.VARCHAR), + @Result(column="apply_next_check_org_id", property="apply_next_check_org_id", jdbcType=JdbcType.VARCHAR), + @Result(column="apply_next_check_org_name", property="apply_next_check_org_name", jdbcType=JdbcType.VARCHAR), + @Result(column="apply_end_check_user_id", property="apply_end_check_user_id", jdbcType=JdbcType.VARCHAR), + @Result(column="apply_end_check_user_name", property="apply_end_check_user_name", jdbcType=JdbcType.VARCHAR), + @Result(column="apply_end_check_org_id", property="apply_end_check_org_id", jdbcType=JdbcType.VARCHAR), + @Result(column="apply_end_check_org_name", property="apply_end_check_org_name", jdbcType=JdbcType.VARCHAR), + @Result(column="apply_days", property="apply_days", jdbcType=JdbcType.INTEGER), + @Result(column="apply_feedback", property="apply_feedback", jdbcType=JdbcType.VARCHAR), + @Result(column="apply_reason", property="apply_reason", jdbcType=JdbcType.VARCHAR), + @Result(column="apply_cancel_reason", property="apply_cancel_reason", jdbcType=JdbcType.VARCHAR), + @Result(column="apply_view_type_print", property="apply_view_type_print", jdbcType=JdbcType.INTEGER), + @Result(column="apply_view_type_online", property="apply_view_type_online", jdbcType=JdbcType.INTEGER), + @Result(column="apply_file_num", property="apply_file_num", jdbcType=JdbcType.INTEGER), + @Result(column="apply_time", property="apply_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="apply_check_is_finish", property="apply_check_is_finish", jdbcType=JdbcType.INTEGER), + @Result(column="provider_org_id", property="provider_org_id", jdbcType=JdbcType.VARCHAR), + @Result(column="provider_org_name", property="provider_org_name", jdbcType=JdbcType.VARCHAR), + @Result(column="provider_file_properties", property="provider_file_properties", jdbcType=JdbcType.INTEGER), + @Result(column="provider_use_start_time", property="provider_use_start_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="provider_use_end_time", property="provider_use_end_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="provider_in_check_user_id", property="provider_in_check_user_id", jdbcType=JdbcType.VARCHAR), + @Result(column="provider_in_check_user_name", property="provider_in_check_user_name", jdbcType=JdbcType.VARCHAR), + @Result(column="provider_in_check_org_id", property="provider_in_check_org_id", jdbcType=JdbcType.VARCHAR), + @Result(column="provider_in_check_org_name", property="provider_in_check_org_name", jdbcType=JdbcType.VARCHAR), + @Result(column="provider_next_check_role_sign_id", property="provider_next_check_role_sign_id", jdbcType=JdbcType.VARCHAR), + @Result(column="provider_next_check_role_sign_name", property="provider_next_check_role_sign_name", jdbcType=JdbcType.VARCHAR), + @Result(column="provider_end_check_user_id", property="provider_end_check_user_id", jdbcType=JdbcType.VARCHAR), + @Result(column="provider_end_check_user_name", property="provider_end_check_user_name", jdbcType=JdbcType.VARCHAR), + @Result(column="provider_end_check_org_id", property="provider_end_check_org_id", jdbcType=JdbcType.VARCHAR), + @Result(column="provider_end_check_org_name", property="provider_end_check_org_name", jdbcType=JdbcType.VARCHAR), + @Result(column="provider_check_is_finish", property="provider_check_is_finish", jdbcType=JdbcType.INTEGER), + @Result(column="secret_key", property="secret_key", jdbcType=JdbcType.VARCHAR), + @Result(column="status", property="status", jdbcType=JdbcType.INTEGER), + @Result(column="project_id", property="project_id", jdbcType=JdbcType.VARCHAR), + @Result(column="project_name", property="project_name", jdbcType=JdbcType.VARCHAR), + @Result(column="sign", property="sign", jdbcType=JdbcType.VARCHAR) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2771463+08:00", comments="Source Table: public.files_apply") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("FilesApplyResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2771463+08:00", comments="Source Table: public.files_apply") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, filesApply, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2771463+08:00", comments="Source Table: public.files_apply") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, filesApply, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2771463+08:00", comments="Source Table: public.files_apply") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2771463+08:00", comments="Source Table: public.files_apply") + default int insert(FilesApply row) { + return MyBatis3Utils.insert(this::insert, row, filesApply, c -> + c.map(id).toProperty("id") + .map(apply_user_id).toProperty("apply_user_id") + .map(apply_user_name).toProperty("apply_user_name") + .map(apply_user_phone).toProperty("apply_user_phone") + .map(apply_user_email).toProperty("apply_user_email") + .map(apply_org_id).toProperty("apply_org_id") + .map(apply_org_name).toProperty("apply_org_name") + .map(apply_in_check_user_id).toProperty("apply_in_check_user_id") + .map(apply_in_check_user_name).toProperty("apply_in_check_user_name") + .map(apply_in_check_org_id).toProperty("apply_in_check_org_id") + .map(apply_in_check_org_name).toProperty("apply_in_check_org_name") + .map(apply_next_check_org_id).toProperty("apply_next_check_org_id") + .map(apply_next_check_org_name).toProperty("apply_next_check_org_name") + .map(apply_end_check_user_id).toProperty("apply_end_check_user_id") + .map(apply_end_check_user_name).toProperty("apply_end_check_user_name") + .map(apply_end_check_org_id).toProperty("apply_end_check_org_id") + .map(apply_end_check_org_name).toProperty("apply_end_check_org_name") + .map(apply_days).toProperty("apply_days") + .map(apply_feedback).toProperty("apply_feedback") + .map(apply_reason).toProperty("apply_reason") + .map(apply_cancel_reason).toProperty("apply_cancel_reason") + .map(apply_view_type_print).toProperty("apply_view_type_print") + .map(apply_view_type_online).toProperty("apply_view_type_online") + .map(apply_file_num).toProperty("apply_file_num") + .map(apply_time).toProperty("apply_time") + .map(apply_check_is_finish).toProperty("apply_check_is_finish") + .map(provider_org_id).toProperty("provider_org_id") + .map(provider_org_name).toProperty("provider_org_name") + .map(provider_file_properties).toProperty("provider_file_properties") + .map(provider_use_start_time).toProperty("provider_use_start_time") + .map(provider_use_end_time).toProperty("provider_use_end_time") + .map(provider_in_check_user_id).toProperty("provider_in_check_user_id") + .map(provider_in_check_user_name).toProperty("provider_in_check_user_name") + .map(provider_in_check_org_id).toProperty("provider_in_check_org_id") + .map(provider_in_check_org_name).toProperty("provider_in_check_org_name") + .map(provider_next_check_role_sign_id).toProperty("provider_next_check_role_sign_id") + .map(provider_next_check_role_sign_name).toProperty("provider_next_check_role_sign_name") + .map(provider_end_check_user_id).toProperty("provider_end_check_user_id") + .map(provider_end_check_user_name).toProperty("provider_end_check_user_name") + .map(provider_end_check_org_id).toProperty("provider_end_check_org_id") + .map(provider_end_check_org_name).toProperty("provider_end_check_org_name") + .map(provider_check_is_finish).toProperty("provider_check_is_finish") + .map(secret_key).toProperty("secret_key") + .map(status).toProperty("status") + .map(project_id).toProperty("project_id") + .map(project_name).toProperty("project_name") + .map(sign).toProperty("sign") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2771463+08:00", comments="Source Table: public.files_apply") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, filesApply, c -> + c.map(id).toProperty("id") + .map(apply_user_id).toProperty("apply_user_id") + .map(apply_user_name).toProperty("apply_user_name") + .map(apply_user_phone).toProperty("apply_user_phone") + .map(apply_user_email).toProperty("apply_user_email") + .map(apply_org_id).toProperty("apply_org_id") + .map(apply_org_name).toProperty("apply_org_name") + .map(apply_in_check_user_id).toProperty("apply_in_check_user_id") + .map(apply_in_check_user_name).toProperty("apply_in_check_user_name") + .map(apply_in_check_org_id).toProperty("apply_in_check_org_id") + .map(apply_in_check_org_name).toProperty("apply_in_check_org_name") + .map(apply_next_check_org_id).toProperty("apply_next_check_org_id") + .map(apply_next_check_org_name).toProperty("apply_next_check_org_name") + .map(apply_end_check_user_id).toProperty("apply_end_check_user_id") + .map(apply_end_check_user_name).toProperty("apply_end_check_user_name") + .map(apply_end_check_org_id).toProperty("apply_end_check_org_id") + .map(apply_end_check_org_name).toProperty("apply_end_check_org_name") + .map(apply_days).toProperty("apply_days") + .map(apply_feedback).toProperty("apply_feedback") + .map(apply_reason).toProperty("apply_reason") + .map(apply_cancel_reason).toProperty("apply_cancel_reason") + .map(apply_view_type_print).toProperty("apply_view_type_print") + .map(apply_view_type_online).toProperty("apply_view_type_online") + .map(apply_file_num).toProperty("apply_file_num") + .map(apply_time).toProperty("apply_time") + .map(apply_check_is_finish).toProperty("apply_check_is_finish") + .map(provider_org_id).toProperty("provider_org_id") + .map(provider_org_name).toProperty("provider_org_name") + .map(provider_file_properties).toProperty("provider_file_properties") + .map(provider_use_start_time).toProperty("provider_use_start_time") + .map(provider_use_end_time).toProperty("provider_use_end_time") + .map(provider_in_check_user_id).toProperty("provider_in_check_user_id") + .map(provider_in_check_user_name).toProperty("provider_in_check_user_name") + .map(provider_in_check_org_id).toProperty("provider_in_check_org_id") + .map(provider_in_check_org_name).toProperty("provider_in_check_org_name") + .map(provider_next_check_role_sign_id).toProperty("provider_next_check_role_sign_id") + .map(provider_next_check_role_sign_name).toProperty("provider_next_check_role_sign_name") + .map(provider_end_check_user_id).toProperty("provider_end_check_user_id") + .map(provider_end_check_user_name).toProperty("provider_end_check_user_name") + .map(provider_end_check_org_id).toProperty("provider_end_check_org_id") + .map(provider_end_check_org_name).toProperty("provider_end_check_org_name") + .map(provider_check_is_finish).toProperty("provider_check_is_finish") + .map(secret_key).toProperty("secret_key") + .map(status).toProperty("status") + .map(project_id).toProperty("project_id") + .map(project_name).toProperty("project_name") + .map(sign).toProperty("sign") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2771463+08:00", comments="Source Table: public.files_apply") + default int insertSelective(FilesApply row) { + return MyBatis3Utils.insert(this::insert, row, filesApply, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(apply_user_id).toPropertyWhenPresent("apply_user_id", row::getApply_user_id) + .map(apply_user_name).toPropertyWhenPresent("apply_user_name", row::getApply_user_name) + .map(apply_user_phone).toPropertyWhenPresent("apply_user_phone", row::getApply_user_phone) + .map(apply_user_email).toPropertyWhenPresent("apply_user_email", row::getApply_user_email) + .map(apply_org_id).toPropertyWhenPresent("apply_org_id", row::getApply_org_id) + .map(apply_org_name).toPropertyWhenPresent("apply_org_name", row::getApply_org_name) + .map(apply_in_check_user_id).toPropertyWhenPresent("apply_in_check_user_id", row::getApply_in_check_user_id) + .map(apply_in_check_user_name).toPropertyWhenPresent("apply_in_check_user_name", row::getApply_in_check_user_name) + .map(apply_in_check_org_id).toPropertyWhenPresent("apply_in_check_org_id", row::getApply_in_check_org_id) + .map(apply_in_check_org_name).toPropertyWhenPresent("apply_in_check_org_name", row::getApply_in_check_org_name) + .map(apply_next_check_org_id).toPropertyWhenPresent("apply_next_check_org_id", row::getApply_next_check_org_id) + .map(apply_next_check_org_name).toPropertyWhenPresent("apply_next_check_org_name", row::getApply_next_check_org_name) + .map(apply_end_check_user_id).toPropertyWhenPresent("apply_end_check_user_id", row::getApply_end_check_user_id) + .map(apply_end_check_user_name).toPropertyWhenPresent("apply_end_check_user_name", row::getApply_end_check_user_name) + .map(apply_end_check_org_id).toPropertyWhenPresent("apply_end_check_org_id", row::getApply_end_check_org_id) + .map(apply_end_check_org_name).toPropertyWhenPresent("apply_end_check_org_name", row::getApply_end_check_org_name) + .map(apply_days).toPropertyWhenPresent("apply_days", row::getApply_days) + .map(apply_feedback).toPropertyWhenPresent("apply_feedback", row::getApply_feedback) + .map(apply_reason).toPropertyWhenPresent("apply_reason", row::getApply_reason) + .map(apply_cancel_reason).toPropertyWhenPresent("apply_cancel_reason", row::getApply_cancel_reason) + .map(apply_view_type_print).toPropertyWhenPresent("apply_view_type_print", row::getApply_view_type_print) + .map(apply_view_type_online).toPropertyWhenPresent("apply_view_type_online", row::getApply_view_type_online) + .map(apply_file_num).toPropertyWhenPresent("apply_file_num", row::getApply_file_num) + .map(apply_time).toPropertyWhenPresent("apply_time", row::getApply_time) + .map(apply_check_is_finish).toPropertyWhenPresent("apply_check_is_finish", row::getApply_check_is_finish) + .map(provider_org_id).toPropertyWhenPresent("provider_org_id", row::getProvider_org_id) + .map(provider_org_name).toPropertyWhenPresent("provider_org_name", row::getProvider_org_name) + .map(provider_file_properties).toPropertyWhenPresent("provider_file_properties", row::getProvider_file_properties) + .map(provider_use_start_time).toPropertyWhenPresent("provider_use_start_time", row::getProvider_use_start_time) + .map(provider_use_end_time).toPropertyWhenPresent("provider_use_end_time", row::getProvider_use_end_time) + .map(provider_in_check_user_id).toPropertyWhenPresent("provider_in_check_user_id", row::getProvider_in_check_user_id) + .map(provider_in_check_user_name).toPropertyWhenPresent("provider_in_check_user_name", row::getProvider_in_check_user_name) + .map(provider_in_check_org_id).toPropertyWhenPresent("provider_in_check_org_id", row::getProvider_in_check_org_id) + .map(provider_in_check_org_name).toPropertyWhenPresent("provider_in_check_org_name", row::getProvider_in_check_org_name) + .map(provider_next_check_role_sign_id).toPropertyWhenPresent("provider_next_check_role_sign_id", row::getProvider_next_check_role_sign_id) + .map(provider_next_check_role_sign_name).toPropertyWhenPresent("provider_next_check_role_sign_name", row::getProvider_next_check_role_sign_name) + .map(provider_end_check_user_id).toPropertyWhenPresent("provider_end_check_user_id", row::getProvider_end_check_user_id) + .map(provider_end_check_user_name).toPropertyWhenPresent("provider_end_check_user_name", row::getProvider_end_check_user_name) + .map(provider_end_check_org_id).toPropertyWhenPresent("provider_end_check_org_id", row::getProvider_end_check_org_id) + .map(provider_end_check_org_name).toPropertyWhenPresent("provider_end_check_org_name", row::getProvider_end_check_org_name) + .map(provider_check_is_finish).toPropertyWhenPresent("provider_check_is_finish", row::getProvider_check_is_finish) + .map(secret_key).toPropertyWhenPresent("secret_key", row::getSecret_key) + .map(status).toPropertyWhenPresent("status", row::getStatus) + .map(project_id).toPropertyWhenPresent("project_id", row::getProject_id) + .map(project_name).toPropertyWhenPresent("project_name", row::getProject_name) + .map(sign).toPropertyWhenPresent("sign", row::getSign) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2781481+08:00", comments="Source Table: public.files_apply") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, filesApply, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2781481+08:00", comments="Source Table: public.files_apply") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, filesApply, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2781481+08:00", comments="Source Table: public.files_apply") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, filesApply, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2781481+08:00", comments="Source Table: public.files_apply") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2781481+08:00", comments="Source Table: public.files_apply") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, filesApply, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2781481+08:00", comments="Source Table: public.files_apply") + static UpdateDSL updateAllColumns(FilesApply row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(apply_user_id).equalTo(row::getApply_user_id) + .set(apply_user_name).equalTo(row::getApply_user_name) + .set(apply_user_phone).equalTo(row::getApply_user_phone) + .set(apply_user_email).equalTo(row::getApply_user_email) + .set(apply_org_id).equalTo(row::getApply_org_id) + .set(apply_org_name).equalTo(row::getApply_org_name) + .set(apply_in_check_user_id).equalTo(row::getApply_in_check_user_id) + .set(apply_in_check_user_name).equalTo(row::getApply_in_check_user_name) + .set(apply_in_check_org_id).equalTo(row::getApply_in_check_org_id) + .set(apply_in_check_org_name).equalTo(row::getApply_in_check_org_name) + .set(apply_next_check_org_id).equalTo(row::getApply_next_check_org_id) + .set(apply_next_check_org_name).equalTo(row::getApply_next_check_org_name) + .set(apply_end_check_user_id).equalTo(row::getApply_end_check_user_id) + .set(apply_end_check_user_name).equalTo(row::getApply_end_check_user_name) + .set(apply_end_check_org_id).equalTo(row::getApply_end_check_org_id) + .set(apply_end_check_org_name).equalTo(row::getApply_end_check_org_name) + .set(apply_days).equalTo(row::getApply_days) + .set(apply_feedback).equalTo(row::getApply_feedback) + .set(apply_reason).equalTo(row::getApply_reason) + .set(apply_cancel_reason).equalTo(row::getApply_cancel_reason) + .set(apply_view_type_print).equalTo(row::getApply_view_type_print) + .set(apply_view_type_online).equalTo(row::getApply_view_type_online) + .set(apply_file_num).equalTo(row::getApply_file_num) + .set(apply_time).equalTo(row::getApply_time) + .set(apply_check_is_finish).equalTo(row::getApply_check_is_finish) + .set(provider_org_id).equalTo(row::getProvider_org_id) + .set(provider_org_name).equalTo(row::getProvider_org_name) + .set(provider_file_properties).equalTo(row::getProvider_file_properties) + .set(provider_use_start_time).equalTo(row::getProvider_use_start_time) + .set(provider_use_end_time).equalTo(row::getProvider_use_end_time) + .set(provider_in_check_user_id).equalTo(row::getProvider_in_check_user_id) + .set(provider_in_check_user_name).equalTo(row::getProvider_in_check_user_name) + .set(provider_in_check_org_id).equalTo(row::getProvider_in_check_org_id) + .set(provider_in_check_org_name).equalTo(row::getProvider_in_check_org_name) + .set(provider_next_check_role_sign_id).equalTo(row::getProvider_next_check_role_sign_id) + .set(provider_next_check_role_sign_name).equalTo(row::getProvider_next_check_role_sign_name) + .set(provider_end_check_user_id).equalTo(row::getProvider_end_check_user_id) + .set(provider_end_check_user_name).equalTo(row::getProvider_end_check_user_name) + .set(provider_end_check_org_id).equalTo(row::getProvider_end_check_org_id) + .set(provider_end_check_org_name).equalTo(row::getProvider_end_check_org_name) + .set(provider_check_is_finish).equalTo(row::getProvider_check_is_finish) + .set(secret_key).equalTo(row::getSecret_key) + .set(status).equalTo(row::getStatus) + .set(project_id).equalTo(row::getProject_id) + .set(project_name).equalTo(row::getProject_name) + .set(sign).equalTo(row::getSign); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2791482+08:00", comments="Source Table: public.files_apply") + static UpdateDSL updateSelectiveColumns(FilesApply row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(apply_user_id).equalToWhenPresent(row::getApply_user_id) + .set(apply_user_name).equalToWhenPresent(row::getApply_user_name) + .set(apply_user_phone).equalToWhenPresent(row::getApply_user_phone) + .set(apply_user_email).equalToWhenPresent(row::getApply_user_email) + .set(apply_org_id).equalToWhenPresent(row::getApply_org_id) + .set(apply_org_name).equalToWhenPresent(row::getApply_org_name) + .set(apply_in_check_user_id).equalToWhenPresent(row::getApply_in_check_user_id) + .set(apply_in_check_user_name).equalToWhenPresent(row::getApply_in_check_user_name) + .set(apply_in_check_org_id).equalToWhenPresent(row::getApply_in_check_org_id) + .set(apply_in_check_org_name).equalToWhenPresent(row::getApply_in_check_org_name) + .set(apply_next_check_org_id).equalToWhenPresent(row::getApply_next_check_org_id) + .set(apply_next_check_org_name).equalToWhenPresent(row::getApply_next_check_org_name) + .set(apply_end_check_user_id).equalToWhenPresent(row::getApply_end_check_user_id) + .set(apply_end_check_user_name).equalToWhenPresent(row::getApply_end_check_user_name) + .set(apply_end_check_org_id).equalToWhenPresent(row::getApply_end_check_org_id) + .set(apply_end_check_org_name).equalToWhenPresent(row::getApply_end_check_org_name) + .set(apply_days).equalToWhenPresent(row::getApply_days) + .set(apply_feedback).equalToWhenPresent(row::getApply_feedback) + .set(apply_reason).equalToWhenPresent(row::getApply_reason) + .set(apply_cancel_reason).equalToWhenPresent(row::getApply_cancel_reason) + .set(apply_view_type_print).equalToWhenPresent(row::getApply_view_type_print) + .set(apply_view_type_online).equalToWhenPresent(row::getApply_view_type_online) + .set(apply_file_num).equalToWhenPresent(row::getApply_file_num) + .set(apply_time).equalToWhenPresent(row::getApply_time) + .set(apply_check_is_finish).equalToWhenPresent(row::getApply_check_is_finish) + .set(provider_org_id).equalToWhenPresent(row::getProvider_org_id) + .set(provider_org_name).equalToWhenPresent(row::getProvider_org_name) + .set(provider_file_properties).equalToWhenPresent(row::getProvider_file_properties) + .set(provider_use_start_time).equalToWhenPresent(row::getProvider_use_start_time) + .set(provider_use_end_time).equalToWhenPresent(row::getProvider_use_end_time) + .set(provider_in_check_user_id).equalToWhenPresent(row::getProvider_in_check_user_id) + .set(provider_in_check_user_name).equalToWhenPresent(row::getProvider_in_check_user_name) + .set(provider_in_check_org_id).equalToWhenPresent(row::getProvider_in_check_org_id) + .set(provider_in_check_org_name).equalToWhenPresent(row::getProvider_in_check_org_name) + .set(provider_next_check_role_sign_id).equalToWhenPresent(row::getProvider_next_check_role_sign_id) + .set(provider_next_check_role_sign_name).equalToWhenPresent(row::getProvider_next_check_role_sign_name) + .set(provider_end_check_user_id).equalToWhenPresent(row::getProvider_end_check_user_id) + .set(provider_end_check_user_name).equalToWhenPresent(row::getProvider_end_check_user_name) + .set(provider_end_check_org_id).equalToWhenPresent(row::getProvider_end_check_org_id) + .set(provider_end_check_org_name).equalToWhenPresent(row::getProvider_end_check_org_name) + .set(provider_check_is_finish).equalToWhenPresent(row::getProvider_check_is_finish) + .set(secret_key).equalToWhenPresent(row::getSecret_key) + .set(status).equalToWhenPresent(row::getStatus) + .set(project_id).equalToWhenPresent(row::getProject_id) + .set(project_name).equalToWhenPresent(row::getProject_name) + .set(sign).equalToWhenPresent(row::getSign); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2791482+08:00", comments="Source Table: public.files_apply") + default int updateByPrimaryKey(FilesApply row) { + return update(c -> + c.set(apply_user_id).equalTo(row::getApply_user_id) + .set(apply_user_name).equalTo(row::getApply_user_name) + .set(apply_user_phone).equalTo(row::getApply_user_phone) + .set(apply_user_email).equalTo(row::getApply_user_email) + .set(apply_org_id).equalTo(row::getApply_org_id) + .set(apply_org_name).equalTo(row::getApply_org_name) + .set(apply_in_check_user_id).equalTo(row::getApply_in_check_user_id) + .set(apply_in_check_user_name).equalTo(row::getApply_in_check_user_name) + .set(apply_in_check_org_id).equalTo(row::getApply_in_check_org_id) + .set(apply_in_check_org_name).equalTo(row::getApply_in_check_org_name) + .set(apply_next_check_org_id).equalTo(row::getApply_next_check_org_id) + .set(apply_next_check_org_name).equalTo(row::getApply_next_check_org_name) + .set(apply_end_check_user_id).equalTo(row::getApply_end_check_user_id) + .set(apply_end_check_user_name).equalTo(row::getApply_end_check_user_name) + .set(apply_end_check_org_id).equalTo(row::getApply_end_check_org_id) + .set(apply_end_check_org_name).equalTo(row::getApply_end_check_org_name) + .set(apply_days).equalTo(row::getApply_days) + .set(apply_feedback).equalTo(row::getApply_feedback) + .set(apply_reason).equalTo(row::getApply_reason) + .set(apply_cancel_reason).equalTo(row::getApply_cancel_reason) + .set(apply_view_type_print).equalTo(row::getApply_view_type_print) + .set(apply_view_type_online).equalTo(row::getApply_view_type_online) + .set(apply_file_num).equalTo(row::getApply_file_num) + .set(apply_time).equalTo(row::getApply_time) + .set(apply_check_is_finish).equalTo(row::getApply_check_is_finish) + .set(provider_org_id).equalTo(row::getProvider_org_id) + .set(provider_org_name).equalTo(row::getProvider_org_name) + .set(provider_file_properties).equalTo(row::getProvider_file_properties) + .set(provider_use_start_time).equalTo(row::getProvider_use_start_time) + .set(provider_use_end_time).equalTo(row::getProvider_use_end_time) + .set(provider_in_check_user_id).equalTo(row::getProvider_in_check_user_id) + .set(provider_in_check_user_name).equalTo(row::getProvider_in_check_user_name) + .set(provider_in_check_org_id).equalTo(row::getProvider_in_check_org_id) + .set(provider_in_check_org_name).equalTo(row::getProvider_in_check_org_name) + .set(provider_next_check_role_sign_id).equalTo(row::getProvider_next_check_role_sign_id) + .set(provider_next_check_role_sign_name).equalTo(row::getProvider_next_check_role_sign_name) + .set(provider_end_check_user_id).equalTo(row::getProvider_end_check_user_id) + .set(provider_end_check_user_name).equalTo(row::getProvider_end_check_user_name) + .set(provider_end_check_org_id).equalTo(row::getProvider_end_check_org_id) + .set(provider_end_check_org_name).equalTo(row::getProvider_end_check_org_name) + .set(provider_check_is_finish).equalTo(row::getProvider_check_is_finish) + .set(secret_key).equalTo(row::getSecret_key) + .set(status).equalTo(row::getStatus) + .set(project_id).equalTo(row::getProject_id) + .set(project_name).equalTo(row::getProject_name) + .set(sign).equalTo(row::getSign) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2791482+08:00", comments="Source Table: public.files_apply") + default int updateByPrimaryKeySelective(FilesApply row) { + return update(c -> + c.set(apply_user_id).equalToWhenPresent(row::getApply_user_id) + .set(apply_user_name).equalToWhenPresent(row::getApply_user_name) + .set(apply_user_phone).equalToWhenPresent(row::getApply_user_phone) + .set(apply_user_email).equalToWhenPresent(row::getApply_user_email) + .set(apply_org_id).equalToWhenPresent(row::getApply_org_id) + .set(apply_org_name).equalToWhenPresent(row::getApply_org_name) + .set(apply_in_check_user_id).equalToWhenPresent(row::getApply_in_check_user_id) + .set(apply_in_check_user_name).equalToWhenPresent(row::getApply_in_check_user_name) + .set(apply_in_check_org_id).equalToWhenPresent(row::getApply_in_check_org_id) + .set(apply_in_check_org_name).equalToWhenPresent(row::getApply_in_check_org_name) + .set(apply_next_check_org_id).equalToWhenPresent(row::getApply_next_check_org_id) + .set(apply_next_check_org_name).equalToWhenPresent(row::getApply_next_check_org_name) + .set(apply_end_check_user_id).equalToWhenPresent(row::getApply_end_check_user_id) + .set(apply_end_check_user_name).equalToWhenPresent(row::getApply_end_check_user_name) + .set(apply_end_check_org_id).equalToWhenPresent(row::getApply_end_check_org_id) + .set(apply_end_check_org_name).equalToWhenPresent(row::getApply_end_check_org_name) + .set(apply_days).equalToWhenPresent(row::getApply_days) + .set(apply_feedback).equalToWhenPresent(row::getApply_feedback) + .set(apply_reason).equalToWhenPresent(row::getApply_reason) + .set(apply_cancel_reason).equalToWhenPresent(row::getApply_cancel_reason) + .set(apply_view_type_print).equalToWhenPresent(row::getApply_view_type_print) + .set(apply_view_type_online).equalToWhenPresent(row::getApply_view_type_online) + .set(apply_file_num).equalToWhenPresent(row::getApply_file_num) + .set(apply_time).equalToWhenPresent(row::getApply_time) + .set(apply_check_is_finish).equalToWhenPresent(row::getApply_check_is_finish) + .set(provider_org_id).equalToWhenPresent(row::getProvider_org_id) + .set(provider_org_name).equalToWhenPresent(row::getProvider_org_name) + .set(provider_file_properties).equalToWhenPresent(row::getProvider_file_properties) + .set(provider_use_start_time).equalToWhenPresent(row::getProvider_use_start_time) + .set(provider_use_end_time).equalToWhenPresent(row::getProvider_use_end_time) + .set(provider_in_check_user_id).equalToWhenPresent(row::getProvider_in_check_user_id) + .set(provider_in_check_user_name).equalToWhenPresent(row::getProvider_in_check_user_name) + .set(provider_in_check_org_id).equalToWhenPresent(row::getProvider_in_check_org_id) + .set(provider_in_check_org_name).equalToWhenPresent(row::getProvider_in_check_org_name) + .set(provider_next_check_role_sign_id).equalToWhenPresent(row::getProvider_next_check_role_sign_id) + .set(provider_next_check_role_sign_name).equalToWhenPresent(row::getProvider_next_check_role_sign_name) + .set(provider_end_check_user_id).equalToWhenPresent(row::getProvider_end_check_user_id) + .set(provider_end_check_user_name).equalToWhenPresent(row::getProvider_end_check_user_name) + .set(provider_end_check_org_id).equalToWhenPresent(row::getProvider_end_check_org_id) + .set(provider_end_check_org_name).equalToWhenPresent(row::getProvider_end_check_org_name) + .set(provider_check_is_finish).equalToWhenPresent(row::getProvider_check_is_finish) + .set(secret_key).equalToWhenPresent(row::getSecret_key) + .set(status).equalToWhenPresent(row::getStatus) + .set(project_id).equalToWhenPresent(row::getProject_id) + .set(project_name).equalToWhenPresent(row::getProject_name) + .set(sign).equalToWhenPresent(row::getSign) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/PreShareDirectoryFileTagMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/PreShareDirectoryFileTagMapper.java new file mode 100644 index 0000000..715c5bd --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/PreShareDirectoryFileTagMapper.java @@ -0,0 +1,161 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.PreShareDirectoryFileTagDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.PreShareDirectoryFileTag; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface PreShareDirectoryFileTagMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1689861+08:00", comments="Source Table: public.pre_share_directory_file_tag") + BasicColumn[] selectList = BasicColumn.columnList(id, share_status, update_time, sync_bc_time); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1689861+08:00", comments="Source Table: public.pre_share_directory_file_tag") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="PreShareDirectoryFileTagResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="share_status", property="share_status", jdbcType=JdbcType.INTEGER), + @Result(column="update_time", property="update_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="sync_bc_time", property="sync_bc_time", jdbcType=JdbcType.TIMESTAMP) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1689861+08:00", comments="Source Table: public.pre_share_directory_file_tag") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("PreShareDirectoryFileTagResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1689861+08:00", comments="Source Table: public.pre_share_directory_file_tag") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, preShareDirectoryFileTag, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1689861+08:00", comments="Source Table: public.pre_share_directory_file_tag") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, preShareDirectoryFileTag, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1689861+08:00", comments="Source Table: public.pre_share_directory_file_tag") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1689861+08:00", comments="Source Table: public.pre_share_directory_file_tag") + default int insert(PreShareDirectoryFileTag row) { + return MyBatis3Utils.insert(this::insert, row, preShareDirectoryFileTag, c -> + c.map(id).toProperty("id") + .map(share_status).toProperty("share_status") + .map(update_time).toProperty("update_time") + .map(sync_bc_time).toProperty("sync_bc_time") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1689861+08:00", comments="Source Table: public.pre_share_directory_file_tag") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, preShareDirectoryFileTag, c -> + c.map(id).toProperty("id") + .map(share_status).toProperty("share_status") + .map(update_time).toProperty("update_time") + .map(sync_bc_time).toProperty("sync_bc_time") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1689861+08:00", comments="Source Table: public.pre_share_directory_file_tag") + default int insertSelective(PreShareDirectoryFileTag row) { + return MyBatis3Utils.insert(this::insert, row, preShareDirectoryFileTag, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(share_status).toPropertyWhenPresent("share_status", row::getShare_status) + .map(update_time).toPropertyWhenPresent("update_time", row::getUpdate_time) + .map(sync_bc_time).toPropertyWhenPresent("sync_bc_time", row::getSync_bc_time) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1689861+08:00", comments="Source Table: public.pre_share_directory_file_tag") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, preShareDirectoryFileTag, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1689861+08:00", comments="Source Table: public.pre_share_directory_file_tag") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, preShareDirectoryFileTag, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1689861+08:00", comments="Source Table: public.pre_share_directory_file_tag") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, preShareDirectoryFileTag, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1689861+08:00", comments="Source Table: public.pre_share_directory_file_tag") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1689861+08:00", comments="Source Table: public.pre_share_directory_file_tag") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, preShareDirectoryFileTag, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1689861+08:00", comments="Source Table: public.pre_share_directory_file_tag") + static UpdateDSL updateAllColumns(PreShareDirectoryFileTag row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(share_status).equalTo(row::getShare_status) + .set(update_time).equalTo(row::getUpdate_time) + .set(sync_bc_time).equalTo(row::getSync_bc_time); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1689861+08:00", comments="Source Table: public.pre_share_directory_file_tag") + static UpdateDSL updateSelectiveColumns(PreShareDirectoryFileTag row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(share_status).equalToWhenPresent(row::getShare_status) + .set(update_time).equalToWhenPresent(row::getUpdate_time) + .set(sync_bc_time).equalToWhenPresent(row::getSync_bc_time); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1689861+08:00", comments="Source Table: public.pre_share_directory_file_tag") + default int updateByPrimaryKey(PreShareDirectoryFileTag row) { + return update(c -> + c.set(share_status).equalTo(row::getShare_status) + .set(update_time).equalTo(row::getUpdate_time) + .set(sync_bc_time).equalTo(row::getSync_bc_time) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1689861+08:00", comments="Source Table: public.pre_share_directory_file_tag") + default int updateByPrimaryKeySelective(PreShareDirectoryFileTag row) { + return update(c -> + c.set(share_status).equalToWhenPresent(row::getShare_status) + .set(update_time).equalToWhenPresent(row::getUpdate_time) + .set(sync_bc_time).equalToWhenPresent(row::getSync_bc_time) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/PreShareDirectoryTagMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/PreShareDirectoryTagMapper.java new file mode 100644 index 0000000..97550f4 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/PreShareDirectoryTagMapper.java @@ -0,0 +1,161 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.PreShareDirectoryTagDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.PreShareDirectoryTag; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface PreShareDirectoryTagMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.153767+08:00", comments="Source Table: public.pre_share_directory_tag") + BasicColumn[] selectList = BasicColumn.columnList(id, share_status, update_time, sync_bc_time); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1465601+08:00", comments="Source Table: public.pre_share_directory_tag") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="PreShareDirectoryTagResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="share_status", property="share_status", jdbcType=JdbcType.INTEGER), + @Result(column="update_time", property="update_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="sync_bc_time", property="sync_bc_time", jdbcType=JdbcType.TIMESTAMP) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1477259+08:00", comments="Source Table: public.pre_share_directory_tag") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("PreShareDirectoryTagResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1487813+08:00", comments="Source Table: public.pre_share_directory_tag") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, preShareDirectoryTag, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1487813+08:00", comments="Source Table: public.pre_share_directory_tag") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, preShareDirectoryTag, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1499871+08:00", comments="Source Table: public.pre_share_directory_tag") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1499871+08:00", comments="Source Table: public.pre_share_directory_tag") + default int insert(PreShareDirectoryTag row) { + return MyBatis3Utils.insert(this::insert, row, preShareDirectoryTag, c -> + c.map(id).toProperty("id") + .map(share_status).toProperty("share_status") + .map(update_time).toProperty("update_time") + .map(sync_bc_time).toProperty("sync_bc_time") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.152442+08:00", comments="Source Table: public.pre_share_directory_tag") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, preShareDirectoryTag, c -> + c.map(id).toProperty("id") + .map(share_status).toProperty("share_status") + .map(update_time).toProperty("update_time") + .map(sync_bc_time).toProperty("sync_bc_time") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.152442+08:00", comments="Source Table: public.pre_share_directory_tag") + default int insertSelective(PreShareDirectoryTag row) { + return MyBatis3Utils.insert(this::insert, row, preShareDirectoryTag, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(share_status).toPropertyWhenPresent("share_status", row::getShare_status) + .map(update_time).toPropertyWhenPresent("update_time", row::getUpdate_time) + .map(sync_bc_time).toPropertyWhenPresent("sync_bc_time", row::getSync_bc_time) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.155085+08:00", comments="Source Table: public.pre_share_directory_tag") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, preShareDirectoryTag, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.155085+08:00", comments="Source Table: public.pre_share_directory_tag") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, preShareDirectoryTag, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1563411+08:00", comments="Source Table: public.pre_share_directory_tag") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, preShareDirectoryTag, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1563411+08:00", comments="Source Table: public.pre_share_directory_tag") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1563411+08:00", comments="Source Table: public.pre_share_directory_tag") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, preShareDirectoryTag, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1573721+08:00", comments="Source Table: public.pre_share_directory_tag") + static UpdateDSL updateAllColumns(PreShareDirectoryTag row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(share_status).equalTo(row::getShare_status) + .set(update_time).equalTo(row::getUpdate_time) + .set(sync_bc_time).equalTo(row::getSync_bc_time); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1573721+08:00", comments="Source Table: public.pre_share_directory_tag") + static UpdateDSL updateSelectiveColumns(PreShareDirectoryTag row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(share_status).equalToWhenPresent(row::getShare_status) + .set(update_time).equalToWhenPresent(row::getUpdate_time) + .set(sync_bc_time).equalToWhenPresent(row::getSync_bc_time); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1588641+08:00", comments="Source Table: public.pre_share_directory_tag") + default int updateByPrimaryKey(PreShareDirectoryTag row) { + return update(c -> + c.set(share_status).equalTo(row::getShare_status) + .set(update_time).equalTo(row::getUpdate_time) + .set(sync_bc_time).equalTo(row::getSync_bc_time) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.163117+08:00", comments="Source Table: public.pre_share_directory_tag") + default int updateByPrimaryKeySelective(PreShareDirectoryTag row) { + return update(c -> + c.set(share_status).equalToWhenPresent(row::getShare_status) + .set(update_time).equalToWhenPresent(row::getUpdate_time) + .set(sync_bc_time).equalToWhenPresent(row::getSync_bc_time) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/PreShareFileTagMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/PreShareFileTagMapper.java new file mode 100644 index 0000000..eaffa56 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/PreShareFileTagMapper.java @@ -0,0 +1,161 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.PreShareFileTagDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.PreShareFileTag; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface PreShareFileTagMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.171509+08:00", comments="Source Table: public.pre_share_file_tag") + BasicColumn[] selectList = BasicColumn.columnList(id, share_status, update_time, sync_bc_time); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1702515+08:00", comments="Source Table: public.pre_share_file_tag") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="PreShareFileTagResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="share_status", property="share_status", jdbcType=JdbcType.INTEGER), + @Result(column="update_time", property="update_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="sync_bc_time", property="sync_bc_time", jdbcType=JdbcType.TIMESTAMP) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1702515+08:00", comments="Source Table: public.pre_share_file_tag") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("PreShareFileTagResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1702515+08:00", comments="Source Table: public.pre_share_file_tag") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, preShareFileTag, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.171509+08:00", comments="Source Table: public.pre_share_file_tag") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, preShareFileTag, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.171509+08:00", comments="Source Table: public.pre_share_file_tag") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.171509+08:00", comments="Source Table: public.pre_share_file_tag") + default int insert(PreShareFileTag row) { + return MyBatis3Utils.insert(this::insert, row, preShareFileTag, c -> + c.map(id).toProperty("id") + .map(share_status).toProperty("share_status") + .map(update_time).toProperty("update_time") + .map(sync_bc_time).toProperty("sync_bc_time") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.171509+08:00", comments="Source Table: public.pre_share_file_tag") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, preShareFileTag, c -> + c.map(id).toProperty("id") + .map(share_status).toProperty("share_status") + .map(update_time).toProperty("update_time") + .map(sync_bc_time).toProperty("sync_bc_time") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.171509+08:00", comments="Source Table: public.pre_share_file_tag") + default int insertSelective(PreShareFileTag row) { + return MyBatis3Utils.insert(this::insert, row, preShareFileTag, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(share_status).toPropertyWhenPresent("share_status", row::getShare_status) + .map(update_time).toPropertyWhenPresent("update_time", row::getUpdate_time) + .map(sync_bc_time).toPropertyWhenPresent("sync_bc_time", row::getSync_bc_time) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.171509+08:00", comments="Source Table: public.pre_share_file_tag") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, preShareFileTag, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.171509+08:00", comments="Source Table: public.pre_share_file_tag") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, preShareFileTag, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.171509+08:00", comments="Source Table: public.pre_share_file_tag") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, preShareFileTag, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.171509+08:00", comments="Source Table: public.pre_share_file_tag") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.171509+08:00", comments="Source Table: public.pre_share_file_tag") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, preShareFileTag, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.171509+08:00", comments="Source Table: public.pre_share_file_tag") + static UpdateDSL updateAllColumns(PreShareFileTag row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(share_status).equalTo(row::getShare_status) + .set(update_time).equalTo(row::getUpdate_time) + .set(sync_bc_time).equalTo(row::getSync_bc_time); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.171509+08:00", comments="Source Table: public.pre_share_file_tag") + static UpdateDSL updateSelectiveColumns(PreShareFileTag row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(share_status).equalToWhenPresent(row::getShare_status) + .set(update_time).equalToWhenPresent(row::getUpdate_time) + .set(sync_bc_time).equalToWhenPresent(row::getSync_bc_time); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.171509+08:00", comments="Source Table: public.pre_share_file_tag") + default int updateByPrimaryKey(PreShareFileTag row) { + return update(c -> + c.set(share_status).equalTo(row::getShare_status) + .set(update_time).equalTo(row::getUpdate_time) + .set(sync_bc_time).equalTo(row::getSync_bc_time) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.171509+08:00", comments="Source Table: public.pre_share_file_tag") + default int updateByPrimaryKeySelective(PreShareFileTag row) { + return update(c -> + c.set(share_status).equalToWhenPresent(row::getShare_status) + .set(update_time).equalToWhenPresent(row::getUpdate_time) + .set(sync_bc_time).equalToWhenPresent(row::getSync_bc_time) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/ProjectMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/ProjectMapper.java new file mode 100644 index 0000000..403d332 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/ProjectMapper.java @@ -0,0 +1,161 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.ProjectDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.Project; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface ProjectMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2811498+08:00", comments="Source Table: public.project") + BasicColumn[] selectList = BasicColumn.columnList(id, project_name, org_id, org_name); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2801782+08:00", comments="Source Table: public.project") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="ProjectResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="project_name", property="project_name", jdbcType=JdbcType.VARCHAR), + @Result(column="org_id", property="org_id", jdbcType=JdbcType.VARCHAR), + @Result(column="org_name", property="org_name", jdbcType=JdbcType.VARCHAR) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2801782+08:00", comments="Source Table: public.project") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("ProjectResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2801782+08:00", comments="Source Table: public.project") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, project, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2801782+08:00", comments="Source Table: public.project") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, project, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2801782+08:00", comments="Source Table: public.project") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2801782+08:00", comments="Source Table: public.project") + default int insert(Project row) { + return MyBatis3Utils.insert(this::insert, row, project, c -> + c.map(id).toProperty("id") + .map(project_name).toProperty("project_name") + .map(org_id).toProperty("org_id") + .map(org_name).toProperty("org_name") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2801782+08:00", comments="Source Table: public.project") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, project, c -> + c.map(id).toProperty("id") + .map(project_name).toProperty("project_name") + .map(org_id).toProperty("org_id") + .map(org_name).toProperty("org_name") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2811498+08:00", comments="Source Table: public.project") + default int insertSelective(Project row) { + return MyBatis3Utils.insert(this::insert, row, project, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(project_name).toPropertyWhenPresent("project_name", row::getProject_name) + .map(org_id).toPropertyWhenPresent("org_id", row::getOrg_id) + .map(org_name).toPropertyWhenPresent("org_name", row::getOrg_name) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2811498+08:00", comments="Source Table: public.project") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, project, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2811498+08:00", comments="Source Table: public.project") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, project, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2811498+08:00", comments="Source Table: public.project") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, project, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2811498+08:00", comments="Source Table: public.project") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2811498+08:00", comments="Source Table: public.project") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, project, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2811498+08:00", comments="Source Table: public.project") + static UpdateDSL updateAllColumns(Project row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(project_name).equalTo(row::getProject_name) + .set(org_id).equalTo(row::getOrg_id) + .set(org_name).equalTo(row::getOrg_name); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2811498+08:00", comments="Source Table: public.project") + static UpdateDSL updateSelectiveColumns(Project row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(project_name).equalToWhenPresent(row::getProject_name) + .set(org_id).equalToWhenPresent(row::getOrg_id) + .set(org_name).equalToWhenPresent(row::getOrg_name); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2811498+08:00", comments="Source Table: public.project") + default int updateByPrimaryKey(Project row) { + return update(c -> + c.set(project_name).equalTo(row::getProject_name) + .set(org_id).equalTo(row::getOrg_id) + .set(org_name).equalTo(row::getOrg_name) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2811498+08:00", comments="Source Table: public.project") + default int updateByPrimaryKeySelective(Project row) { + return update(c -> + c.set(project_name).equalToWhenPresent(row::getProject_name) + .set(org_id).equalToWhenPresent(row::getOrg_id) + .set(org_name).equalToWhenPresent(row::getOrg_name) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/ProviderMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/ProviderMapper.java new file mode 100644 index 0000000..71cda46 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/ProviderMapper.java @@ -0,0 +1,185 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.ProviderDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.Provider; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface ProviderMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0936453+08:00", comments="Source Table: public.provider") + BasicColumn[] selectList = BasicColumn.columnList(id, name, create_time, update_time, last_update_data_time, last_query_data_time, status); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.085147+08:00", comments="Source Table: public.provider") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="ProviderResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="name", property="name", jdbcType=JdbcType.VARCHAR), + @Result(column="create_time", property="create_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="update_time", property="update_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="last_update_data_time", property="last_update_data_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="last_query_data_time", property="last_query_data_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="status", property="status", jdbcType=JdbcType.VARCHAR) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0874112+08:00", comments="Source Table: public.provider") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("ProviderResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0884109+08:00", comments="Source Table: public.provider") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, provider, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0894418+08:00", comments="Source Table: public.provider") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, provider, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0894418+08:00", comments="Source Table: public.provider") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0905148+08:00", comments="Source Table: public.provider") + default int insert(Provider row) { + return MyBatis3Utils.insert(this::insert, row, provider, c -> + c.map(id).toProperty("id") + .map(name).toProperty("name") + .map(create_time).toProperty("create_time") + .map(update_time).toProperty("update_time") + .map(last_update_data_time).toProperty("last_update_data_time") + .map(last_query_data_time).toProperty("last_query_data_time") + .map(status).toProperty("status") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0925732+08:00", comments="Source Table: public.provider") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, provider, c -> + c.map(id).toProperty("id") + .map(name).toProperty("name") + .map(create_time).toProperty("create_time") + .map(update_time).toProperty("update_time") + .map(last_update_data_time).toProperty("last_update_data_time") + .map(last_query_data_time).toProperty("last_query_data_time") + .map(status).toProperty("status") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0925732+08:00", comments="Source Table: public.provider") + default int insertSelective(Provider row) { + return MyBatis3Utils.insert(this::insert, row, provider, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(name).toPropertyWhenPresent("name", row::getName) + .map(create_time).toPropertyWhenPresent("create_time", row::getCreate_time) + .map(update_time).toPropertyWhenPresent("update_time", row::getUpdate_time) + .map(last_update_data_time).toPropertyWhenPresent("last_update_data_time", row::getLast_update_data_time) + .map(last_query_data_time).toPropertyWhenPresent("last_query_data_time", row::getLast_query_data_time) + .map(status).toPropertyWhenPresent("status", row::getStatus) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0947131+08:00", comments="Source Table: public.provider") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, provider, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0947131+08:00", comments="Source Table: public.provider") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, provider, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0957505+08:00", comments="Source Table: public.provider") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, provider, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0957505+08:00", comments="Source Table: public.provider") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0957505+08:00", comments="Source Table: public.provider") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, provider, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0968239+08:00", comments="Source Table: public.provider") + static UpdateDSL updateAllColumns(Provider row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(name).equalTo(row::getName) + .set(create_time).equalTo(row::getCreate_time) + .set(update_time).equalTo(row::getUpdate_time) + .set(last_update_data_time).equalTo(row::getLast_update_data_time) + .set(last_query_data_time).equalTo(row::getLast_query_data_time) + .set(status).equalTo(row::getStatus); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0968239+08:00", comments="Source Table: public.provider") + static UpdateDSL updateSelectiveColumns(Provider row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(name).equalToWhenPresent(row::getName) + .set(create_time).equalToWhenPresent(row::getCreate_time) + .set(update_time).equalToWhenPresent(row::getUpdate_time) + .set(last_update_data_time).equalToWhenPresent(row::getLast_update_data_time) + .set(last_query_data_time).equalToWhenPresent(row::getLast_query_data_time) + .set(status).equalToWhenPresent(row::getStatus); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0979992+08:00", comments="Source Table: public.provider") + default int updateByPrimaryKey(Provider row) { + return update(c -> + c.set(name).equalTo(row::getName) + .set(create_time).equalTo(row::getCreate_time) + .set(update_time).equalTo(row::getUpdate_time) + .set(last_update_data_time).equalTo(row::getLast_update_data_time) + .set(last_query_data_time).equalTo(row::getLast_query_data_time) + .set(status).equalTo(row::getStatus) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0979992+08:00", comments="Source Table: public.provider") + default int updateByPrimaryKeySelective(Provider row) { + return update(c -> + c.set(name).equalToWhenPresent(row::getName) + .set(create_time).equalToWhenPresent(row::getCreate_time) + .set(update_time).equalToWhenPresent(row::getUpdate_time) + .set(last_update_data_time).equalToWhenPresent(row::getLast_update_data_time) + .set(last_query_data_time).equalToWhenPresent(row::getLast_query_data_time) + .set(status).equalToWhenPresent(row::getStatus) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/ReadLogMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/ReadLogMapper.java new file mode 100644 index 0000000..bd072a4 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/ReadLogMapper.java @@ -0,0 +1,233 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.ReadLogDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.ReadLog; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface ReadLogMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2661469+08:00", comments="Source Table: public.read_log") + BasicColumn[] selectList = BasicColumn.columnList(id, weid, content_id, starttime, endtime, ip, location, downloadtype, sign, readid, sm9hibeid, content_type, ischeck); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2651454+08:00", comments="Source Table: public.read_log") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="ReadLogResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="weid", property="weid", jdbcType=JdbcType.VARCHAR), + @Result(column="content_id", property="content_id", jdbcType=JdbcType.VARCHAR), + @Result(column="starttime", property="starttime", jdbcType=JdbcType.TIMESTAMP), + @Result(column="endtime", property="endtime", jdbcType=JdbcType.TIMESTAMP), + @Result(column="ip", property="ip", jdbcType=JdbcType.VARCHAR), + @Result(column="location", property="location", jdbcType=JdbcType.VARCHAR), + @Result(column="downloadtype", property="downloadtype", jdbcType=JdbcType.INTEGER), + @Result(column="sign", property="sign", jdbcType=JdbcType.VARCHAR), + @Result(column="readid", property="readid", jdbcType=JdbcType.VARCHAR), + @Result(column="sm9hibeid", property="sm9hibeid", jdbcType=JdbcType.VARCHAR), + @Result(column="content_type", property="content_type", jdbcType=JdbcType.INTEGER), + @Result(column="ischeck", property="ischeck", jdbcType=JdbcType.INTEGER) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2651454+08:00", comments="Source Table: public.read_log") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("ReadLogResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2651454+08:00", comments="Source Table: public.read_log") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, readLog, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2651454+08:00", comments="Source Table: public.read_log") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, readLog, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2651454+08:00", comments="Source Table: public.read_log") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2651454+08:00", comments="Source Table: public.read_log") + default int insert(ReadLog row) { + return MyBatis3Utils.insert(this::insert, row, readLog, c -> + c.map(id).toProperty("id") + .map(weid).toProperty("weid") + .map(content_id).toProperty("content_id") + .map(starttime).toProperty("starttime") + .map(endtime).toProperty("endtime") + .map(ip).toProperty("ip") + .map(location).toProperty("location") + .map(downloadtype).toProperty("downloadtype") + .map(sign).toProperty("sign") + .map(readid).toProperty("readid") + .map(sm9hibeid).toProperty("sm9hibeid") + .map(content_type).toProperty("content_type") + .map(ischeck).toProperty("ischeck") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2651454+08:00", comments="Source Table: public.read_log") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, readLog, c -> + c.map(id).toProperty("id") + .map(weid).toProperty("weid") + .map(content_id).toProperty("content_id") + .map(starttime).toProperty("starttime") + .map(endtime).toProperty("endtime") + .map(ip).toProperty("ip") + .map(location).toProperty("location") + .map(downloadtype).toProperty("downloadtype") + .map(sign).toProperty("sign") + .map(readid).toProperty("readid") + .map(sm9hibeid).toProperty("sm9hibeid") + .map(content_type).toProperty("content_type") + .map(ischeck).toProperty("ischeck") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2651454+08:00", comments="Source Table: public.read_log") + default int insertSelective(ReadLog row) { + return MyBatis3Utils.insert(this::insert, row, readLog, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(weid).toPropertyWhenPresent("weid", row::getWeid) + .map(content_id).toPropertyWhenPresent("content_id", row::getContent_id) + .map(starttime).toPropertyWhenPresent("starttime", row::getStarttime) + .map(endtime).toPropertyWhenPresent("endtime", row::getEndtime) + .map(ip).toPropertyWhenPresent("ip", row::getIp) + .map(location).toPropertyWhenPresent("location", row::getLocation) + .map(downloadtype).toPropertyWhenPresent("downloadtype", row::getDownloadtype) + .map(sign).toPropertyWhenPresent("sign", row::getSign) + .map(readid).toPropertyWhenPresent("readid", row::getReadid) + .map(sm9hibeid).toPropertyWhenPresent("sm9hibeid", row::getSm9hibeid) + .map(content_type).toPropertyWhenPresent("content_type", row::getContent_type) + .map(ischeck).toPropertyWhenPresent("ischeck", row::getIscheck) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2661469+08:00", comments="Source Table: public.read_log") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, readLog, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2661469+08:00", comments="Source Table: public.read_log") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, readLog, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2661469+08:00", comments="Source Table: public.read_log") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, readLog, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2661469+08:00", comments="Source Table: public.read_log") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2661469+08:00", comments="Source Table: public.read_log") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, readLog, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2661469+08:00", comments="Source Table: public.read_log") + static UpdateDSL updateAllColumns(ReadLog row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(weid).equalTo(row::getWeid) + .set(content_id).equalTo(row::getContent_id) + .set(starttime).equalTo(row::getStarttime) + .set(endtime).equalTo(row::getEndtime) + .set(ip).equalTo(row::getIp) + .set(location).equalTo(row::getLocation) + .set(downloadtype).equalTo(row::getDownloadtype) + .set(sign).equalTo(row::getSign) + .set(readid).equalTo(row::getReadid) + .set(sm9hibeid).equalTo(row::getSm9hibeid) + .set(content_type).equalTo(row::getContent_type) + .set(ischeck).equalTo(row::getIscheck); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2661469+08:00", comments="Source Table: public.read_log") + static UpdateDSL updateSelectiveColumns(ReadLog row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(weid).equalToWhenPresent(row::getWeid) + .set(content_id).equalToWhenPresent(row::getContent_id) + .set(starttime).equalToWhenPresent(row::getStarttime) + .set(endtime).equalToWhenPresent(row::getEndtime) + .set(ip).equalToWhenPresent(row::getIp) + .set(location).equalToWhenPresent(row::getLocation) + .set(downloadtype).equalToWhenPresent(row::getDownloadtype) + .set(sign).equalToWhenPresent(row::getSign) + .set(readid).equalToWhenPresent(row::getReadid) + .set(sm9hibeid).equalToWhenPresent(row::getSm9hibeid) + .set(content_type).equalToWhenPresent(row::getContent_type) + .set(ischeck).equalToWhenPresent(row::getIscheck); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2661469+08:00", comments="Source Table: public.read_log") + default int updateByPrimaryKey(ReadLog row) { + return update(c -> + c.set(weid).equalTo(row::getWeid) + .set(content_id).equalTo(row::getContent_id) + .set(starttime).equalTo(row::getStarttime) + .set(endtime).equalTo(row::getEndtime) + .set(ip).equalTo(row::getIp) + .set(location).equalTo(row::getLocation) + .set(downloadtype).equalTo(row::getDownloadtype) + .set(sign).equalTo(row::getSign) + .set(readid).equalTo(row::getReadid) + .set(sm9hibeid).equalTo(row::getSm9hibeid) + .set(content_type).equalTo(row::getContent_type) + .set(ischeck).equalTo(row::getIscheck) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2661469+08:00", comments="Source Table: public.read_log") + default int updateByPrimaryKeySelective(ReadLog row) { + return update(c -> + c.set(weid).equalToWhenPresent(row::getWeid) + .set(content_id).equalToWhenPresent(row::getContent_id) + .set(starttime).equalToWhenPresent(row::getStarttime) + .set(endtime).equalToWhenPresent(row::getEndtime) + .set(ip).equalToWhenPresent(row::getIp) + .set(location).equalToWhenPresent(row::getLocation) + .set(downloadtype).equalToWhenPresent(row::getDownloadtype) + .set(sign).equalToWhenPresent(row::getSign) + .set(readid).equalToWhenPresent(row::getReadid) + .set(sm9hibeid).equalToWhenPresent(row::getSm9hibeid) + .set(content_type).equalToWhenPresent(row::getContent_type) + .set(ischeck).equalToWhenPresent(row::getIscheck) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/ShareConfigDetailMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/ShareConfigDetailMapper.java new file mode 100644 index 0000000..408ef4d --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/ShareConfigDetailMapper.java @@ -0,0 +1,177 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.ShareConfigDetailDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.ShareConfigDetail; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface ShareConfigDetailMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.197603+08:00", comments="Source Table: public.share_config_detail") + BasicColumn[] selectList = BasicColumn.columnList(node_id, node_type, share_config_statu, create_time, update_time, update_count); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1850956+08:00", comments="Source Table: public.share_config_detail") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="ShareConfigDetailResult", value = { + @Result(column="node_id", property="node_id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="node_type", property="node_type", jdbcType=JdbcType.INTEGER), + @Result(column="share_config_statu", property="share_config_statu", jdbcType=JdbcType.INTEGER), + @Result(column="create_time", property="create_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="update_time", property="update_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="update_count", property="update_count", jdbcType=JdbcType.INTEGER) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1879378+08:00", comments="Source Table: public.share_config_detail") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("ShareConfigDetailResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1879378+08:00", comments="Source Table: public.share_config_detail") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, shareConfigDetail, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1879378+08:00", comments="Source Table: public.share_config_detail") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, shareConfigDetail, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1893184+08:00", comments="Source Table: public.share_config_detail") + default int deleteByPrimaryKey(String node_id_) { + return delete(c -> + c.where(node_id, isEqualTo(node_id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1893184+08:00", comments="Source Table: public.share_config_detail") + default int insert(ShareConfigDetail row) { + return MyBatis3Utils.insert(this::insert, row, shareConfigDetail, c -> + c.map(node_id).toProperty("node_id") + .map(node_type).toProperty("node_type") + .map(share_config_statu).toProperty("share_config_statu") + .map(create_time).toProperty("create_time") + .map(update_time).toProperty("update_time") + .map(update_count).toProperty("update_count") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1923762+08:00", comments="Source Table: public.share_config_detail") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, shareConfigDetail, c -> + c.map(node_id).toProperty("node_id") + .map(node_type).toProperty("node_type") + .map(share_config_statu).toProperty("share_config_statu") + .map(create_time).toProperty("create_time") + .map(update_time).toProperty("update_time") + .map(update_count).toProperty("update_count") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1933762+08:00", comments="Source Table: public.share_config_detail") + default int insertSelective(ShareConfigDetail row) { + return MyBatis3Utils.insert(this::insert, row, shareConfigDetail, c -> + c.map(node_id).toPropertyWhenPresent("node_id", row::getNode_id) + .map(node_type).toPropertyWhenPresent("node_type", row::getNode_type) + .map(share_config_statu).toPropertyWhenPresent("share_config_statu", row::getShare_config_statu) + .map(create_time).toPropertyWhenPresent("create_time", row::getCreate_time) + .map(update_time).toPropertyWhenPresent("update_time", row::getUpdate_time) + .map(update_count).toPropertyWhenPresent("update_count", row::getUpdate_count) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1987339+08:00", comments="Source Table: public.share_config_detail") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, shareConfigDetail, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1987339+08:00", comments="Source Table: public.share_config_detail") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, shareConfigDetail, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.2001131+08:00", comments="Source Table: public.share_config_detail") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, shareConfigDetail, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.2001131+08:00", comments="Source Table: public.share_config_detail") + default Optional selectByPrimaryKey(String node_id_) { + return selectOne(c -> + c.where(node_id, isEqualTo(node_id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.2001131+08:00", comments="Source Table: public.share_config_detail") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, shareConfigDetail, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.2001131+08:00", comments="Source Table: public.share_config_detail") + static UpdateDSL updateAllColumns(ShareConfigDetail row, UpdateDSL dsl) { + return dsl.set(node_id).equalTo(row::getNode_id) + .set(node_type).equalTo(row::getNode_type) + .set(share_config_statu).equalTo(row::getShare_config_statu) + .set(create_time).equalTo(row::getCreate_time) + .set(update_time).equalTo(row::getUpdate_time) + .set(update_count).equalTo(row::getUpdate_count); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.2015647+08:00", comments="Source Table: public.share_config_detail") + static UpdateDSL updateSelectiveColumns(ShareConfigDetail row, UpdateDSL dsl) { + return dsl.set(node_id).equalToWhenPresent(row::getNode_id) + .set(node_type).equalToWhenPresent(row::getNode_type) + .set(share_config_statu).equalToWhenPresent(row::getShare_config_statu) + .set(create_time).equalToWhenPresent(row::getCreate_time) + .set(update_time).equalToWhenPresent(row::getUpdate_time) + .set(update_count).equalToWhenPresent(row::getUpdate_count); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.2025684+08:00", comments="Source Table: public.share_config_detail") + default int updateByPrimaryKey(ShareConfigDetail row) { + return update(c -> + c.set(node_type).equalTo(row::getNode_type) + .set(share_config_statu).equalTo(row::getShare_config_statu) + .set(create_time).equalTo(row::getCreate_time) + .set(update_time).equalTo(row::getUpdate_time) + .set(update_count).equalTo(row::getUpdate_count) + .where(node_id, isEqualTo(row::getNode_id)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.2025684+08:00", comments="Source Table: public.share_config_detail") + default int updateByPrimaryKeySelective(ShareConfigDetail row) { + return update(c -> + c.set(node_type).equalToWhenPresent(row::getNode_type) + .set(share_config_statu).equalToWhenPresent(row::getShare_config_statu) + .set(create_time).equalToWhenPresent(row::getCreate_time) + .set(update_time).equalToWhenPresent(row::getUpdate_time) + .set(update_count).equalToWhenPresent(row::getUpdate_count) + .where(node_id, isEqualTo(row::getNode_id)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/ShareDirectoryFileMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/ShareDirectoryFileMapper.java new file mode 100644 index 0000000..83b3646 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/ShareDirectoryFileMapper.java @@ -0,0 +1,305 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.ShareDirectoryFileDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.ShareDirectoryFile; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface ShareDirectoryFileMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9255597+08:00", comments="Source Table: public.share_directory_file") + BasicColumn[] selectList = BasicColumn.columnList(id, p_id, provider_id, filesuper, filecount, dutyperson, eweavedate, filepage, sortorder, bpeg, epeg, filenum, remark, recordnum, piecenumber, adddate, editdate, time_stamp, isdel, catalogpdfurl, signtag, collecttag); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.917125+08:00", comments="Source Table: public.share_directory_file") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="ShareDirectoryFileResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="p_id", property="p_id", jdbcType=JdbcType.VARCHAR), + @Result(column="provider_id", property="provider_id", jdbcType=JdbcType.VARCHAR), + @Result(column="filesuper", property="filesuper", jdbcType=JdbcType.VARCHAR), + @Result(column="filecount", property="filecount", jdbcType=JdbcType.INTEGER), + @Result(column="dutyperson", property="dutyperson", jdbcType=JdbcType.VARCHAR), + @Result(column="eweavedate", property="eweavedate", jdbcType=JdbcType.VARCHAR), + @Result(column="filepage", property="filepage", jdbcType=JdbcType.INTEGER), + @Result(column="sortorder", property="sortorder", jdbcType=JdbcType.VARCHAR), + @Result(column="bpeg", property="bpeg", jdbcType=JdbcType.VARCHAR), + @Result(column="epeg", property="epeg", jdbcType=JdbcType.VARCHAR), + @Result(column="filenum", property="filenum", jdbcType=JdbcType.VARCHAR), + @Result(column="remark", property="remark", jdbcType=JdbcType.VARCHAR), + @Result(column="recordnum", property="recordnum", jdbcType=JdbcType.VARCHAR), + @Result(column="piecenumber", property="piecenumber", jdbcType=JdbcType.VARCHAR), + @Result(column="adddate", property="adddate", jdbcType=JdbcType.VARCHAR), + @Result(column="editdate", property="editdate", jdbcType=JdbcType.VARCHAR), + @Result(column="time_stamp", property="time_stamp", jdbcType=JdbcType.VARCHAR), + @Result(column="isdel", property="isdel", jdbcType=JdbcType.INTEGER), + @Result(column="catalogpdfurl", property="catalogpdfurl", jdbcType=JdbcType.VARCHAR), + @Result(column="signtag", property="signtag", jdbcType=JdbcType.VARCHAR), + @Result(column="collecttag", property="collecttag", jdbcType=JdbcType.VARCHAR) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9191252+08:00", comments="Source Table: public.share_directory_file") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("ShareDirectoryFileResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9191252+08:00", comments="Source Table: public.share_directory_file") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, shareDirectoryFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9201249+08:00", comments="Source Table: public.share_directory_file") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, shareDirectoryFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9201249+08:00", comments="Source Table: public.share_directory_file") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9211262+08:00", comments="Source Table: public.share_directory_file") + default int insert(ShareDirectoryFile row) { + return MyBatis3Utils.insert(this::insert, row, shareDirectoryFile, c -> + c.map(id).toProperty("id") + .map(p_id).toProperty("p_id") + .map(provider_id).toProperty("provider_id") + .map(filesuper).toProperty("filesuper") + .map(filecount).toProperty("filecount") + .map(dutyperson).toProperty("dutyperson") + .map(eweavedate).toProperty("eweavedate") + .map(filepage).toProperty("filepage") + .map(sortorder).toProperty("sortorder") + .map(bpeg).toProperty("bpeg") + .map(epeg).toProperty("epeg") + .map(filenum).toProperty("filenum") + .map(remark).toProperty("remark") + .map(recordnum).toProperty("recordnum") + .map(piecenumber).toProperty("piecenumber") + .map(adddate).toProperty("adddate") + .map(editdate).toProperty("editdate") + .map(time_stamp).toProperty("time_stamp") + .map(isdel).toProperty("isdel") + .map(catalogpdfurl).toProperty("catalogpdfurl") + .map(signtag).toProperty("signtag") + .map(collecttag).toProperty("collecttag") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9232037+08:00", comments="Source Table: public.share_directory_file") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, shareDirectoryFile, c -> + c.map(id).toProperty("id") + .map(p_id).toProperty("p_id") + .map(provider_id).toProperty("provider_id") + .map(filesuper).toProperty("filesuper") + .map(filecount).toProperty("filecount") + .map(dutyperson).toProperty("dutyperson") + .map(eweavedate).toProperty("eweavedate") + .map(filepage).toProperty("filepage") + .map(sortorder).toProperty("sortorder") + .map(bpeg).toProperty("bpeg") + .map(epeg).toProperty("epeg") + .map(filenum).toProperty("filenum") + .map(remark).toProperty("remark") + .map(recordnum).toProperty("recordnum") + .map(piecenumber).toProperty("piecenumber") + .map(adddate).toProperty("adddate") + .map(editdate).toProperty("editdate") + .map(time_stamp).toProperty("time_stamp") + .map(isdel).toProperty("isdel") + .map(catalogpdfurl).toProperty("catalogpdfurl") + .map(signtag).toProperty("signtag") + .map(collecttag).toProperty("collecttag") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9243056+08:00", comments="Source Table: public.share_directory_file") + default int insertSelective(ShareDirectoryFile row) { + return MyBatis3Utils.insert(this::insert, row, shareDirectoryFile, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(p_id).toPropertyWhenPresent("p_id", row::getP_id) + .map(provider_id).toPropertyWhenPresent("provider_id", row::getProvider_id) + .map(filesuper).toPropertyWhenPresent("filesuper", row::getFilesuper) + .map(filecount).toPropertyWhenPresent("filecount", row::getFilecount) + .map(dutyperson).toPropertyWhenPresent("dutyperson", row::getDutyperson) + .map(eweavedate).toPropertyWhenPresent("eweavedate", row::getEweavedate) + .map(filepage).toPropertyWhenPresent("filepage", row::getFilepage) + .map(sortorder).toPropertyWhenPresent("sortorder", row::getSortorder) + .map(bpeg).toPropertyWhenPresent("bpeg", row::getBpeg) + .map(epeg).toPropertyWhenPresent("epeg", row::getEpeg) + .map(filenum).toPropertyWhenPresent("filenum", row::getFilenum) + .map(remark).toPropertyWhenPresent("remark", row::getRemark) + .map(recordnum).toPropertyWhenPresent("recordnum", row::getRecordnum) + .map(piecenumber).toPropertyWhenPresent("piecenumber", row::getPiecenumber) + .map(adddate).toPropertyWhenPresent("adddate", row::getAdddate) + .map(editdate).toPropertyWhenPresent("editdate", row::getEditdate) + .map(time_stamp).toPropertyWhenPresent("time_stamp", row::getTime_stamp) + .map(isdel).toPropertyWhenPresent("isdel", row::getIsdel) + .map(catalogpdfurl).toPropertyWhenPresent("catalogpdfurl", row::getCatalogpdfurl) + .map(signtag).toPropertyWhenPresent("signtag", row::getSigntag) + .map(collecttag).toPropertyWhenPresent("collecttag", row::getCollecttag) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9275633+08:00", comments="Source Table: public.share_directory_file") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, shareDirectoryFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9275633+08:00", comments="Source Table: public.share_directory_file") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, shareDirectoryFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9275633+08:00", comments="Source Table: public.share_directory_file") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, shareDirectoryFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9275633+08:00", comments="Source Table: public.share_directory_file") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9285772+08:00", comments="Source Table: public.share_directory_file") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, shareDirectoryFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9285772+08:00", comments="Source Table: public.share_directory_file") + static UpdateDSL updateAllColumns(ShareDirectoryFile row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(p_id).equalTo(row::getP_id) + .set(provider_id).equalTo(row::getProvider_id) + .set(filesuper).equalTo(row::getFilesuper) + .set(filecount).equalTo(row::getFilecount) + .set(dutyperson).equalTo(row::getDutyperson) + .set(eweavedate).equalTo(row::getEweavedate) + .set(filepage).equalTo(row::getFilepage) + .set(sortorder).equalTo(row::getSortorder) + .set(bpeg).equalTo(row::getBpeg) + .set(epeg).equalTo(row::getEpeg) + .set(filenum).equalTo(row::getFilenum) + .set(remark).equalTo(row::getRemark) + .set(recordnum).equalTo(row::getRecordnum) + .set(piecenumber).equalTo(row::getPiecenumber) + .set(adddate).equalTo(row::getAdddate) + .set(editdate).equalTo(row::getEditdate) + .set(time_stamp).equalTo(row::getTime_stamp) + .set(isdel).equalTo(row::getIsdel) + .set(catalogpdfurl).equalTo(row::getCatalogpdfurl) + .set(signtag).equalTo(row::getSigntag) + .set(collecttag).equalTo(row::getCollecttag); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9285772+08:00", comments="Source Table: public.share_directory_file") + static UpdateDSL updateSelectiveColumns(ShareDirectoryFile row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(p_id).equalToWhenPresent(row::getP_id) + .set(provider_id).equalToWhenPresent(row::getProvider_id) + .set(filesuper).equalToWhenPresent(row::getFilesuper) + .set(filecount).equalToWhenPresent(row::getFilecount) + .set(dutyperson).equalToWhenPresent(row::getDutyperson) + .set(eweavedate).equalToWhenPresent(row::getEweavedate) + .set(filepage).equalToWhenPresent(row::getFilepage) + .set(sortorder).equalToWhenPresent(row::getSortorder) + .set(bpeg).equalToWhenPresent(row::getBpeg) + .set(epeg).equalToWhenPresent(row::getEpeg) + .set(filenum).equalToWhenPresent(row::getFilenum) + .set(remark).equalToWhenPresent(row::getRemark) + .set(recordnum).equalToWhenPresent(row::getRecordnum) + .set(piecenumber).equalToWhenPresent(row::getPiecenumber) + .set(adddate).equalToWhenPresent(row::getAdddate) + .set(editdate).equalToWhenPresent(row::getEditdate) + .set(time_stamp).equalToWhenPresent(row::getTime_stamp) + .set(isdel).equalToWhenPresent(row::getIsdel) + .set(catalogpdfurl).equalToWhenPresent(row::getCatalogpdfurl) + .set(signtag).equalToWhenPresent(row::getSigntag) + .set(collecttag).equalToWhenPresent(row::getCollecttag); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9295629+08:00", comments="Source Table: public.share_directory_file") + default int updateByPrimaryKey(ShareDirectoryFile row) { + return update(c -> + c.set(p_id).equalTo(row::getP_id) + .set(provider_id).equalTo(row::getProvider_id) + .set(filesuper).equalTo(row::getFilesuper) + .set(filecount).equalTo(row::getFilecount) + .set(dutyperson).equalTo(row::getDutyperson) + .set(eweavedate).equalTo(row::getEweavedate) + .set(filepage).equalTo(row::getFilepage) + .set(sortorder).equalTo(row::getSortorder) + .set(bpeg).equalTo(row::getBpeg) + .set(epeg).equalTo(row::getEpeg) + .set(filenum).equalTo(row::getFilenum) + .set(remark).equalTo(row::getRemark) + .set(recordnum).equalTo(row::getRecordnum) + .set(piecenumber).equalTo(row::getPiecenumber) + .set(adddate).equalTo(row::getAdddate) + .set(editdate).equalTo(row::getEditdate) + .set(time_stamp).equalTo(row::getTime_stamp) + .set(isdel).equalTo(row::getIsdel) + .set(catalogpdfurl).equalTo(row::getCatalogpdfurl) + .set(signtag).equalTo(row::getSigntag) + .set(collecttag).equalTo(row::getCollecttag) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.930563+08:00", comments="Source Table: public.share_directory_file") + default int updateByPrimaryKeySelective(ShareDirectoryFile row) { + return update(c -> + c.set(p_id).equalToWhenPresent(row::getP_id) + .set(provider_id).equalToWhenPresent(row::getProvider_id) + .set(filesuper).equalToWhenPresent(row::getFilesuper) + .set(filecount).equalToWhenPresent(row::getFilecount) + .set(dutyperson).equalToWhenPresent(row::getDutyperson) + .set(eweavedate).equalToWhenPresent(row::getEweavedate) + .set(filepage).equalToWhenPresent(row::getFilepage) + .set(sortorder).equalToWhenPresent(row::getSortorder) + .set(bpeg).equalToWhenPresent(row::getBpeg) + .set(epeg).equalToWhenPresent(row::getEpeg) + .set(filenum).equalToWhenPresent(row::getFilenum) + .set(remark).equalToWhenPresent(row::getRemark) + .set(recordnum).equalToWhenPresent(row::getRecordnum) + .set(piecenumber).equalToWhenPresent(row::getPiecenumber) + .set(adddate).equalToWhenPresent(row::getAdddate) + .set(editdate).equalToWhenPresent(row::getEditdate) + .set(time_stamp).equalToWhenPresent(row::getTime_stamp) + .set(isdel).equalToWhenPresent(row::getIsdel) + .set(catalogpdfurl).equalToWhenPresent(row::getCatalogpdfurl) + .set(signtag).equalToWhenPresent(row::getSigntag) + .set(collecttag).equalToWhenPresent(row::getCollecttag) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/ShareDirectoryMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/ShareDirectoryMapper.java new file mode 100644 index 0000000..ae3174a --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/ShareDirectoryMapper.java @@ -0,0 +1,201 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.ShareDirectoryDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.ShareDirectory; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface ShareDirectoryMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.675339+08:00", comments="Source Table: public.share_directory") + BasicColumn[] selectList = BasicColumn.columnList(id, provider_id, p_id, wbs_id, time_stamp, sortorder, tname, subjoin, isdel); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.665391+08:00", comments="Source Table: public.share_directory") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="ShareDirectoryResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="provider_id", property="provider_id", jdbcType=JdbcType.VARCHAR), + @Result(column="p_id", property="p_id", jdbcType=JdbcType.VARCHAR), + @Result(column="wbs_id", property="wbs_id", jdbcType=JdbcType.VARCHAR), + @Result(column="time_stamp", property="time_stamp", jdbcType=JdbcType.VARCHAR), + @Result(column="sortorder", property="sortorder", jdbcType=JdbcType.INTEGER), + @Result(column="tname", property="tname", jdbcType=JdbcType.VARCHAR), + @Result(column="subjoin", property="subjoin", jdbcType=JdbcType.INTEGER), + @Result(column="isdel", property="isdel", jdbcType=JdbcType.INTEGER) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6673906+08:00", comments="Source Table: public.share_directory") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("ShareDirectoryResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6683905+08:00", comments="Source Table: public.share_directory") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, shareDirectory, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6683905+08:00", comments="Source Table: public.share_directory") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, shareDirectory, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6694034+08:00", comments="Source Table: public.share_directory") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6694034+08:00", comments="Source Table: public.share_directory") + default int insert(ShareDirectory row) { + return MyBatis3Utils.insert(this::insert, row, shareDirectory, c -> + c.map(id).toProperty("id") + .map(provider_id).toProperty("provider_id") + .map(p_id).toProperty("p_id") + .map(wbs_id).toProperty("wbs_id") + .map(time_stamp).toProperty("time_stamp") + .map(sortorder).toProperty("sortorder") + .map(tname).toProperty("tname") + .map(subjoin).toProperty("subjoin") + .map(isdel).toProperty("isdel") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6729304+08:00", comments="Source Table: public.share_directory") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, shareDirectory, c -> + c.map(id).toProperty("id") + .map(provider_id).toProperty("provider_id") + .map(p_id).toProperty("p_id") + .map(wbs_id).toProperty("wbs_id") + .map(time_stamp).toProperty("time_stamp") + .map(sortorder).toProperty("sortorder") + .map(tname).toProperty("tname") + .map(subjoin).toProperty("subjoin") + .map(isdel).toProperty("isdel") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6741068+08:00", comments="Source Table: public.share_directory") + default int insertSelective(ShareDirectory row) { + return MyBatis3Utils.insert(this::insert, row, shareDirectory, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(provider_id).toPropertyWhenPresent("provider_id", row::getProvider_id) + .map(p_id).toPropertyWhenPresent("p_id", row::getP_id) + .map(wbs_id).toPropertyWhenPresent("wbs_id", row::getWbs_id) + .map(time_stamp).toPropertyWhenPresent("time_stamp", row::getTime_stamp) + .map(sortorder).toPropertyWhenPresent("sortorder", row::getSortorder) + .map(tname).toPropertyWhenPresent("tname", row::getTname) + .map(subjoin).toPropertyWhenPresent("subjoin", row::getSubjoin) + .map(isdel).toPropertyWhenPresent("isdel", row::getIsdel) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6767301+08:00", comments="Source Table: public.share_directory") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, shareDirectory, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6767301+08:00", comments="Source Table: public.share_directory") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, shareDirectory, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6780116+08:00", comments="Source Table: public.share_directory") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, shareDirectory, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6780116+08:00", comments="Source Table: public.share_directory") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6780116+08:00", comments="Source Table: public.share_directory") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, shareDirectory, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6790677+08:00", comments="Source Table: public.share_directory") + static UpdateDSL updateAllColumns(ShareDirectory row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(provider_id).equalTo(row::getProvider_id) + .set(p_id).equalTo(row::getP_id) + .set(wbs_id).equalTo(row::getWbs_id) + .set(time_stamp).equalTo(row::getTime_stamp) + .set(sortorder).equalTo(row::getSortorder) + .set(tname).equalTo(row::getTname) + .set(subjoin).equalTo(row::getSubjoin) + .set(isdel).equalTo(row::getIsdel); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6790677+08:00", comments="Source Table: public.share_directory") + static UpdateDSL updateSelectiveColumns(ShareDirectory row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(provider_id).equalToWhenPresent(row::getProvider_id) + .set(p_id).equalToWhenPresent(row::getP_id) + .set(wbs_id).equalToWhenPresent(row::getWbs_id) + .set(time_stamp).equalToWhenPresent(row::getTime_stamp) + .set(sortorder).equalToWhenPresent(row::getSortorder) + .set(tname).equalToWhenPresent(row::getTname) + .set(subjoin).equalToWhenPresent(row::getSubjoin) + .set(isdel).equalToWhenPresent(row::getIsdel); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6802572+08:00", comments="Source Table: public.share_directory") + default int updateByPrimaryKey(ShareDirectory row) { + return update(c -> + c.set(provider_id).equalTo(row::getProvider_id) + .set(p_id).equalTo(row::getP_id) + .set(wbs_id).equalTo(row::getWbs_id) + .set(time_stamp).equalTo(row::getTime_stamp) + .set(sortorder).equalTo(row::getSortorder) + .set(tname).equalTo(row::getTname) + .set(subjoin).equalTo(row::getSubjoin) + .set(isdel).equalTo(row::getIsdel) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6802572+08:00", comments="Source Table: public.share_directory") + default int updateByPrimaryKeySelective(ShareDirectory row) { + return update(c -> + c.set(provider_id).equalToWhenPresent(row::getProvider_id) + .set(p_id).equalToWhenPresent(row::getP_id) + .set(wbs_id).equalToWhenPresent(row::getWbs_id) + .set(time_stamp).equalToWhenPresent(row::getTime_stamp) + .set(sortorder).equalToWhenPresent(row::getSortorder) + .set(tname).equalToWhenPresent(row::getTname) + .set(subjoin).equalToWhenPresent(row::getSubjoin) + .set(isdel).equalToWhenPresent(row::getIsdel) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/ShareFileMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/ShareFileMapper.java new file mode 100644 index 0000000..a9f30be --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/ShareFileMapper.java @@ -0,0 +1,273 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.ShareFileDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.ShareFile; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface ShareFileMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6213079+08:00", comments="Source Table: public.share_file") + BasicColumn[] selectList = BasicColumn.columnList(id, p_id, provider_id, tablenumber, annexname, projectname, eweavedate, checkdate, annexpage, sortorder, filefrom, archivestag, adddate, editdate, time_stamp, isdel, downurl, filesize); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6136639+08:00", comments="Source Table: public.share_file") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="ShareFileResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="p_id", property="p_id", jdbcType=JdbcType.VARCHAR), + @Result(column="provider_id", property="provider_id", jdbcType=JdbcType.VARCHAR), + @Result(column="tablenumber", property="tablenumber", jdbcType=JdbcType.VARCHAR), + @Result(column="annexname", property="annexname", jdbcType=JdbcType.VARCHAR), + @Result(column="projectname", property="projectname", jdbcType=JdbcType.VARCHAR), + @Result(column="eweavedate", property="eweavedate", jdbcType=JdbcType.VARCHAR), + @Result(column="checkdate", property="checkdate", jdbcType=JdbcType.VARCHAR), + @Result(column="annexpage", property="annexpage", jdbcType=JdbcType.INTEGER), + @Result(column="sortorder", property="sortorder", jdbcType=JdbcType.VARCHAR), + @Result(column="filefrom", property="filefrom", jdbcType=JdbcType.VARCHAR), + @Result(column="archivestag", property="archivestag", jdbcType=JdbcType.VARCHAR), + @Result(column="adddate", property="adddate", jdbcType=JdbcType.VARCHAR), + @Result(column="editdate", property="editdate", jdbcType=JdbcType.VARCHAR), + @Result(column="time_stamp", property="time_stamp", jdbcType=JdbcType.VARCHAR), + @Result(column="isdel", property="isdel", jdbcType=JdbcType.INTEGER), + @Result(column="downurl", property="downurl", jdbcType=JdbcType.VARCHAR), + @Result(column="filesize", property="filesize", jdbcType=JdbcType.INTEGER) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6158717+08:00", comments="Source Table: public.share_file") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("ShareFileResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6158717+08:00", comments="Source Table: public.share_file") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, shareFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.616897+08:00", comments="Source Table: public.share_file") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, shareFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.616897+08:00", comments="Source Table: public.share_file") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.616897+08:00", comments="Source Table: public.share_file") + default int insert(ShareFile row) { + return MyBatis3Utils.insert(this::insert, row, shareFile, c -> + c.map(id).toProperty("id") + .map(p_id).toProperty("p_id") + .map(provider_id).toProperty("provider_id") + .map(tablenumber).toProperty("tablenumber") + .map(annexname).toProperty("annexname") + .map(projectname).toProperty("projectname") + .map(eweavedate).toProperty("eweavedate") + .map(checkdate).toProperty("checkdate") + .map(annexpage).toProperty("annexpage") + .map(sortorder).toProperty("sortorder") + .map(filefrom).toProperty("filefrom") + .map(archivestag).toProperty("archivestag") + .map(adddate).toProperty("adddate") + .map(editdate).toProperty("editdate") + .map(time_stamp).toProperty("time_stamp") + .map(isdel).toProperty("isdel") + .map(downurl).toProperty("downurl") + .map(filesize).toProperty("filesize") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6189015+08:00", comments="Source Table: public.share_file") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, shareFile, c -> + c.map(id).toProperty("id") + .map(p_id).toProperty("p_id") + .map(provider_id).toProperty("provider_id") + .map(tablenumber).toProperty("tablenumber") + .map(annexname).toProperty("annexname") + .map(projectname).toProperty("projectname") + .map(eweavedate).toProperty("eweavedate") + .map(checkdate).toProperty("checkdate") + .map(annexpage).toProperty("annexpage") + .map(sortorder).toProperty("sortorder") + .map(filefrom).toProperty("filefrom") + .map(archivestag).toProperty("archivestag") + .map(adddate).toProperty("adddate") + .map(editdate).toProperty("editdate") + .map(time_stamp).toProperty("time_stamp") + .map(isdel).toProperty("isdel") + .map(downurl).toProperty("downurl") + .map(filesize).toProperty("filesize") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6199692+08:00", comments="Source Table: public.share_file") + default int insertSelective(ShareFile row) { + return MyBatis3Utils.insert(this::insert, row, shareFile, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(p_id).toPropertyWhenPresent("p_id", row::getP_id) + .map(provider_id).toPropertyWhenPresent("provider_id", row::getProvider_id) + .map(tablenumber).toPropertyWhenPresent("tablenumber", row::getTablenumber) + .map(annexname).toPropertyWhenPresent("annexname", row::getAnnexname) + .map(projectname).toPropertyWhenPresent("projectname", row::getProjectname) + .map(eweavedate).toPropertyWhenPresent("eweavedate", row::getEweavedate) + .map(checkdate).toPropertyWhenPresent("checkdate", row::getCheckdate) + .map(annexpage).toPropertyWhenPresent("annexpage", row::getAnnexpage) + .map(sortorder).toPropertyWhenPresent("sortorder", row::getSortorder) + .map(filefrom).toPropertyWhenPresent("filefrom", row::getFilefrom) + .map(archivestag).toPropertyWhenPresent("archivestag", row::getArchivestag) + .map(adddate).toPropertyWhenPresent("adddate", row::getAdddate) + .map(editdate).toPropertyWhenPresent("editdate", row::getEditdate) + .map(time_stamp).toPropertyWhenPresent("time_stamp", row::getTime_stamp) + .map(isdel).toPropertyWhenPresent("isdel", row::getIsdel) + .map(downurl).toPropertyWhenPresent("downurl", row::getDownurl) + .map(filesize).toPropertyWhenPresent("filesize", row::getFilesize) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6260569+08:00", comments="Source Table: public.share_file") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, shareFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6274924+08:00", comments="Source Table: public.share_file") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, shareFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6274924+08:00", comments="Source Table: public.share_file") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, shareFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6274924+08:00", comments="Source Table: public.share_file") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6286082+08:00", comments="Source Table: public.share_file") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, shareFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6286082+08:00", comments="Source Table: public.share_file") + static UpdateDSL updateAllColumns(ShareFile row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(p_id).equalTo(row::getP_id) + .set(provider_id).equalTo(row::getProvider_id) + .set(tablenumber).equalTo(row::getTablenumber) + .set(annexname).equalTo(row::getAnnexname) + .set(projectname).equalTo(row::getProjectname) + .set(eweavedate).equalTo(row::getEweavedate) + .set(checkdate).equalTo(row::getCheckdate) + .set(annexpage).equalTo(row::getAnnexpage) + .set(sortorder).equalTo(row::getSortorder) + .set(filefrom).equalTo(row::getFilefrom) + .set(archivestag).equalTo(row::getArchivestag) + .set(adddate).equalTo(row::getAdddate) + .set(editdate).equalTo(row::getEditdate) + .set(time_stamp).equalTo(row::getTime_stamp) + .set(isdel).equalTo(row::getIsdel) + .set(downurl).equalTo(row::getDownurl) + .set(filesize).equalTo(row::getFilesize); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6297256+08:00", comments="Source Table: public.share_file") + static UpdateDSL updateSelectiveColumns(ShareFile row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(p_id).equalToWhenPresent(row::getP_id) + .set(provider_id).equalToWhenPresent(row::getProvider_id) + .set(tablenumber).equalToWhenPresent(row::getTablenumber) + .set(annexname).equalToWhenPresent(row::getAnnexname) + .set(projectname).equalToWhenPresent(row::getProjectname) + .set(eweavedate).equalToWhenPresent(row::getEweavedate) + .set(checkdate).equalToWhenPresent(row::getCheckdate) + .set(annexpage).equalToWhenPresent(row::getAnnexpage) + .set(sortorder).equalToWhenPresent(row::getSortorder) + .set(filefrom).equalToWhenPresent(row::getFilefrom) + .set(archivestag).equalToWhenPresent(row::getArchivestag) + .set(adddate).equalToWhenPresent(row::getAdddate) + .set(editdate).equalToWhenPresent(row::getEditdate) + .set(time_stamp).equalToWhenPresent(row::getTime_stamp) + .set(isdel).equalToWhenPresent(row::getIsdel) + .set(downurl).equalToWhenPresent(row::getDownurl) + .set(filesize).equalToWhenPresent(row::getFilesize); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6308199+08:00", comments="Source Table: public.share_file") + default int updateByPrimaryKey(ShareFile row) { + return update(c -> + c.set(p_id).equalTo(row::getP_id) + .set(provider_id).equalTo(row::getProvider_id) + .set(tablenumber).equalTo(row::getTablenumber) + .set(annexname).equalTo(row::getAnnexname) + .set(projectname).equalTo(row::getProjectname) + .set(eweavedate).equalTo(row::getEweavedate) + .set(checkdate).equalTo(row::getCheckdate) + .set(annexpage).equalTo(row::getAnnexpage) + .set(sortorder).equalTo(row::getSortorder) + .set(filefrom).equalTo(row::getFilefrom) + .set(archivestag).equalTo(row::getArchivestag) + .set(adddate).equalTo(row::getAdddate) + .set(editdate).equalTo(row::getEditdate) + .set(time_stamp).equalTo(row::getTime_stamp) + .set(isdel).equalTo(row::getIsdel) + .set(downurl).equalTo(row::getDownurl) + .set(filesize).equalTo(row::getFilesize) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6308199+08:00", comments="Source Table: public.share_file") + default int updateByPrimaryKeySelective(ShareFile row) { + return update(c -> + c.set(p_id).equalToWhenPresent(row::getP_id) + .set(provider_id).equalToWhenPresent(row::getProvider_id) + .set(tablenumber).equalToWhenPresent(row::getTablenumber) + .set(annexname).equalToWhenPresent(row::getAnnexname) + .set(projectname).equalToWhenPresent(row::getProjectname) + .set(eweavedate).equalToWhenPresent(row::getEweavedate) + .set(checkdate).equalToWhenPresent(row::getCheckdate) + .set(annexpage).equalToWhenPresent(row::getAnnexpage) + .set(sortorder).equalToWhenPresent(row::getSortorder) + .set(filefrom).equalToWhenPresent(row::getFilefrom) + .set(archivestag).equalToWhenPresent(row::getArchivestag) + .set(adddate).equalToWhenPresent(row::getAdddate) + .set(editdate).equalToWhenPresent(row::getEditdate) + .set(time_stamp).equalToWhenPresent(row::getTime_stamp) + .set(isdel).equalToWhenPresent(row::getIsdel) + .set(downurl).equalToWhenPresent(row::getDownurl) + .set(filesize).equalToWhenPresent(row::getFilesize) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/SharedElementUpdateDetailMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SharedElementUpdateDetailMapper.java new file mode 100644 index 0000000..e5e6011 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SharedElementUpdateDetailMapper.java @@ -0,0 +1,201 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.SharedElementUpdateDetailDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.SharedElementUpdateDetail; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface SharedElementUpdateDetailMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2621483+08:00", comments="Source Table: public.shared_element_update_detail") + BasicColumn[] selectList = BasicColumn.columnList(id, update_record_id, node_type, node_id, share_status, execute_start_time, execute_end_time, execute_desp, execute_success); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.261151+08:00", comments="Source Table: public.shared_element_update_detail") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="SharedElementUpdateDetailResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="update_record_id", property="update_record_id", jdbcType=JdbcType.VARCHAR), + @Result(column="node_type", property="node_type", jdbcType=JdbcType.INTEGER), + @Result(column="node_id", property="node_id", jdbcType=JdbcType.VARCHAR), + @Result(column="share_status", property="share_status", jdbcType=JdbcType.INTEGER), + @Result(column="execute_start_time", property="execute_start_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="execute_end_time", property="execute_end_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="execute_desp", property="execute_desp", jdbcType=JdbcType.VARCHAR), + @Result(column="execute_success", property="execute_success", jdbcType=JdbcType.INTEGER) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2621483+08:00", comments="Source Table: public.shared_element_update_detail") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("SharedElementUpdateDetailResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2621483+08:00", comments="Source Table: public.shared_element_update_detail") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, sharedElementUpdateDetail, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2621483+08:00", comments="Source Table: public.shared_element_update_detail") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, sharedElementUpdateDetail, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2621483+08:00", comments="Source Table: public.shared_element_update_detail") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2621483+08:00", comments="Source Table: public.shared_element_update_detail") + default int insert(SharedElementUpdateDetail row) { + return MyBatis3Utils.insert(this::insert, row, sharedElementUpdateDetail, c -> + c.map(id).toProperty("id") + .map(update_record_id).toProperty("update_record_id") + .map(node_type).toProperty("node_type") + .map(node_id).toProperty("node_id") + .map(share_status).toProperty("share_status") + .map(execute_start_time).toProperty("execute_start_time") + .map(execute_end_time).toProperty("execute_end_time") + .map(execute_desp).toProperty("execute_desp") + .map(execute_success).toProperty("execute_success") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2621483+08:00", comments="Source Table: public.shared_element_update_detail") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, sharedElementUpdateDetail, c -> + c.map(id).toProperty("id") + .map(update_record_id).toProperty("update_record_id") + .map(node_type).toProperty("node_type") + .map(node_id).toProperty("node_id") + .map(share_status).toProperty("share_status") + .map(execute_start_time).toProperty("execute_start_time") + .map(execute_end_time).toProperty("execute_end_time") + .map(execute_desp).toProperty("execute_desp") + .map(execute_success).toProperty("execute_success") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2621483+08:00", comments="Source Table: public.shared_element_update_detail") + default int insertSelective(SharedElementUpdateDetail row) { + return MyBatis3Utils.insert(this::insert, row, sharedElementUpdateDetail, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(update_record_id).toPropertyWhenPresent("update_record_id", row::getUpdate_record_id) + .map(node_type).toPropertyWhenPresent("node_type", row::getNode_type) + .map(node_id).toPropertyWhenPresent("node_id", row::getNode_id) + .map(share_status).toPropertyWhenPresent("share_status", row::getShare_status) + .map(execute_start_time).toPropertyWhenPresent("execute_start_time", row::getExecute_start_time) + .map(execute_end_time).toPropertyWhenPresent("execute_end_time", row::getExecute_end_time) + .map(execute_desp).toPropertyWhenPresent("execute_desp", row::getExecute_desp) + .map(execute_success).toPropertyWhenPresent("execute_success", row::getExecute_success) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2621483+08:00", comments="Source Table: public.shared_element_update_detail") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, sharedElementUpdateDetail, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2621483+08:00", comments="Source Table: public.shared_element_update_detail") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, sharedElementUpdateDetail, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2621483+08:00", comments="Source Table: public.shared_element_update_detail") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, sharedElementUpdateDetail, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2621483+08:00", comments="Source Table: public.shared_element_update_detail") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2621483+08:00", comments="Source Table: public.shared_element_update_detail") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, sharedElementUpdateDetail, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2621483+08:00", comments="Source Table: public.shared_element_update_detail") + static UpdateDSL updateAllColumns(SharedElementUpdateDetail row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(update_record_id).equalTo(row::getUpdate_record_id) + .set(node_type).equalTo(row::getNode_type) + .set(node_id).equalTo(row::getNode_id) + .set(share_status).equalTo(row::getShare_status) + .set(execute_start_time).equalTo(row::getExecute_start_time) + .set(execute_end_time).equalTo(row::getExecute_end_time) + .set(execute_desp).equalTo(row::getExecute_desp) + .set(execute_success).equalTo(row::getExecute_success); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2631526+08:00", comments="Source Table: public.shared_element_update_detail") + static UpdateDSL updateSelectiveColumns(SharedElementUpdateDetail row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(update_record_id).equalToWhenPresent(row::getUpdate_record_id) + .set(node_type).equalToWhenPresent(row::getNode_type) + .set(node_id).equalToWhenPresent(row::getNode_id) + .set(share_status).equalToWhenPresent(row::getShare_status) + .set(execute_start_time).equalToWhenPresent(row::getExecute_start_time) + .set(execute_end_time).equalToWhenPresent(row::getExecute_end_time) + .set(execute_desp).equalToWhenPresent(row::getExecute_desp) + .set(execute_success).equalToWhenPresent(row::getExecute_success); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2631526+08:00", comments="Source Table: public.shared_element_update_detail") + default int updateByPrimaryKey(SharedElementUpdateDetail row) { + return update(c -> + c.set(update_record_id).equalTo(row::getUpdate_record_id) + .set(node_type).equalTo(row::getNode_type) + .set(node_id).equalTo(row::getNode_id) + .set(share_status).equalTo(row::getShare_status) + .set(execute_start_time).equalTo(row::getExecute_start_time) + .set(execute_end_time).equalTo(row::getExecute_end_time) + .set(execute_desp).equalTo(row::getExecute_desp) + .set(execute_success).equalTo(row::getExecute_success) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2631526+08:00", comments="Source Table: public.shared_element_update_detail") + default int updateByPrimaryKeySelective(SharedElementUpdateDetail row) { + return update(c -> + c.set(update_record_id).equalToWhenPresent(row::getUpdate_record_id) + .set(node_type).equalToWhenPresent(row::getNode_type) + .set(node_id).equalToWhenPresent(row::getNode_id) + .set(share_status).equalToWhenPresent(row::getShare_status) + .set(execute_start_time).equalToWhenPresent(row::getExecute_start_time) + .set(execute_end_time).equalToWhenPresent(row::getExecute_end_time) + .set(execute_desp).equalToWhenPresent(row::getExecute_desp) + .set(execute_success).equalToWhenPresent(row::getExecute_success) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/SharedElementUpdateRecordMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SharedElementUpdateRecordMapper.java new file mode 100644 index 0000000..cdf420e --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SharedElementUpdateRecordMapper.java @@ -0,0 +1,241 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.SharedElementUpdateRecordDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.SharedElementUpdateRecord; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface SharedElementUpdateRecordMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9546248+08:00", comments="Source Table: public.shared_element_update_record") + BasicColumn[] selectList = BasicColumn.columnList(id, share_rule_id, user_id, desp, create_time, node_count, source, execute_start_time, execute_end_time, execute_desp, execute_status, succ_exec_node_count, act_node_count, execute_count); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9431757+08:00", comments="Source Table: public.shared_element_update_record") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="SharedElementUpdateRecordResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="share_rule_id", property="share_rule_id", jdbcType=JdbcType.VARCHAR), + @Result(column="user_id", property="user_id", jdbcType=JdbcType.VARCHAR), + @Result(column="desp", property="desp", jdbcType=JdbcType.VARCHAR), + @Result(column="create_time", property="create_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="node_count", property="node_count", jdbcType=JdbcType.BIGINT), + @Result(column="source", property="source", jdbcType=JdbcType.VARCHAR), + @Result(column="execute_start_time", property="execute_start_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="execute_end_time", property="execute_end_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="execute_desp", property="execute_desp", jdbcType=JdbcType.VARCHAR), + @Result(column="execute_status", property="execute_status", jdbcType=JdbcType.INTEGER), + @Result(column="succ_exec_node_count", property="succ_exec_node_count", jdbcType=JdbcType.INTEGER), + @Result(column="act_node_count", property="act_node_count", jdbcType=JdbcType.INTEGER), + @Result(column="execute_count", property="execute_count", jdbcType=JdbcType.INTEGER) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.945177+08:00", comments="Source Table: public.shared_element_update_record") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("SharedElementUpdateRecordResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9461772+08:00", comments="Source Table: public.shared_element_update_record") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, sharedElementUpdateRecord, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9461772+08:00", comments="Source Table: public.shared_element_update_record") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, sharedElementUpdateRecord, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9461772+08:00", comments="Source Table: public.shared_element_update_record") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9506218+08:00", comments="Source Table: public.shared_element_update_record") + default int insert(SharedElementUpdateRecord row) { + return MyBatis3Utils.insert(this::insert, row, sharedElementUpdateRecord, c -> + c.map(id).toProperty("id") + .map(share_rule_id).toProperty("share_rule_id") + .map(user_id).toProperty("user_id") + .map(desp).toProperty("desp") + .map(create_time).toProperty("create_time") + .map(node_count).toProperty("node_count") + .map(source).toProperty("source") + .map(execute_start_time).toProperty("execute_start_time") + .map(execute_end_time).toProperty("execute_end_time") + .map(execute_desp).toProperty("execute_desp") + .map(execute_status).toProperty("execute_status") + .map(succ_exec_node_count).toProperty("succ_exec_node_count") + .map(act_node_count).toProperty("act_node_count") + .map(execute_count).toProperty("execute_count") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9526216+08:00", comments="Source Table: public.shared_element_update_record") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, sharedElementUpdateRecord, c -> + c.map(id).toProperty("id") + .map(share_rule_id).toProperty("share_rule_id") + .map(user_id).toProperty("user_id") + .map(desp).toProperty("desp") + .map(create_time).toProperty("create_time") + .map(node_count).toProperty("node_count") + .map(source).toProperty("source") + .map(execute_start_time).toProperty("execute_start_time") + .map(execute_end_time).toProperty("execute_end_time") + .map(execute_desp).toProperty("execute_desp") + .map(execute_status).toProperty("execute_status") + .map(succ_exec_node_count).toProperty("succ_exec_node_count") + .map(act_node_count).toProperty("act_node_count") + .map(execute_count).toProperty("execute_count") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.953636+08:00", comments="Source Table: public.shared_element_update_record") + default int insertSelective(SharedElementUpdateRecord row) { + return MyBatis3Utils.insert(this::insert, row, sharedElementUpdateRecord, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(share_rule_id).toPropertyWhenPresent("share_rule_id", row::getShare_rule_id) + .map(user_id).toPropertyWhenPresent("user_id", row::getUser_id) + .map(desp).toPropertyWhenPresent("desp", row::getDesp) + .map(create_time).toPropertyWhenPresent("create_time", row::getCreate_time) + .map(node_count).toPropertyWhenPresent("node_count", row::getNode_count) + .map(source).toPropertyWhenPresent("source", row::getSource) + .map(execute_start_time).toPropertyWhenPresent("execute_start_time", row::getExecute_start_time) + .map(execute_end_time).toPropertyWhenPresent("execute_end_time", row::getExecute_end_time) + .map(execute_desp).toPropertyWhenPresent("execute_desp", row::getExecute_desp) + .map(execute_status).toPropertyWhenPresent("execute_status", row::getExecute_status) + .map(succ_exec_node_count).toPropertyWhenPresent("succ_exec_node_count", row::getSucc_exec_node_count) + .map(act_node_count).toPropertyWhenPresent("act_node_count", row::getAct_node_count) + .map(execute_count).toPropertyWhenPresent("execute_count", row::getExecute_count) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9556238+08:00", comments="Source Table: public.shared_element_update_record") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, sharedElementUpdateRecord, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9566228+08:00", comments="Source Table: public.shared_element_update_record") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, sharedElementUpdateRecord, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9566228+08:00", comments="Source Table: public.shared_element_update_record") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, sharedElementUpdateRecord, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9566228+08:00", comments="Source Table: public.shared_element_update_record") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9576323+08:00", comments="Source Table: public.shared_element_update_record") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, sharedElementUpdateRecord, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9576323+08:00", comments="Source Table: public.shared_element_update_record") + static UpdateDSL updateAllColumns(SharedElementUpdateRecord row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(share_rule_id).equalTo(row::getShare_rule_id) + .set(user_id).equalTo(row::getUser_id) + .set(desp).equalTo(row::getDesp) + .set(create_time).equalTo(row::getCreate_time) + .set(node_count).equalTo(row::getNode_count) + .set(source).equalTo(row::getSource) + .set(execute_start_time).equalTo(row::getExecute_start_time) + .set(execute_end_time).equalTo(row::getExecute_end_time) + .set(execute_desp).equalTo(row::getExecute_desp) + .set(execute_status).equalTo(row::getExecute_status) + .set(succ_exec_node_count).equalTo(row::getSucc_exec_node_count) + .set(act_node_count).equalTo(row::getAct_node_count) + .set(execute_count).equalTo(row::getExecute_count); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9576323+08:00", comments="Source Table: public.shared_element_update_record") + static UpdateDSL updateSelectiveColumns(SharedElementUpdateRecord row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(share_rule_id).equalToWhenPresent(row::getShare_rule_id) + .set(user_id).equalToWhenPresent(row::getUser_id) + .set(desp).equalToWhenPresent(row::getDesp) + .set(create_time).equalToWhenPresent(row::getCreate_time) + .set(node_count).equalToWhenPresent(row::getNode_count) + .set(source).equalToWhenPresent(row::getSource) + .set(execute_start_time).equalToWhenPresent(row::getExecute_start_time) + .set(execute_end_time).equalToWhenPresent(row::getExecute_end_time) + .set(execute_desp).equalToWhenPresent(row::getExecute_desp) + .set(execute_status).equalToWhenPresent(row::getExecute_status) + .set(succ_exec_node_count).equalToWhenPresent(row::getSucc_exec_node_count) + .set(act_node_count).equalToWhenPresent(row::getAct_node_count) + .set(execute_count).equalToWhenPresent(row::getExecute_count); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9586206+08:00", comments="Source Table: public.shared_element_update_record") + default int updateByPrimaryKey(SharedElementUpdateRecord row) { + return update(c -> + c.set(share_rule_id).equalTo(row::getShare_rule_id) + .set(user_id).equalTo(row::getUser_id) + .set(desp).equalTo(row::getDesp) + .set(create_time).equalTo(row::getCreate_time) + .set(node_count).equalTo(row::getNode_count) + .set(source).equalTo(row::getSource) + .set(execute_start_time).equalTo(row::getExecute_start_time) + .set(execute_end_time).equalTo(row::getExecute_end_time) + .set(execute_desp).equalTo(row::getExecute_desp) + .set(execute_status).equalTo(row::getExecute_status) + .set(succ_exec_node_count).equalTo(row::getSucc_exec_node_count) + .set(act_node_count).equalTo(row::getAct_node_count) + .set(execute_count).equalTo(row::getExecute_count) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9596222+08:00", comments="Source Table: public.shared_element_update_record") + default int updateByPrimaryKeySelective(SharedElementUpdateRecord row) { + return update(c -> + c.set(share_rule_id).equalToWhenPresent(row::getShare_rule_id) + .set(user_id).equalToWhenPresent(row::getUser_id) + .set(desp).equalToWhenPresent(row::getDesp) + .set(create_time).equalToWhenPresent(row::getCreate_time) + .set(node_count).equalToWhenPresent(row::getNode_count) + .set(source).equalToWhenPresent(row::getSource) + .set(execute_start_time).equalToWhenPresent(row::getExecute_start_time) + .set(execute_end_time).equalToWhenPresent(row::getExecute_end_time) + .set(execute_desp).equalToWhenPresent(row::getExecute_desp) + .set(execute_status).equalToWhenPresent(row::getExecute_status) + .set(succ_exec_node_count).equalToWhenPresent(row::getSucc_exec_node_count) + .set(act_node_count).equalToWhenPresent(row::getAct_node_count) + .set(execute_count).equalToWhenPresent(row::getExecute_count) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/SharedRuleConfigMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SharedRuleConfigMapper.java new file mode 100644 index 0000000..1b3078f --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SharedRuleConfigMapper.java @@ -0,0 +1,177 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.SharedRuleConfigDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.SharedRuleConfig; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface SharedRuleConfigMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3131471+08:00", comments="Source Table: public.shared_rule_config") + BasicColumn[] selectList = BasicColumn.columnList(id, name, describe, status, sort, project_name); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3131471+08:00", comments="Source Table: public.shared_rule_config") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="SharedRuleConfigResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="name", property="name", jdbcType=JdbcType.VARCHAR), + @Result(column="describe", property="describe", jdbcType=JdbcType.VARCHAR), + @Result(column="status", property="status", jdbcType=JdbcType.INTEGER), + @Result(column="sort", property="sort", jdbcType=JdbcType.INTEGER), + @Result(column="project_name", property="project_name", jdbcType=JdbcType.VARCHAR) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3131471+08:00", comments="Source Table: public.shared_rule_config") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("SharedRuleConfigResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3131471+08:00", comments="Source Table: public.shared_rule_config") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, sharedRuleConfig, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3131471+08:00", comments="Source Table: public.shared_rule_config") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, sharedRuleConfig, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3131471+08:00", comments="Source Table: public.shared_rule_config") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3131471+08:00", comments="Source Table: public.shared_rule_config") + default int insert(SharedRuleConfig row) { + return MyBatis3Utils.insert(this::insert, row, sharedRuleConfig, c -> + c.map(id).toProperty("id") + .map(name).toProperty("name") + .map(describe).toProperty("describe") + .map(status).toProperty("status") + .map(sort).toProperty("sort") + .map(project_name).toProperty("project_name") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3131471+08:00", comments="Source Table: public.shared_rule_config") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, sharedRuleConfig, c -> + c.map(id).toProperty("id") + .map(name).toProperty("name") + .map(describe).toProperty("describe") + .map(status).toProperty("status") + .map(sort).toProperty("sort") + .map(project_name).toProperty("project_name") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3131471+08:00", comments="Source Table: public.shared_rule_config") + default int insertSelective(SharedRuleConfig row) { + return MyBatis3Utils.insert(this::insert, row, sharedRuleConfig, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(name).toPropertyWhenPresent("name", row::getName) + .map(describe).toPropertyWhenPresent("describe", row::getDescribe) + .map(status).toPropertyWhenPresent("status", row::getStatus) + .map(sort).toPropertyWhenPresent("sort", row::getSort) + .map(project_name).toPropertyWhenPresent("project_name", row::getProject_name) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3131471+08:00", comments="Source Table: public.shared_rule_config") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, sharedRuleConfig, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3131471+08:00", comments="Source Table: public.shared_rule_config") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, sharedRuleConfig, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3131471+08:00", comments="Source Table: public.shared_rule_config") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, sharedRuleConfig, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3131471+08:00", comments="Source Table: public.shared_rule_config") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3131471+08:00", comments="Source Table: public.shared_rule_config") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, sharedRuleConfig, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3131471+08:00", comments="Source Table: public.shared_rule_config") + static UpdateDSL updateAllColumns(SharedRuleConfig row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(name).equalTo(row::getName) + .set(describe).equalTo(row::getDescribe) + .set(status).equalTo(row::getStatus) + .set(sort).equalTo(row::getSort) + .set(project_name).equalTo(row::getProject_name); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3131471+08:00", comments="Source Table: public.shared_rule_config") + static UpdateDSL updateSelectiveColumns(SharedRuleConfig row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(name).equalToWhenPresent(row::getName) + .set(describe).equalToWhenPresent(row::getDescribe) + .set(status).equalToWhenPresent(row::getStatus) + .set(sort).equalToWhenPresent(row::getSort) + .set(project_name).equalToWhenPresent(row::getProject_name); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3131471+08:00", comments="Source Table: public.shared_rule_config") + default int updateByPrimaryKey(SharedRuleConfig row) { + return update(c -> + c.set(name).equalTo(row::getName) + .set(describe).equalTo(row::getDescribe) + .set(status).equalTo(row::getStatus) + .set(sort).equalTo(row::getSort) + .set(project_name).equalTo(row::getProject_name) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3131471+08:00", comments="Source Table: public.shared_rule_config") + default int updateByPrimaryKeySelective(SharedRuleConfig row) { + return update(c -> + c.set(name).equalToWhenPresent(row::getName) + .set(describe).equalToWhenPresent(row::getDescribe) + .set(status).equalToWhenPresent(row::getStatus) + .set(sort).equalToWhenPresent(row::getSort) + .set(project_name).equalToWhenPresent(row::getProject_name) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/SharedSynAllMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SharedSynAllMapper.java new file mode 100644 index 0000000..550c8f9 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SharedSynAllMapper.java @@ -0,0 +1,201 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.SharedSynAllDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.SharedSynAll; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface SharedSynAllMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.303149+08:00", comments="Source Table: public.shared_syn_all") + BasicColumn[] selectList = BasicColumn.columnList(id, syn_id, syn_type, is_config_rule, shared_status, syn_status, block_number, block_hash, block_time); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.303149+08:00", comments="Source Table: public.shared_syn_all") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="SharedSynAllResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="syn_id", property="syn_id", jdbcType=JdbcType.VARCHAR), + @Result(column="syn_type", property="syn_type", jdbcType=JdbcType.INTEGER), + @Result(column="is_config_rule", property="is_config_rule", jdbcType=JdbcType.INTEGER), + @Result(column="shared_status", property="shared_status", jdbcType=JdbcType.INTEGER), + @Result(column="syn_status", property="syn_status", jdbcType=JdbcType.INTEGER), + @Result(column="block_number", property="block_number", jdbcType=JdbcType.VARCHAR), + @Result(column="block_hash", property="block_hash", jdbcType=JdbcType.VARCHAR), + @Result(column="block_time", property="block_time", jdbcType=JdbcType.VARCHAR) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.303149+08:00", comments="Source Table: public.shared_syn_all") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("SharedSynAllResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.303149+08:00", comments="Source Table: public.shared_syn_all") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, sharedSynAll, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.303149+08:00", comments="Source Table: public.shared_syn_all") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, sharedSynAll, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.303149+08:00", comments="Source Table: public.shared_syn_all") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.303149+08:00", comments="Source Table: public.shared_syn_all") + default int insert(SharedSynAll row) { + return MyBatis3Utils.insert(this::insert, row, sharedSynAll, c -> + c.map(id).toProperty("id") + .map(syn_id).toProperty("syn_id") + .map(syn_type).toProperty("syn_type") + .map(is_config_rule).toProperty("is_config_rule") + .map(shared_status).toProperty("shared_status") + .map(syn_status).toProperty("syn_status") + .map(block_number).toProperty("block_number") + .map(block_hash).toProperty("block_hash") + .map(block_time).toProperty("block_time") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.303149+08:00", comments="Source Table: public.shared_syn_all") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, sharedSynAll, c -> + c.map(id).toProperty("id") + .map(syn_id).toProperty("syn_id") + .map(syn_type).toProperty("syn_type") + .map(is_config_rule).toProperty("is_config_rule") + .map(shared_status).toProperty("shared_status") + .map(syn_status).toProperty("syn_status") + .map(block_number).toProperty("block_number") + .map(block_hash).toProperty("block_hash") + .map(block_time).toProperty("block_time") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.303149+08:00", comments="Source Table: public.shared_syn_all") + default int insertSelective(SharedSynAll row) { + return MyBatis3Utils.insert(this::insert, row, sharedSynAll, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(syn_id).toPropertyWhenPresent("syn_id", row::getSyn_id) + .map(syn_type).toPropertyWhenPresent("syn_type", row::getSyn_type) + .map(is_config_rule).toPropertyWhenPresent("is_config_rule", row::getIs_config_rule) + .map(shared_status).toPropertyWhenPresent("shared_status", row::getShared_status) + .map(syn_status).toPropertyWhenPresent("syn_status", row::getSyn_status) + .map(block_number).toPropertyWhenPresent("block_number", row::getBlock_number) + .map(block_hash).toPropertyWhenPresent("block_hash", row::getBlock_hash) + .map(block_time).toPropertyWhenPresent("block_time", row::getBlock_time) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.303149+08:00", comments="Source Table: public.shared_syn_all") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, sharedSynAll, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.303149+08:00", comments="Source Table: public.shared_syn_all") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, sharedSynAll, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.303149+08:00", comments="Source Table: public.shared_syn_all") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, sharedSynAll, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.303149+08:00", comments="Source Table: public.shared_syn_all") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.303149+08:00", comments="Source Table: public.shared_syn_all") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, sharedSynAll, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3041477+08:00", comments="Source Table: public.shared_syn_all") + static UpdateDSL updateAllColumns(SharedSynAll row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(syn_id).equalTo(row::getSyn_id) + .set(syn_type).equalTo(row::getSyn_type) + .set(is_config_rule).equalTo(row::getIs_config_rule) + .set(shared_status).equalTo(row::getShared_status) + .set(syn_status).equalTo(row::getSyn_status) + .set(block_number).equalTo(row::getBlock_number) + .set(block_hash).equalTo(row::getBlock_hash) + .set(block_time).equalTo(row::getBlock_time); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3041477+08:00", comments="Source Table: public.shared_syn_all") + static UpdateDSL updateSelectiveColumns(SharedSynAll row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(syn_id).equalToWhenPresent(row::getSyn_id) + .set(syn_type).equalToWhenPresent(row::getSyn_type) + .set(is_config_rule).equalToWhenPresent(row::getIs_config_rule) + .set(shared_status).equalToWhenPresent(row::getShared_status) + .set(syn_status).equalToWhenPresent(row::getSyn_status) + .set(block_number).equalToWhenPresent(row::getBlock_number) + .set(block_hash).equalToWhenPresent(row::getBlock_hash) + .set(block_time).equalToWhenPresent(row::getBlock_time); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3041477+08:00", comments="Source Table: public.shared_syn_all") + default int updateByPrimaryKey(SharedSynAll row) { + return update(c -> + c.set(syn_id).equalTo(row::getSyn_id) + .set(syn_type).equalTo(row::getSyn_type) + .set(is_config_rule).equalTo(row::getIs_config_rule) + .set(shared_status).equalTo(row::getShared_status) + .set(syn_status).equalTo(row::getSyn_status) + .set(block_number).equalTo(row::getBlock_number) + .set(block_hash).equalTo(row::getBlock_hash) + .set(block_time).equalTo(row::getBlock_time) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3041477+08:00", comments="Source Table: public.shared_syn_all") + default int updateByPrimaryKeySelective(SharedSynAll row) { + return update(c -> + c.set(syn_id).equalToWhenPresent(row::getSyn_id) + .set(syn_type).equalToWhenPresent(row::getSyn_type) + .set(is_config_rule).equalToWhenPresent(row::getIs_config_rule) + .set(shared_status).equalToWhenPresent(row::getShared_status) + .set(syn_status).equalToWhenPresent(row::getSyn_status) + .set(block_number).equalToWhenPresent(row::getBlock_number) + .set(block_hash).equalToWhenPresent(row::getBlock_hash) + .set(block_time).equalToWhenPresent(row::getBlock_time) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/SynDirectoryFileMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SynDirectoryFileMapper.java new file mode 100644 index 0000000..d6d6ff6 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SynDirectoryFileMapper.java @@ -0,0 +1,297 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.SynDirectoryFileDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.SynDirectoryFile; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface SynDirectoryFileMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4885716+08:00", comments="Source Table: public.syn_directory_file") + BasicColumn[] selectList = BasicColumn.columnList(id, p_id, filesuper, filecount, dutyperson, eweavedate, filepage, sortorder, bpeg, epeg, filenum, remark, recordnum, piecenumber, adddate, editdate, time_stamp, isdel, catalogpdfurl, signtag, collecttag); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4795789+08:00", comments="Source Table: public.syn_directory_file") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="SynDirectoryFileResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="p_id", property="p_id", jdbcType=JdbcType.VARCHAR), + @Result(column="filesuper", property="filesuper", jdbcType=JdbcType.VARCHAR), + @Result(column="filecount", property="filecount", jdbcType=JdbcType.INTEGER), + @Result(column="dutyperson", property="dutyperson", jdbcType=JdbcType.VARCHAR), + @Result(column="eweavedate", property="eweavedate", jdbcType=JdbcType.VARCHAR), + @Result(column="filepage", property="filepage", jdbcType=JdbcType.INTEGER), + @Result(column="sortorder", property="sortorder", jdbcType=JdbcType.VARCHAR), + @Result(column="bpeg", property="bpeg", jdbcType=JdbcType.VARCHAR), + @Result(column="epeg", property="epeg", jdbcType=JdbcType.VARCHAR), + @Result(column="filenum", property="filenum", jdbcType=JdbcType.VARCHAR), + @Result(column="remark", property="remark", jdbcType=JdbcType.VARCHAR), + @Result(column="recordnum", property="recordnum", jdbcType=JdbcType.VARCHAR), + @Result(column="piecenumber", property="piecenumber", jdbcType=JdbcType.VARCHAR), + @Result(column="adddate", property="adddate", jdbcType=JdbcType.VARCHAR), + @Result(column="editdate", property="editdate", jdbcType=JdbcType.VARCHAR), + @Result(column="time_stamp", property="time_stamp", jdbcType=JdbcType.VARCHAR), + @Result(column="isdel", property="isdel", jdbcType=JdbcType.INTEGER), + @Result(column="catalogpdfurl", property="catalogpdfurl", jdbcType=JdbcType.VARCHAR), + @Result(column="signtag", property="signtag", jdbcType=JdbcType.VARCHAR), + @Result(column="collecttag", property="collecttag", jdbcType=JdbcType.VARCHAR) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4827014+08:00", comments="Source Table: public.syn_directory_file") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("SynDirectoryFileResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4827014+08:00", comments="Source Table: public.syn_directory_file") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, synDirectoryFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4840914+08:00", comments="Source Table: public.syn_directory_file") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, synDirectoryFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4840914+08:00", comments="Source Table: public.syn_directory_file") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.485097+08:00", comments="Source Table: public.syn_directory_file") + default int insert(SynDirectoryFile row) { + return MyBatis3Utils.insert(this::insert, row, synDirectoryFile, c -> + c.map(id).toProperty("id") + .map(p_id).toProperty("p_id") + .map(filesuper).toProperty("filesuper") + .map(filecount).toProperty("filecount") + .map(dutyperson).toProperty("dutyperson") + .map(eweavedate).toProperty("eweavedate") + .map(filepage).toProperty("filepage") + .map(sortorder).toProperty("sortorder") + .map(bpeg).toProperty("bpeg") + .map(epeg).toProperty("epeg") + .map(filenum).toProperty("filenum") + .map(remark).toProperty("remark") + .map(recordnum).toProperty("recordnum") + .map(piecenumber).toProperty("piecenumber") + .map(adddate).toProperty("adddate") + .map(editdate).toProperty("editdate") + .map(time_stamp).toProperty("time_stamp") + .map(isdel).toProperty("isdel") + .map(catalogpdfurl).toProperty("catalogpdfurl") + .map(signtag).toProperty("signtag") + .map(collecttag).toProperty("collecttag") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4875464+08:00", comments="Source Table: public.syn_directory_file") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, synDirectoryFile, c -> + c.map(id).toProperty("id") + .map(p_id).toProperty("p_id") + .map(filesuper).toProperty("filesuper") + .map(filecount).toProperty("filecount") + .map(dutyperson).toProperty("dutyperson") + .map(eweavedate).toProperty("eweavedate") + .map(filepage).toProperty("filepage") + .map(sortorder).toProperty("sortorder") + .map(bpeg).toProperty("bpeg") + .map(epeg).toProperty("epeg") + .map(filenum).toProperty("filenum") + .map(remark).toProperty("remark") + .map(recordnum).toProperty("recordnum") + .map(piecenumber).toProperty("piecenumber") + .map(adddate).toProperty("adddate") + .map(editdate).toProperty("editdate") + .map(time_stamp).toProperty("time_stamp") + .map(isdel).toProperty("isdel") + .map(catalogpdfurl).toProperty("catalogpdfurl") + .map(signtag).toProperty("signtag") + .map(collecttag).toProperty("collecttag") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4875464+08:00", comments="Source Table: public.syn_directory_file") + default int insertSelective(SynDirectoryFile row) { + return MyBatis3Utils.insert(this::insert, row, synDirectoryFile, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(p_id).toPropertyWhenPresent("p_id", row::getP_id) + .map(filesuper).toPropertyWhenPresent("filesuper", row::getFilesuper) + .map(filecount).toPropertyWhenPresent("filecount", row::getFilecount) + .map(dutyperson).toPropertyWhenPresent("dutyperson", row::getDutyperson) + .map(eweavedate).toPropertyWhenPresent("eweavedate", row::getEweavedate) + .map(filepage).toPropertyWhenPresent("filepage", row::getFilepage) + .map(sortorder).toPropertyWhenPresent("sortorder", row::getSortorder) + .map(bpeg).toPropertyWhenPresent("bpeg", row::getBpeg) + .map(epeg).toPropertyWhenPresent("epeg", row::getEpeg) + .map(filenum).toPropertyWhenPresent("filenum", row::getFilenum) + .map(remark).toPropertyWhenPresent("remark", row::getRemark) + .map(recordnum).toPropertyWhenPresent("recordnum", row::getRecordnum) + .map(piecenumber).toPropertyWhenPresent("piecenumber", row::getPiecenumber) + .map(adddate).toPropertyWhenPresent("adddate", row::getAdddate) + .map(editdate).toPropertyWhenPresent("editdate", row::getEditdate) + .map(time_stamp).toPropertyWhenPresent("time_stamp", row::getTime_stamp) + .map(isdel).toPropertyWhenPresent("isdel", row::getIsdel) + .map(catalogpdfurl).toPropertyWhenPresent("catalogpdfurl", row::getCatalogpdfurl) + .map(signtag).toPropertyWhenPresent("signtag", row::getSigntag) + .map(collecttag).toPropertyWhenPresent("collecttag", row::getCollecttag) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.489686+08:00", comments="Source Table: public.syn_directory_file") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, synDirectoryFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.489686+08:00", comments="Source Table: public.syn_directory_file") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, synDirectoryFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4906917+08:00", comments="Source Table: public.syn_directory_file") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, synDirectoryFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4908063+08:00", comments="Source Table: public.syn_directory_file") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4913147+08:00", comments="Source Table: public.syn_directory_file") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, synDirectoryFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4919203+08:00", comments="Source Table: public.syn_directory_file") + static UpdateDSL updateAllColumns(SynDirectoryFile row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(p_id).equalTo(row::getP_id) + .set(filesuper).equalTo(row::getFilesuper) + .set(filecount).equalTo(row::getFilecount) + .set(dutyperson).equalTo(row::getDutyperson) + .set(eweavedate).equalTo(row::getEweavedate) + .set(filepage).equalTo(row::getFilepage) + .set(sortorder).equalTo(row::getSortorder) + .set(bpeg).equalTo(row::getBpeg) + .set(epeg).equalTo(row::getEpeg) + .set(filenum).equalTo(row::getFilenum) + .set(remark).equalTo(row::getRemark) + .set(recordnum).equalTo(row::getRecordnum) + .set(piecenumber).equalTo(row::getPiecenumber) + .set(adddate).equalTo(row::getAdddate) + .set(editdate).equalTo(row::getEditdate) + .set(time_stamp).equalTo(row::getTime_stamp) + .set(isdel).equalTo(row::getIsdel) + .set(catalogpdfurl).equalTo(row::getCatalogpdfurl) + .set(signtag).equalTo(row::getSigntag) + .set(collecttag).equalTo(row::getCollecttag); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.492926+08:00", comments="Source Table: public.syn_directory_file") + static UpdateDSL updateSelectiveColumns(SynDirectoryFile row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(p_id).equalToWhenPresent(row::getP_id) + .set(filesuper).equalToWhenPresent(row::getFilesuper) + .set(filecount).equalToWhenPresent(row::getFilecount) + .set(dutyperson).equalToWhenPresent(row::getDutyperson) + .set(eweavedate).equalToWhenPresent(row::getEweavedate) + .set(filepage).equalToWhenPresent(row::getFilepage) + .set(sortorder).equalToWhenPresent(row::getSortorder) + .set(bpeg).equalToWhenPresent(row::getBpeg) + .set(epeg).equalToWhenPresent(row::getEpeg) + .set(filenum).equalToWhenPresent(row::getFilenum) + .set(remark).equalToWhenPresent(row::getRemark) + .set(recordnum).equalToWhenPresent(row::getRecordnum) + .set(piecenumber).equalToWhenPresent(row::getPiecenumber) + .set(adddate).equalToWhenPresent(row::getAdddate) + .set(editdate).equalToWhenPresent(row::getEditdate) + .set(time_stamp).equalToWhenPresent(row::getTime_stamp) + .set(isdel).equalToWhenPresent(row::getIsdel) + .set(catalogpdfurl).equalToWhenPresent(row::getCatalogpdfurl) + .set(signtag).equalToWhenPresent(row::getSigntag) + .set(collecttag).equalToWhenPresent(row::getCollecttag); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.492926+08:00", comments="Source Table: public.syn_directory_file") + default int updateByPrimaryKey(SynDirectoryFile row) { + return update(c -> + c.set(p_id).equalTo(row::getP_id) + .set(filesuper).equalTo(row::getFilesuper) + .set(filecount).equalTo(row::getFilecount) + .set(dutyperson).equalTo(row::getDutyperson) + .set(eweavedate).equalTo(row::getEweavedate) + .set(filepage).equalTo(row::getFilepage) + .set(sortorder).equalTo(row::getSortorder) + .set(bpeg).equalTo(row::getBpeg) + .set(epeg).equalTo(row::getEpeg) + .set(filenum).equalTo(row::getFilenum) + .set(remark).equalTo(row::getRemark) + .set(recordnum).equalTo(row::getRecordnum) + .set(piecenumber).equalTo(row::getPiecenumber) + .set(adddate).equalTo(row::getAdddate) + .set(editdate).equalTo(row::getEditdate) + .set(time_stamp).equalTo(row::getTime_stamp) + .set(isdel).equalTo(row::getIsdel) + .set(catalogpdfurl).equalTo(row::getCatalogpdfurl) + .set(signtag).equalTo(row::getSigntag) + .set(collecttag).equalTo(row::getCollecttag) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4939574+08:00", comments="Source Table: public.syn_directory_file") + default int updateByPrimaryKeySelective(SynDirectoryFile row) { + return update(c -> + c.set(p_id).equalToWhenPresent(row::getP_id) + .set(filesuper).equalToWhenPresent(row::getFilesuper) + .set(filecount).equalToWhenPresent(row::getFilecount) + .set(dutyperson).equalToWhenPresent(row::getDutyperson) + .set(eweavedate).equalToWhenPresent(row::getEweavedate) + .set(filepage).equalToWhenPresent(row::getFilepage) + .set(sortorder).equalToWhenPresent(row::getSortorder) + .set(bpeg).equalToWhenPresent(row::getBpeg) + .set(epeg).equalToWhenPresent(row::getEpeg) + .set(filenum).equalToWhenPresent(row::getFilenum) + .set(remark).equalToWhenPresent(row::getRemark) + .set(recordnum).equalToWhenPresent(row::getRecordnum) + .set(piecenumber).equalToWhenPresent(row::getPiecenumber) + .set(adddate).equalToWhenPresent(row::getAdddate) + .set(editdate).equalToWhenPresent(row::getEditdate) + .set(time_stamp).equalToWhenPresent(row::getTime_stamp) + .set(isdel).equalToWhenPresent(row::getIsdel) + .set(catalogpdfurl).equalToWhenPresent(row::getCatalogpdfurl) + .set(signtag).equalToWhenPresent(row::getSigntag) + .set(collecttag).equalToWhenPresent(row::getCollecttag) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/SynDirectoryMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SynDirectoryMapper.java new file mode 100644 index 0000000..89c2dd5 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SynDirectoryMapper.java @@ -0,0 +1,193 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.SynDirectoryDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.SynDirectory; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface SynDirectoryMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.509599+08:00", comments="Source Table: public.syn_directory") + BasicColumn[] selectList = BasicColumn.columnList(id, p_id, wbs_id, time_stamp, sortorder, tname, subjoin, isdel); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.509599+08:00", comments="Source Table: public.syn_directory") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="SynDirectoryResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="p_id", property="p_id", jdbcType=JdbcType.VARCHAR), + @Result(column="wbs_id", property="wbs_id", jdbcType=JdbcType.VARCHAR), + @Result(column="time_stamp", property="time_stamp", jdbcType=JdbcType.VARCHAR), + @Result(column="sortorder", property="sortorder", jdbcType=JdbcType.INTEGER), + @Result(column="tname", property="tname", jdbcType=JdbcType.VARCHAR), + @Result(column="subjoin", property="subjoin", jdbcType=JdbcType.INTEGER), + @Result(column="isdel", property="isdel", jdbcType=JdbcType.INTEGER) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.509599+08:00", comments="Source Table: public.syn_directory") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("SynDirectoryResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.509599+08:00", comments="Source Table: public.syn_directory") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, synDirectory, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.509599+08:00", comments="Source Table: public.syn_directory") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, synDirectory, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.509599+08:00", comments="Source Table: public.syn_directory") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.509599+08:00", comments="Source Table: public.syn_directory") + default int insert(SynDirectory row) { + return MyBatis3Utils.insert(this::insert, row, synDirectory, c -> + c.map(id).toProperty("id") + .map(p_id).toProperty("p_id") + .map(wbs_id).toProperty("wbs_id") + .map(time_stamp).toProperty("time_stamp") + .map(sortorder).toProperty("sortorder") + .map(tname).toProperty("tname") + .map(subjoin).toProperty("subjoin") + .map(isdel).toProperty("isdel") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.509599+08:00", comments="Source Table: public.syn_directory") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, synDirectory, c -> + c.map(id).toProperty("id") + .map(p_id).toProperty("p_id") + .map(wbs_id).toProperty("wbs_id") + .map(time_stamp).toProperty("time_stamp") + .map(sortorder).toProperty("sortorder") + .map(tname).toProperty("tname") + .map(subjoin).toProperty("subjoin") + .map(isdel).toProperty("isdel") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.509599+08:00", comments="Source Table: public.syn_directory") + default int insertSelective(SynDirectory row) { + return MyBatis3Utils.insert(this::insert, row, synDirectory, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(p_id).toPropertyWhenPresent("p_id", row::getP_id) + .map(wbs_id).toPropertyWhenPresent("wbs_id", row::getWbs_id) + .map(time_stamp).toPropertyWhenPresent("time_stamp", row::getTime_stamp) + .map(sortorder).toPropertyWhenPresent("sortorder", row::getSortorder) + .map(tname).toPropertyWhenPresent("tname", row::getTname) + .map(subjoin).toPropertyWhenPresent("subjoin", row::getSubjoin) + .map(isdel).toPropertyWhenPresent("isdel", row::getIsdel) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.509599+08:00", comments="Source Table: public.syn_directory") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, synDirectory, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.509599+08:00", comments="Source Table: public.syn_directory") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, synDirectory, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.509599+08:00", comments="Source Table: public.syn_directory") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, synDirectory, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.509599+08:00", comments="Source Table: public.syn_directory") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.509599+08:00", comments="Source Table: public.syn_directory") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, synDirectory, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.509599+08:00", comments="Source Table: public.syn_directory") + static UpdateDSL updateAllColumns(SynDirectory row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(p_id).equalTo(row::getP_id) + .set(wbs_id).equalTo(row::getWbs_id) + .set(time_stamp).equalTo(row::getTime_stamp) + .set(sortorder).equalTo(row::getSortorder) + .set(tname).equalTo(row::getTname) + .set(subjoin).equalTo(row::getSubjoin) + .set(isdel).equalTo(row::getIsdel); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.509599+08:00", comments="Source Table: public.syn_directory") + static UpdateDSL updateSelectiveColumns(SynDirectory row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(p_id).equalToWhenPresent(row::getP_id) + .set(wbs_id).equalToWhenPresent(row::getWbs_id) + .set(time_stamp).equalToWhenPresent(row::getTime_stamp) + .set(sortorder).equalToWhenPresent(row::getSortorder) + .set(tname).equalToWhenPresent(row::getTname) + .set(subjoin).equalToWhenPresent(row::getSubjoin) + .set(isdel).equalToWhenPresent(row::getIsdel); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.509599+08:00", comments="Source Table: public.syn_directory") + default int updateByPrimaryKey(SynDirectory row) { + return update(c -> + c.set(p_id).equalTo(row::getP_id) + .set(wbs_id).equalTo(row::getWbs_id) + .set(time_stamp).equalTo(row::getTime_stamp) + .set(sortorder).equalTo(row::getSortorder) + .set(tname).equalTo(row::getTname) + .set(subjoin).equalTo(row::getSubjoin) + .set(isdel).equalTo(row::getIsdel) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.509599+08:00", comments="Source Table: public.syn_directory") + default int updateByPrimaryKeySelective(SynDirectory row) { + return update(c -> + c.set(p_id).equalToWhenPresent(row::getP_id) + .set(wbs_id).equalToWhenPresent(row::getWbs_id) + .set(time_stamp).equalToWhenPresent(row::getTime_stamp) + .set(sortorder).equalToWhenPresent(row::getSortorder) + .set(tname).equalToWhenPresent(row::getTname) + .set(subjoin).equalToWhenPresent(row::getSubjoin) + .set(isdel).equalToWhenPresent(row::getIsdel) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/SynFileMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SynFileMapper.java new file mode 100644 index 0000000..79acc2c --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SynFileMapper.java @@ -0,0 +1,265 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.SynFileDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.SynFile; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface SynFileMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5018484+08:00", comments="Source Table: public.syn_file") + BasicColumn[] selectList = BasicColumn.columnList(id, p_id, tablenumber, annexname, projectname, eweavedate, checkdate, annexpage, sortorder, filefrom, archivestag, adddate, editdate, time_stamp, isdel, downurl, filesize); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5006795+08:00", comments="Source Table: public.syn_file") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="SynFileResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="p_id", property="p_id", jdbcType=JdbcType.VARCHAR), + @Result(column="tablenumber", property="tablenumber", jdbcType=JdbcType.VARCHAR), + @Result(column="annexname", property="annexname", jdbcType=JdbcType.VARCHAR), + @Result(column="projectname", property="projectname", jdbcType=JdbcType.VARCHAR), + @Result(column="eweavedate", property="eweavedate", jdbcType=JdbcType.VARCHAR), + @Result(column="checkdate", property="checkdate", jdbcType=JdbcType.VARCHAR), + @Result(column="annexpage", property="annexpage", jdbcType=JdbcType.INTEGER), + @Result(column="sortorder", property="sortorder", jdbcType=JdbcType.VARCHAR), + @Result(column="filefrom", property="filefrom", jdbcType=JdbcType.VARCHAR), + @Result(column="archivestag", property="archivestag", jdbcType=JdbcType.VARCHAR), + @Result(column="adddate", property="adddate", jdbcType=JdbcType.VARCHAR), + @Result(column="editdate", property="editdate", jdbcType=JdbcType.VARCHAR), + @Result(column="time_stamp", property="time_stamp", jdbcType=JdbcType.VARCHAR), + @Result(column="isdel", property="isdel", jdbcType=JdbcType.INTEGER), + @Result(column="downurl", property="downurl", jdbcType=JdbcType.VARCHAR), + @Result(column="filesize", property="filesize", jdbcType=JdbcType.INTEGER) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5006795+08:00", comments="Source Table: public.syn_file") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("SynFileResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5006795+08:00", comments="Source Table: public.syn_file") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, synFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5006795+08:00", comments="Source Table: public.syn_file") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, synFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5006795+08:00", comments="Source Table: public.syn_file") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5006795+08:00", comments="Source Table: public.syn_file") + default int insert(SynFile row) { + return MyBatis3Utils.insert(this::insert, row, synFile, c -> + c.map(id).toProperty("id") + .map(p_id).toProperty("p_id") + .map(tablenumber).toProperty("tablenumber") + .map(annexname).toProperty("annexname") + .map(projectname).toProperty("projectname") + .map(eweavedate).toProperty("eweavedate") + .map(checkdate).toProperty("checkdate") + .map(annexpage).toProperty("annexpage") + .map(sortorder).toProperty("sortorder") + .map(filefrom).toProperty("filefrom") + .map(archivestag).toProperty("archivestag") + .map(adddate).toProperty("adddate") + .map(editdate).toProperty("editdate") + .map(time_stamp).toProperty("time_stamp") + .map(isdel).toProperty("isdel") + .map(downurl).toProperty("downurl") + .map(filesize).toProperty("filesize") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5006795+08:00", comments="Source Table: public.syn_file") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, synFile, c -> + c.map(id).toProperty("id") + .map(p_id).toProperty("p_id") + .map(tablenumber).toProperty("tablenumber") + .map(annexname).toProperty("annexname") + .map(projectname).toProperty("projectname") + .map(eweavedate).toProperty("eweavedate") + .map(checkdate).toProperty("checkdate") + .map(annexpage).toProperty("annexpage") + .map(sortorder).toProperty("sortorder") + .map(filefrom).toProperty("filefrom") + .map(archivestag).toProperty("archivestag") + .map(adddate).toProperty("adddate") + .map(editdate).toProperty("editdate") + .map(time_stamp).toProperty("time_stamp") + .map(isdel).toProperty("isdel") + .map(downurl).toProperty("downurl") + .map(filesize).toProperty("filesize") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5006795+08:00", comments="Source Table: public.syn_file") + default int insertSelective(SynFile row) { + return MyBatis3Utils.insert(this::insert, row, synFile, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(p_id).toPropertyWhenPresent("p_id", row::getP_id) + .map(tablenumber).toPropertyWhenPresent("tablenumber", row::getTablenumber) + .map(annexname).toPropertyWhenPresent("annexname", row::getAnnexname) + .map(projectname).toPropertyWhenPresent("projectname", row::getProjectname) + .map(eweavedate).toPropertyWhenPresent("eweavedate", row::getEweavedate) + .map(checkdate).toPropertyWhenPresent("checkdate", row::getCheckdate) + .map(annexpage).toPropertyWhenPresent("annexpage", row::getAnnexpage) + .map(sortorder).toPropertyWhenPresent("sortorder", row::getSortorder) + .map(filefrom).toPropertyWhenPresent("filefrom", row::getFilefrom) + .map(archivestag).toPropertyWhenPresent("archivestag", row::getArchivestag) + .map(adddate).toPropertyWhenPresent("adddate", row::getAdddate) + .map(editdate).toPropertyWhenPresent("editdate", row::getEditdate) + .map(time_stamp).toPropertyWhenPresent("time_stamp", row::getTime_stamp) + .map(isdel).toPropertyWhenPresent("isdel", row::getIsdel) + .map(downurl).toPropertyWhenPresent("downurl", row::getDownurl) + .map(filesize).toPropertyWhenPresent("filesize", row::getFilesize) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5018484+08:00", comments="Source Table: public.syn_file") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, synFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5018484+08:00", comments="Source Table: public.syn_file") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, synFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5018484+08:00", comments="Source Table: public.syn_file") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, synFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5018484+08:00", comments="Source Table: public.syn_file") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5018484+08:00", comments="Source Table: public.syn_file") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, synFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5018484+08:00", comments="Source Table: public.syn_file") + static UpdateDSL updateAllColumns(SynFile row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(p_id).equalTo(row::getP_id) + .set(tablenumber).equalTo(row::getTablenumber) + .set(annexname).equalTo(row::getAnnexname) + .set(projectname).equalTo(row::getProjectname) + .set(eweavedate).equalTo(row::getEweavedate) + .set(checkdate).equalTo(row::getCheckdate) + .set(annexpage).equalTo(row::getAnnexpage) + .set(sortorder).equalTo(row::getSortorder) + .set(filefrom).equalTo(row::getFilefrom) + .set(archivestag).equalTo(row::getArchivestag) + .set(adddate).equalTo(row::getAdddate) + .set(editdate).equalTo(row::getEditdate) + .set(time_stamp).equalTo(row::getTime_stamp) + .set(isdel).equalTo(row::getIsdel) + .set(downurl).equalTo(row::getDownurl) + .set(filesize).equalTo(row::getFilesize); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5018484+08:00", comments="Source Table: public.syn_file") + static UpdateDSL updateSelectiveColumns(SynFile row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(p_id).equalToWhenPresent(row::getP_id) + .set(tablenumber).equalToWhenPresent(row::getTablenumber) + .set(annexname).equalToWhenPresent(row::getAnnexname) + .set(projectname).equalToWhenPresent(row::getProjectname) + .set(eweavedate).equalToWhenPresent(row::getEweavedate) + .set(checkdate).equalToWhenPresent(row::getCheckdate) + .set(annexpage).equalToWhenPresent(row::getAnnexpage) + .set(sortorder).equalToWhenPresent(row::getSortorder) + .set(filefrom).equalToWhenPresent(row::getFilefrom) + .set(archivestag).equalToWhenPresent(row::getArchivestag) + .set(adddate).equalToWhenPresent(row::getAdddate) + .set(editdate).equalToWhenPresent(row::getEditdate) + .set(time_stamp).equalToWhenPresent(row::getTime_stamp) + .set(isdel).equalToWhenPresent(row::getIsdel) + .set(downurl).equalToWhenPresent(row::getDownurl) + .set(filesize).equalToWhenPresent(row::getFilesize); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5018484+08:00", comments="Source Table: public.syn_file") + default int updateByPrimaryKey(SynFile row) { + return update(c -> + c.set(p_id).equalTo(row::getP_id) + .set(tablenumber).equalTo(row::getTablenumber) + .set(annexname).equalTo(row::getAnnexname) + .set(projectname).equalTo(row::getProjectname) + .set(eweavedate).equalTo(row::getEweavedate) + .set(checkdate).equalTo(row::getCheckdate) + .set(annexpage).equalTo(row::getAnnexpage) + .set(sortorder).equalTo(row::getSortorder) + .set(filefrom).equalTo(row::getFilefrom) + .set(archivestag).equalTo(row::getArchivestag) + .set(adddate).equalTo(row::getAdddate) + .set(editdate).equalTo(row::getEditdate) + .set(time_stamp).equalTo(row::getTime_stamp) + .set(isdel).equalTo(row::getIsdel) + .set(downurl).equalTo(row::getDownurl) + .set(filesize).equalTo(row::getFilesize) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5018484+08:00", comments="Source Table: public.syn_file") + default int updateByPrimaryKeySelective(SynFile row) { + return update(c -> + c.set(p_id).equalToWhenPresent(row::getP_id) + .set(tablenumber).equalToWhenPresent(row::getTablenumber) + .set(annexname).equalToWhenPresent(row::getAnnexname) + .set(projectname).equalToWhenPresent(row::getProjectname) + .set(eweavedate).equalToWhenPresent(row::getEweavedate) + .set(checkdate).equalToWhenPresent(row::getCheckdate) + .set(annexpage).equalToWhenPresent(row::getAnnexpage) + .set(sortorder).equalToWhenPresent(row::getSortorder) + .set(filefrom).equalToWhenPresent(row::getFilefrom) + .set(archivestag).equalToWhenPresent(row::getArchivestag) + .set(adddate).equalToWhenPresent(row::getAdddate) + .set(editdate).equalToWhenPresent(row::getEditdate) + .set(time_stamp).equalToWhenPresent(row::getTime_stamp) + .set(isdel).equalToWhenPresent(row::getIsdel) + .set(downurl).equalToWhenPresent(row::getDownurl) + .set(filesize).equalToWhenPresent(row::getFilesize) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/Sync2blockchainTaskMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/Sync2blockchainTaskMapper.java new file mode 100644 index 0000000..6716892 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/Sync2blockchainTaskMapper.java @@ -0,0 +1,265 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.Sync2blockchainTaskDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.Sync2blockchainTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface Sync2blockchainTaskMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5064726+08:00", comments="Source Table: public.sync2blockchain_task") + BasicColumn[] selectList = BasicColumn.columnList(id, start_time, end_time, update_dir_count, insert_dir_count, remove_dir_count, execute_status, desp, update_dirfile_count, insert_dirfile_count, remove_dirfile_count, update_file_count, insert_file_count, remove_file_count, need_process_count, processed_count, failed_process_count); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5052829+08:00", comments="Source Table: public.sync2blockchain_task") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="Sync2blockchainTaskResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="start_time", property="start_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="end_time", property="end_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="update_dir_count", property="update_dir_count", jdbcType=JdbcType.INTEGER), + @Result(column="insert_dir_count", property="insert_dir_count", jdbcType=JdbcType.INTEGER), + @Result(column="remove_dir_count", property="remove_dir_count", jdbcType=JdbcType.INTEGER), + @Result(column="execute_status", property="execute_status", jdbcType=JdbcType.INTEGER), + @Result(column="desp", property="desp", jdbcType=JdbcType.VARCHAR), + @Result(column="update_dirfile_count", property="update_dirfile_count", jdbcType=JdbcType.INTEGER), + @Result(column="insert_dirfile_count", property="insert_dirfile_count", jdbcType=JdbcType.INTEGER), + @Result(column="remove_dirfile_count", property="remove_dirfile_count", jdbcType=JdbcType.INTEGER), + @Result(column="update_file_count", property="update_file_count", jdbcType=JdbcType.INTEGER), + @Result(column="insert_file_count", property="insert_file_count", jdbcType=JdbcType.INTEGER), + @Result(column="remove_file_count", property="remove_file_count", jdbcType=JdbcType.INTEGER), + @Result(column="need_process_count", property="need_process_count", jdbcType=JdbcType.INTEGER), + @Result(column="processed_count", property="processed_count", jdbcType=JdbcType.INTEGER), + @Result(column="failed_process_count", property="failed_process_count", jdbcType=JdbcType.INTEGER) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5052829+08:00", comments="Source Table: public.sync2blockchain_task") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("Sync2blockchainTaskResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5052829+08:00", comments="Source Table: public.sync2blockchain_task") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, sync2blockchainTask, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5052829+08:00", comments="Source Table: public.sync2blockchain_task") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, sync2blockchainTask, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5052829+08:00", comments="Source Table: public.sync2blockchain_task") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5052829+08:00", comments="Source Table: public.sync2blockchain_task") + default int insert(Sync2blockchainTask row) { + return MyBatis3Utils.insert(this::insert, row, sync2blockchainTask, c -> + c.map(id).toProperty("id") + .map(start_time).toProperty("start_time") + .map(end_time).toProperty("end_time") + .map(update_dir_count).toProperty("update_dir_count") + .map(insert_dir_count).toProperty("insert_dir_count") + .map(remove_dir_count).toProperty("remove_dir_count") + .map(execute_status).toProperty("execute_status") + .map(desp).toProperty("desp") + .map(update_dirfile_count).toProperty("update_dirfile_count") + .map(insert_dirfile_count).toProperty("insert_dirfile_count") + .map(remove_dirfile_count).toProperty("remove_dirfile_count") + .map(update_file_count).toProperty("update_file_count") + .map(insert_file_count).toProperty("insert_file_count") + .map(remove_file_count).toProperty("remove_file_count") + .map(need_process_count).toProperty("need_process_count") + .map(processed_count).toProperty("processed_count") + .map(failed_process_count).toProperty("failed_process_count") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5064726+08:00", comments="Source Table: public.sync2blockchain_task") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, sync2blockchainTask, c -> + c.map(id).toProperty("id") + .map(start_time).toProperty("start_time") + .map(end_time).toProperty("end_time") + .map(update_dir_count).toProperty("update_dir_count") + .map(insert_dir_count).toProperty("insert_dir_count") + .map(remove_dir_count).toProperty("remove_dir_count") + .map(execute_status).toProperty("execute_status") + .map(desp).toProperty("desp") + .map(update_dirfile_count).toProperty("update_dirfile_count") + .map(insert_dirfile_count).toProperty("insert_dirfile_count") + .map(remove_dirfile_count).toProperty("remove_dirfile_count") + .map(update_file_count).toProperty("update_file_count") + .map(insert_file_count).toProperty("insert_file_count") + .map(remove_file_count).toProperty("remove_file_count") + .map(need_process_count).toProperty("need_process_count") + .map(processed_count).toProperty("processed_count") + .map(failed_process_count).toProperty("failed_process_count") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5064726+08:00", comments="Source Table: public.sync2blockchain_task") + default int insertSelective(Sync2blockchainTask row) { + return MyBatis3Utils.insert(this::insert, row, sync2blockchainTask, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(start_time).toPropertyWhenPresent("start_time", row::getStart_time) + .map(end_time).toPropertyWhenPresent("end_time", row::getEnd_time) + .map(update_dir_count).toPropertyWhenPresent("update_dir_count", row::getUpdate_dir_count) + .map(insert_dir_count).toPropertyWhenPresent("insert_dir_count", row::getInsert_dir_count) + .map(remove_dir_count).toPropertyWhenPresent("remove_dir_count", row::getRemove_dir_count) + .map(execute_status).toPropertyWhenPresent("execute_status", row::getExecute_status) + .map(desp).toPropertyWhenPresent("desp", row::getDesp) + .map(update_dirfile_count).toPropertyWhenPresent("update_dirfile_count", row::getUpdate_dirfile_count) + .map(insert_dirfile_count).toPropertyWhenPresent("insert_dirfile_count", row::getInsert_dirfile_count) + .map(remove_dirfile_count).toPropertyWhenPresent("remove_dirfile_count", row::getRemove_dirfile_count) + .map(update_file_count).toPropertyWhenPresent("update_file_count", row::getUpdate_file_count) + .map(insert_file_count).toPropertyWhenPresent("insert_file_count", row::getInsert_file_count) + .map(remove_file_count).toPropertyWhenPresent("remove_file_count", row::getRemove_file_count) + .map(need_process_count).toPropertyWhenPresent("need_process_count", row::getNeed_process_count) + .map(processed_count).toPropertyWhenPresent("processed_count", row::getProcessed_count) + .map(failed_process_count).toPropertyWhenPresent("failed_process_count", row::getFailed_process_count) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5064726+08:00", comments="Source Table: public.sync2blockchain_task") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, sync2blockchainTask, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5064726+08:00", comments="Source Table: public.sync2blockchain_task") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, sync2blockchainTask, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5064726+08:00", comments="Source Table: public.sync2blockchain_task") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, sync2blockchainTask, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5074731+08:00", comments="Source Table: public.sync2blockchain_task") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5074731+08:00", comments="Source Table: public.sync2blockchain_task") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, sync2blockchainTask, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5074731+08:00", comments="Source Table: public.sync2blockchain_task") + static UpdateDSL updateAllColumns(Sync2blockchainTask row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(start_time).equalTo(row::getStart_time) + .set(end_time).equalTo(row::getEnd_time) + .set(update_dir_count).equalTo(row::getUpdate_dir_count) + .set(insert_dir_count).equalTo(row::getInsert_dir_count) + .set(remove_dir_count).equalTo(row::getRemove_dir_count) + .set(execute_status).equalTo(row::getExecute_status) + .set(desp).equalTo(row::getDesp) + .set(update_dirfile_count).equalTo(row::getUpdate_dirfile_count) + .set(insert_dirfile_count).equalTo(row::getInsert_dirfile_count) + .set(remove_dirfile_count).equalTo(row::getRemove_dirfile_count) + .set(update_file_count).equalTo(row::getUpdate_file_count) + .set(insert_file_count).equalTo(row::getInsert_file_count) + .set(remove_file_count).equalTo(row::getRemove_file_count) + .set(need_process_count).equalTo(row::getNeed_process_count) + .set(processed_count).equalTo(row::getProcessed_count) + .set(failed_process_count).equalTo(row::getFailed_process_count); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5074731+08:00", comments="Source Table: public.sync2blockchain_task") + static UpdateDSL updateSelectiveColumns(Sync2blockchainTask row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(start_time).equalToWhenPresent(row::getStart_time) + .set(end_time).equalToWhenPresent(row::getEnd_time) + .set(update_dir_count).equalToWhenPresent(row::getUpdate_dir_count) + .set(insert_dir_count).equalToWhenPresent(row::getInsert_dir_count) + .set(remove_dir_count).equalToWhenPresent(row::getRemove_dir_count) + .set(execute_status).equalToWhenPresent(row::getExecute_status) + .set(desp).equalToWhenPresent(row::getDesp) + .set(update_dirfile_count).equalToWhenPresent(row::getUpdate_dirfile_count) + .set(insert_dirfile_count).equalToWhenPresent(row::getInsert_dirfile_count) + .set(remove_dirfile_count).equalToWhenPresent(row::getRemove_dirfile_count) + .set(update_file_count).equalToWhenPresent(row::getUpdate_file_count) + .set(insert_file_count).equalToWhenPresent(row::getInsert_file_count) + .set(remove_file_count).equalToWhenPresent(row::getRemove_file_count) + .set(need_process_count).equalToWhenPresent(row::getNeed_process_count) + .set(processed_count).equalToWhenPresent(row::getProcessed_count) + .set(failed_process_count).equalToWhenPresent(row::getFailed_process_count); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5074731+08:00", comments="Source Table: public.sync2blockchain_task") + default int updateByPrimaryKey(Sync2blockchainTask row) { + return update(c -> + c.set(start_time).equalTo(row::getStart_time) + .set(end_time).equalTo(row::getEnd_time) + .set(update_dir_count).equalTo(row::getUpdate_dir_count) + .set(insert_dir_count).equalTo(row::getInsert_dir_count) + .set(remove_dir_count).equalTo(row::getRemove_dir_count) + .set(execute_status).equalTo(row::getExecute_status) + .set(desp).equalTo(row::getDesp) + .set(update_dirfile_count).equalTo(row::getUpdate_dirfile_count) + .set(insert_dirfile_count).equalTo(row::getInsert_dirfile_count) + .set(remove_dirfile_count).equalTo(row::getRemove_dirfile_count) + .set(update_file_count).equalTo(row::getUpdate_file_count) + .set(insert_file_count).equalTo(row::getInsert_file_count) + .set(remove_file_count).equalTo(row::getRemove_file_count) + .set(need_process_count).equalTo(row::getNeed_process_count) + .set(processed_count).equalTo(row::getProcessed_count) + .set(failed_process_count).equalTo(row::getFailed_process_count) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5074731+08:00", comments="Source Table: public.sync2blockchain_task") + default int updateByPrimaryKeySelective(Sync2blockchainTask row) { + return update(c -> + c.set(start_time).equalToWhenPresent(row::getStart_time) + .set(end_time).equalToWhenPresent(row::getEnd_time) + .set(update_dir_count).equalToWhenPresent(row::getUpdate_dir_count) + .set(insert_dir_count).equalToWhenPresent(row::getInsert_dir_count) + .set(remove_dir_count).equalToWhenPresent(row::getRemove_dir_count) + .set(execute_status).equalToWhenPresent(row::getExecute_status) + .set(desp).equalToWhenPresent(row::getDesp) + .set(update_dirfile_count).equalToWhenPresent(row::getUpdate_dirfile_count) + .set(insert_dirfile_count).equalToWhenPresent(row::getInsert_dirfile_count) + .set(remove_dirfile_count).equalToWhenPresent(row::getRemove_dirfile_count) + .set(update_file_count).equalToWhenPresent(row::getUpdate_file_count) + .set(insert_file_count).equalToWhenPresent(row::getInsert_file_count) + .set(remove_file_count).equalToWhenPresent(row::getRemove_file_count) + .set(need_process_count).equalToWhenPresent(row::getNeed_process_count) + .set(processed_count).equalToWhenPresent(row::getProcessed_count) + .set(failed_process_count).equalToWhenPresent(row::getFailed_process_count) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysAdminMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysAdminMapper.java new file mode 100644 index 0000000..80c5d28 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysAdminMapper.java @@ -0,0 +1,241 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.SysAdminDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.SysAdmin; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface SysAdminMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source Table: public.sys_admin") + BasicColumn[] selectList = BasicColumn.columnList(id, org_id, realname, username, password, phone, email, job, gender, islock, type, sort, cer_id, company_id); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2861501+08:00", comments="Source Table: public.sys_admin") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="SysAdminResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="org_id", property="org_id", jdbcType=JdbcType.VARCHAR), + @Result(column="realname", property="realname", jdbcType=JdbcType.VARCHAR), + @Result(column="username", property="username", jdbcType=JdbcType.VARCHAR), + @Result(column="password", property="password", jdbcType=JdbcType.VARCHAR), + @Result(column="phone", property="phone", jdbcType=JdbcType.VARCHAR), + @Result(column="email", property="email", jdbcType=JdbcType.VARCHAR), + @Result(column="job", property="job", jdbcType=JdbcType.VARCHAR), + @Result(column="gender", property="gender", jdbcType=JdbcType.INTEGER), + @Result(column="islock", property="islock", jdbcType=JdbcType.INTEGER), + @Result(column="type", property="type", jdbcType=JdbcType.INTEGER), + @Result(column="sort", property="sort", jdbcType=JdbcType.INTEGER), + @Result(column="cer_id", property="cer_id", jdbcType=JdbcType.VARCHAR), + @Result(column="company_id", property="company_id", jdbcType=JdbcType.VARCHAR) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2861501+08:00", comments="Source Table: public.sys_admin") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("SysAdminResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2861501+08:00", comments="Source Table: public.sys_admin") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, sysAdmin, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2861501+08:00", comments="Source Table: public.sys_admin") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, sysAdmin, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2861501+08:00", comments="Source Table: public.sys_admin") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2861501+08:00", comments="Source Table: public.sys_admin") + default int insert(SysAdmin row) { + return MyBatis3Utils.insert(this::insert, row, sysAdmin, c -> + c.map(id).toProperty("id") + .map(org_id).toProperty("org_id") + .map(realname).toProperty("realname") + .map(username).toProperty("username") + .map(password).toProperty("password") + .map(phone).toProperty("phone") + .map(email).toProperty("email") + .map(job).toProperty("job") + .map(gender).toProperty("gender") + .map(islock).toProperty("islock") + .map(type).toProperty("type") + .map(sort).toProperty("sort") + .map(cer_id).toProperty("cer_id") + .map(company_id).toProperty("company_id") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2861501+08:00", comments="Source Table: public.sys_admin") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, sysAdmin, c -> + c.map(id).toProperty("id") + .map(org_id).toProperty("org_id") + .map(realname).toProperty("realname") + .map(username).toProperty("username") + .map(password).toProperty("password") + .map(phone).toProperty("phone") + .map(email).toProperty("email") + .map(job).toProperty("job") + .map(gender).toProperty("gender") + .map(islock).toProperty("islock") + .map(type).toProperty("type") + .map(sort).toProperty("sort") + .map(cer_id).toProperty("cer_id") + .map(company_id).toProperty("company_id") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2861501+08:00", comments="Source Table: public.sys_admin") + default int insertSelective(SysAdmin row) { + return MyBatis3Utils.insert(this::insert, row, sysAdmin, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(org_id).toPropertyWhenPresent("org_id", row::getOrg_id) + .map(realname).toPropertyWhenPresent("realname", row::getRealname) + .map(username).toPropertyWhenPresent("username", row::getUsername) + .map(password).toPropertyWhenPresent("password", row::getPassword) + .map(phone).toPropertyWhenPresent("phone", row::getPhone) + .map(email).toPropertyWhenPresent("email", row::getEmail) + .map(job).toPropertyWhenPresent("job", row::getJob) + .map(gender).toPropertyWhenPresent("gender", row::getGender) + .map(islock).toPropertyWhenPresent("islock", row::getIslock) + .map(type).toPropertyWhenPresent("type", row::getType) + .map(sort).toPropertyWhenPresent("sort", row::getSort) + .map(cer_id).toPropertyWhenPresent("cer_id", row::getCer_id) + .map(company_id).toPropertyWhenPresent("company_id", row::getCompany_id) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source Table: public.sys_admin") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, sysAdmin, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source Table: public.sys_admin") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, sysAdmin, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source Table: public.sys_admin") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, sysAdmin, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source Table: public.sys_admin") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source Table: public.sys_admin") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, sysAdmin, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source Table: public.sys_admin") + static UpdateDSL updateAllColumns(SysAdmin row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(org_id).equalTo(row::getOrg_id) + .set(realname).equalTo(row::getRealname) + .set(username).equalTo(row::getUsername) + .set(password).equalTo(row::getPassword) + .set(phone).equalTo(row::getPhone) + .set(email).equalTo(row::getEmail) + .set(job).equalTo(row::getJob) + .set(gender).equalTo(row::getGender) + .set(islock).equalTo(row::getIslock) + .set(type).equalTo(row::getType) + .set(sort).equalTo(row::getSort) + .set(cer_id).equalTo(row::getCer_id) + .set(company_id).equalTo(row::getCompany_id); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source Table: public.sys_admin") + static UpdateDSL updateSelectiveColumns(SysAdmin row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(org_id).equalToWhenPresent(row::getOrg_id) + .set(realname).equalToWhenPresent(row::getRealname) + .set(username).equalToWhenPresent(row::getUsername) + .set(password).equalToWhenPresent(row::getPassword) + .set(phone).equalToWhenPresent(row::getPhone) + .set(email).equalToWhenPresent(row::getEmail) + .set(job).equalToWhenPresent(row::getJob) + .set(gender).equalToWhenPresent(row::getGender) + .set(islock).equalToWhenPresent(row::getIslock) + .set(type).equalToWhenPresent(row::getType) + .set(sort).equalToWhenPresent(row::getSort) + .set(cer_id).equalToWhenPresent(row::getCer_id) + .set(company_id).equalToWhenPresent(row::getCompany_id); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source Table: public.sys_admin") + default int updateByPrimaryKey(SysAdmin row) { + return update(c -> + c.set(org_id).equalTo(row::getOrg_id) + .set(realname).equalTo(row::getRealname) + .set(username).equalTo(row::getUsername) + .set(password).equalTo(row::getPassword) + .set(phone).equalTo(row::getPhone) + .set(email).equalTo(row::getEmail) + .set(job).equalTo(row::getJob) + .set(gender).equalTo(row::getGender) + .set(islock).equalTo(row::getIslock) + .set(type).equalTo(row::getType) + .set(sort).equalTo(row::getSort) + .set(cer_id).equalTo(row::getCer_id) + .set(company_id).equalTo(row::getCompany_id) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source Table: public.sys_admin") + default int updateByPrimaryKeySelective(SysAdmin row) { + return update(c -> + c.set(org_id).equalToWhenPresent(row::getOrg_id) + .set(realname).equalToWhenPresent(row::getRealname) + .set(username).equalToWhenPresent(row::getUsername) + .set(password).equalToWhenPresent(row::getPassword) + .set(phone).equalToWhenPresent(row::getPhone) + .set(email).equalToWhenPresent(row::getEmail) + .set(job).equalToWhenPresent(row::getJob) + .set(gender).equalToWhenPresent(row::getGender) + .set(islock).equalToWhenPresent(row::getIslock) + .set(type).equalToWhenPresent(row::getType) + .set(sort).equalToWhenPresent(row::getSort) + .set(cer_id).equalToWhenPresent(row::getCer_id) + .set(company_id).equalToWhenPresent(row::getCompany_id) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysAdminRoleMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysAdminRoleMapper.java new file mode 100644 index 0000000..f73096b --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysAdminRoleMapper.java @@ -0,0 +1,153 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.SysAdminRoleDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.SysAdminRole; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface SysAdminRoleMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2921511+08:00", comments="Source Table: public.sys_admin_role") + BasicColumn[] selectList = BasicColumn.columnList(id, adminid, roleid); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.291149+08:00", comments="Source Table: public.sys_admin_role") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="SysAdminRoleResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="adminid", property="adminid", jdbcType=JdbcType.VARCHAR), + @Result(column="roleid", property="roleid", jdbcType=JdbcType.VARCHAR) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2921511+08:00", comments="Source Table: public.sys_admin_role") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("SysAdminRoleResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2921511+08:00", comments="Source Table: public.sys_admin_role") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, sysAdminRole, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2921511+08:00", comments="Source Table: public.sys_admin_role") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, sysAdminRole, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2921511+08:00", comments="Source Table: public.sys_admin_role") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2921511+08:00", comments="Source Table: public.sys_admin_role") + default int insert(SysAdminRole row) { + return MyBatis3Utils.insert(this::insert, row, sysAdminRole, c -> + c.map(id).toProperty("id") + .map(adminid).toProperty("adminid") + .map(roleid).toProperty("roleid") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2921511+08:00", comments="Source Table: public.sys_admin_role") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, sysAdminRole, c -> + c.map(id).toProperty("id") + .map(adminid).toProperty("adminid") + .map(roleid).toProperty("roleid") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2921511+08:00", comments="Source Table: public.sys_admin_role") + default int insertSelective(SysAdminRole row) { + return MyBatis3Utils.insert(this::insert, row, sysAdminRole, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(adminid).toPropertyWhenPresent("adminid", row::getAdminid) + .map(roleid).toPropertyWhenPresent("roleid", row::getRoleid) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2921511+08:00", comments="Source Table: public.sys_admin_role") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, sysAdminRole, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2921511+08:00", comments="Source Table: public.sys_admin_role") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, sysAdminRole, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2921511+08:00", comments="Source Table: public.sys_admin_role") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, sysAdminRole, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2921511+08:00", comments="Source Table: public.sys_admin_role") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2921511+08:00", comments="Source Table: public.sys_admin_role") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, sysAdminRole, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2921511+08:00", comments="Source Table: public.sys_admin_role") + static UpdateDSL updateAllColumns(SysAdminRole row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(adminid).equalTo(row::getAdminid) + .set(roleid).equalTo(row::getRoleid); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source Table: public.sys_admin_role") + static UpdateDSL updateSelectiveColumns(SysAdminRole row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(adminid).equalToWhenPresent(row::getAdminid) + .set(roleid).equalToWhenPresent(row::getRoleid); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source Table: public.sys_admin_role") + default int updateByPrimaryKey(SysAdminRole row) { + return update(c -> + c.set(adminid).equalTo(row::getAdminid) + .set(roleid).equalTo(row::getRoleid) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source Table: public.sys_admin_role") + default int updateByPrimaryKeySelective(SysAdminRole row) { + return update(c -> + c.set(adminid).equalToWhenPresent(row::getAdminid) + .set(roleid).equalToWhenPresent(row::getRoleid) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysAdminWeidMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysAdminWeidMapper.java new file mode 100644 index 0000000..f5b54dd --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysAdminWeidMapper.java @@ -0,0 +1,185 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.SysAdminWeidDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.SysAdminWeid; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface SysAdminWeidMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2841505+08:00", comments="Source Table: public.sys_admin_weid") + BasicColumn[] selectList = BasicColumn.columnList(id, admin_id, wid, wprivate_key, add_time, certificate_hash, chain_block); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2841505+08:00", comments="Source Table: public.sys_admin_weid") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="SysAdminWeidResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="admin_id", property="admin_id", jdbcType=JdbcType.VARCHAR), + @Result(column="wid", property="wid", jdbcType=JdbcType.VARCHAR), + @Result(column="wprivate_key", property="wprivate_key", jdbcType=JdbcType.VARCHAR), + @Result(column="add_time", property="add_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="certificate_hash", property="certificate_hash", jdbcType=JdbcType.VARCHAR), + @Result(column="chain_block", property="chain_block", jdbcType=JdbcType.VARCHAR) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2841505+08:00", comments="Source Table: public.sys_admin_weid") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("SysAdminWeidResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2841505+08:00", comments="Source Table: public.sys_admin_weid") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, sysAdminWeid, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2841505+08:00", comments="Source Table: public.sys_admin_weid") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, sysAdminWeid, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2841505+08:00", comments="Source Table: public.sys_admin_weid") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2841505+08:00", comments="Source Table: public.sys_admin_weid") + default int insert(SysAdminWeid row) { + return MyBatis3Utils.insert(this::insert, row, sysAdminWeid, c -> + c.map(id).toProperty("id") + .map(admin_id).toProperty("admin_id") + .map(wid).toProperty("wid") + .map(wprivate_key).toProperty("wprivate_key") + .map(add_time).toProperty("add_time") + .map(certificate_hash).toProperty("certificate_hash") + .map(chain_block).toProperty("chain_block") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2841505+08:00", comments="Source Table: public.sys_admin_weid") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, sysAdminWeid, c -> + c.map(id).toProperty("id") + .map(admin_id).toProperty("admin_id") + .map(wid).toProperty("wid") + .map(wprivate_key).toProperty("wprivate_key") + .map(add_time).toProperty("add_time") + .map(certificate_hash).toProperty("certificate_hash") + .map(chain_block).toProperty("chain_block") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2841505+08:00", comments="Source Table: public.sys_admin_weid") + default int insertSelective(SysAdminWeid row) { + return MyBatis3Utils.insert(this::insert, row, sysAdminWeid, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(admin_id).toPropertyWhenPresent("admin_id", row::getAdmin_id) + .map(wid).toPropertyWhenPresent("wid", row::getWid) + .map(wprivate_key).toPropertyWhenPresent("wprivate_key", row::getWprivate_key) + .map(add_time).toPropertyWhenPresent("add_time", row::getAdd_time) + .map(certificate_hash).toPropertyWhenPresent("certificate_hash", row::getCertificate_hash) + .map(chain_block).toPropertyWhenPresent("chain_block", row::getChain_block) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2841505+08:00", comments="Source Table: public.sys_admin_weid") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, sysAdminWeid, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2841505+08:00", comments="Source Table: public.sys_admin_weid") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, sysAdminWeid, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2841505+08:00", comments="Source Table: public.sys_admin_weid") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, sysAdminWeid, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2841505+08:00", comments="Source Table: public.sys_admin_weid") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2841505+08:00", comments="Source Table: public.sys_admin_weid") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, sysAdminWeid, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2841505+08:00", comments="Source Table: public.sys_admin_weid") + static UpdateDSL updateAllColumns(SysAdminWeid row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(admin_id).equalTo(row::getAdmin_id) + .set(wid).equalTo(row::getWid) + .set(wprivate_key).equalTo(row::getWprivate_key) + .set(add_time).equalTo(row::getAdd_time) + .set(certificate_hash).equalTo(row::getCertificate_hash) + .set(chain_block).equalTo(row::getChain_block); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source Table: public.sys_admin_weid") + static UpdateDSL updateSelectiveColumns(SysAdminWeid row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(admin_id).equalToWhenPresent(row::getAdmin_id) + .set(wid).equalToWhenPresent(row::getWid) + .set(wprivate_key).equalToWhenPresent(row::getWprivate_key) + .set(add_time).equalToWhenPresent(row::getAdd_time) + .set(certificate_hash).equalToWhenPresent(row::getCertificate_hash) + .set(chain_block).equalToWhenPresent(row::getChain_block); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source Table: public.sys_admin_weid") + default int updateByPrimaryKey(SysAdminWeid row) { + return update(c -> + c.set(admin_id).equalTo(row::getAdmin_id) + .set(wid).equalTo(row::getWid) + .set(wprivate_key).equalTo(row::getWprivate_key) + .set(add_time).equalTo(row::getAdd_time) + .set(certificate_hash).equalTo(row::getCertificate_hash) + .set(chain_block).equalTo(row::getChain_block) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source Table: public.sys_admin_weid") + default int updateByPrimaryKeySelective(SysAdminWeid row) { + return update(c -> + c.set(admin_id).equalToWhenPresent(row::getAdmin_id) + .set(wid).equalToWhenPresent(row::getWid) + .set(wprivate_key).equalToWhenPresent(row::getWprivate_key) + .set(add_time).equalToWhenPresent(row::getAdd_time) + .set(certificate_hash).equalToWhenPresent(row::getCertificate_hash) + .set(chain_block).equalToWhenPresent(row::getChain_block) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysAreaMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysAreaMapper.java new file mode 100644 index 0000000..1a3ed77 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysAreaMapper.java @@ -0,0 +1,185 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.SysAreaDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.SysArea; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface SysAreaMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source Table: public.sys_area") + BasicColumn[] selectList = BasicColumn.columnList(id, level_code, parent_code, area_code, name, pid, pids); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source Table: public.sys_area") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="SysAreaResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="level_code", property="level_code", jdbcType=JdbcType.SMALLINT), + @Result(column="parent_code", property="parent_code", jdbcType=JdbcType.VARCHAR), + @Result(column="area_code", property="area_code", jdbcType=JdbcType.VARCHAR), + @Result(column="name", property="name", jdbcType=JdbcType.VARCHAR), + @Result(column="pid", property="pid", jdbcType=JdbcType.VARCHAR), + @Result(column="pids", property="pids", jdbcType=JdbcType.VARCHAR) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source Table: public.sys_area") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("SysAreaResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source Table: public.sys_area") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, sysArea, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source Table: public.sys_area") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, sysArea, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source Table: public.sys_area") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source Table: public.sys_area") + default int insert(SysArea row) { + return MyBatis3Utils.insert(this::insert, row, sysArea, c -> + c.map(id).toProperty("id") + .map(level_code).toProperty("level_code") + .map(parent_code).toProperty("parent_code") + .map(area_code).toProperty("area_code") + .map(name).toProperty("name") + .map(pid).toProperty("pid") + .map(pids).toProperty("pids") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source Table: public.sys_area") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, sysArea, c -> + c.map(id).toProperty("id") + .map(level_code).toProperty("level_code") + .map(parent_code).toProperty("parent_code") + .map(area_code).toProperty("area_code") + .map(name).toProperty("name") + .map(pid).toProperty("pid") + .map(pids).toProperty("pids") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source Table: public.sys_area") + default int insertSelective(SysArea row) { + return MyBatis3Utils.insert(this::insert, row, sysArea, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(level_code).toPropertyWhenPresent("level_code", row::getLevel_code) + .map(parent_code).toPropertyWhenPresent("parent_code", row::getParent_code) + .map(area_code).toPropertyWhenPresent("area_code", row::getArea_code) + .map(name).toPropertyWhenPresent("name", row::getName) + .map(pid).toPropertyWhenPresent("pid", row::getPid) + .map(pids).toPropertyWhenPresent("pids", row::getPids) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source Table: public.sys_area") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, sysArea, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source Table: public.sys_area") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, sysArea, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source Table: public.sys_area") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, sysArea, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source Table: public.sys_area") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source Table: public.sys_area") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, sysArea, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source Table: public.sys_area") + static UpdateDSL updateAllColumns(SysArea row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(level_code).equalTo(row::getLevel_code) + .set(parent_code).equalTo(row::getParent_code) + .set(area_code).equalTo(row::getArea_code) + .set(name).equalTo(row::getName) + .set(pid).equalTo(row::getPid) + .set(pids).equalTo(row::getPids); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source Table: public.sys_area") + static UpdateDSL updateSelectiveColumns(SysArea row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(level_code).equalToWhenPresent(row::getLevel_code) + .set(parent_code).equalToWhenPresent(row::getParent_code) + .set(area_code).equalToWhenPresent(row::getArea_code) + .set(name).equalToWhenPresent(row::getName) + .set(pid).equalToWhenPresent(row::getPid) + .set(pids).equalToWhenPresent(row::getPids); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source Table: public.sys_area") + default int updateByPrimaryKey(SysArea row) { + return update(c -> + c.set(level_code).equalTo(row::getLevel_code) + .set(parent_code).equalTo(row::getParent_code) + .set(area_code).equalTo(row::getArea_code) + .set(name).equalTo(row::getName) + .set(pid).equalTo(row::getPid) + .set(pids).equalTo(row::getPids) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source Table: public.sys_area") + default int updateByPrimaryKeySelective(SysArea row) { + return update(c -> + c.set(level_code).equalToWhenPresent(row::getLevel_code) + .set(parent_code).equalToWhenPresent(row::getParent_code) + .set(area_code).equalToWhenPresent(row::getArea_code) + .set(name).equalToWhenPresent(row::getName) + .set(pid).equalToWhenPresent(row::getPid) + .set(pids).equalToWhenPresent(row::getPids) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysConfigMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysConfigMapper.java new file mode 100644 index 0000000..3530d46 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysConfigMapper.java @@ -0,0 +1,185 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.SysConfigDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.SysConfig; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface SysConfigMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2821548+08:00", comments="Source Table: public.sys_config") + BasicColumn[] selectList = BasicColumn.columnList(id, subgroup, keys, val, admin_id, adminname, edittime); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2821548+08:00", comments="Source Table: public.sys_config") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="SysConfigResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="subgroup", property="subgroup", jdbcType=JdbcType.VARCHAR), + @Result(column="keys", property="keys", jdbcType=JdbcType.VARCHAR), + @Result(column="val", property="val", jdbcType=JdbcType.VARCHAR), + @Result(column="admin_id", property="admin_id", jdbcType=JdbcType.VARCHAR), + @Result(column="adminname", property="adminname", jdbcType=JdbcType.VARCHAR), + @Result(column="edittime", property="edittime", jdbcType=JdbcType.TIMESTAMP) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2821548+08:00", comments="Source Table: public.sys_config") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("SysConfigResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2821548+08:00", comments="Source Table: public.sys_config") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, sysConfig, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2821548+08:00", comments="Source Table: public.sys_config") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, sysConfig, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2821548+08:00", comments="Source Table: public.sys_config") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2821548+08:00", comments="Source Table: public.sys_config") + default int insert(SysConfig row) { + return MyBatis3Utils.insert(this::insert, row, sysConfig, c -> + c.map(id).toProperty("id") + .map(subgroup).toProperty("subgroup") + .map(keys).toProperty("keys") + .map(val).toProperty("val") + .map(admin_id).toProperty("admin_id") + .map(adminname).toProperty("adminname") + .map(edittime).toProperty("edittime") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2821548+08:00", comments="Source Table: public.sys_config") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, sysConfig, c -> + c.map(id).toProperty("id") + .map(subgroup).toProperty("subgroup") + .map(keys).toProperty("keys") + .map(val).toProperty("val") + .map(admin_id).toProperty("admin_id") + .map(adminname).toProperty("adminname") + .map(edittime).toProperty("edittime") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2821548+08:00", comments="Source Table: public.sys_config") + default int insertSelective(SysConfig row) { + return MyBatis3Utils.insert(this::insert, row, sysConfig, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(subgroup).toPropertyWhenPresent("subgroup", row::getSubgroup) + .map(keys).toPropertyWhenPresent("keys", row::getKeys) + .map(val).toPropertyWhenPresent("val", row::getVal) + .map(admin_id).toPropertyWhenPresent("admin_id", row::getAdmin_id) + .map(adminname).toPropertyWhenPresent("adminname", row::getAdminname) + .map(edittime).toPropertyWhenPresent("edittime", row::getEdittime) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2821548+08:00", comments="Source Table: public.sys_config") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, sysConfig, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2821548+08:00", comments="Source Table: public.sys_config") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, sysConfig, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2821548+08:00", comments="Source Table: public.sys_config") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, sysConfig, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.283154+08:00", comments="Source Table: public.sys_config") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.283154+08:00", comments="Source Table: public.sys_config") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, sysConfig, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.283154+08:00", comments="Source Table: public.sys_config") + static UpdateDSL updateAllColumns(SysConfig row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(subgroup).equalTo(row::getSubgroup) + .set(keys).equalTo(row::getKeys) + .set(val).equalTo(row::getVal) + .set(admin_id).equalTo(row::getAdmin_id) + .set(adminname).equalTo(row::getAdminname) + .set(edittime).equalTo(row::getEdittime); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.283154+08:00", comments="Source Table: public.sys_config") + static UpdateDSL updateSelectiveColumns(SysConfig row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(subgroup).equalToWhenPresent(row::getSubgroup) + .set(keys).equalToWhenPresent(row::getKeys) + .set(val).equalToWhenPresent(row::getVal) + .set(admin_id).equalToWhenPresent(row::getAdmin_id) + .set(adminname).equalToWhenPresent(row::getAdminname) + .set(edittime).equalToWhenPresent(row::getEdittime); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.283154+08:00", comments="Source Table: public.sys_config") + default int updateByPrimaryKey(SysConfig row) { + return update(c -> + c.set(subgroup).equalTo(row::getSubgroup) + .set(keys).equalTo(row::getKeys) + .set(val).equalTo(row::getVal) + .set(admin_id).equalTo(row::getAdmin_id) + .set(adminname).equalTo(row::getAdminname) + .set(edittime).equalTo(row::getEdittime) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.283154+08:00", comments="Source Table: public.sys_config") + default int updateByPrimaryKeySelective(SysConfig row) { + return update(c -> + c.set(subgroup).equalToWhenPresent(row::getSubgroup) + .set(keys).equalToWhenPresent(row::getKeys) + .set(val).equalToWhenPresent(row::getVal) + .set(admin_id).equalToWhenPresent(row::getAdmin_id) + .set(adminname).equalToWhenPresent(row::getAdminname) + .set(edittime).equalToWhenPresent(row::getEdittime) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysMenuMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysMenuMapper.java new file mode 100644 index 0000000..8b4aa20 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysMenuMapper.java @@ -0,0 +1,217 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.SysMenuDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.SysMenu; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface SysMenuMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.309148+08:00", comments="Source Table: public.sys_menu") + BasicColumn[] selectList = BasicColumn.columnList(id, parent_id, level, name, types, url, icon, is_open, description, sort, parentpath); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.309148+08:00", comments="Source Table: public.sys_menu") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="SysMenuResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="parent_id", property="parent_id", jdbcType=JdbcType.VARCHAR), + @Result(column="level", property="level", jdbcType=JdbcType.INTEGER), + @Result(column="name", property="name", jdbcType=JdbcType.VARCHAR), + @Result(column="types", property="types", jdbcType=JdbcType.VARCHAR), + @Result(column="url", property="url", jdbcType=JdbcType.VARCHAR), + @Result(column="icon", property="icon", jdbcType=JdbcType.VARCHAR), + @Result(column="is_open", property="is_open", jdbcType=JdbcType.INTEGER), + @Result(column="description", property="description", jdbcType=JdbcType.VARCHAR), + @Result(column="sort", property="sort", jdbcType=JdbcType.INTEGER), + @Result(column="parentpath", property="parentpath", jdbcType=JdbcType.VARCHAR) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.309148+08:00", comments="Source Table: public.sys_menu") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("SysMenuResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.309148+08:00", comments="Source Table: public.sys_menu") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, sysMenu, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.309148+08:00", comments="Source Table: public.sys_menu") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, sysMenu, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.309148+08:00", comments="Source Table: public.sys_menu") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.309148+08:00", comments="Source Table: public.sys_menu") + default int insert(SysMenu row) { + return MyBatis3Utils.insert(this::insert, row, sysMenu, c -> + c.map(id).toProperty("id") + .map(parent_id).toProperty("parent_id") + .map(level).toProperty("level") + .map(name).toProperty("name") + .map(types).toProperty("types") + .map(url).toProperty("url") + .map(icon).toProperty("icon") + .map(is_open).toProperty("is_open") + .map(description).toProperty("description") + .map(sort).toProperty("sort") + .map(parentpath).toProperty("parentpath") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.309148+08:00", comments="Source Table: public.sys_menu") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, sysMenu, c -> + c.map(id).toProperty("id") + .map(parent_id).toProperty("parent_id") + .map(level).toProperty("level") + .map(name).toProperty("name") + .map(types).toProperty("types") + .map(url).toProperty("url") + .map(icon).toProperty("icon") + .map(is_open).toProperty("is_open") + .map(description).toProperty("description") + .map(sort).toProperty("sort") + .map(parentpath).toProperty("parentpath") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.309148+08:00", comments="Source Table: public.sys_menu") + default int insertSelective(SysMenu row) { + return MyBatis3Utils.insert(this::insert, row, sysMenu, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(parent_id).toPropertyWhenPresent("parent_id", row::getParent_id) + .map(level).toPropertyWhenPresent("level", row::getLevel) + .map(name).toPropertyWhenPresent("name", row::getName) + .map(types).toPropertyWhenPresent("types", row::getTypes) + .map(url).toPropertyWhenPresent("url", row::getUrl) + .map(icon).toPropertyWhenPresent("icon", row::getIcon) + .map(is_open).toPropertyWhenPresent("is_open", row::getIs_open) + .map(description).toPropertyWhenPresent("description", row::getDescription) + .map(sort).toPropertyWhenPresent("sort", row::getSort) + .map(parentpath).toPropertyWhenPresent("parentpath", row::getParentpath) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.309148+08:00", comments="Source Table: public.sys_menu") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, sysMenu, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.309148+08:00", comments="Source Table: public.sys_menu") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, sysMenu, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.309148+08:00", comments="Source Table: public.sys_menu") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, sysMenu, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.309148+08:00", comments="Source Table: public.sys_menu") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.309148+08:00", comments="Source Table: public.sys_menu") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, sysMenu, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.309148+08:00", comments="Source Table: public.sys_menu") + static UpdateDSL updateAllColumns(SysMenu row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(parent_id).equalTo(row::getParent_id) + .set(level).equalTo(row::getLevel) + .set(name).equalTo(row::getName) + .set(types).equalTo(row::getTypes) + .set(url).equalTo(row::getUrl) + .set(icon).equalTo(row::getIcon) + .set(is_open).equalTo(row::getIs_open) + .set(description).equalTo(row::getDescription) + .set(sort).equalTo(row::getSort) + .set(parentpath).equalTo(row::getParentpath); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.309148+08:00", comments="Source Table: public.sys_menu") + static UpdateDSL updateSelectiveColumns(SysMenu row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(parent_id).equalToWhenPresent(row::getParent_id) + .set(level).equalToWhenPresent(row::getLevel) + .set(name).equalToWhenPresent(row::getName) + .set(types).equalToWhenPresent(row::getTypes) + .set(url).equalToWhenPresent(row::getUrl) + .set(icon).equalToWhenPresent(row::getIcon) + .set(is_open).equalToWhenPresent(row::getIs_open) + .set(description).equalToWhenPresent(row::getDescription) + .set(sort).equalToWhenPresent(row::getSort) + .set(parentpath).equalToWhenPresent(row::getParentpath); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.309148+08:00", comments="Source Table: public.sys_menu") + default int updateByPrimaryKey(SysMenu row) { + return update(c -> + c.set(parent_id).equalTo(row::getParent_id) + .set(level).equalTo(row::getLevel) + .set(name).equalTo(row::getName) + .set(types).equalTo(row::getTypes) + .set(url).equalTo(row::getUrl) + .set(icon).equalTo(row::getIcon) + .set(is_open).equalTo(row::getIs_open) + .set(description).equalTo(row::getDescription) + .set(sort).equalTo(row::getSort) + .set(parentpath).equalTo(row::getParentpath) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.309148+08:00", comments="Source Table: public.sys_menu") + default int updateByPrimaryKeySelective(SysMenu row) { + return update(c -> + c.set(parent_id).equalToWhenPresent(row::getParent_id) + .set(level).equalToWhenPresent(row::getLevel) + .set(name).equalToWhenPresent(row::getName) + .set(types).equalToWhenPresent(row::getTypes) + .set(url).equalToWhenPresent(row::getUrl) + .set(icon).equalToWhenPresent(row::getIcon) + .set(is_open).equalToWhenPresent(row::getIs_open) + .set(description).equalToWhenPresent(row::getDescription) + .set(sort).equalToWhenPresent(row::getSort) + .set(parentpath).equalToWhenPresent(row::getParentpath) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysOrgMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysOrgMapper.java new file mode 100644 index 0000000..b3c167e --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysOrgMapper.java @@ -0,0 +1,369 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.SysOrgDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.SysOrg; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface SysOrgMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source Table: public.sys_org") + BasicColumn[] selectList = BasicColumn.columnList(id, pid, chinese_simple_name, english_simple_name, chinese_full_name, english_full_name, code, sort, status, is_company_department, enterprise_legal_person, contact_person, contact_phone, remark, create_time, create_user, update_time, update_user, name, industry_name, industry_code, province_code, city_code, area_code, addr, uscc, org_type, is_archives_dep, cer_id, is_forbidden); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source Table: public.sys_org") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="SysOrgResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="pid", property="pid", jdbcType=JdbcType.VARCHAR), + @Result(column="chinese_simple_name", property="chinese_simple_name", jdbcType=JdbcType.VARCHAR), + @Result(column="english_simple_name", property="english_simple_name", jdbcType=JdbcType.VARCHAR), + @Result(column="chinese_full_name", property="chinese_full_name", jdbcType=JdbcType.VARCHAR), + @Result(column="english_full_name", property="english_full_name", jdbcType=JdbcType.VARCHAR), + @Result(column="code", property="code", jdbcType=JdbcType.VARCHAR), + @Result(column="sort", property="sort", jdbcType=JdbcType.INTEGER), + @Result(column="status", property="status", jdbcType=JdbcType.INTEGER), + @Result(column="is_company_department", property="is_company_department", jdbcType=JdbcType.INTEGER), + @Result(column="enterprise_legal_person", property="enterprise_legal_person", jdbcType=JdbcType.VARCHAR), + @Result(column="contact_person", property="contact_person", jdbcType=JdbcType.VARCHAR), + @Result(column="contact_phone", property="contact_phone", jdbcType=JdbcType.VARCHAR), + @Result(column="remark", property="remark", jdbcType=JdbcType.VARCHAR), + @Result(column="create_time", property="create_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="create_user", property="create_user", jdbcType=JdbcType.VARCHAR), + @Result(column="update_time", property="update_time", jdbcType=JdbcType.TIMESTAMP), + @Result(column="update_user", property="update_user", jdbcType=JdbcType.VARCHAR), + @Result(column="name", property="name", jdbcType=JdbcType.VARCHAR), + @Result(column="industry_name", property="industry_name", jdbcType=JdbcType.VARCHAR), + @Result(column="industry_code", property="industry_code", jdbcType=JdbcType.VARCHAR), + @Result(column="province_code", property="province_code", jdbcType=JdbcType.VARCHAR), + @Result(column="city_code", property="city_code", jdbcType=JdbcType.VARCHAR), + @Result(column="area_code", property="area_code", jdbcType=JdbcType.VARCHAR), + @Result(column="addr", property="addr", jdbcType=JdbcType.VARCHAR), + @Result(column="uscc", property="uscc", jdbcType=JdbcType.VARCHAR), + @Result(column="org_type", property="org_type", jdbcType=JdbcType.VARCHAR), + @Result(column="is_archives_dep", property="is_archives_dep", jdbcType=JdbcType.INTEGER), + @Result(column="cer_id", property="cer_id", jdbcType=JdbcType.VARCHAR), + @Result(column="is_forbidden", property="is_forbidden", jdbcType=JdbcType.INTEGER) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source Table: public.sys_org") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("SysOrgResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source Table: public.sys_org") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, sysOrg, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source Table: public.sys_org") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, sysOrg, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source Table: public.sys_org") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source Table: public.sys_org") + default int insert(SysOrg row) { + return MyBatis3Utils.insert(this::insert, row, sysOrg, c -> + c.map(id).toProperty("id") + .map(pid).toProperty("pid") + .map(chinese_simple_name).toProperty("chinese_simple_name") + .map(english_simple_name).toProperty("english_simple_name") + .map(chinese_full_name).toProperty("chinese_full_name") + .map(english_full_name).toProperty("english_full_name") + .map(code).toProperty("code") + .map(sort).toProperty("sort") + .map(status).toProperty("status") + .map(is_company_department).toProperty("is_company_department") + .map(enterprise_legal_person).toProperty("enterprise_legal_person") + .map(contact_person).toProperty("contact_person") + .map(contact_phone).toProperty("contact_phone") + .map(remark).toProperty("remark") + .map(create_time).toProperty("create_time") + .map(create_user).toProperty("create_user") + .map(update_time).toProperty("update_time") + .map(update_user).toProperty("update_user") + .map(name).toProperty("name") + .map(industry_name).toProperty("industry_name") + .map(industry_code).toProperty("industry_code") + .map(province_code).toProperty("province_code") + .map(city_code).toProperty("city_code") + .map(area_code).toProperty("area_code") + .map(addr).toProperty("addr") + .map(uscc).toProperty("uscc") + .map(org_type).toProperty("org_type") + .map(is_archives_dep).toProperty("is_archives_dep") + .map(cer_id).toProperty("cer_id") + .map(is_forbidden).toProperty("is_forbidden") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source Table: public.sys_org") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, sysOrg, c -> + c.map(id).toProperty("id") + .map(pid).toProperty("pid") + .map(chinese_simple_name).toProperty("chinese_simple_name") + .map(english_simple_name).toProperty("english_simple_name") + .map(chinese_full_name).toProperty("chinese_full_name") + .map(english_full_name).toProperty("english_full_name") + .map(code).toProperty("code") + .map(sort).toProperty("sort") + .map(status).toProperty("status") + .map(is_company_department).toProperty("is_company_department") + .map(enterprise_legal_person).toProperty("enterprise_legal_person") + .map(contact_person).toProperty("contact_person") + .map(contact_phone).toProperty("contact_phone") + .map(remark).toProperty("remark") + .map(create_time).toProperty("create_time") + .map(create_user).toProperty("create_user") + .map(update_time).toProperty("update_time") + .map(update_user).toProperty("update_user") + .map(name).toProperty("name") + .map(industry_name).toProperty("industry_name") + .map(industry_code).toProperty("industry_code") + .map(province_code).toProperty("province_code") + .map(city_code).toProperty("city_code") + .map(area_code).toProperty("area_code") + .map(addr).toProperty("addr") + .map(uscc).toProperty("uscc") + .map(org_type).toProperty("org_type") + .map(is_archives_dep).toProperty("is_archives_dep") + .map(cer_id).toProperty("cer_id") + .map(is_forbidden).toProperty("is_forbidden") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source Table: public.sys_org") + default int insertSelective(SysOrg row) { + return MyBatis3Utils.insert(this::insert, row, sysOrg, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(pid).toPropertyWhenPresent("pid", row::getPid) + .map(chinese_simple_name).toPropertyWhenPresent("chinese_simple_name", row::getChinese_simple_name) + .map(english_simple_name).toPropertyWhenPresent("english_simple_name", row::getEnglish_simple_name) + .map(chinese_full_name).toPropertyWhenPresent("chinese_full_name", row::getChinese_full_name) + .map(english_full_name).toPropertyWhenPresent("english_full_name", row::getEnglish_full_name) + .map(code).toPropertyWhenPresent("code", row::getCode) + .map(sort).toPropertyWhenPresent("sort", row::getSort) + .map(status).toPropertyWhenPresent("status", row::getStatus) + .map(is_company_department).toPropertyWhenPresent("is_company_department", row::getIs_company_department) + .map(enterprise_legal_person).toPropertyWhenPresent("enterprise_legal_person", row::getEnterprise_legal_person) + .map(contact_person).toPropertyWhenPresent("contact_person", row::getContact_person) + .map(contact_phone).toPropertyWhenPresent("contact_phone", row::getContact_phone) + .map(remark).toPropertyWhenPresent("remark", row::getRemark) + .map(create_time).toPropertyWhenPresent("create_time", row::getCreate_time) + .map(create_user).toPropertyWhenPresent("create_user", row::getCreate_user) + .map(update_time).toPropertyWhenPresent("update_time", row::getUpdate_time) + .map(update_user).toPropertyWhenPresent("update_user", row::getUpdate_user) + .map(name).toPropertyWhenPresent("name", row::getName) + .map(industry_name).toPropertyWhenPresent("industry_name", row::getIndustry_name) + .map(industry_code).toPropertyWhenPresent("industry_code", row::getIndustry_code) + .map(province_code).toPropertyWhenPresent("province_code", row::getProvince_code) + .map(city_code).toPropertyWhenPresent("city_code", row::getCity_code) + .map(area_code).toPropertyWhenPresent("area_code", row::getArea_code) + .map(addr).toPropertyWhenPresent("addr", row::getAddr) + .map(uscc).toPropertyWhenPresent("uscc", row::getUscc) + .map(org_type).toPropertyWhenPresent("org_type", row::getOrg_type) + .map(is_archives_dep).toPropertyWhenPresent("is_archives_dep", row::getIs_archives_dep) + .map(cer_id).toPropertyWhenPresent("cer_id", row::getCer_id) + .map(is_forbidden).toPropertyWhenPresent("is_forbidden", row::getIs_forbidden) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source Table: public.sys_org") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, sysOrg, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source Table: public.sys_org") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, sysOrg, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source Table: public.sys_org") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, sysOrg, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source Table: public.sys_org") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3211475+08:00", comments="Source Table: public.sys_org") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, sysOrg, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3211475+08:00", comments="Source Table: public.sys_org") + static UpdateDSL updateAllColumns(SysOrg row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(pid).equalTo(row::getPid) + .set(chinese_simple_name).equalTo(row::getChinese_simple_name) + .set(english_simple_name).equalTo(row::getEnglish_simple_name) + .set(chinese_full_name).equalTo(row::getChinese_full_name) + .set(english_full_name).equalTo(row::getEnglish_full_name) + .set(code).equalTo(row::getCode) + .set(sort).equalTo(row::getSort) + .set(status).equalTo(row::getStatus) + .set(is_company_department).equalTo(row::getIs_company_department) + .set(enterprise_legal_person).equalTo(row::getEnterprise_legal_person) + .set(contact_person).equalTo(row::getContact_person) + .set(contact_phone).equalTo(row::getContact_phone) + .set(remark).equalTo(row::getRemark) + .set(create_time).equalTo(row::getCreate_time) + .set(create_user).equalTo(row::getCreate_user) + .set(update_time).equalTo(row::getUpdate_time) + .set(update_user).equalTo(row::getUpdate_user) + .set(name).equalTo(row::getName) + .set(industry_name).equalTo(row::getIndustry_name) + .set(industry_code).equalTo(row::getIndustry_code) + .set(province_code).equalTo(row::getProvince_code) + .set(city_code).equalTo(row::getCity_code) + .set(area_code).equalTo(row::getArea_code) + .set(addr).equalTo(row::getAddr) + .set(uscc).equalTo(row::getUscc) + .set(org_type).equalTo(row::getOrg_type) + .set(is_archives_dep).equalTo(row::getIs_archives_dep) + .set(cer_id).equalTo(row::getCer_id) + .set(is_forbidden).equalTo(row::getIs_forbidden); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3211475+08:00", comments="Source Table: public.sys_org") + static UpdateDSL updateSelectiveColumns(SysOrg row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(pid).equalToWhenPresent(row::getPid) + .set(chinese_simple_name).equalToWhenPresent(row::getChinese_simple_name) + .set(english_simple_name).equalToWhenPresent(row::getEnglish_simple_name) + .set(chinese_full_name).equalToWhenPresent(row::getChinese_full_name) + .set(english_full_name).equalToWhenPresent(row::getEnglish_full_name) + .set(code).equalToWhenPresent(row::getCode) + .set(sort).equalToWhenPresent(row::getSort) + .set(status).equalToWhenPresent(row::getStatus) + .set(is_company_department).equalToWhenPresent(row::getIs_company_department) + .set(enterprise_legal_person).equalToWhenPresent(row::getEnterprise_legal_person) + .set(contact_person).equalToWhenPresent(row::getContact_person) + .set(contact_phone).equalToWhenPresent(row::getContact_phone) + .set(remark).equalToWhenPresent(row::getRemark) + .set(create_time).equalToWhenPresent(row::getCreate_time) + .set(create_user).equalToWhenPresent(row::getCreate_user) + .set(update_time).equalToWhenPresent(row::getUpdate_time) + .set(update_user).equalToWhenPresent(row::getUpdate_user) + .set(name).equalToWhenPresent(row::getName) + .set(industry_name).equalToWhenPresent(row::getIndustry_name) + .set(industry_code).equalToWhenPresent(row::getIndustry_code) + .set(province_code).equalToWhenPresent(row::getProvince_code) + .set(city_code).equalToWhenPresent(row::getCity_code) + .set(area_code).equalToWhenPresent(row::getArea_code) + .set(addr).equalToWhenPresent(row::getAddr) + .set(uscc).equalToWhenPresent(row::getUscc) + .set(org_type).equalToWhenPresent(row::getOrg_type) + .set(is_archives_dep).equalToWhenPresent(row::getIs_archives_dep) + .set(cer_id).equalToWhenPresent(row::getCer_id) + .set(is_forbidden).equalToWhenPresent(row::getIs_forbidden); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3211475+08:00", comments="Source Table: public.sys_org") + default int updateByPrimaryKey(SysOrg row) { + return update(c -> + c.set(pid).equalTo(row::getPid) + .set(chinese_simple_name).equalTo(row::getChinese_simple_name) + .set(english_simple_name).equalTo(row::getEnglish_simple_name) + .set(chinese_full_name).equalTo(row::getChinese_full_name) + .set(english_full_name).equalTo(row::getEnglish_full_name) + .set(code).equalTo(row::getCode) + .set(sort).equalTo(row::getSort) + .set(status).equalTo(row::getStatus) + .set(is_company_department).equalTo(row::getIs_company_department) + .set(enterprise_legal_person).equalTo(row::getEnterprise_legal_person) + .set(contact_person).equalTo(row::getContact_person) + .set(contact_phone).equalTo(row::getContact_phone) + .set(remark).equalTo(row::getRemark) + .set(create_time).equalTo(row::getCreate_time) + .set(create_user).equalTo(row::getCreate_user) + .set(update_time).equalTo(row::getUpdate_time) + .set(update_user).equalTo(row::getUpdate_user) + .set(name).equalTo(row::getName) + .set(industry_name).equalTo(row::getIndustry_name) + .set(industry_code).equalTo(row::getIndustry_code) + .set(province_code).equalTo(row::getProvince_code) + .set(city_code).equalTo(row::getCity_code) + .set(area_code).equalTo(row::getArea_code) + .set(addr).equalTo(row::getAddr) + .set(uscc).equalTo(row::getUscc) + .set(org_type).equalTo(row::getOrg_type) + .set(is_archives_dep).equalTo(row::getIs_archives_dep) + .set(cer_id).equalTo(row::getCer_id) + .set(is_forbidden).equalTo(row::getIs_forbidden) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3211475+08:00", comments="Source Table: public.sys_org") + default int updateByPrimaryKeySelective(SysOrg row) { + return update(c -> + c.set(pid).equalToWhenPresent(row::getPid) + .set(chinese_simple_name).equalToWhenPresent(row::getChinese_simple_name) + .set(english_simple_name).equalToWhenPresent(row::getEnglish_simple_name) + .set(chinese_full_name).equalToWhenPresent(row::getChinese_full_name) + .set(english_full_name).equalToWhenPresent(row::getEnglish_full_name) + .set(code).equalToWhenPresent(row::getCode) + .set(sort).equalToWhenPresent(row::getSort) + .set(status).equalToWhenPresent(row::getStatus) + .set(is_company_department).equalToWhenPresent(row::getIs_company_department) + .set(enterprise_legal_person).equalToWhenPresent(row::getEnterprise_legal_person) + .set(contact_person).equalToWhenPresent(row::getContact_person) + .set(contact_phone).equalToWhenPresent(row::getContact_phone) + .set(remark).equalToWhenPresent(row::getRemark) + .set(create_time).equalToWhenPresent(row::getCreate_time) + .set(create_user).equalToWhenPresent(row::getCreate_user) + .set(update_time).equalToWhenPresent(row::getUpdate_time) + .set(update_user).equalToWhenPresent(row::getUpdate_user) + .set(name).equalToWhenPresent(row::getName) + .set(industry_name).equalToWhenPresent(row::getIndustry_name) + .set(industry_code).equalToWhenPresent(row::getIndustry_code) + .set(province_code).equalToWhenPresent(row::getProvince_code) + .set(city_code).equalToWhenPresent(row::getCity_code) + .set(area_code).equalToWhenPresent(row::getArea_code) + .set(addr).equalToWhenPresent(row::getAddr) + .set(uscc).equalToWhenPresent(row::getUscc) + .set(org_type).equalToWhenPresent(row::getOrg_type) + .set(is_archives_dep).equalToWhenPresent(row::getIs_archives_dep) + .set(cer_id).equalToWhenPresent(row::getCer_id) + .set(is_forbidden).equalToWhenPresent(row::getIs_forbidden) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysRoleMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysRoleMapper.java new file mode 100644 index 0000000..7425213 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysRoleMapper.java @@ -0,0 +1,201 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.SysRoleDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.SysRole; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface SysRoleMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2721507+08:00", comments="Source Table: public.sys_role") + BasicColumn[] selectList = BasicColumn.columnList(id, rolename, describe, sort, is_open, sign_name, sign_id, company_id, company_name); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source Table: public.sys_role") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="SysRoleResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="rolename", property="rolename", jdbcType=JdbcType.VARCHAR), + @Result(column="describe", property="describe", jdbcType=JdbcType.VARCHAR), + @Result(column="sort", property="sort", jdbcType=JdbcType.INTEGER), + @Result(column="is_open", property="is_open", jdbcType=JdbcType.INTEGER), + @Result(column="sign_name", property="sign_name", jdbcType=JdbcType.VARCHAR), + @Result(column="sign_id", property="sign_id", jdbcType=JdbcType.VARCHAR), + @Result(column="company_id", property="company_id", jdbcType=JdbcType.VARCHAR), + @Result(column="company_name", property="company_name", jdbcType=JdbcType.VARCHAR) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2721507+08:00", comments="Source Table: public.sys_role") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("SysRoleResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2721507+08:00", comments="Source Table: public.sys_role") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, sysRole, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2721507+08:00", comments="Source Table: public.sys_role") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, sysRole, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2721507+08:00", comments="Source Table: public.sys_role") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2721507+08:00", comments="Source Table: public.sys_role") + default int insert(SysRole row) { + return MyBatis3Utils.insert(this::insert, row, sysRole, c -> + c.map(id).toProperty("id") + .map(rolename).toProperty("rolename") + .map(describe).toProperty("describe") + .map(sort).toProperty("sort") + .map(is_open).toProperty("is_open") + .map(sign_name).toProperty("sign_name") + .map(sign_id).toProperty("sign_id") + .map(company_id).toProperty("company_id") + .map(company_name).toProperty("company_name") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2721507+08:00", comments="Source Table: public.sys_role") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, sysRole, c -> + c.map(id).toProperty("id") + .map(rolename).toProperty("rolename") + .map(describe).toProperty("describe") + .map(sort).toProperty("sort") + .map(is_open).toProperty("is_open") + .map(sign_name).toProperty("sign_name") + .map(sign_id).toProperty("sign_id") + .map(company_id).toProperty("company_id") + .map(company_name).toProperty("company_name") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2721507+08:00", comments="Source Table: public.sys_role") + default int insertSelective(SysRole row) { + return MyBatis3Utils.insert(this::insert, row, sysRole, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(rolename).toPropertyWhenPresent("rolename", row::getRolename) + .map(describe).toPropertyWhenPresent("describe", row::getDescribe) + .map(sort).toPropertyWhenPresent("sort", row::getSort) + .map(is_open).toPropertyWhenPresent("is_open", row::getIs_open) + .map(sign_name).toPropertyWhenPresent("sign_name", row::getSign_name) + .map(sign_id).toPropertyWhenPresent("sign_id", row::getSign_id) + .map(company_id).toPropertyWhenPresent("company_id", row::getCompany_id) + .map(company_name).toPropertyWhenPresent("company_name", row::getCompany_name) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2721507+08:00", comments="Source Table: public.sys_role") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, sysRole, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2721507+08:00", comments="Source Table: public.sys_role") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, sysRole, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2721507+08:00", comments="Source Table: public.sys_role") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, sysRole, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2721507+08:00", comments="Source Table: public.sys_role") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2721507+08:00", comments="Source Table: public.sys_role") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, sysRole, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2721507+08:00", comments="Source Table: public.sys_role") + static UpdateDSL updateAllColumns(SysRole row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(rolename).equalTo(row::getRolename) + .set(describe).equalTo(row::getDescribe) + .set(sort).equalTo(row::getSort) + .set(is_open).equalTo(row::getIs_open) + .set(sign_name).equalTo(row::getSign_name) + .set(sign_id).equalTo(row::getSign_id) + .set(company_id).equalTo(row::getCompany_id) + .set(company_name).equalTo(row::getCompany_name); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2721507+08:00", comments="Source Table: public.sys_role") + static UpdateDSL updateSelectiveColumns(SysRole row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(rolename).equalToWhenPresent(row::getRolename) + .set(describe).equalToWhenPresent(row::getDescribe) + .set(sort).equalToWhenPresent(row::getSort) + .set(is_open).equalToWhenPresent(row::getIs_open) + .set(sign_name).equalToWhenPresent(row::getSign_name) + .set(sign_id).equalToWhenPresent(row::getSign_id) + .set(company_id).equalToWhenPresent(row::getCompany_id) + .set(company_name).equalToWhenPresent(row::getCompany_name); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2721507+08:00", comments="Source Table: public.sys_role") + default int updateByPrimaryKey(SysRole row) { + return update(c -> + c.set(rolename).equalTo(row::getRolename) + .set(describe).equalTo(row::getDescribe) + .set(sort).equalTo(row::getSort) + .set(is_open).equalTo(row::getIs_open) + .set(sign_name).equalTo(row::getSign_name) + .set(sign_id).equalTo(row::getSign_id) + .set(company_id).equalTo(row::getCompany_id) + .set(company_name).equalTo(row::getCompany_name) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2721507+08:00", comments="Source Table: public.sys_role") + default int updateByPrimaryKeySelective(SysRole row) { + return update(c -> + c.set(rolename).equalToWhenPresent(row::getRolename) + .set(describe).equalToWhenPresent(row::getDescribe) + .set(sort).equalToWhenPresent(row::getSort) + .set(is_open).equalToWhenPresent(row::getIs_open) + .set(sign_name).equalToWhenPresent(row::getSign_name) + .set(sign_id).equalToWhenPresent(row::getSign_id) + .set(company_id).equalToWhenPresent(row::getCompany_id) + .set(company_name).equalToWhenPresent(row::getCompany_name) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysRoleMenuMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysRoleMenuMapper.java new file mode 100644 index 0000000..d7c9453 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysRoleMenuMapper.java @@ -0,0 +1,153 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.SysRoleMenuDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.SysRoleMenu; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface SysRoleMenuMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2901497+08:00", comments="Source Table: public.sys_role_menu") + BasicColumn[] selectList = BasicColumn.columnList(id, roleid, menuid); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2901497+08:00", comments="Source Table: public.sys_role_menu") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="SysRoleMenuResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="roleid", property="roleid", jdbcType=JdbcType.VARCHAR), + @Result(column="menuid", property="menuid", jdbcType=JdbcType.VARCHAR) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2901497+08:00", comments="Source Table: public.sys_role_menu") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("SysRoleMenuResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2901497+08:00", comments="Source Table: public.sys_role_menu") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, sysRoleMenu, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2901497+08:00", comments="Source Table: public.sys_role_menu") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, sysRoleMenu, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2901497+08:00", comments="Source Table: public.sys_role_menu") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2901497+08:00", comments="Source Table: public.sys_role_menu") + default int insert(SysRoleMenu row) { + return MyBatis3Utils.insert(this::insert, row, sysRoleMenu, c -> + c.map(id).toProperty("id") + .map(roleid).toProperty("roleid") + .map(menuid).toProperty("menuid") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2901497+08:00", comments="Source Table: public.sys_role_menu") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, sysRoleMenu, c -> + c.map(id).toProperty("id") + .map(roleid).toProperty("roleid") + .map(menuid).toProperty("menuid") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2901497+08:00", comments="Source Table: public.sys_role_menu") + default int insertSelective(SysRoleMenu row) { + return MyBatis3Utils.insert(this::insert, row, sysRoleMenu, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(roleid).toPropertyWhenPresent("roleid", row::getRoleid) + .map(menuid).toPropertyWhenPresent("menuid", row::getMenuid) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.291149+08:00", comments="Source Table: public.sys_role_menu") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, sysRoleMenu, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.291149+08:00", comments="Source Table: public.sys_role_menu") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, sysRoleMenu, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.291149+08:00", comments="Source Table: public.sys_role_menu") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, sysRoleMenu, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.291149+08:00", comments="Source Table: public.sys_role_menu") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.291149+08:00", comments="Source Table: public.sys_role_menu") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, sysRoleMenu, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.291149+08:00", comments="Source Table: public.sys_role_menu") + static UpdateDSL updateAllColumns(SysRoleMenu row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(roleid).equalTo(row::getRoleid) + .set(menuid).equalTo(row::getMenuid); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.291149+08:00", comments="Source Table: public.sys_role_menu") + static UpdateDSL updateSelectiveColumns(SysRoleMenu row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(roleid).equalToWhenPresent(row::getRoleid) + .set(menuid).equalToWhenPresent(row::getMenuid); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.291149+08:00", comments="Source Table: public.sys_role_menu") + default int updateByPrimaryKey(SysRoleMenu row) { + return update(c -> + c.set(roleid).equalTo(row::getRoleid) + .set(menuid).equalTo(row::getMenuid) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.291149+08:00", comments="Source Table: public.sys_role_menu") + default int updateByPrimaryKeySelective(SysRoleMenu row) { + return update(c -> + c.set(roleid).equalToWhenPresent(row::getRoleid) + .set(menuid).equalToWhenPresent(row::getMenuid) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysRoleSignMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysRoleSignMapper.java new file mode 100644 index 0000000..3e8f727 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysRoleSignMapper.java @@ -0,0 +1,153 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.SysRoleSignDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.SysRoleSign; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface SysRoleSignMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.300152+08:00", comments="Source Table: public.sys_role_sign") + BasicColumn[] selectList = BasicColumn.columnList(id, sign_name, sign_code); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.300152+08:00", comments="Source Table: public.sys_role_sign") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="SysRoleSignResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="sign_name", property="sign_name", jdbcType=JdbcType.VARCHAR), + @Result(column="sign_code", property="sign_code", jdbcType=JdbcType.VARCHAR) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.300152+08:00", comments="Source Table: public.sys_role_sign") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("SysRoleSignResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.300152+08:00", comments="Source Table: public.sys_role_sign") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, sysRoleSign, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.300152+08:00", comments="Source Table: public.sys_role_sign") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, sysRoleSign, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.300152+08:00", comments="Source Table: public.sys_role_sign") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.300152+08:00", comments="Source Table: public.sys_role_sign") + default int insert(SysRoleSign row) { + return MyBatis3Utils.insert(this::insert, row, sysRoleSign, c -> + c.map(id).toProperty("id") + .map(sign_name).toProperty("sign_name") + .map(sign_code).toProperty("sign_code") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.300152+08:00", comments="Source Table: public.sys_role_sign") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, sysRoleSign, c -> + c.map(id).toProperty("id") + .map(sign_name).toProperty("sign_name") + .map(sign_code).toProperty("sign_code") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.300152+08:00", comments="Source Table: public.sys_role_sign") + default int insertSelective(SysRoleSign row) { + return MyBatis3Utils.insert(this::insert, row, sysRoleSign, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(sign_name).toPropertyWhenPresent("sign_name", row::getSign_name) + .map(sign_code).toPropertyWhenPresent("sign_code", row::getSign_code) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.300152+08:00", comments="Source Table: public.sys_role_sign") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, sysRoleSign, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.300152+08:00", comments="Source Table: public.sys_role_sign") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, sysRoleSign, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.300152+08:00", comments="Source Table: public.sys_role_sign") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, sysRoleSign, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.300152+08:00", comments="Source Table: public.sys_role_sign") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.300152+08:00", comments="Source Table: public.sys_role_sign") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, sysRoleSign, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source Table: public.sys_role_sign") + static UpdateDSL updateAllColumns(SysRoleSign row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(sign_name).equalTo(row::getSign_name) + .set(sign_code).equalTo(row::getSign_code); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source Table: public.sys_role_sign") + static UpdateDSL updateSelectiveColumns(SysRoleSign row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(sign_name).equalToWhenPresent(row::getSign_name) + .set(sign_code).equalToWhenPresent(row::getSign_code); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source Table: public.sys_role_sign") + default int updateByPrimaryKey(SysRoleSign row) { + return update(c -> + c.set(sign_name).equalTo(row::getSign_name) + .set(sign_code).equalTo(row::getSign_code) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source Table: public.sys_role_sign") + default int updateByPrimaryKeySelective(SysRoleSign row) { + return update(c -> + c.set(sign_name).equalToWhenPresent(row::getSign_name) + .set(sign_code).equalToWhenPresent(row::getSign_code) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysRoleUrlMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysRoleUrlMapper.java new file mode 100644 index 0000000..b3ba4bb --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysRoleUrlMapper.java @@ -0,0 +1,161 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.SysRoleUrlDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.SysRoleUrl; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface SysRoleUrlMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3241506+08:00", comments="Source Table: public.sys_role_url") + BasicColumn[] selectList = BasicColumn.columnList(id, roleid, url, urltypes); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3231506+08:00", comments="Source Table: public.sys_role_url") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="SysRoleUrlResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="roleid", property="roleid", jdbcType=JdbcType.VARCHAR), + @Result(column="url", property="url", jdbcType=JdbcType.VARCHAR), + @Result(column="urltypes", property="urltypes", jdbcType=JdbcType.INTEGER) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3231506+08:00", comments="Source Table: public.sys_role_url") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("SysRoleUrlResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3231506+08:00", comments="Source Table: public.sys_role_url") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, sysRoleUrl, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3231506+08:00", comments="Source Table: public.sys_role_url") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, sysRoleUrl, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3231506+08:00", comments="Source Table: public.sys_role_url") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3231506+08:00", comments="Source Table: public.sys_role_url") + default int insert(SysRoleUrl row) { + return MyBatis3Utils.insert(this::insert, row, sysRoleUrl, c -> + c.map(id).toProperty("id") + .map(roleid).toProperty("roleid") + .map(url).toProperty("url") + .map(urltypes).toProperty("urltypes") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3231506+08:00", comments="Source Table: public.sys_role_url") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, sysRoleUrl, c -> + c.map(id).toProperty("id") + .map(roleid).toProperty("roleid") + .map(url).toProperty("url") + .map(urltypes).toProperty("urltypes") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3231506+08:00", comments="Source Table: public.sys_role_url") + default int insertSelective(SysRoleUrl row) { + return MyBatis3Utils.insert(this::insert, row, sysRoleUrl, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(roleid).toPropertyWhenPresent("roleid", row::getRoleid) + .map(url).toPropertyWhenPresent("url", row::getUrl) + .map(urltypes).toPropertyWhenPresent("urltypes", row::getUrltypes) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3241506+08:00", comments="Source Table: public.sys_role_url") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, sysRoleUrl, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3241506+08:00", comments="Source Table: public.sys_role_url") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, sysRoleUrl, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3241506+08:00", comments="Source Table: public.sys_role_url") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, sysRoleUrl, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3241506+08:00", comments="Source Table: public.sys_role_url") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3241506+08:00", comments="Source Table: public.sys_role_url") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, sysRoleUrl, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3241506+08:00", comments="Source Table: public.sys_role_url") + static UpdateDSL updateAllColumns(SysRoleUrl row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(roleid).equalTo(row::getRoleid) + .set(url).equalTo(row::getUrl) + .set(urltypes).equalTo(row::getUrltypes); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3241506+08:00", comments="Source Table: public.sys_role_url") + static UpdateDSL updateSelectiveColumns(SysRoleUrl row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(roleid).equalToWhenPresent(row::getRoleid) + .set(url).equalToWhenPresent(row::getUrl) + .set(urltypes).equalToWhenPresent(row::getUrltypes); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3241506+08:00", comments="Source Table: public.sys_role_url") + default int updateByPrimaryKey(SysRoleUrl row) { + return update(c -> + c.set(roleid).equalTo(row::getRoleid) + .set(url).equalTo(row::getUrl) + .set(urltypes).equalTo(row::getUrltypes) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3241506+08:00", comments="Source Table: public.sys_role_url") + default int updateByPrimaryKeySelective(SysRoleUrl row) { + return update(c -> + c.set(roleid).equalToWhenPresent(row::getRoleid) + .set(url).equalToWhenPresent(row::getUrl) + .set(urltypes).equalToWhenPresent(row::getUrltypes) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysUrlsMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysUrlsMapper.java new file mode 100644 index 0000000..1fb8a42 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/SysUrlsMapper.java @@ -0,0 +1,185 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.SysUrlsDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.SysUrls; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface SysUrlsMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source Table: public.sys_urls") + BasicColumn[] selectList = BasicColumn.columnList(id, pid, types, level, url, name, method); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source Table: public.sys_urls") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="SysUrlsResult", value = { + @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="pid", property="pid", jdbcType=JdbcType.VARCHAR), + @Result(column="types", property="types", jdbcType=JdbcType.INTEGER), + @Result(column="level", property="level", jdbcType=JdbcType.INTEGER), + @Result(column="url", property="url", jdbcType=JdbcType.VARCHAR), + @Result(column="name", property="name", jdbcType=JdbcType.VARCHAR), + @Result(column="method", property="method", jdbcType=JdbcType.VARCHAR) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source Table: public.sys_urls") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("SysUrlsResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source Table: public.sys_urls") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, sysUrls, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source Table: public.sys_urls") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, sysUrls, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source Table: public.sys_urls") + default int deleteByPrimaryKey(String id_) { + return delete(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source Table: public.sys_urls") + default int insert(SysUrls row) { + return MyBatis3Utils.insert(this::insert, row, sysUrls, c -> + c.map(id).toProperty("id") + .map(pid).toProperty("pid") + .map(types).toProperty("types") + .map(level).toProperty("level") + .map(url).toProperty("url") + .map(name).toProperty("name") + .map(method).toProperty("method") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source Table: public.sys_urls") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, sysUrls, c -> + c.map(id).toProperty("id") + .map(pid).toProperty("pid") + .map(types).toProperty("types") + .map(level).toProperty("level") + .map(url).toProperty("url") + .map(name).toProperty("name") + .map(method).toProperty("method") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source Table: public.sys_urls") + default int insertSelective(SysUrls row) { + return MyBatis3Utils.insert(this::insert, row, sysUrls, c -> + c.map(id).toPropertyWhenPresent("id", row::getId) + .map(pid).toPropertyWhenPresent("pid", row::getPid) + .map(types).toPropertyWhenPresent("types", row::getTypes) + .map(level).toPropertyWhenPresent("level", row::getLevel) + .map(url).toPropertyWhenPresent("url", row::getUrl) + .map(name).toPropertyWhenPresent("name", row::getName) + .map(method).toPropertyWhenPresent("method", row::getMethod) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source Table: public.sys_urls") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, sysUrls, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source Table: public.sys_urls") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, sysUrls, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source Table: public.sys_urls") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, sysUrls, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source Table: public.sys_urls") + default Optional selectByPrimaryKey(String id_) { + return selectOne(c -> + c.where(id, isEqualTo(id_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source Table: public.sys_urls") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, sysUrls, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source Table: public.sys_urls") + static UpdateDSL updateAllColumns(SysUrls row, UpdateDSL dsl) { + return dsl.set(id).equalTo(row::getId) + .set(pid).equalTo(row::getPid) + .set(types).equalTo(row::getTypes) + .set(level).equalTo(row::getLevel) + .set(url).equalTo(row::getUrl) + .set(name).equalTo(row::getName) + .set(method).equalTo(row::getMethod); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source Table: public.sys_urls") + static UpdateDSL updateSelectiveColumns(SysUrls row, UpdateDSL dsl) { + return dsl.set(id).equalToWhenPresent(row::getId) + .set(pid).equalToWhenPresent(row::getPid) + .set(types).equalToWhenPresent(row::getTypes) + .set(level).equalToWhenPresent(row::getLevel) + .set(url).equalToWhenPresent(row::getUrl) + .set(name).equalToWhenPresent(row::getName) + .set(method).equalToWhenPresent(row::getMethod); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source Table: public.sys_urls") + default int updateByPrimaryKey(SysUrls row) { + return update(c -> + c.set(pid).equalTo(row::getPid) + .set(types).equalTo(row::getTypes) + .set(level).equalTo(row::getLevel) + .set(url).equalTo(row::getUrl) + .set(name).equalTo(row::getName) + .set(method).equalTo(row::getMethod) + .where(id, isEqualTo(row::getId)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source Table: public.sys_urls") + default int updateByPrimaryKeySelective(SysUrls row) { + return update(c -> + c.set(pid).equalToWhenPresent(row::getPid) + .set(types).equalToWhenPresent(row::getTypes) + .set(level).equalToWhenPresent(row::getLevel) + .set(url).equalToWhenPresent(row::getUrl) + .set(name).equalToWhenPresent(row::getName) + .set(method).equalToWhenPresent(row::getMethod) + .where(id, isEqualTo(row::getId)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/WbDirectoryFileMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/WbDirectoryFileMapper.java new file mode 100644 index 0000000..eb2f23f --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/WbDirectoryFileMapper.java @@ -0,0 +1,297 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.WbDirectoryFileDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.WbDirectoryFile; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface WbDirectoryFileMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6330132+08:00", comments="Source Table: public.wb_directory_file") + BasicColumn[] selectList = BasicColumn.columnList(kid, sortID, fileSuper, fileCount, dutyPerson, eWeaveDate, filePage, sortOrder, bPeg, ePeg, fileNum, remark, recordNum, pieceNumber, addDate, editDate, time_stamp, isDel, catalogPdfURL, signTag, collectTag); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6330132+08:00", comments="Source Table: public.wb_directory_file") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="WbDirectoryFileResult", value = { + @Result(column="kid", property="kid", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="sortID", property="sortID", jdbcType=JdbcType.VARCHAR), + @Result(column="fileSuper", property="fileSuper", jdbcType=JdbcType.VARCHAR), + @Result(column="fileCount", property="fileCount", jdbcType=JdbcType.INTEGER), + @Result(column="dutyPerson", property="dutyPerson", jdbcType=JdbcType.VARCHAR), + @Result(column="eWeaveDate", property="eWeaveDate", jdbcType=JdbcType.VARCHAR), + @Result(column="filePage", property="filePage", jdbcType=JdbcType.INTEGER), + @Result(column="sortOrder", property="sortOrder", jdbcType=JdbcType.VARCHAR), + @Result(column="bPeg", property="bPeg", jdbcType=JdbcType.VARCHAR), + @Result(column="ePeg", property="ePeg", jdbcType=JdbcType.VARCHAR), + @Result(column="fileNum", property="fileNum", jdbcType=JdbcType.VARCHAR), + @Result(column="remark", property="remark", jdbcType=JdbcType.VARCHAR), + @Result(column="recordNum", property="recordNum", jdbcType=JdbcType.VARCHAR), + @Result(column="pieceNumber", property="pieceNumber", jdbcType=JdbcType.VARCHAR), + @Result(column="addDate", property="addDate", jdbcType=JdbcType.VARCHAR), + @Result(column="editDate", property="editDate", jdbcType=JdbcType.VARCHAR), + @Result(column="time_stamp", property="time_stamp", jdbcType=JdbcType.VARCHAR), + @Result(column="isDel", property="isDel", jdbcType=JdbcType.INTEGER), + @Result(column="catalogPdfURL", property="catalogPdfURL", jdbcType=JdbcType.VARCHAR), + @Result(column="signTag", property="signTag", jdbcType=JdbcType.VARCHAR), + @Result(column="collectTag", property="collectTag", jdbcType=JdbcType.VARCHAR) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6330132+08:00", comments="Source Table: public.wb_directory_file") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("WbDirectoryFileResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6330132+08:00", comments="Source Table: public.wb_directory_file") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, wbDirectoryFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6330132+08:00", comments="Source Table: public.wb_directory_file") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, wbDirectoryFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6330132+08:00", comments="Source Table: public.wb_directory_file") + default int deleteByPrimaryKey(String kid_) { + return delete(c -> + c.where(kid, isEqualTo(kid_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6330132+08:00", comments="Source Table: public.wb_directory_file") + default int insert(WbDirectoryFile row) { + return MyBatis3Utils.insert(this::insert, row, wbDirectoryFile, c -> + c.map(kid).toProperty("kid") + .map(sortID).toProperty("sortID") + .map(fileSuper).toProperty("fileSuper") + .map(fileCount).toProperty("fileCount") + .map(dutyPerson).toProperty("dutyPerson") + .map(eWeaveDate).toProperty("eWeaveDate") + .map(filePage).toProperty("filePage") + .map(sortOrder).toProperty("sortOrder") + .map(bPeg).toProperty("bPeg") + .map(ePeg).toProperty("ePeg") + .map(fileNum).toProperty("fileNum") + .map(remark).toProperty("remark") + .map(recordNum).toProperty("recordNum") + .map(pieceNumber).toProperty("pieceNumber") + .map(addDate).toProperty("addDate") + .map(editDate).toProperty("editDate") + .map(time_stamp).toProperty("time_stamp") + .map(isDel).toProperty("isDel") + .map(catalogPdfURL).toProperty("catalogPdfURL") + .map(signTag).toProperty("signTag") + .map(collectTag).toProperty("collectTag") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6330132+08:00", comments="Source Table: public.wb_directory_file") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, wbDirectoryFile, c -> + c.map(kid).toProperty("kid") + .map(sortID).toProperty("sortID") + .map(fileSuper).toProperty("fileSuper") + .map(fileCount).toProperty("fileCount") + .map(dutyPerson).toProperty("dutyPerson") + .map(eWeaveDate).toProperty("eWeaveDate") + .map(filePage).toProperty("filePage") + .map(sortOrder).toProperty("sortOrder") + .map(bPeg).toProperty("bPeg") + .map(ePeg).toProperty("ePeg") + .map(fileNum).toProperty("fileNum") + .map(remark).toProperty("remark") + .map(recordNum).toProperty("recordNum") + .map(pieceNumber).toProperty("pieceNumber") + .map(addDate).toProperty("addDate") + .map(editDate).toProperty("editDate") + .map(time_stamp).toProperty("time_stamp") + .map(isDel).toProperty("isDel") + .map(catalogPdfURL).toProperty("catalogPdfURL") + .map(signTag).toProperty("signTag") + .map(collectTag).toProperty("collectTag") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6330132+08:00", comments="Source Table: public.wb_directory_file") + default int insertSelective(WbDirectoryFile row) { + return MyBatis3Utils.insert(this::insert, row, wbDirectoryFile, c -> + c.map(kid).toPropertyWhenPresent("kid", row::getKid) + .map(sortID).toPropertyWhenPresent("sortID", row::getSortID) + .map(fileSuper).toPropertyWhenPresent("fileSuper", row::getFileSuper) + .map(fileCount).toPropertyWhenPresent("fileCount", row::getFileCount) + .map(dutyPerson).toPropertyWhenPresent("dutyPerson", row::getDutyPerson) + .map(eWeaveDate).toPropertyWhenPresent("eWeaveDate", row::geteWeaveDate) + .map(filePage).toPropertyWhenPresent("filePage", row::getFilePage) + .map(sortOrder).toPropertyWhenPresent("sortOrder", row::getSortOrder) + .map(bPeg).toPropertyWhenPresent("bPeg", row::getbPeg) + .map(ePeg).toPropertyWhenPresent("ePeg", row::getePeg) + .map(fileNum).toPropertyWhenPresent("fileNum", row::getFileNum) + .map(remark).toPropertyWhenPresent("remark", row::getRemark) + .map(recordNum).toPropertyWhenPresent("recordNum", row::getRecordNum) + .map(pieceNumber).toPropertyWhenPresent("pieceNumber", row::getPieceNumber) + .map(addDate).toPropertyWhenPresent("addDate", row::getAddDate) + .map(editDate).toPropertyWhenPresent("editDate", row::getEditDate) + .map(time_stamp).toPropertyWhenPresent("time_stamp", row::getTime_stamp) + .map(isDel).toPropertyWhenPresent("isDel", row::getIsDel) + .map(catalogPdfURL).toPropertyWhenPresent("catalogPdfURL", row::getCatalogPdfURL) + .map(signTag).toPropertyWhenPresent("signTag", row::getSignTag) + .map(collectTag).toPropertyWhenPresent("collectTag", row::getCollectTag) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6330132+08:00", comments="Source Table: public.wb_directory_file") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, wbDirectoryFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6330132+08:00", comments="Source Table: public.wb_directory_file") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, wbDirectoryFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6340135+08:00", comments="Source Table: public.wb_directory_file") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, wbDirectoryFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6340135+08:00", comments="Source Table: public.wb_directory_file") + default Optional selectByPrimaryKey(String kid_) { + return selectOne(c -> + c.where(kid, isEqualTo(kid_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6340135+08:00", comments="Source Table: public.wb_directory_file") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, wbDirectoryFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6340135+08:00", comments="Source Table: public.wb_directory_file") + static UpdateDSL updateAllColumns(WbDirectoryFile row, UpdateDSL dsl) { + return dsl.set(kid).equalTo(row::getKid) + .set(sortID).equalTo(row::getSortID) + .set(fileSuper).equalTo(row::getFileSuper) + .set(fileCount).equalTo(row::getFileCount) + .set(dutyPerson).equalTo(row::getDutyPerson) + .set(eWeaveDate).equalTo(row::geteWeaveDate) + .set(filePage).equalTo(row::getFilePage) + .set(sortOrder).equalTo(row::getSortOrder) + .set(bPeg).equalTo(row::getbPeg) + .set(ePeg).equalTo(row::getePeg) + .set(fileNum).equalTo(row::getFileNum) + .set(remark).equalTo(row::getRemark) + .set(recordNum).equalTo(row::getRecordNum) + .set(pieceNumber).equalTo(row::getPieceNumber) + .set(addDate).equalTo(row::getAddDate) + .set(editDate).equalTo(row::getEditDate) + .set(time_stamp).equalTo(row::getTime_stamp) + .set(isDel).equalTo(row::getIsDel) + .set(catalogPdfURL).equalTo(row::getCatalogPdfURL) + .set(signTag).equalTo(row::getSignTag) + .set(collectTag).equalTo(row::getCollectTag); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6340135+08:00", comments="Source Table: public.wb_directory_file") + static UpdateDSL updateSelectiveColumns(WbDirectoryFile row, UpdateDSL dsl) { + return dsl.set(kid).equalToWhenPresent(row::getKid) + .set(sortID).equalToWhenPresent(row::getSortID) + .set(fileSuper).equalToWhenPresent(row::getFileSuper) + .set(fileCount).equalToWhenPresent(row::getFileCount) + .set(dutyPerson).equalToWhenPresent(row::getDutyPerson) + .set(eWeaveDate).equalToWhenPresent(row::geteWeaveDate) + .set(filePage).equalToWhenPresent(row::getFilePage) + .set(sortOrder).equalToWhenPresent(row::getSortOrder) + .set(bPeg).equalToWhenPresent(row::getbPeg) + .set(ePeg).equalToWhenPresent(row::getePeg) + .set(fileNum).equalToWhenPresent(row::getFileNum) + .set(remark).equalToWhenPresent(row::getRemark) + .set(recordNum).equalToWhenPresent(row::getRecordNum) + .set(pieceNumber).equalToWhenPresent(row::getPieceNumber) + .set(addDate).equalToWhenPresent(row::getAddDate) + .set(editDate).equalToWhenPresent(row::getEditDate) + .set(time_stamp).equalToWhenPresent(row::getTime_stamp) + .set(isDel).equalToWhenPresent(row::getIsDel) + .set(catalogPdfURL).equalToWhenPresent(row::getCatalogPdfURL) + .set(signTag).equalToWhenPresent(row::getSignTag) + .set(collectTag).equalToWhenPresent(row::getCollectTag); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6340135+08:00", comments="Source Table: public.wb_directory_file") + default int updateByPrimaryKey(WbDirectoryFile row) { + return update(c -> + c.set(sortID).equalTo(row::getSortID) + .set(fileSuper).equalTo(row::getFileSuper) + .set(fileCount).equalTo(row::getFileCount) + .set(dutyPerson).equalTo(row::getDutyPerson) + .set(eWeaveDate).equalTo(row::geteWeaveDate) + .set(filePage).equalTo(row::getFilePage) + .set(sortOrder).equalTo(row::getSortOrder) + .set(bPeg).equalTo(row::getbPeg) + .set(ePeg).equalTo(row::getePeg) + .set(fileNum).equalTo(row::getFileNum) + .set(remark).equalTo(row::getRemark) + .set(recordNum).equalTo(row::getRecordNum) + .set(pieceNumber).equalTo(row::getPieceNumber) + .set(addDate).equalTo(row::getAddDate) + .set(editDate).equalTo(row::getEditDate) + .set(time_stamp).equalTo(row::getTime_stamp) + .set(isDel).equalTo(row::getIsDel) + .set(catalogPdfURL).equalTo(row::getCatalogPdfURL) + .set(signTag).equalTo(row::getSignTag) + .set(collectTag).equalTo(row::getCollectTag) + .where(kid, isEqualTo(row::getKid)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6340135+08:00", comments="Source Table: public.wb_directory_file") + default int updateByPrimaryKeySelective(WbDirectoryFile row) { + return update(c -> + c.set(sortID).equalToWhenPresent(row::getSortID) + .set(fileSuper).equalToWhenPresent(row::getFileSuper) + .set(fileCount).equalToWhenPresent(row::getFileCount) + .set(dutyPerson).equalToWhenPresent(row::getDutyPerson) + .set(eWeaveDate).equalToWhenPresent(row::geteWeaveDate) + .set(filePage).equalToWhenPresent(row::getFilePage) + .set(sortOrder).equalToWhenPresent(row::getSortOrder) + .set(bPeg).equalToWhenPresent(row::getbPeg) + .set(ePeg).equalToWhenPresent(row::getePeg) + .set(fileNum).equalToWhenPresent(row::getFileNum) + .set(remark).equalToWhenPresent(row::getRemark) + .set(recordNum).equalToWhenPresent(row::getRecordNum) + .set(pieceNumber).equalToWhenPresent(row::getPieceNumber) + .set(addDate).equalToWhenPresent(row::getAddDate) + .set(editDate).equalToWhenPresent(row::getEditDate) + .set(time_stamp).equalToWhenPresent(row::getTime_stamp) + .set(isDel).equalToWhenPresent(row::getIsDel) + .set(catalogPdfURL).equalToWhenPresent(row::getCatalogPdfURL) + .set(signTag).equalToWhenPresent(row::getSignTag) + .set(collectTag).equalToWhenPresent(row::getCollectTag) + .where(kid, isEqualTo(row::getKid)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/WbDirectoryMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/WbDirectoryMapper.java new file mode 100644 index 0000000..6bdf8a8 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/WbDirectoryMapper.java @@ -0,0 +1,193 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.WbDirectoryDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.WbDirectory; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface WbDirectoryMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6361484+08:00", comments="Source Table: public.wb_directory") + BasicColumn[] selectList = BasicColumn.columnList(kid, parentID, time_stamp, sortOrder, tname, subjoin, isdel, wbs_id); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6350131+08:00", comments="Source Table: public.wb_directory") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="WbDirectoryResult", value = { + @Result(column="kid", property="kid", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="parentID", property="parentID", jdbcType=JdbcType.VARCHAR), + @Result(column="time_stamp", property="time_stamp", jdbcType=JdbcType.VARCHAR), + @Result(column="sortOrder", property="sortOrder", jdbcType=JdbcType.INTEGER), + @Result(column="tname", property="tname", jdbcType=JdbcType.VARCHAR), + @Result(column="subjoin", property="subjoin", jdbcType=JdbcType.INTEGER), + @Result(column="isdel", property="isdel", jdbcType=JdbcType.INTEGER), + @Result(column="wbs_id", property="wbs_id", jdbcType=JdbcType.INTEGER) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6350131+08:00", comments="Source Table: public.wb_directory") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("WbDirectoryResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6350131+08:00", comments="Source Table: public.wb_directory") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, wbDirectory, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6350131+08:00", comments="Source Table: public.wb_directory") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, wbDirectory, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6350131+08:00", comments="Source Table: public.wb_directory") + default int deleteByPrimaryKey(String kid_) { + return delete(c -> + c.where(kid, isEqualTo(kid_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6350131+08:00", comments="Source Table: public.wb_directory") + default int insert(WbDirectory row) { + return MyBatis3Utils.insert(this::insert, row, wbDirectory, c -> + c.map(kid).toProperty("kid") + .map(parentID).toProperty("parentID") + .map(time_stamp).toProperty("time_stamp") + .map(sortOrder).toProperty("sortOrder") + .map(tname).toProperty("tname") + .map(subjoin).toProperty("subjoin") + .map(isdel).toProperty("isdel") + .map(wbs_id).toProperty("wbs_id") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6361484+08:00", comments="Source Table: public.wb_directory") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, wbDirectory, c -> + c.map(kid).toProperty("kid") + .map(parentID).toProperty("parentID") + .map(time_stamp).toProperty("time_stamp") + .map(sortOrder).toProperty("sortOrder") + .map(tname).toProperty("tname") + .map(subjoin).toProperty("subjoin") + .map(isdel).toProperty("isdel") + .map(wbs_id).toProperty("wbs_id") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6361484+08:00", comments="Source Table: public.wb_directory") + default int insertSelective(WbDirectory row) { + return MyBatis3Utils.insert(this::insert, row, wbDirectory, c -> + c.map(kid).toPropertyWhenPresent("kid", row::getKid) + .map(parentID).toPropertyWhenPresent("parentID", row::getParentID) + .map(time_stamp).toPropertyWhenPresent("time_stamp", row::getTime_stamp) + .map(sortOrder).toPropertyWhenPresent("sortOrder", row::getSortOrder) + .map(tname).toPropertyWhenPresent("tname", row::getTname) + .map(subjoin).toPropertyWhenPresent("subjoin", row::getSubjoin) + .map(isdel).toPropertyWhenPresent("isdel", row::getIsdel) + .map(wbs_id).toPropertyWhenPresent("wbs_id", row::getWbs_id) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6361484+08:00", comments="Source Table: public.wb_directory") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, wbDirectory, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6361484+08:00", comments="Source Table: public.wb_directory") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, wbDirectory, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6361484+08:00", comments="Source Table: public.wb_directory") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, wbDirectory, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6361484+08:00", comments="Source Table: public.wb_directory") + default Optional selectByPrimaryKey(String kid_) { + return selectOne(c -> + c.where(kid, isEqualTo(kid_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6361484+08:00", comments="Source Table: public.wb_directory") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, wbDirectory, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6361484+08:00", comments="Source Table: public.wb_directory") + static UpdateDSL updateAllColumns(WbDirectory row, UpdateDSL dsl) { + return dsl.set(kid).equalTo(row::getKid) + .set(parentID).equalTo(row::getParentID) + .set(time_stamp).equalTo(row::getTime_stamp) + .set(sortOrder).equalTo(row::getSortOrder) + .set(tname).equalTo(row::getTname) + .set(subjoin).equalTo(row::getSubjoin) + .set(isdel).equalTo(row::getIsdel) + .set(wbs_id).equalTo(row::getWbs_id); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6361484+08:00", comments="Source Table: public.wb_directory") + static UpdateDSL updateSelectiveColumns(WbDirectory row, UpdateDSL dsl) { + return dsl.set(kid).equalToWhenPresent(row::getKid) + .set(parentID).equalToWhenPresent(row::getParentID) + .set(time_stamp).equalToWhenPresent(row::getTime_stamp) + .set(sortOrder).equalToWhenPresent(row::getSortOrder) + .set(tname).equalToWhenPresent(row::getTname) + .set(subjoin).equalToWhenPresent(row::getSubjoin) + .set(isdel).equalToWhenPresent(row::getIsdel) + .set(wbs_id).equalToWhenPresent(row::getWbs_id); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6361484+08:00", comments="Source Table: public.wb_directory") + default int updateByPrimaryKey(WbDirectory row) { + return update(c -> + c.set(parentID).equalTo(row::getParentID) + .set(time_stamp).equalTo(row::getTime_stamp) + .set(sortOrder).equalTo(row::getSortOrder) + .set(tname).equalTo(row::getTname) + .set(subjoin).equalTo(row::getSubjoin) + .set(isdel).equalTo(row::getIsdel) + .set(wbs_id).equalTo(row::getWbs_id) + .where(kid, isEqualTo(row::getKid)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6361484+08:00", comments="Source Table: public.wb_directory") + default int updateByPrimaryKeySelective(WbDirectory row) { + return update(c -> + c.set(parentID).equalToWhenPresent(row::getParentID) + .set(time_stamp).equalToWhenPresent(row::getTime_stamp) + .set(sortOrder).equalToWhenPresent(row::getSortOrder) + .set(tname).equalToWhenPresent(row::getTname) + .set(subjoin).equalToWhenPresent(row::getSubjoin) + .set(isdel).equalToWhenPresent(row::getIsdel) + .set(wbs_id).equalToWhenPresent(row::getWbs_id) + .where(kid, isEqualTo(row::getKid)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/WbFileMapper.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/WbFileMapper.java new file mode 100644 index 0000000..56d027d --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/WbFileMapper.java @@ -0,0 +1,265 @@ +package jj.tech.paolu.repository.mybatis.dao; + +import static jj.tech.paolu.repository.mybatis.dao.support.WbFileDynamicSqlSupport.*; +import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; + +import jakarta.annotation.Generated; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import jj.tech.paolu.repository.mybatis.entity.WbFile; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.dynamic.sql.BasicColumn; +import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter; +import org.mybatis.dynamic.sql.select.CountDSLCompleter; +import org.mybatis.dynamic.sql.select.SelectDSLCompleter; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; +import org.mybatis.dynamic.sql.update.UpdateDSL; +import org.mybatis.dynamic.sql.update.UpdateDSLCompleter; +import org.mybatis.dynamic.sql.update.UpdateModel; +import org.mybatis.dynamic.sql.util.SqlProviderAdapter; +import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper; +import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper; +import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils; + +@Mapper +public interface WbFileMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper, CommonUpdateMapper { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6218407+08:00", comments="Source Table: public.wb_file") + BasicColumn[] selectList = BasicColumn.columnList(kid, catalogID, tableName, annexName, projectName, eweaveDate, checkDate, annexPage, sortOrder, fileFrom, archivestag, addDate, editDate, time_stamp, isDel, downURL, filesize); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6138244+08:00", comments="Source Table: public.wb_file") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @Results(id="WbFileResult", value = { + @Result(column="kid", property="kid", jdbcType=JdbcType.VARCHAR, id=true), + @Result(column="catalogID", property="catalogID", jdbcType=JdbcType.VARCHAR), + @Result(column="tableName", property="tableName", jdbcType=JdbcType.VARCHAR), + @Result(column="annexName", property="annexName", jdbcType=JdbcType.VARCHAR), + @Result(column="projectName", property="projectName", jdbcType=JdbcType.VARCHAR), + @Result(column="eweaveDate", property="eweaveDate", jdbcType=JdbcType.VARCHAR), + @Result(column="checkDate", property="checkDate", jdbcType=JdbcType.VARCHAR), + @Result(column="annexPage", property="annexPage", jdbcType=JdbcType.INTEGER), + @Result(column="sortOrder", property="sortOrder", jdbcType=JdbcType.VARCHAR), + @Result(column="fileFrom", property="fileFrom", jdbcType=JdbcType.VARCHAR), + @Result(column="archivestag", property="archivestag", jdbcType=JdbcType.VARCHAR), + @Result(column="addDate", property="addDate", jdbcType=JdbcType.VARCHAR), + @Result(column="editDate", property="editDate", jdbcType=JdbcType.VARCHAR), + @Result(column="time_stamp", property="time_stamp", jdbcType=JdbcType.VARCHAR), + @Result(column="isDel", property="isDel", jdbcType=JdbcType.INTEGER), + @Result(column="downURL", property="downURL", jdbcType=JdbcType.VARCHAR), + @Result(column="filesize", property="filesize", jdbcType=JdbcType.INTEGER) + }) + List selectMany(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6148503+08:00", comments="Source Table: public.wb_file") + @SelectProvider(type=SqlProviderAdapter.class, method="select") + @ResultMap("WbFileResult") + Optional selectOne(SelectStatementProvider selectStatement); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6160923+08:00", comments="Source Table: public.wb_file") + default long count(CountDSLCompleter completer) { + return MyBatis3Utils.countFrom(this::count, wbFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6160923+08:00", comments="Source Table: public.wb_file") + default int delete(DeleteDSLCompleter completer) { + return MyBatis3Utils.deleteFrom(this::delete, wbFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6160923+08:00", comments="Source Table: public.wb_file") + default int deleteByPrimaryKey(String kid_) { + return delete(c -> + c.where(kid, isEqualTo(kid_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.617095+08:00", comments="Source Table: public.wb_file") + default int insert(WbFile row) { + return MyBatis3Utils.insert(this::insert, row, wbFile, c -> + c.map(kid).toProperty("kid") + .map(catalogID).toProperty("catalogID") + .map(tableName).toProperty("tableName") + .map(annexName).toProperty("annexName") + .map(projectName).toProperty("projectName") + .map(eweaveDate).toProperty("eweaveDate") + .map(checkDate).toProperty("checkDate") + .map(annexPage).toProperty("annexPage") + .map(sortOrder).toProperty("sortOrder") + .map(fileFrom).toProperty("fileFrom") + .map(archivestag).toProperty("archivestag") + .map(addDate).toProperty("addDate") + .map(editDate).toProperty("editDate") + .map(time_stamp).toProperty("time_stamp") + .map(isDel).toProperty("isDel") + .map(downURL).toProperty("downURL") + .map(filesize).toProperty("filesize") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6196474+08:00", comments="Source Table: public.wb_file") + default int insertMultiple(Collection records) { + return MyBatis3Utils.insertMultiple(this::insertMultiple, records, wbFile, c -> + c.map(kid).toProperty("kid") + .map(catalogID).toProperty("catalogID") + .map(tableName).toProperty("tableName") + .map(annexName).toProperty("annexName") + .map(projectName).toProperty("projectName") + .map(eweaveDate).toProperty("eweaveDate") + .map(checkDate).toProperty("checkDate") + .map(annexPage).toProperty("annexPage") + .map(sortOrder).toProperty("sortOrder") + .map(fileFrom).toProperty("fileFrom") + .map(archivestag).toProperty("archivestag") + .map(addDate).toProperty("addDate") + .map(editDate).toProperty("editDate") + .map(time_stamp).toProperty("time_stamp") + .map(isDel).toProperty("isDel") + .map(downURL).toProperty("downURL") + .map(filesize).toProperty("filesize") + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6207111+08:00", comments="Source Table: public.wb_file") + default int insertSelective(WbFile row) { + return MyBatis3Utils.insert(this::insert, row, wbFile, c -> + c.map(kid).toPropertyWhenPresent("kid", row::getKid) + .map(catalogID).toPropertyWhenPresent("catalogID", row::getCatalogID) + .map(tableName).toPropertyWhenPresent("tableName", row::getTableName) + .map(annexName).toPropertyWhenPresent("annexName", row::getAnnexName) + .map(projectName).toPropertyWhenPresent("projectName", row::getProjectName) + .map(eweaveDate).toPropertyWhenPresent("eweaveDate", row::getEweaveDate) + .map(checkDate).toPropertyWhenPresent("checkDate", row::getCheckDate) + .map(annexPage).toPropertyWhenPresent("annexPage", row::getAnnexPage) + .map(sortOrder).toPropertyWhenPresent("sortOrder", row::getSortOrder) + .map(fileFrom).toPropertyWhenPresent("fileFrom", row::getFileFrom) + .map(archivestag).toPropertyWhenPresent("archivestag", row::getArchivestag) + .map(addDate).toPropertyWhenPresent("addDate", row::getAddDate) + .map(editDate).toPropertyWhenPresent("editDate", row::getEditDate) + .map(time_stamp).toPropertyWhenPresent("time_stamp", row::getTime_stamp) + .map(isDel).toPropertyWhenPresent("isDel", row::getIsDel) + .map(downURL).toPropertyWhenPresent("downURL", row::getDownURL) + .map(filesize).toPropertyWhenPresent("filesize", row::getFilesize) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6228401+08:00", comments="Source Table: public.wb_file") + default Optional selectOne(SelectDSLCompleter completer) { + return MyBatis3Utils.selectOne(this::selectOne, selectList, wbFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6228401+08:00", comments="Source Table: public.wb_file") + default List select(SelectDSLCompleter completer) { + return MyBatis3Utils.selectList(this::selectMany, selectList, wbFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6238402+08:00", comments="Source Table: public.wb_file") + default List selectDistinct(SelectDSLCompleter completer) { + return MyBatis3Utils.selectDistinct(this::selectMany, selectList, wbFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6238402+08:00", comments="Source Table: public.wb_file") + default Optional selectByPrimaryKey(String kid_) { + return selectOne(c -> + c.where(kid, isEqualTo(kid_)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6248402+08:00", comments="Source Table: public.wb_file") + default int update(UpdateDSLCompleter completer) { + return MyBatis3Utils.update(this::update, wbFile, completer); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6248402+08:00", comments="Source Table: public.wb_file") + static UpdateDSL updateAllColumns(WbFile row, UpdateDSL dsl) { + return dsl.set(kid).equalTo(row::getKid) + .set(catalogID).equalTo(row::getCatalogID) + .set(tableName).equalTo(row::getTableName) + .set(annexName).equalTo(row::getAnnexName) + .set(projectName).equalTo(row::getProjectName) + .set(eweaveDate).equalTo(row::getEweaveDate) + .set(checkDate).equalTo(row::getCheckDate) + .set(annexPage).equalTo(row::getAnnexPage) + .set(sortOrder).equalTo(row::getSortOrder) + .set(fileFrom).equalTo(row::getFileFrom) + .set(archivestag).equalTo(row::getArchivestag) + .set(addDate).equalTo(row::getAddDate) + .set(editDate).equalTo(row::getEditDate) + .set(time_stamp).equalTo(row::getTime_stamp) + .set(isDel).equalTo(row::getIsDel) + .set(downURL).equalTo(row::getDownURL) + .set(filesize).equalTo(row::getFilesize); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6259921+08:00", comments="Source Table: public.wb_file") + static UpdateDSL updateSelectiveColumns(WbFile row, UpdateDSL dsl) { + return dsl.set(kid).equalToWhenPresent(row::getKid) + .set(catalogID).equalToWhenPresent(row::getCatalogID) + .set(tableName).equalToWhenPresent(row::getTableName) + .set(annexName).equalToWhenPresent(row::getAnnexName) + .set(projectName).equalToWhenPresent(row::getProjectName) + .set(eweaveDate).equalToWhenPresent(row::getEweaveDate) + .set(checkDate).equalToWhenPresent(row::getCheckDate) + .set(annexPage).equalToWhenPresent(row::getAnnexPage) + .set(sortOrder).equalToWhenPresent(row::getSortOrder) + .set(fileFrom).equalToWhenPresent(row::getFileFrom) + .set(archivestag).equalToWhenPresent(row::getArchivestag) + .set(addDate).equalToWhenPresent(row::getAddDate) + .set(editDate).equalToWhenPresent(row::getEditDate) + .set(time_stamp).equalToWhenPresent(row::getTime_stamp) + .set(isDel).equalToWhenPresent(row::getIsDel) + .set(downURL).equalToWhenPresent(row::getDownURL) + .set(filesize).equalToWhenPresent(row::getFilesize); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6259921+08:00", comments="Source Table: public.wb_file") + default int updateByPrimaryKey(WbFile row) { + return update(c -> + c.set(catalogID).equalTo(row::getCatalogID) + .set(tableName).equalTo(row::getTableName) + .set(annexName).equalTo(row::getAnnexName) + .set(projectName).equalTo(row::getProjectName) + .set(eweaveDate).equalTo(row::getEweaveDate) + .set(checkDate).equalTo(row::getCheckDate) + .set(annexPage).equalTo(row::getAnnexPage) + .set(sortOrder).equalTo(row::getSortOrder) + .set(fileFrom).equalTo(row::getFileFrom) + .set(archivestag).equalTo(row::getArchivestag) + .set(addDate).equalTo(row::getAddDate) + .set(editDate).equalTo(row::getEditDate) + .set(time_stamp).equalTo(row::getTime_stamp) + .set(isDel).equalTo(row::getIsDel) + .set(downURL).equalTo(row::getDownURL) + .set(filesize).equalTo(row::getFilesize) + .where(kid, isEqualTo(row::getKid)) + ); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6272922+08:00", comments="Source Table: public.wb_file") + default int updateByPrimaryKeySelective(WbFile row) { + return update(c -> + c.set(catalogID).equalToWhenPresent(row::getCatalogID) + .set(tableName).equalToWhenPresent(row::getTableName) + .set(annexName).equalToWhenPresent(row::getAnnexName) + .set(projectName).equalToWhenPresent(row::getProjectName) + .set(eweaveDate).equalToWhenPresent(row::getEweaveDate) + .set(checkDate).equalToWhenPresent(row::getCheckDate) + .set(annexPage).equalToWhenPresent(row::getAnnexPage) + .set(sortOrder).equalToWhenPresent(row::getSortOrder) + .set(fileFrom).equalToWhenPresent(row::getFileFrom) + .set(archivestag).equalToWhenPresent(row::getArchivestag) + .set(addDate).equalToWhenPresent(row::getAddDate) + .set(editDate).equalToWhenPresent(row::getEditDate) + .set(time_stamp).equalToWhenPresent(row::getTime_stamp) + .set(isDel).equalToWhenPresent(row::getIsDel) + .set(downURL).equalToWhenPresent(row::getDownURL) + .set(filesize).equalToWhenPresent(row::getFilesize) + .where(kid, isEqualTo(row::getKid)) + ); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ArchiveSynLogDetailDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ArchiveSynLogDetailDynamicSqlSupport.java new file mode 100644 index 0000000..c81f8b6 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ArchiveSynLogDetailDynamicSqlSupport.java @@ -0,0 +1,49 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import java.time.LocalDateTime; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class ArchiveSynLogDetailDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6447124+08:00", comments="Source Table: public.archive_syn_log_detail") + public static final ArchiveSynLogDetail archiveSynLogDetail = new ArchiveSynLogDetail(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6457121+08:00", comments="Source field: public.archive_syn_log_detail.id") + public static final SqlColumn id = archiveSynLogDetail.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6467116+08:00", comments="Source field: public.archive_syn_log_detail.node_id") + public static final SqlColumn node_id = archiveSynLogDetail.node_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6467116+08:00", comments="Source field: public.archive_syn_log_detail.note_type") + public static final SqlColumn note_type = archiveSynLogDetail.note_type; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6467116+08:00", comments="Source field: public.archive_syn_log_detail.process_type") + public static final SqlColumn process_type = archiveSynLogDetail.process_type; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6467116+08:00", comments="Source field: public.archive_syn_log_detail.create_time") + public static final SqlColumn create_time = archiveSynLogDetail.create_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6467116+08:00", comments="Source field: public.archive_syn_log_detail.log_id") + public static final SqlColumn log_id = archiveSynLogDetail.log_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6457121+08:00", comments="Source Table: public.archive_syn_log_detail") + public static final class ArchiveSynLogDetail extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn node_id = column("node_id", JDBCType.VARCHAR); + + public final SqlColumn note_type = column("note_type", JDBCType.INTEGER); + + public final SqlColumn process_type = column("process_type", JDBCType.INTEGER); + + public final SqlColumn create_time = column("create_time", JDBCType.TIMESTAMP); + + public final SqlColumn log_id = column("log_id", JDBCType.VARCHAR); + + public ArchiveSynLogDetail() { + super("archive_syn_log_detail", ArchiveSynLogDetail::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ArchiveSynLogDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ArchiveSynLogDynamicSqlSupport.java new file mode 100644 index 0000000..44b06ee --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ArchiveSynLogDynamicSqlSupport.java @@ -0,0 +1,84 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import java.time.LocalDateTime; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class ArchiveSynLogDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source Table: public.archive_syn_log") + public static final ArchiveSynLog archiveSynLog = new ArchiveSynLog(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source field: public.archive_syn_log.id") + public static final SqlColumn id = archiveSynLog.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source field: public.archive_syn_log.start_time") + public static final SqlColumn start_time = archiveSynLog.start_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source field: public.archive_syn_log.insert_dir_count") + public static final SqlColumn insert_dir_count = archiveSynLog.insert_dir_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source field: public.archive_syn_log.update_dir_count") + public static final SqlColumn update_dir_count = archiveSynLog.update_dir_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source field: public.archive_syn_log.insert_dirfile_count") + public static final SqlColumn insert_dirfile_count = archiveSynLog.insert_dirfile_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source field: public.archive_syn_log.update_dirfile_count") + public static final SqlColumn update_dirfile_count = archiveSynLog.update_dirfile_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source field: public.archive_syn_log.insert_file_count") + public static final SqlColumn insert_file_count = archiveSynLog.insert_file_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source field: public.archive_syn_log.update_file_count") + public static final SqlColumn update_file_count = archiveSynLog.update_file_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source field: public.archive_syn_log.description") + public static final SqlColumn description = archiveSynLog.description; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source field: public.archive_syn_log.run_result") + public static final SqlColumn run_result = archiveSynLog.run_result; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source field: public.archive_syn_log.update_timestamp") + public static final SqlColumn update_timestamp = archiveSynLog.update_timestamp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source field: public.archive_syn_log.next_update_timestamp") + public static final SqlColumn next_update_timestamp = archiveSynLog.next_update_timestamp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source field: public.archive_syn_log.end_time") + public static final SqlColumn end_time = archiveSynLog.end_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source Table: public.archive_syn_log") + public static final class ArchiveSynLog extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn start_time = column("start_time", JDBCType.TIMESTAMP); + + public final SqlColumn insert_dir_count = column("insert_dir_count", JDBCType.BIGINT); + + public final SqlColumn update_dir_count = column("update_dir_count", JDBCType.BIGINT); + + public final SqlColumn insert_dirfile_count = column("insert_dirfile_count", JDBCType.BIGINT); + + public final SqlColumn update_dirfile_count = column("update_dirfile_count", JDBCType.BIGINT); + + public final SqlColumn insert_file_count = column("insert_file_count", JDBCType.BIGINT); + + public final SqlColumn update_file_count = column("update_file_count", JDBCType.BIGINT); + + public final SqlColumn description = column("description", JDBCType.VARCHAR); + + public final SqlColumn run_result = column("run_result", JDBCType.VARCHAR); + + public final SqlColumn update_timestamp = column("update_timestamp", JDBCType.BIGINT); + + public final SqlColumn next_update_timestamp = column("next_update_timestamp", JDBCType.BIGINT); + + public final SqlColumn end_time = column("end_time", JDBCType.TIMESTAMP); + + public ArchiveSynLog() { + super("archive_syn_log", ArchiveSynLog::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ArchiveSynTimestampDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ArchiveSynTimestampDynamicSqlSupport.java new file mode 100644 index 0000000..52e01a4 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ArchiveSynTimestampDynamicSqlSupport.java @@ -0,0 +1,33 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class ArchiveSynTimestampDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.701534+08:00", comments="Source Table: public.archive_syn_timestamp") + public static final ArchiveSynTimestamp archiveSynTimestamp = new ArchiveSynTimestamp(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.7026373+08:00", comments="Source field: public.archive_syn_timestamp.node_id") + public static final SqlColumn node_id = archiveSynTimestamp.node_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.7026373+08:00", comments="Source field: public.archive_syn_timestamp.node_type") + public static final SqlColumn node_type = archiveSynTimestamp.node_type; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.7026373+08:00", comments="Source field: public.archive_syn_timestamp.timestamp") + public static final SqlColumn timestamp = archiveSynTimestamp.timestamp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.7026373+08:00", comments="Source Table: public.archive_syn_timestamp") + public static final class ArchiveSynTimestamp extends AliasableSqlTable { + public final SqlColumn node_id = column("node_id", JDBCType.VARCHAR); + + public final SqlColumn node_type = column("node_type", JDBCType.INTEGER); + + public final SqlColumn timestamp = column("timestamp", JDBCType.VARCHAR); + + public ArchiveSynTimestamp() { + super("archive_syn_timestamp", ArchiveSynTimestamp::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/CertificateApplyDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/CertificateApplyDynamicSqlSupport.java new file mode 100644 index 0000000..3e5487a --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/CertificateApplyDynamicSqlSupport.java @@ -0,0 +1,104 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import java.time.LocalDateTime; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class CertificateApplyDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3111488+08:00", comments="Source Table: public.certificate_apply") + public static final CertificateApply certificateApply = new CertificateApply(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3111488+08:00", comments="Source field: public.certificate_apply.id") + public static final SqlColumn id = certificateApply.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3111488+08:00", comments="Source field: public.certificate_apply.is_org") + public static final SqlColumn is_org = certificateApply.is_org; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3111488+08:00", comments="Source field: public.certificate_apply.user_id") + public static final SqlColumn user_id = certificateApply.user_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3111488+08:00", comments="Source field: public.certificate_apply.user_name") + public static final SqlColumn user_name = certificateApply.user_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3111488+08:00", comments="Source field: public.certificate_apply.user_real_name") + public static final SqlColumn user_real_name = certificateApply.user_real_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3111488+08:00", comments="Source field: public.certificate_apply.user_phone") + public static final SqlColumn user_phone = certificateApply.user_phone; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3111488+08:00", comments="Source field: public.certificate_apply.user_org_id") + public static final SqlColumn user_org_id = certificateApply.user_org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3111488+08:00", comments="Source field: public.certificate_apply.user_org_name") + public static final SqlColumn user_org_name = certificateApply.user_org_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3111488+08:00", comments="Source field: public.certificate_apply.apply_type") + public static final SqlColumn apply_type = certificateApply.apply_type; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3111488+08:00", comments="Source field: public.certificate_apply.status") + public static final SqlColumn status = certificateApply.status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3111488+08:00", comments="Source field: public.certificate_apply.apply_time") + public static final SqlColumn apply_time = certificateApply.apply_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3111488+08:00", comments="Source field: public.certificate_apply.apply_finish_time") + public static final SqlColumn apply_finish_time = certificateApply.apply_finish_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3111488+08:00", comments="Source field: public.certificate_apply.apply_reason") + public static final SqlColumn apply_reason = certificateApply.apply_reason; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3111488+08:00", comments="Source field: public.certificate_apply.next_check_org_id") + public static final SqlColumn next_check_org_id = certificateApply.next_check_org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3111488+08:00", comments="Source field: public.certificate_apply.end_check_org_id") + public static final SqlColumn end_check_org_id = certificateApply.end_check_org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3111488+08:00", comments="Source field: public.certificate_apply.cer_id") + public static final SqlColumn cer_id = certificateApply.cer_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3111488+08:00", comments="Source field: public.certificate_apply.company_id") + public static final SqlColumn company_id = certificateApply.company_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3111488+08:00", comments="Source Table: public.certificate_apply") + public static final class CertificateApply extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn is_org = column("is_org", JDBCType.INTEGER); + + public final SqlColumn user_id = column("user_id", JDBCType.VARCHAR); + + public final SqlColumn user_name = column("user_name", JDBCType.VARCHAR); + + public final SqlColumn user_real_name = column("user_real_name", JDBCType.VARCHAR); + + public final SqlColumn user_phone = column("user_phone", JDBCType.VARCHAR); + + public final SqlColumn user_org_id = column("user_org_id", JDBCType.VARCHAR); + + public final SqlColumn user_org_name = column("user_org_name", JDBCType.VARCHAR); + + public final SqlColumn apply_type = column("apply_type", JDBCType.INTEGER); + + public final SqlColumn status = column("status", JDBCType.INTEGER); + + public final SqlColumn apply_time = column("apply_time", JDBCType.TIMESTAMP); + + public final SqlColumn apply_finish_time = column("apply_finish_time", JDBCType.TIMESTAMP); + + public final SqlColumn apply_reason = column("apply_reason", JDBCType.VARCHAR); + + public final SqlColumn next_check_org_id = column("next_check_org_id", JDBCType.VARCHAR); + + public final SqlColumn end_check_org_id = column("end_check_org_id", JDBCType.VARCHAR); + + public final SqlColumn cer_id = column("cer_id", JDBCType.VARCHAR); + + public final SqlColumn company_id = column("company_id", JDBCType.VARCHAR); + + public CertificateApply() { + super("certificate_apply", CertificateApply::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/CertificateApplyRecordDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/CertificateApplyRecordDynamicSqlSupport.java new file mode 100644 index 0000000..17f261d --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/CertificateApplyRecordDynamicSqlSupport.java @@ -0,0 +1,94 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import java.time.LocalDateTime; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class CertificateApplyRecordDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source Table: public.certificate_apply_record") + public static final CertificateApplyRecord certificateApplyRecord = new CertificateApplyRecord(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source field: public.certificate_apply_record.id") + public static final SqlColumn id = certificateApplyRecord.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source field: public.certificate_apply_record.certificate_apply_id") + public static final SqlColumn certificate_apply_id = certificateApplyRecord.certificate_apply_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source field: public.certificate_apply_record.certificate_apply_user_id") + public static final SqlColumn certificate_apply_user_id = certificateApplyRecord.certificate_apply_user_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source field: public.certificate_apply_record.certificate_apply_user_org_id") + public static final SqlColumn certificate_apply_user_org_id = certificateApplyRecord.certificate_apply_user_org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source field: public.certificate_apply_record.is_org") + public static final SqlColumn is_org = certificateApplyRecord.is_org; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source field: public.certificate_apply_record.apply_type") + public static final SqlColumn apply_type = certificateApplyRecord.apply_type; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source field: public.certificate_apply_record.check_user_id") + public static final SqlColumn check_user_id = certificateApplyRecord.check_user_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source field: public.certificate_apply_record.check_user_name") + public static final SqlColumn check_user_name = certificateApplyRecord.check_user_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source field: public.certificate_apply_record.check_org_id") + public static final SqlColumn check_org_id = certificateApplyRecord.check_org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source field: public.certificate_apply_record.check_org_name") + public static final SqlColumn check_org_name = certificateApplyRecord.check_org_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source field: public.certificate_apply_record.check_describe") + public static final SqlColumn check_describe = certificateApplyRecord.check_describe; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source field: public.certificate_apply_record.check_status") + public static final SqlColumn check_status = certificateApplyRecord.check_status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source field: public.certificate_apply_record.check_time") + public static final SqlColumn check_time = certificateApplyRecord.check_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source field: public.certificate_apply_record.next_check_org_id") + public static final SqlColumn next_check_org_id = certificateApplyRecord.next_check_org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source field: public.certificate_apply_record.next_check_org_name") + public static final SqlColumn next_check_org_name = certificateApplyRecord.next_check_org_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3071473+08:00", comments="Source Table: public.certificate_apply_record") + public static final class CertificateApplyRecord extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn certificate_apply_id = column("certificate_apply_id", JDBCType.VARCHAR); + + public final SqlColumn certificate_apply_user_id = column("certificate_apply_user_id", JDBCType.VARCHAR); + + public final SqlColumn certificate_apply_user_org_id = column("certificate_apply_user_org_id", JDBCType.VARCHAR); + + public final SqlColumn is_org = column("is_org", JDBCType.INTEGER); + + public final SqlColumn apply_type = column("apply_type", JDBCType.INTEGER); + + public final SqlColumn check_user_id = column("check_user_id", JDBCType.VARCHAR); + + public final SqlColumn check_user_name = column("check_user_name", JDBCType.VARCHAR); + + public final SqlColumn check_org_id = column("check_org_id", JDBCType.VARCHAR); + + public final SqlColumn check_org_name = column("check_org_name", JDBCType.VARCHAR); + + public final SqlColumn check_describe = column("check_describe", JDBCType.VARCHAR); + + public final SqlColumn check_status = column("check_status", JDBCType.INTEGER); + + public final SqlColumn check_time = column("check_time", JDBCType.TIMESTAMP); + + public final SqlColumn next_check_org_id = column("next_check_org_id", JDBCType.VARCHAR); + + public final SqlColumn next_check_org_name = column("next_check_org_name", JDBCType.VARCHAR); + + public CertificateApplyRecord() { + super("certificate_apply_record", CertificateApplyRecord::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/CertificateDetailDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/CertificateDetailDynamicSqlSupport.java new file mode 100644 index 0000000..9c5d3e2 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/CertificateDetailDynamicSqlSupport.java @@ -0,0 +1,89 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import java.time.LocalDateTime; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class CertificateDetailDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source Table: public.certificate_detail") + public static final CertificateDetail certificateDetail = new CertificateDetail(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.id") + public static final SqlColumn id = certificateDetail.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.certificate_apply_id") + public static final SqlColumn certificate_apply_id = certificateDetail.certificate_apply_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.work_start_time") + public static final SqlColumn work_start_time = certificateDetail.work_start_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.work_end_time") + public static final SqlColumn work_end_time = certificateDetail.work_end_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.status") + public static final SqlColumn status = certificateDetail.status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.cert_file_content") + public static final SqlColumn cert_file_content = certificateDetail.cert_file_content; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.is_up_chain") + public static final SqlColumn is_up_chain = certificateDetail.is_up_chain; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.weid") + public static final SqlColumn weid = certificateDetail.weid; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.private_key_hex_str") + public static final SqlColumn private_key_hex_str = certificateDetail.private_key_hex_str; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.x509_serial_number") + public static final SqlColumn x509_serial_number = certificateDetail.x509_serial_number; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.x509_subject") + public static final SqlColumn x509_subject = certificateDetail.x509_subject; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.x509_issuer") + public static final SqlColumn x509_issuer = certificateDetail.x509_issuer; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2991516+08:00", comments="Source field: public.certificate_detail.x509_public_key") + public static final SqlColumn x509_public_key = certificateDetail.x509_public_key; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2991516+08:00", comments="Source field: public.certificate_detail.x509_sig_alg_name") + public static final SqlColumn x509_sig_alg_name = certificateDetail.x509_sig_alg_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source Table: public.certificate_detail") + public static final class CertificateDetail extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn certificate_apply_id = column("certificate_apply_id", JDBCType.VARCHAR); + + public final SqlColumn work_start_time = column("work_start_time", JDBCType.TIMESTAMP); + + public final SqlColumn work_end_time = column("work_end_time", JDBCType.TIMESTAMP); + + public final SqlColumn status = column("status", JDBCType.INTEGER); + + public final SqlColumn cert_file_content = column("cert_file_content", JDBCType.VARCHAR); + + public final SqlColumn is_up_chain = column("is_up_chain", JDBCType.INTEGER); + + public final SqlColumn weid = column("weid", JDBCType.VARCHAR); + + public final SqlColumn private_key_hex_str = column("private_key_hex_str", JDBCType.VARCHAR); + + public final SqlColumn x509_serial_number = column("x509_serial_number", JDBCType.VARCHAR); + + public final SqlColumn x509_subject = column("x509_subject", JDBCType.VARCHAR); + + public final SqlColumn x509_issuer = column("x509_issuer", JDBCType.VARCHAR); + + public final SqlColumn x509_public_key = column("x509_public_key", JDBCType.VARCHAR); + + public final SqlColumn x509_sig_alg_name = column("x509_sig_alg_name", JDBCType.VARCHAR); + + public CertificateDetail() { + super("certificate_detail", CertificateDetail::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/DecryptLogDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/DecryptLogDynamicSqlSupport.java new file mode 100644 index 0000000..0db222f --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/DecryptLogDynamicSqlSupport.java @@ -0,0 +1,96 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import java.time.LocalDateTime; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class DecryptLogDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source Table: public.decrypt_log") + public static final DecryptLog decryptLog = new DecryptLog(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.id") + public static final SqlColumn id = decryptLog.id; + + /** + * Database Column Remarks: + * 申请人id + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.weid") + public static final SqlColumn weid = decryptLog.weid; + + /** + * Database Column Remarks: + * 档案类型(0件/1件内文件) + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.content_type") + public static final SqlColumn content_type = decryptLog.content_type; + + /** + * Database Column Remarks: + * 档案id + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.content_id") + public static final SqlColumn content_id = decryptLog.content_id; + + /** + * Database Column Remarks: + * 解密时间 + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.dec_time") + public static final SqlColumn dec_time = decryptLog.dec_time; + + /** + * Database Column Remarks: + * 区域 + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.location") + public static final SqlColumn location = decryptLog.location; + + /** + * Database Column Remarks: + * 秘钥id + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3181488+08:00", comments="Source field: public.decrypt_log.sm9hibeid") + public static final SqlColumn sm9hibeid = decryptLog.sm9hibeid; + + /** + * Database Column Remarks: + * 解密结果(0失败1成功) + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3181488+08:00", comments="Source field: public.decrypt_log.status") + public static final SqlColumn status = decryptLog.status; + + /** + * Database Column Remarks: + * 数字签名 + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3181488+08:00", comments="Source field: public.decrypt_log.sign") + public static final SqlColumn sign = decryptLog.sign; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source Table: public.decrypt_log") + public static final class DecryptLog extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn weid = column("weid", JDBCType.VARCHAR); + + public final SqlColumn content_type = column("content_type", JDBCType.INTEGER); + + public final SqlColumn content_id = column("content_id", JDBCType.VARCHAR); + + public final SqlColumn dec_time = column("dec_time", JDBCType.TIMESTAMP); + + public final SqlColumn location = column("location", JDBCType.VARCHAR); + + public final SqlColumn sm9hibeid = column("sm9hibeid", JDBCType.VARCHAR); + + public final SqlColumn status = column("status", JDBCType.INTEGER); + + public final SqlColumn sign = column("sign", JDBCType.VARCHAR); + + public DecryptLog() { + super("decrypt_log", DecryptLog::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/DownloadLogDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/DownloadLogDynamicSqlSupport.java new file mode 100644 index 0000000..d552815 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/DownloadLogDynamicSqlSupport.java @@ -0,0 +1,78 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import java.time.LocalDateTime; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class DownloadLogDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2521575+08:00", comments="Source Table: public.download_log") + public static final DownloadLog downloadLog = new DownloadLog(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2521575+08:00", comments="Source field: public.download_log.id") + public static final SqlColumn id = downloadLog.id; + + /** + * Database Column Remarks: + * weid + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2521575+08:00", comments="Source field: public.download_log.weid") + public static final SqlColumn weid = downloadLog.weid; + + /** + * Database Column Remarks: + * 下载时间 + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2521575+08:00", comments="Source field: public.download_log.downloadtime") + public static final SqlColumn downloadtime = downloadLog.downloadtime; + + /** + * Database Column Remarks: + * 下载文件数 + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2521575+08:00", comments="Source field: public.download_log.filenum") + public static final SqlColumn filenum = downloadLog.filenum; + + /** + * Database Column Remarks: + * 下载类型(1文件包/2单个附件(SyncFile)/3单个件(DirecotryFile)) + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2521575+08:00", comments="Source field: public.download_log.content_type") + public static final SqlColumn content_type = downloadLog.content_type; + + /** + * Database Column Remarks: + * 下载记录ID(如果是单个文件,就取ID,如果是包,就是包内包含的文件的ID列表) + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2521575+08:00", comments="Source field: public.download_log.contentid") + public static final SqlColumn contentid = downloadLog.contentid; + + /** + * Database Column Remarks: + * 数字签名 + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2521575+08:00", comments="Source field: public.download_log.sign") + public static final SqlColumn sign = downloadLog.sign; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2521575+08:00", comments="Source Table: public.download_log") + public static final class DownloadLog extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn weid = column("weid", JDBCType.VARCHAR); + + public final SqlColumn downloadtime = column("downloadtime", JDBCType.TIMESTAMP); + + public final SqlColumn filenum = column("filenum", JDBCType.INTEGER); + + public final SqlColumn content_type = column("content_type", JDBCType.INTEGER); + + public final SqlColumn contentid = column("contentid", JDBCType.VARCHAR); + + public final SqlColumn sign = column("sign", JDBCType.VARCHAR); + + public DownloadLog() { + super("download_log", DownloadLog::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/FilesApplyCheckRecordDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/FilesApplyCheckRecordDynamicSqlSupport.java new file mode 100644 index 0000000..41e72d2 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/FilesApplyCheckRecordDynamicSqlSupport.java @@ -0,0 +1,94 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import java.time.LocalDateTime; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class FilesApplyCheckRecordDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source Table: public.files_apply_check_record") + public static final FilesApplyCheckRecord filesApplyCheckRecord = new FilesApplyCheckRecord(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.id") + public static final SqlColumn id = filesApplyCheckRecord.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.files_apply_id") + public static final SqlColumn files_apply_id = filesApplyCheckRecord.files_apply_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.is_apply_provider") + public static final SqlColumn is_apply_provider = filesApplyCheckRecord.is_apply_provider; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.check_user_id") + public static final SqlColumn check_user_id = filesApplyCheckRecord.check_user_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.check_user_name") + public static final SqlColumn check_user_name = filesApplyCheckRecord.check_user_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.check_org_id") + public static final SqlColumn check_org_id = filesApplyCheckRecord.check_org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.check_org_name") + public static final SqlColumn check_org_name = filesApplyCheckRecord.check_org_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.next_check_org_id") + public static final SqlColumn next_check_org_id = filesApplyCheckRecord.next_check_org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.next_check_org_name") + public static final SqlColumn next_check_org_name = filesApplyCheckRecord.next_check_org_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.check_describe") + public static final SqlColumn check_describe = filesApplyCheckRecord.check_describe; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.check_status") + public static final SqlColumn check_status = filesApplyCheckRecord.check_status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.check_time") + public static final SqlColumn check_time = filesApplyCheckRecord.check_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.provider_next_check_role_sign_id") + public static final SqlColumn provider_next_check_role_sign_id = filesApplyCheckRecord.provider_next_check_role_sign_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3161488+08:00", comments="Source field: public.files_apply_check_record.provider_next_check_role_sign_name") + public static final SqlColumn provider_next_check_role_sign_name = filesApplyCheckRecord.provider_next_check_role_sign_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3161488+08:00", comments="Source field: public.files_apply_check_record.sign") + public static final SqlColumn sign = filesApplyCheckRecord.sign; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source Table: public.files_apply_check_record") + public static final class FilesApplyCheckRecord extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn files_apply_id = column("files_apply_id", JDBCType.VARCHAR); + + public final SqlColumn is_apply_provider = column("is_apply_provider", JDBCType.INTEGER); + + public final SqlColumn check_user_id = column("check_user_id", JDBCType.VARCHAR); + + public final SqlColumn check_user_name = column("check_user_name", JDBCType.VARCHAR); + + public final SqlColumn check_org_id = column("check_org_id", JDBCType.VARCHAR); + + public final SqlColumn check_org_name = column("check_org_name", JDBCType.VARCHAR); + + public final SqlColumn next_check_org_id = column("next_check_org_id", JDBCType.VARCHAR); + + public final SqlColumn next_check_org_name = column("next_check_org_name", JDBCType.VARCHAR); + + public final SqlColumn check_describe = column("check_describe", JDBCType.VARCHAR); + + public final SqlColumn check_status = column("check_status", JDBCType.INTEGER); + + public final SqlColumn check_time = column("check_time", JDBCType.TIMESTAMP); + + public final SqlColumn provider_next_check_role_sign_id = column("provider_next_check_role_sign_id", JDBCType.VARCHAR); + + public final SqlColumn provider_next_check_role_sign_name = column("provider_next_check_role_sign_name", JDBCType.VARCHAR); + + public final SqlColumn sign = column("sign", JDBCType.VARCHAR); + + public FilesApplyCheckRecord() { + super("files_apply_check_record", FilesApplyCheckRecord::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/FilesApplyDirectoryDocsDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/FilesApplyDirectoryDocsDynamicSqlSupport.java new file mode 100644 index 0000000..d72f1c4 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/FilesApplyDirectoryDocsDynamicSqlSupport.java @@ -0,0 +1,133 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class FilesApplyDirectoryDocsDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2212442+08:00", comments="Source Table: public.files_apply_directory_docs") + public static final FilesApplyDirectoryDocs filesApplyDirectoryDocs = new FilesApplyDirectoryDocs(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2222146+08:00", comments="Source field: public.files_apply_directory_docs.id") + public static final SqlColumn id = filesApplyDirectoryDocs.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2232077+08:00", comments="Source field: public.files_apply_directory_docs.files_apply_id") + public static final SqlColumn files_apply_id = filesApplyDirectoryDocs.files_apply_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2232077+08:00", comments="Source field: public.files_apply_directory_docs.directory_file_id") + public static final SqlColumn directory_file_id = filesApplyDirectoryDocs.directory_file_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2232077+08:00", comments="Source field: public.files_apply_directory_docs.directory_file_p_id") + public static final SqlColumn directory_file_p_id = filesApplyDirectoryDocs.directory_file_p_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2232077+08:00", comments="Source field: public.files_apply_directory_docs.filesuper") + public static final SqlColumn filesuper = filesApplyDirectoryDocs.filesuper; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2232077+08:00", comments="Source field: public.files_apply_directory_docs.filecount") + public static final SqlColumn filecount = filesApplyDirectoryDocs.filecount; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2232077+08:00", comments="Source field: public.files_apply_directory_docs.dutyperson") + public static final SqlColumn dutyperson = filesApplyDirectoryDocs.dutyperson; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2232077+08:00", comments="Source field: public.files_apply_directory_docs.eweavedate") + public static final SqlColumn eweavedate = filesApplyDirectoryDocs.eweavedate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2232077+08:00", comments="Source field: public.files_apply_directory_docs.filepage") + public static final SqlColumn filepage = filesApplyDirectoryDocs.filepage; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2232077+08:00", comments="Source field: public.files_apply_directory_docs.sortorder") + public static final SqlColumn sortorder = filesApplyDirectoryDocs.sortorder; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2232077+08:00", comments="Source field: public.files_apply_directory_docs.bpeg") + public static final SqlColumn bpeg = filesApplyDirectoryDocs.bpeg; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2232077+08:00", comments="Source field: public.files_apply_directory_docs.epeg") + public static final SqlColumn epeg = filesApplyDirectoryDocs.epeg; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2242118+08:00", comments="Source field: public.files_apply_directory_docs.filenum") + public static final SqlColumn filenum = filesApplyDirectoryDocs.filenum; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2242118+08:00", comments="Source field: public.files_apply_directory_docs.remark") + public static final SqlColumn remark = filesApplyDirectoryDocs.remark; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2242118+08:00", comments="Source field: public.files_apply_directory_docs.recordnum") + public static final SqlColumn recordnum = filesApplyDirectoryDocs.recordnum; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2242118+08:00", comments="Source field: public.files_apply_directory_docs.piecenumber") + public static final SqlColumn piecenumber = filesApplyDirectoryDocs.piecenumber; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2242118+08:00", comments="Source field: public.files_apply_directory_docs.adddate") + public static final SqlColumn adddate = filesApplyDirectoryDocs.adddate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2242118+08:00", comments="Source field: public.files_apply_directory_docs.editdate") + public static final SqlColumn editdate = filesApplyDirectoryDocs.editdate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2242118+08:00", comments="Source field: public.files_apply_directory_docs.time_stamp") + public static final SqlColumn time_stamp = filesApplyDirectoryDocs.time_stamp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2242118+08:00", comments="Source field: public.files_apply_directory_docs.isdel") + public static final SqlColumn isdel = filesApplyDirectoryDocs.isdel; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2242118+08:00", comments="Source field: public.files_apply_directory_docs.catalogpdfurl") + public static final SqlColumn catalogpdfurl = filesApplyDirectoryDocs.catalogpdfurl; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2242118+08:00", comments="Source field: public.files_apply_directory_docs.signtag") + public static final SqlColumn signtag = filesApplyDirectoryDocs.signtag; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2242118+08:00", comments="Source field: public.files_apply_directory_docs.collecttag") + public static final SqlColumn collecttag = filesApplyDirectoryDocs.collecttag; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2222146+08:00", comments="Source Table: public.files_apply_directory_docs") + public static final class FilesApplyDirectoryDocs extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn files_apply_id = column("files_apply_id", JDBCType.VARCHAR); + + public final SqlColumn directory_file_id = column("directory_file_id", JDBCType.VARCHAR); + + public final SqlColumn directory_file_p_id = column("directory_file_p_id", JDBCType.VARCHAR); + + public final SqlColumn filesuper = column("filesuper", JDBCType.VARCHAR); + + public final SqlColumn filecount = column("filecount", JDBCType.INTEGER); + + public final SqlColumn dutyperson = column("dutyperson", JDBCType.VARCHAR); + + public final SqlColumn eweavedate = column("eweavedate", JDBCType.VARCHAR); + + public final SqlColumn filepage = column("filepage", JDBCType.INTEGER); + + public final SqlColumn sortorder = column("sortorder", JDBCType.VARCHAR); + + public final SqlColumn bpeg = column("bpeg", JDBCType.VARCHAR); + + public final SqlColumn epeg = column("epeg", JDBCType.VARCHAR); + + public final SqlColumn filenum = column("filenum", JDBCType.VARCHAR); + + public final SqlColumn remark = column("remark", JDBCType.VARCHAR); + + public final SqlColumn recordnum = column("recordnum", JDBCType.VARCHAR); + + public final SqlColumn piecenumber = column("piecenumber", JDBCType.VARCHAR); + + public final SqlColumn adddate = column("adddate", JDBCType.VARCHAR); + + public final SqlColumn editdate = column("editdate", JDBCType.VARCHAR); + + public final SqlColumn time_stamp = column("time_stamp", JDBCType.VARCHAR); + + public final SqlColumn isdel = column("isdel", JDBCType.INTEGER); + + public final SqlColumn catalogpdfurl = column("catalogpdfurl", JDBCType.VARCHAR); + + public final SqlColumn signtag = column("signtag", JDBCType.VARCHAR); + + public final SqlColumn collecttag = column("collecttag", JDBCType.VARCHAR); + + public FilesApplyDirectoryDocs() { + super("files_apply_directory_docs", FilesApplyDirectoryDocs::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/FilesApplyDocsDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/FilesApplyDocsDynamicSqlSupport.java new file mode 100644 index 0000000..e35737c --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/FilesApplyDocsDynamicSqlSupport.java @@ -0,0 +1,123 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class FilesApplyDocsDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source Table: public.files_apply_docs") + public static final FilesApplyDocs filesApplyDocs = new FilesApplyDocs(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source field: public.files_apply_docs.id") + public static final SqlColumn id = filesApplyDocs.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source field: public.files_apply_docs.files_apply_id") + public static final SqlColumn files_apply_id = filesApplyDocs.files_apply_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source field: public.files_apply_docs.syn_file_id") + public static final SqlColumn syn_file_id = filesApplyDocs.syn_file_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source field: public.files_apply_docs.syn_file_p_id") + public static final SqlColumn syn_file_p_id = filesApplyDocs.syn_file_p_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source field: public.files_apply_docs.tablenumber") + public static final SqlColumn tablenumber = filesApplyDocs.tablenumber; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source field: public.files_apply_docs.annexname") + public static final SqlColumn annexname = filesApplyDocs.annexname; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source field: public.files_apply_docs.projectname") + public static final SqlColumn projectname = filesApplyDocs.projectname; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source field: public.files_apply_docs.eweavedate") + public static final SqlColumn eweavedate = filesApplyDocs.eweavedate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source field: public.files_apply_docs.checkdate") + public static final SqlColumn checkdate = filesApplyDocs.checkdate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source field: public.files_apply_docs.annexpage") + public static final SqlColumn annexpage = filesApplyDocs.annexpage; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source field: public.files_apply_docs.sortorder") + public static final SqlColumn sortorder = filesApplyDocs.sortorder; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source field: public.files_apply_docs.filefrom") + public static final SqlColumn filefrom = filesApplyDocs.filefrom; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source field: public.files_apply_docs.archivestag") + public static final SqlColumn archivestag = filesApplyDocs.archivestag; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source field: public.files_apply_docs.adddate") + public static final SqlColumn adddate = filesApplyDocs.adddate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source field: public.files_apply_docs.editdate") + public static final SqlColumn editdate = filesApplyDocs.editdate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2691488+08:00", comments="Source field: public.files_apply_docs.time_stamp") + public static final SqlColumn time_stamp = filesApplyDocs.time_stamp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2691488+08:00", comments="Source field: public.files_apply_docs.isdel") + public static final SqlColumn isdel = filesApplyDocs.isdel; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2691488+08:00", comments="Source field: public.files_apply_docs.downurl") + public static final SqlColumn downurl = filesApplyDocs.downurl; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2691488+08:00", comments="Source field: public.files_apply_docs.filesize") + public static final SqlColumn filesize = filesApplyDocs.filesize; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2691488+08:00", comments="Source field: public.files_apply_docs.apply_view_type_print") + public static final SqlColumn apply_view_type_print = filesApplyDocs.apply_view_type_print; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2691488+08:00", comments="Source field: public.files_apply_docs.apply_view_type_online") + public static final SqlColumn apply_view_type_online = filesApplyDocs.apply_view_type_online; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source Table: public.files_apply_docs") + public static final class FilesApplyDocs extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn files_apply_id = column("files_apply_id", JDBCType.VARCHAR); + + public final SqlColumn syn_file_id = column("syn_file_id", JDBCType.VARCHAR); + + public final SqlColumn syn_file_p_id = column("syn_file_p_id", JDBCType.VARCHAR); + + public final SqlColumn tablenumber = column("tablenumber", JDBCType.VARCHAR); + + public final SqlColumn annexname = column("annexname", JDBCType.VARCHAR); + + public final SqlColumn projectname = column("projectname", JDBCType.VARCHAR); + + public final SqlColumn eweavedate = column("eweavedate", JDBCType.VARCHAR); + + public final SqlColumn checkdate = column("checkdate", JDBCType.VARCHAR); + + public final SqlColumn annexpage = column("annexpage", JDBCType.INTEGER); + + public final SqlColumn sortorder = column("sortorder", JDBCType.VARCHAR); + + public final SqlColumn filefrom = column("filefrom", JDBCType.VARCHAR); + + public final SqlColumn archivestag = column("archivestag", JDBCType.VARCHAR); + + public final SqlColumn adddate = column("adddate", JDBCType.VARCHAR); + + public final SqlColumn editdate = column("editdate", JDBCType.VARCHAR); + + public final SqlColumn time_stamp = column("time_stamp", JDBCType.VARCHAR); + + public final SqlColumn isdel = column("isdel", JDBCType.INTEGER); + + public final SqlColumn downurl = column("downurl", JDBCType.VARCHAR); + + public final SqlColumn filesize = column("filesize", JDBCType.INTEGER); + + public final SqlColumn apply_view_type_print = column("apply_view_type_print", JDBCType.INTEGER); + + public final SqlColumn apply_view_type_online = column("apply_view_type_online", JDBCType.INTEGER); + + public FilesApplyDocs() { + super("files_apply_docs", FilesApplyDocs::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/FilesApplyDownloadRecordDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/FilesApplyDownloadRecordDynamicSqlSupport.java new file mode 100644 index 0000000..4fafb49 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/FilesApplyDownloadRecordDynamicSqlSupport.java @@ -0,0 +1,74 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import java.time.LocalDateTime; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class FilesApplyDownloadRecordDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source Table: public.files_apply_download_record") + public static final FilesApplyDownloadRecord filesApplyDownloadRecord = new FilesApplyDownloadRecord(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.id") + public static final SqlColumn id = filesApplyDownloadRecord.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.files_apply_id") + public static final SqlColumn files_apply_id = filesApplyDownloadRecord.files_apply_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.is_dir_file") + public static final SqlColumn is_dir_file = filesApplyDownloadRecord.is_dir_file; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2941514+08:00", comments="Source field: public.files_apply_download_record.syn_file_id") + public static final SqlColumn syn_file_id = filesApplyDownloadRecord.syn_file_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2941514+08:00", comments="Source field: public.files_apply_download_record.syn_file_p_id") + public static final SqlColumn syn_file_p_id = filesApplyDownloadRecord.syn_file_p_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2941514+08:00", comments="Source field: public.files_apply_download_record.syn_file_name") + public static final SqlColumn syn_file_name = filesApplyDownloadRecord.syn_file_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2941514+08:00", comments="Source field: public.files_apply_download_record.user_id") + public static final SqlColumn user_id = filesApplyDownloadRecord.user_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2941514+08:00", comments="Source field: public.files_apply_download_record.user_name") + public static final SqlColumn user_name = filesApplyDownloadRecord.user_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2941514+08:00", comments="Source field: public.files_apply_download_record.org_id") + public static final SqlColumn org_id = filesApplyDownloadRecord.org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2941514+08:00", comments="Source field: public.files_apply_download_record.org_name") + public static final SqlColumn org_name = filesApplyDownloadRecord.org_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2941514+08:00", comments="Source field: public.files_apply_download_record.download_time") + public static final SqlColumn download_time = filesApplyDownloadRecord.download_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source Table: public.files_apply_download_record") + public static final class FilesApplyDownloadRecord extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn files_apply_id = column("files_apply_id", JDBCType.VARCHAR); + + public final SqlColumn is_dir_file = column("is_dir_file", JDBCType.INTEGER); + + public final SqlColumn syn_file_id = column("syn_file_id", JDBCType.VARCHAR); + + public final SqlColumn syn_file_p_id = column("syn_file_p_id", JDBCType.VARCHAR); + + public final SqlColumn syn_file_name = column("syn_file_name", JDBCType.VARCHAR); + + public final SqlColumn user_id = column("user_id", JDBCType.VARCHAR); + + public final SqlColumn user_name = column("user_name", JDBCType.VARCHAR); + + public final SqlColumn org_id = column("org_id", JDBCType.VARCHAR); + + public final SqlColumn org_name = column("org_name", JDBCType.VARCHAR); + + public final SqlColumn download_time = column("download_time", JDBCType.TIMESTAMP); + + public FilesApplyDownloadRecord() { + super("files_apply_download_record", FilesApplyDownloadRecord::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/FilesApplyDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/FilesApplyDynamicSqlSupport.java new file mode 100644 index 0000000..ba8b606 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/FilesApplyDynamicSqlSupport.java @@ -0,0 +1,258 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import java.time.LocalDateTime; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class FilesApplyDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source Table: public.files_apply") + public static final FilesApply filesApply = new FilesApply(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.id") + public static final SqlColumn id = filesApply.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.apply_user_id") + public static final SqlColumn apply_user_id = filesApply.apply_user_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.apply_user_name") + public static final SqlColumn apply_user_name = filesApply.apply_user_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.apply_user_phone") + public static final SqlColumn apply_user_phone = filesApply.apply_user_phone; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.apply_user_email") + public static final SqlColumn apply_user_email = filesApply.apply_user_email; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.apply_org_id") + public static final SqlColumn apply_org_id = filesApply.apply_org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.apply_org_name") + public static final SqlColumn apply_org_name = filesApply.apply_org_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.apply_in_check_user_id") + public static final SqlColumn apply_in_check_user_id = filesApply.apply_in_check_user_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.apply_in_check_user_name") + public static final SqlColumn apply_in_check_user_name = filesApply.apply_in_check_user_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.apply_in_check_org_id") + public static final SqlColumn apply_in_check_org_id = filesApply.apply_in_check_org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.apply_in_check_org_name") + public static final SqlColumn apply_in_check_org_name = filesApply.apply_in_check_org_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.apply_next_check_org_id") + public static final SqlColumn apply_next_check_org_id = filesApply.apply_next_check_org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.apply_next_check_org_name") + public static final SqlColumn apply_next_check_org_name = filesApply.apply_next_check_org_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.apply_end_check_user_id") + public static final SqlColumn apply_end_check_user_id = filesApply.apply_end_check_user_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.apply_end_check_user_name") + public static final SqlColumn apply_end_check_user_name = filesApply.apply_end_check_user_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2761467+08:00", comments="Source field: public.files_apply.apply_end_check_org_id") + public static final SqlColumn apply_end_check_org_id = filesApply.apply_end_check_org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2761467+08:00", comments="Source field: public.files_apply.apply_end_check_org_name") + public static final SqlColumn apply_end_check_org_name = filesApply.apply_end_check_org_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2761467+08:00", comments="Source field: public.files_apply.apply_days") + public static final SqlColumn apply_days = filesApply.apply_days; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2761467+08:00", comments="Source field: public.files_apply.apply_feedback") + public static final SqlColumn apply_feedback = filesApply.apply_feedback; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2761467+08:00", comments="Source field: public.files_apply.apply_reason") + public static final SqlColumn apply_reason = filesApply.apply_reason; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2761467+08:00", comments="Source field: public.files_apply.apply_cancel_reason") + public static final SqlColumn apply_cancel_reason = filesApply.apply_cancel_reason; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2761467+08:00", comments="Source field: public.files_apply.apply_view_type_print") + public static final SqlColumn apply_view_type_print = filesApply.apply_view_type_print; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2761467+08:00", comments="Source field: public.files_apply.apply_view_type_online") + public static final SqlColumn apply_view_type_online = filesApply.apply_view_type_online; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2761467+08:00", comments="Source field: public.files_apply.apply_file_num") + public static final SqlColumn apply_file_num = filesApply.apply_file_num; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2761467+08:00", comments="Source field: public.files_apply.apply_time") + public static final SqlColumn apply_time = filesApply.apply_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2761467+08:00", comments="Source field: public.files_apply.apply_check_is_finish") + public static final SqlColumn apply_check_is_finish = filesApply.apply_check_is_finish; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2761467+08:00", comments="Source field: public.files_apply.provider_org_id") + public static final SqlColumn provider_org_id = filesApply.provider_org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2761467+08:00", comments="Source field: public.files_apply.provider_org_name") + public static final SqlColumn provider_org_name = filesApply.provider_org_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2761467+08:00", comments="Source field: public.files_apply.provider_file_properties") + public static final SqlColumn provider_file_properties = filesApply.provider_file_properties; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2761467+08:00", comments="Source field: public.files_apply.provider_use_start_time") + public static final SqlColumn provider_use_start_time = filesApply.provider_use_start_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2761467+08:00", comments="Source field: public.files_apply.provider_use_end_time") + public static final SqlColumn provider_use_end_time = filesApply.provider_use_end_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2761467+08:00", comments="Source field: public.files_apply.provider_in_check_user_id") + public static final SqlColumn provider_in_check_user_id = filesApply.provider_in_check_user_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2761467+08:00", comments="Source field: public.files_apply.provider_in_check_user_name") + public static final SqlColumn provider_in_check_user_name = filesApply.provider_in_check_user_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2761467+08:00", comments="Source field: public.files_apply.provider_in_check_org_id") + public static final SqlColumn provider_in_check_org_id = filesApply.provider_in_check_org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2761467+08:00", comments="Source field: public.files_apply.provider_in_check_org_name") + public static final SqlColumn provider_in_check_org_name = filesApply.provider_in_check_org_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2761467+08:00", comments="Source field: public.files_apply.provider_next_check_role_sign_id") + public static final SqlColumn provider_next_check_role_sign_id = filesApply.provider_next_check_role_sign_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2761467+08:00", comments="Source field: public.files_apply.provider_next_check_role_sign_name") + public static final SqlColumn provider_next_check_role_sign_name = filesApply.provider_next_check_role_sign_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2761467+08:00", comments="Source field: public.files_apply.provider_end_check_user_id") + public static final SqlColumn provider_end_check_user_id = filesApply.provider_end_check_user_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2761467+08:00", comments="Source field: public.files_apply.provider_end_check_user_name") + public static final SqlColumn provider_end_check_user_name = filesApply.provider_end_check_user_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2761467+08:00", comments="Source field: public.files_apply.provider_end_check_org_id") + public static final SqlColumn provider_end_check_org_id = filesApply.provider_end_check_org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2761467+08:00", comments="Source field: public.files_apply.provider_end_check_org_name") + public static final SqlColumn provider_end_check_org_name = filesApply.provider_end_check_org_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2761467+08:00", comments="Source field: public.files_apply.provider_check_is_finish") + public static final SqlColumn provider_check_is_finish = filesApply.provider_check_is_finish; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2761467+08:00", comments="Source field: public.files_apply.secret_key") + public static final SqlColumn secret_key = filesApply.secret_key; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2771463+08:00", comments="Source field: public.files_apply.status") + public static final SqlColumn status = filesApply.status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2771463+08:00", comments="Source field: public.files_apply.project_id") + public static final SqlColumn project_id = filesApply.project_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2771463+08:00", comments="Source field: public.files_apply.project_name") + public static final SqlColumn project_name = filesApply.project_name; + + /** + * Database Column Remarks: + * 签名 + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2771463+08:00", comments="Source field: public.files_apply.sign") + public static final SqlColumn sign = filesApply.sign; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source Table: public.files_apply") + public static final class FilesApply extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn apply_user_id = column("apply_user_id", JDBCType.VARCHAR); + + public final SqlColumn apply_user_name = column("apply_user_name", JDBCType.VARCHAR); + + public final SqlColumn apply_user_phone = column("apply_user_phone", JDBCType.VARCHAR); + + public final SqlColumn apply_user_email = column("apply_user_email", JDBCType.VARCHAR); + + public final SqlColumn apply_org_id = column("apply_org_id", JDBCType.VARCHAR); + + public final SqlColumn apply_org_name = column("apply_org_name", JDBCType.VARCHAR); + + public final SqlColumn apply_in_check_user_id = column("apply_in_check_user_id", JDBCType.VARCHAR); + + public final SqlColumn apply_in_check_user_name = column("apply_in_check_user_name", JDBCType.VARCHAR); + + public final SqlColumn apply_in_check_org_id = column("apply_in_check_org_id", JDBCType.VARCHAR); + + public final SqlColumn apply_in_check_org_name = column("apply_in_check_org_name", JDBCType.VARCHAR); + + public final SqlColumn apply_next_check_org_id = column("apply_next_check_org_id", JDBCType.VARCHAR); + + public final SqlColumn apply_next_check_org_name = column("apply_next_check_org_name", JDBCType.VARCHAR); + + public final SqlColumn apply_end_check_user_id = column("apply_end_check_user_id", JDBCType.VARCHAR); + + public final SqlColumn apply_end_check_user_name = column("apply_end_check_user_name", JDBCType.VARCHAR); + + public final SqlColumn apply_end_check_org_id = column("apply_end_check_org_id", JDBCType.VARCHAR); + + public final SqlColumn apply_end_check_org_name = column("apply_end_check_org_name", JDBCType.VARCHAR); + + public final SqlColumn apply_days = column("apply_days", JDBCType.INTEGER); + + public final SqlColumn apply_feedback = column("apply_feedback", JDBCType.VARCHAR); + + public final SqlColumn apply_reason = column("apply_reason", JDBCType.VARCHAR); + + public final SqlColumn apply_cancel_reason = column("apply_cancel_reason", JDBCType.VARCHAR); + + public final SqlColumn apply_view_type_print = column("apply_view_type_print", JDBCType.INTEGER); + + public final SqlColumn apply_view_type_online = column("apply_view_type_online", JDBCType.INTEGER); + + public final SqlColumn apply_file_num = column("apply_file_num", JDBCType.INTEGER); + + public final SqlColumn apply_time = column("apply_time", JDBCType.TIMESTAMP); + + public final SqlColumn apply_check_is_finish = column("apply_check_is_finish", JDBCType.INTEGER); + + public final SqlColumn provider_org_id = column("provider_org_id", JDBCType.VARCHAR); + + public final SqlColumn provider_org_name = column("provider_org_name", JDBCType.VARCHAR); + + public final SqlColumn provider_file_properties = column("provider_file_properties", JDBCType.INTEGER); + + public final SqlColumn provider_use_start_time = column("provider_use_start_time", JDBCType.TIMESTAMP); + + public final SqlColumn provider_use_end_time = column("provider_use_end_time", JDBCType.TIMESTAMP); + + public final SqlColumn provider_in_check_user_id = column("provider_in_check_user_id", JDBCType.VARCHAR); + + public final SqlColumn provider_in_check_user_name = column("provider_in_check_user_name", JDBCType.VARCHAR); + + public final SqlColumn provider_in_check_org_id = column("provider_in_check_org_id", JDBCType.VARCHAR); + + public final SqlColumn provider_in_check_org_name = column("provider_in_check_org_name", JDBCType.VARCHAR); + + public final SqlColumn provider_next_check_role_sign_id = column("provider_next_check_role_sign_id", JDBCType.VARCHAR); + + public final SqlColumn provider_next_check_role_sign_name = column("provider_next_check_role_sign_name", JDBCType.VARCHAR); + + public final SqlColumn provider_end_check_user_id = column("provider_end_check_user_id", JDBCType.VARCHAR); + + public final SqlColumn provider_end_check_user_name = column("provider_end_check_user_name", JDBCType.VARCHAR); + + public final SqlColumn provider_end_check_org_id = column("provider_end_check_org_id", JDBCType.VARCHAR); + + public final SqlColumn provider_end_check_org_name = column("provider_end_check_org_name", JDBCType.VARCHAR); + + public final SqlColumn provider_check_is_finish = column("provider_check_is_finish", JDBCType.INTEGER); + + public final SqlColumn secret_key = column("secret_key", JDBCType.VARCHAR); + + public final SqlColumn status = column("status", JDBCType.INTEGER); + + public final SqlColumn project_id = column("project_id", JDBCType.VARCHAR); + + public final SqlColumn project_name = column("project_name", JDBCType.VARCHAR); + + public final SqlColumn sign = column("sign", JDBCType.VARCHAR); + + public FilesApply() { + super("files_apply", FilesApply::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/PreShareDirectoryFileTagDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/PreShareDirectoryFileTagDynamicSqlSupport.java new file mode 100644 index 0000000..32b8fbc --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/PreShareDirectoryFileTagDynamicSqlSupport.java @@ -0,0 +1,39 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import java.time.LocalDateTime; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class PreShareDirectoryFileTagDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1676417+08:00", comments="Source Table: public.pre_share_directory_file_tag") + public static final PreShareDirectoryFileTag preShareDirectoryFileTag = new PreShareDirectoryFileTag(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1689861+08:00", comments="Source field: public.pre_share_directory_file_tag.id") + public static final SqlColumn id = preShareDirectoryFileTag.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1689861+08:00", comments="Source field: public.pre_share_directory_file_tag.share_status") + public static final SqlColumn share_status = preShareDirectoryFileTag.share_status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1689861+08:00", comments="Source field: public.pre_share_directory_file_tag.update_time") + public static final SqlColumn update_time = preShareDirectoryFileTag.update_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1689861+08:00", comments="Source field: public.pre_share_directory_file_tag.sync_bc_time") + public static final SqlColumn sync_bc_time = preShareDirectoryFileTag.sync_bc_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1676417+08:00", comments="Source Table: public.pre_share_directory_file_tag") + public static final class PreShareDirectoryFileTag extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn share_status = column("share_status", JDBCType.INTEGER); + + public final SqlColumn update_time = column("update_time", JDBCType.TIMESTAMP); + + public final SqlColumn sync_bc_time = column("sync_bc_time", JDBCType.TIMESTAMP); + + public PreShareDirectoryFileTag() { + super("pre_share_directory_file_tag", PreShareDirectoryFileTag::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/PreShareDirectoryTagDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/PreShareDirectoryTagDynamicSqlSupport.java new file mode 100644 index 0000000..338211c --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/PreShareDirectoryTagDynamicSqlSupport.java @@ -0,0 +1,39 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import java.time.LocalDateTime; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class PreShareDirectoryTagDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1431822+08:00", comments="Source Table: public.pre_share_directory_tag") + public static final PreShareDirectoryTag preShareDirectoryTag = new PreShareDirectoryTag(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1455599+08:00", comments="Source field: public.pre_share_directory_tag.id") + public static final SqlColumn id = preShareDirectoryTag.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1455599+08:00", comments="Source field: public.pre_share_directory_tag.share_status") + public static final SqlColumn share_status = preShareDirectoryTag.share_status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1455599+08:00", comments="Source field: public.pre_share_directory_tag.update_time") + public static final SqlColumn update_time = preShareDirectoryTag.update_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1455599+08:00", comments="Source field: public.pre_share_directory_tag.sync_bc_time") + public static final SqlColumn sync_bc_time = preShareDirectoryTag.sync_bc_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1445575+08:00", comments="Source Table: public.pre_share_directory_tag") + public static final class PreShareDirectoryTag extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn share_status = column("share_status", JDBCType.INTEGER); + + public final SqlColumn update_time = column("update_time", JDBCType.TIMESTAMP); + + public final SqlColumn sync_bc_time = column("sync_bc_time", JDBCType.TIMESTAMP); + + public PreShareDirectoryTag() { + super("pre_share_directory_tag", PreShareDirectoryTag::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/PreShareFileTagDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/PreShareFileTagDynamicSqlSupport.java new file mode 100644 index 0000000..050888f --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/PreShareFileTagDynamicSqlSupport.java @@ -0,0 +1,39 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import java.time.LocalDateTime; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class PreShareFileTagDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1702515+08:00", comments="Source Table: public.pre_share_file_tag") + public static final PreShareFileTag preShareFileTag = new PreShareFileTag(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1702515+08:00", comments="Source field: public.pre_share_file_tag.id") + public static final SqlColumn id = preShareFileTag.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1702515+08:00", comments="Source field: public.pre_share_file_tag.share_status") + public static final SqlColumn share_status = preShareFileTag.share_status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1702515+08:00", comments="Source field: public.pre_share_file_tag.update_time") + public static final SqlColumn update_time = preShareFileTag.update_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1702515+08:00", comments="Source field: public.pre_share_file_tag.sync_bc_time") + public static final SqlColumn sync_bc_time = preShareFileTag.sync_bc_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1702515+08:00", comments="Source Table: public.pre_share_file_tag") + public static final class PreShareFileTag extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn share_status = column("share_status", JDBCType.INTEGER); + + public final SqlColumn update_time = column("update_time", JDBCType.TIMESTAMP); + + public final SqlColumn sync_bc_time = column("sync_bc_time", JDBCType.TIMESTAMP); + + public PreShareFileTag() { + super("pre_share_file_tag", PreShareFileTag::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ProjectDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ProjectDynamicSqlSupport.java new file mode 100644 index 0000000..0da96e8 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ProjectDynamicSqlSupport.java @@ -0,0 +1,38 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class ProjectDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2801782+08:00", comments="Source Table: public.project") + public static final Project project = new Project(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2801782+08:00", comments="Source field: public.project.id") + public static final SqlColumn id = project.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2801782+08:00", comments="Source field: public.project.project_name") + public static final SqlColumn project_name = project.project_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2801782+08:00", comments="Source field: public.project.org_id") + public static final SqlColumn org_id = project.org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2801782+08:00", comments="Source field: public.project.org_name") + public static final SqlColumn org_name = project.org_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2801782+08:00", comments="Source Table: public.project") + public static final class Project extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn project_name = column("project_name", JDBCType.VARCHAR); + + public final SqlColumn org_id = column("org_id", JDBCType.VARCHAR); + + public final SqlColumn org_name = column("org_name", JDBCType.VARCHAR); + + public Project() { + super("project", Project::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ProviderDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ProviderDynamicSqlSupport.java new file mode 100644 index 0000000..08db047 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ProviderDynamicSqlSupport.java @@ -0,0 +1,54 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import java.time.LocalDateTime; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class ProviderDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0828768+08:00", comments="Source Table: public.provider") + public static final Provider provider = new Provider(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0840377+08:00", comments="Source field: public.provider.id") + public static final SqlColumn id = provider.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0840377+08:00", comments="Source field: public.provider.name") + public static final SqlColumn name = provider.name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.085147+08:00", comments="Source field: public.provider.create_time") + public static final SqlColumn create_time = provider.create_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.085147+08:00", comments="Source field: public.provider.update_time") + public static final SqlColumn update_time = provider.update_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.085147+08:00", comments="Source field: public.provider.last_update_data_time") + public static final SqlColumn last_update_data_time = provider.last_update_data_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.085147+08:00", comments="Source field: public.provider.last_query_data_time") + public static final SqlColumn last_query_data_time = provider.last_query_data_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.085147+08:00", comments="Source field: public.provider.status") + public static final SqlColumn status = provider.status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0840377+08:00", comments="Source Table: public.provider") + public static final class Provider extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn name = column("name", JDBCType.VARCHAR); + + public final SqlColumn create_time = column("create_time", JDBCType.TIMESTAMP); + + public final SqlColumn update_time = column("update_time", JDBCType.TIMESTAMP); + + public final SqlColumn last_update_data_time = column("last_update_data_time", JDBCType.TIMESTAMP); + + public final SqlColumn last_query_data_time = column("last_query_data_time", JDBCType.TIMESTAMP); + + public final SqlColumn status = column("status", JDBCType.VARCHAR); + + public Provider() { + super("provider", Provider::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ReadLogDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ReadLogDynamicSqlSupport.java new file mode 100644 index 0000000..96419ba --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ReadLogDynamicSqlSupport.java @@ -0,0 +1,132 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import java.time.LocalDateTime; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class ReadLogDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2641476+08:00", comments="Source Table: public.read_log") + public static final ReadLog readLog = new ReadLog(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2641476+08:00", comments="Source field: public.read_log.id") + public static final SqlColumn id = readLog.id; + + /** + * Database Column Remarks: + * 申请人id + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2641476+08:00", comments="Source field: public.read_log.weid") + public static final SqlColumn weid = readLog.weid; + + /** + * Database Column Remarks: + * 档案id + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2641476+08:00", comments="Source field: public.read_log.content_id") + public static final SqlColumn content_id = readLog.content_id; + + /** + * Database Column Remarks: + * 开始时间 + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2641476+08:00", comments="Source field: public.read_log.starttime") + public static final SqlColumn starttime = readLog.starttime; + + /** + * Database Column Remarks: + * 结束时间 + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2641476+08:00", comments="Source field: public.read_log.endtime") + public static final SqlColumn endtime = readLog.endtime; + + /** + * Database Column Remarks: + * ip地址 + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2651454+08:00", comments="Source field: public.read_log.ip") + public static final SqlColumn ip = readLog.ip; + + /** + * Database Column Remarks: + * 区域 + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2651454+08:00", comments="Source field: public.read_log.location") + public static final SqlColumn location = readLog.location; + + /** + * Database Column Remarks: + * 下载类型(1文件包/0单文件) + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2651454+08:00", comments="Source field: public.read_log.downloadtype") + public static final SqlColumn downloadtype = readLog.downloadtype; + + /** + * Database Column Remarks: + * 数字签名 + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2651454+08:00", comments="Source field: public.read_log.sign") + public static final SqlColumn sign = readLog.sign; + + /** + * Database Column Remarks: + * 一次阅读凭证id + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2651454+08:00", comments="Source field: public.read_log.readid") + public static final SqlColumn readid = readLog.readid; + + /** + * Database Column Remarks: + * 秘钥id + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2651454+08:00", comments="Source field: public.read_log.sm9hibeid") + public static final SqlColumn sm9hibeid = readLog.sm9hibeid; + + /** + * Database Column Remarks: + * 档案类型 + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2651454+08:00", comments="Source field: public.read_log.content_type") + public static final SqlColumn content_type = readLog.content_type; + + /** + * Database Column Remarks: + * 是否上链(1是,0否) + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2651454+08:00", comments="Source field: public.read_log.ischeck") + public static final SqlColumn ischeck = readLog.ischeck; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2641476+08:00", comments="Source Table: public.read_log") + public static final class ReadLog extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn weid = column("weid", JDBCType.VARCHAR); + + public final SqlColumn content_id = column("content_id", JDBCType.VARCHAR); + + public final SqlColumn starttime = column("starttime", JDBCType.TIMESTAMP); + + public final SqlColumn endtime = column("endtime", JDBCType.TIMESTAMP); + + public final SqlColumn ip = column("ip", JDBCType.VARCHAR); + + public final SqlColumn location = column("location", JDBCType.VARCHAR); + + public final SqlColumn downloadtype = column("downloadtype", JDBCType.INTEGER); + + public final SqlColumn sign = column("sign", JDBCType.VARCHAR); + + public final SqlColumn readid = column("readid", JDBCType.VARCHAR); + + public final SqlColumn sm9hibeid = column("sm9hibeid", JDBCType.VARCHAR); + + public final SqlColumn content_type = column("content_type", JDBCType.INTEGER); + + public final SqlColumn ischeck = column("ischeck", JDBCType.INTEGER); + + public ReadLog() { + super("read_log", ReadLog::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ShareConfigDetailDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ShareConfigDetailDynamicSqlSupport.java new file mode 100644 index 0000000..484c39b --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ShareConfigDetailDynamicSqlSupport.java @@ -0,0 +1,49 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import java.time.LocalDateTime; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class ShareConfigDetailDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1830956+08:00", comments="Source Table: public.share_config_detail") + public static final ShareConfigDetail shareConfigDetail = new ShareConfigDetail(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1840952+08:00", comments="Source field: public.share_config_detail.node_id") + public static final SqlColumn node_id = shareConfigDetail.node_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1840952+08:00", comments="Source field: public.share_config_detail.node_type") + public static final SqlColumn node_type = shareConfigDetail.node_type; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1840952+08:00", comments="Source field: public.share_config_detail.share_config_statu") + public static final SqlColumn share_config_statu = shareConfigDetail.share_config_statu; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1850956+08:00", comments="Source field: public.share_config_detail.create_time") + public static final SqlColumn create_time = shareConfigDetail.create_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1850956+08:00", comments="Source field: public.share_config_detail.update_time") + public static final SqlColumn update_time = shareConfigDetail.update_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1850956+08:00", comments="Source field: public.share_config_detail.update_count") + public static final SqlColumn update_count = shareConfigDetail.update_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1840952+08:00", comments="Source Table: public.share_config_detail") + public static final class ShareConfigDetail extends AliasableSqlTable { + public final SqlColumn node_id = column("node_id", JDBCType.VARCHAR); + + public final SqlColumn node_type = column("node_type", JDBCType.INTEGER); + + public final SqlColumn share_config_statu = column("share_config_statu", JDBCType.INTEGER); + + public final SqlColumn create_time = column("create_time", JDBCType.TIMESTAMP); + + public final SqlColumn update_time = column("update_time", JDBCType.TIMESTAMP); + + public final SqlColumn update_count = column("update_count", JDBCType.INTEGER); + + public ShareConfigDetail() { + super("share_config_detail", ShareConfigDetail::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ShareDirectoryDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ShareDirectoryDynamicSqlSupport.java new file mode 100644 index 0000000..d79c9e5 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ShareDirectoryDynamicSqlSupport.java @@ -0,0 +1,63 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class ShareDirectoryDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6619839+08:00", comments="Source Table: public.share_directory") + public static final ShareDirectory shareDirectory = new ShareDirectory(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6619839+08:00", comments="Source field: public.share_directory.id") + public static final SqlColumn id = shareDirectory.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6633873+08:00", comments="Source field: public.share_directory.provider_id") + public static final SqlColumn provider_id = shareDirectory.provider_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6633873+08:00", comments="Source field: public.share_directory.p_id") + public static final SqlColumn p_id = shareDirectory.p_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6633873+08:00", comments="Source field: public.share_directory.wbs_id") + public static final SqlColumn wbs_id = shareDirectory.wbs_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6633873+08:00", comments="Source field: public.share_directory.time_stamp") + public static final SqlColumn time_stamp = shareDirectory.time_stamp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6633873+08:00", comments="Source field: public.share_directory.sortorder") + public static final SqlColumn sortorder = shareDirectory.sortorder; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6633873+08:00", comments="Source field: public.share_directory.tname") + public static final SqlColumn tname = shareDirectory.tname; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6633873+08:00", comments="Source field: public.share_directory.subjoin") + public static final SqlColumn subjoin = shareDirectory.subjoin; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6633873+08:00", comments="Source field: public.share_directory.isdel") + public static final SqlColumn isdel = shareDirectory.isdel; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6619839+08:00", comments="Source Table: public.share_directory") + public static final class ShareDirectory extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn provider_id = column("provider_id", JDBCType.VARCHAR); + + public final SqlColumn p_id = column("p_id", JDBCType.VARCHAR); + + public final SqlColumn wbs_id = column("wbs_id", JDBCType.VARCHAR); + + public final SqlColumn time_stamp = column("time_stamp", JDBCType.VARCHAR); + + public final SqlColumn sortorder = column("sortorder", JDBCType.INTEGER); + + public final SqlColumn tname = column("tname", JDBCType.VARCHAR); + + public final SqlColumn subjoin = column("subjoin", JDBCType.INTEGER); + + public final SqlColumn isdel = column("isdel", JDBCType.INTEGER); + + public ShareDirectory() { + super("share_directory", ShareDirectory::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ShareDirectoryFileDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ShareDirectoryFileDynamicSqlSupport.java new file mode 100644 index 0000000..5af0c52 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ShareDirectoryFileDynamicSqlSupport.java @@ -0,0 +1,128 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class ShareDirectoryFileDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9141192+08:00", comments="Source Table: public.share_directory_file") + public static final ShareDirectoryFile shareDirectoryFile = new ShareDirectoryFile(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9151282+08:00", comments="Source field: public.share_directory_file.id") + public static final SqlColumn id = shareDirectoryFile.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9151282+08:00", comments="Source field: public.share_directory_file.p_id") + public static final SqlColumn p_id = shareDirectoryFile.p_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9151282+08:00", comments="Source field: public.share_directory_file.provider_id") + public static final SqlColumn provider_id = shareDirectoryFile.provider_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9151282+08:00", comments="Source field: public.share_directory_file.filesuper") + public static final SqlColumn filesuper = shareDirectoryFile.filesuper; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9151282+08:00", comments="Source field: public.share_directory_file.filecount") + public static final SqlColumn filecount = shareDirectoryFile.filecount; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9151282+08:00", comments="Source field: public.share_directory_file.dutyperson") + public static final SqlColumn dutyperson = shareDirectoryFile.dutyperson; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.916126+08:00", comments="Source field: public.share_directory_file.eweavedate") + public static final SqlColumn eweavedate = shareDirectoryFile.eweavedate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.916126+08:00", comments="Source field: public.share_directory_file.filepage") + public static final SqlColumn filepage = shareDirectoryFile.filepage; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.916126+08:00", comments="Source field: public.share_directory_file.sortorder") + public static final SqlColumn sortorder = shareDirectoryFile.sortorder; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.916126+08:00", comments="Source field: public.share_directory_file.bpeg") + public static final SqlColumn bpeg = shareDirectoryFile.bpeg; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.916126+08:00", comments="Source field: public.share_directory_file.epeg") + public static final SqlColumn epeg = shareDirectoryFile.epeg; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.916126+08:00", comments="Source field: public.share_directory_file.filenum") + public static final SqlColumn filenum = shareDirectoryFile.filenum; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.916126+08:00", comments="Source field: public.share_directory_file.remark") + public static final SqlColumn remark = shareDirectoryFile.remark; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.916126+08:00", comments="Source field: public.share_directory_file.recordnum") + public static final SqlColumn recordnum = shareDirectoryFile.recordnum; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.916126+08:00", comments="Source field: public.share_directory_file.piecenumber") + public static final SqlColumn piecenumber = shareDirectoryFile.piecenumber; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.916126+08:00", comments="Source field: public.share_directory_file.adddate") + public static final SqlColumn adddate = shareDirectoryFile.adddate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.916126+08:00", comments="Source field: public.share_directory_file.editdate") + public static final SqlColumn editdate = shareDirectoryFile.editdate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.916126+08:00", comments="Source field: public.share_directory_file.time_stamp") + public static final SqlColumn time_stamp = shareDirectoryFile.time_stamp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.916126+08:00", comments="Source field: public.share_directory_file.isdel") + public static final SqlColumn isdel = shareDirectoryFile.isdel; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.916126+08:00", comments="Source field: public.share_directory_file.catalogpdfurl") + public static final SqlColumn catalogpdfurl = shareDirectoryFile.catalogpdfurl; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.916126+08:00", comments="Source field: public.share_directory_file.signtag") + public static final SqlColumn signtag = shareDirectoryFile.signtag; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.916126+08:00", comments="Source field: public.share_directory_file.collecttag") + public static final SqlColumn collecttag = shareDirectoryFile.collecttag; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9151282+08:00", comments="Source Table: public.share_directory_file") + public static final class ShareDirectoryFile extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn p_id = column("p_id", JDBCType.VARCHAR); + + public final SqlColumn provider_id = column("provider_id", JDBCType.VARCHAR); + + public final SqlColumn filesuper = column("filesuper", JDBCType.VARCHAR); + + public final SqlColumn filecount = column("filecount", JDBCType.INTEGER); + + public final SqlColumn dutyperson = column("dutyperson", JDBCType.VARCHAR); + + public final SqlColumn eweavedate = column("eweavedate", JDBCType.VARCHAR); + + public final SqlColumn filepage = column("filepage", JDBCType.INTEGER); + + public final SqlColumn sortorder = column("sortorder", JDBCType.VARCHAR); + + public final SqlColumn bpeg = column("bpeg", JDBCType.VARCHAR); + + public final SqlColumn epeg = column("epeg", JDBCType.VARCHAR); + + public final SqlColumn filenum = column("filenum", JDBCType.VARCHAR); + + public final SqlColumn remark = column("remark", JDBCType.VARCHAR); + + public final SqlColumn recordnum = column("recordnum", JDBCType.VARCHAR); + + public final SqlColumn piecenumber = column("piecenumber", JDBCType.VARCHAR); + + public final SqlColumn adddate = column("adddate", JDBCType.VARCHAR); + + public final SqlColumn editdate = column("editdate", JDBCType.VARCHAR); + + public final SqlColumn time_stamp = column("time_stamp", JDBCType.VARCHAR); + + public final SqlColumn isdel = column("isdel", JDBCType.INTEGER); + + public final SqlColumn catalogpdfurl = column("catalogpdfurl", JDBCType.VARCHAR); + + public final SqlColumn signtag = column("signtag", JDBCType.VARCHAR); + + public final SqlColumn collecttag = column("collecttag", JDBCType.VARCHAR); + + public ShareDirectoryFile() { + super("share_directory_file", ShareDirectoryFile::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ShareFileDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ShareFileDynamicSqlSupport.java new file mode 100644 index 0000000..1acb8bc --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/ShareFileDynamicSqlSupport.java @@ -0,0 +1,108 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class ShareFileDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6104216+08:00", comments="Source Table: public.share_file") + public static final ShareFile shareFile = new ShareFile(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.611428+08:00", comments="Source field: public.share_file.id") + public static final SqlColumn id = shareFile.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.612661+08:00", comments="Source field: public.share_file.p_id") + public static final SqlColumn p_id = shareFile.p_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.612661+08:00", comments="Source field: public.share_file.provider_id") + public static final SqlColumn provider_id = shareFile.provider_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.612661+08:00", comments="Source field: public.share_file.tablenumber") + public static final SqlColumn tablenumber = shareFile.tablenumber; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.612661+08:00", comments="Source field: public.share_file.annexname") + public static final SqlColumn annexname = shareFile.annexname; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.612661+08:00", comments="Source field: public.share_file.projectname") + public static final SqlColumn projectname = shareFile.projectname; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.612661+08:00", comments="Source field: public.share_file.eweavedate") + public static final SqlColumn eweavedate = shareFile.eweavedate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.612661+08:00", comments="Source field: public.share_file.checkdate") + public static final SqlColumn checkdate = shareFile.checkdate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.612661+08:00", comments="Source field: public.share_file.annexpage") + public static final SqlColumn annexpage = shareFile.annexpage; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.612661+08:00", comments="Source field: public.share_file.sortorder") + public static final SqlColumn sortorder = shareFile.sortorder; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.612661+08:00", comments="Source field: public.share_file.filefrom") + public static final SqlColumn filefrom = shareFile.filefrom; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.612661+08:00", comments="Source field: public.share_file.archivestag") + public static final SqlColumn archivestag = shareFile.archivestag; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.612661+08:00", comments="Source field: public.share_file.adddate") + public static final SqlColumn adddate = shareFile.adddate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.612661+08:00", comments="Source field: public.share_file.editdate") + public static final SqlColumn editdate = shareFile.editdate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.612661+08:00", comments="Source field: public.share_file.time_stamp") + public static final SqlColumn time_stamp = shareFile.time_stamp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.612661+08:00", comments="Source field: public.share_file.isdel") + public static final SqlColumn isdel = shareFile.isdel; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.612661+08:00", comments="Source field: public.share_file.downurl") + public static final SqlColumn downurl = shareFile.downurl; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.612661+08:00", comments="Source field: public.share_file.filesize") + public static final SqlColumn filesize = shareFile.filesize; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.611428+08:00", comments="Source Table: public.share_file") + public static final class ShareFile extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn p_id = column("p_id", JDBCType.VARCHAR); + + public final SqlColumn provider_id = column("provider_id", JDBCType.VARCHAR); + + public final SqlColumn tablenumber = column("tablenumber", JDBCType.VARCHAR); + + public final SqlColumn annexname = column("annexname", JDBCType.VARCHAR); + + public final SqlColumn projectname = column("projectname", JDBCType.VARCHAR); + + public final SqlColumn eweavedate = column("eweavedate", JDBCType.VARCHAR); + + public final SqlColumn checkdate = column("checkdate", JDBCType.VARCHAR); + + public final SqlColumn annexpage = column("annexpage", JDBCType.INTEGER); + + public final SqlColumn sortorder = column("sortorder", JDBCType.VARCHAR); + + public final SqlColumn filefrom = column("filefrom", JDBCType.VARCHAR); + + public final SqlColumn archivestag = column("archivestag", JDBCType.VARCHAR); + + public final SqlColumn adddate = column("adddate", JDBCType.VARCHAR); + + public final SqlColumn editdate = column("editdate", JDBCType.VARCHAR); + + public final SqlColumn time_stamp = column("time_stamp", JDBCType.VARCHAR); + + public final SqlColumn isdel = column("isdel", JDBCType.INTEGER); + + public final SqlColumn downurl = column("downurl", JDBCType.VARCHAR); + + public final SqlColumn filesize = column("filesize", JDBCType.INTEGER); + + public ShareFile() { + super("share_file", ShareFile::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SharedElementUpdateDetailDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SharedElementUpdateDetailDynamicSqlSupport.java new file mode 100644 index 0000000..557a2c5 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SharedElementUpdateDetailDynamicSqlSupport.java @@ -0,0 +1,64 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import java.time.LocalDateTime; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class SharedElementUpdateDetailDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.261151+08:00", comments="Source Table: public.shared_element_update_detail") + public static final SharedElementUpdateDetail sharedElementUpdateDetail = new SharedElementUpdateDetail(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.261151+08:00", comments="Source field: public.shared_element_update_detail.id") + public static final SqlColumn id = sharedElementUpdateDetail.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.261151+08:00", comments="Source field: public.shared_element_update_detail.update_record_id") + public static final SqlColumn update_record_id = sharedElementUpdateDetail.update_record_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.261151+08:00", comments="Source field: public.shared_element_update_detail.node_type") + public static final SqlColumn node_type = sharedElementUpdateDetail.node_type; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.261151+08:00", comments="Source field: public.shared_element_update_detail.node_id") + public static final SqlColumn node_id = sharedElementUpdateDetail.node_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.261151+08:00", comments="Source field: public.shared_element_update_detail.share_status") + public static final SqlColumn share_status = sharedElementUpdateDetail.share_status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.261151+08:00", comments="Source field: public.shared_element_update_detail.execute_start_time") + public static final SqlColumn execute_start_time = sharedElementUpdateDetail.execute_start_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.261151+08:00", comments="Source field: public.shared_element_update_detail.execute_end_time") + public static final SqlColumn execute_end_time = sharedElementUpdateDetail.execute_end_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.261151+08:00", comments="Source field: public.shared_element_update_detail.execute_desp") + public static final SqlColumn execute_desp = sharedElementUpdateDetail.execute_desp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.261151+08:00", comments="Source field: public.shared_element_update_detail.execute_success") + public static final SqlColumn execute_success = sharedElementUpdateDetail.execute_success; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.261151+08:00", comments="Source Table: public.shared_element_update_detail") + public static final class SharedElementUpdateDetail extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn update_record_id = column("update_record_id", JDBCType.VARCHAR); + + public final SqlColumn node_type = column("node_type", JDBCType.INTEGER); + + public final SqlColumn node_id = column("node_id", JDBCType.VARCHAR); + + public final SqlColumn share_status = column("share_status", JDBCType.INTEGER); + + public final SqlColumn execute_start_time = column("execute_start_time", JDBCType.TIMESTAMP); + + public final SqlColumn execute_end_time = column("execute_end_time", JDBCType.TIMESTAMP); + + public final SqlColumn execute_desp = column("execute_desp", JDBCType.VARCHAR); + + public final SqlColumn execute_success = column("execute_success", JDBCType.INTEGER); + + public SharedElementUpdateDetail() { + super("shared_element_update_detail", SharedElementUpdateDetail::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SharedElementUpdateRecordDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SharedElementUpdateRecordDynamicSqlSupport.java new file mode 100644 index 0000000..659622c --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SharedElementUpdateRecordDynamicSqlSupport.java @@ -0,0 +1,89 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import java.time.LocalDateTime; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class SharedElementUpdateRecordDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9401749+08:00", comments="Source Table: public.shared_element_update_record") + public static final SharedElementUpdateRecord sharedElementUpdateRecord = new SharedElementUpdateRecord(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9411735+08:00", comments="Source field: public.shared_element_update_record.id") + public static final SqlColumn id = sharedElementUpdateRecord.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9421749+08:00", comments="Source field: public.shared_element_update_record.share_rule_id") + public static final SqlColumn share_rule_id = sharedElementUpdateRecord.share_rule_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9421749+08:00", comments="Source field: public.shared_element_update_record.user_id") + public static final SqlColumn user_id = sharedElementUpdateRecord.user_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9421749+08:00", comments="Source field: public.shared_element_update_record.desp") + public static final SqlColumn desp = sharedElementUpdateRecord.desp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9421749+08:00", comments="Source field: public.shared_element_update_record.create_time") + public static final SqlColumn create_time = sharedElementUpdateRecord.create_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9421749+08:00", comments="Source field: public.shared_element_update_record.node_count") + public static final SqlColumn node_count = sharedElementUpdateRecord.node_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9421749+08:00", comments="Source field: public.shared_element_update_record.source") + public static final SqlColumn source = sharedElementUpdateRecord.source; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9421749+08:00", comments="Source field: public.shared_element_update_record.execute_start_time") + public static final SqlColumn execute_start_time = sharedElementUpdateRecord.execute_start_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9421749+08:00", comments="Source field: public.shared_element_update_record.execute_end_time") + public static final SqlColumn execute_end_time = sharedElementUpdateRecord.execute_end_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9421749+08:00", comments="Source field: public.shared_element_update_record.execute_desp") + public static final SqlColumn execute_desp = sharedElementUpdateRecord.execute_desp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9421749+08:00", comments="Source field: public.shared_element_update_record.execute_status") + public static final SqlColumn execute_status = sharedElementUpdateRecord.execute_status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9421749+08:00", comments="Source field: public.shared_element_update_record.succ_exec_node_count") + public static final SqlColumn succ_exec_node_count = sharedElementUpdateRecord.succ_exec_node_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9421749+08:00", comments="Source field: public.shared_element_update_record.act_node_count") + public static final SqlColumn act_node_count = sharedElementUpdateRecord.act_node_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9421749+08:00", comments="Source field: public.shared_element_update_record.execute_count") + public static final SqlColumn execute_count = sharedElementUpdateRecord.execute_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9411735+08:00", comments="Source Table: public.shared_element_update_record") + public static final class SharedElementUpdateRecord extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn share_rule_id = column("share_rule_id", JDBCType.VARCHAR); + + public final SqlColumn user_id = column("user_id", JDBCType.VARCHAR); + + public final SqlColumn desp = column("desp", JDBCType.VARCHAR); + + public final SqlColumn create_time = column("create_time", JDBCType.TIMESTAMP); + + public final SqlColumn node_count = column("node_count", JDBCType.BIGINT); + + public final SqlColumn source = column("source", JDBCType.VARCHAR); + + public final SqlColumn execute_start_time = column("execute_start_time", JDBCType.TIMESTAMP); + + public final SqlColumn execute_end_time = column("execute_end_time", JDBCType.TIMESTAMP); + + public final SqlColumn execute_desp = column("execute_desp", JDBCType.VARCHAR); + + public final SqlColumn execute_status = column("execute_status", JDBCType.INTEGER); + + public final SqlColumn succ_exec_node_count = column("succ_exec_node_count", JDBCType.INTEGER); + + public final SqlColumn act_node_count = column("act_node_count", JDBCType.INTEGER); + + public final SqlColumn execute_count = column("execute_count", JDBCType.INTEGER); + + public SharedElementUpdateRecord() { + super("shared_element_update_record", SharedElementUpdateRecord::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SharedRuleConfigDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SharedRuleConfigDynamicSqlSupport.java new file mode 100644 index 0000000..db8bccc --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SharedRuleConfigDynamicSqlSupport.java @@ -0,0 +1,48 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class SharedRuleConfigDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3121484+08:00", comments="Source Table: public.shared_rule_config") + public static final SharedRuleConfig sharedRuleConfig = new SharedRuleConfig(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3121484+08:00", comments="Source field: public.shared_rule_config.id") + public static final SqlColumn id = sharedRuleConfig.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3131471+08:00", comments="Source field: public.shared_rule_config.name") + public static final SqlColumn name = sharedRuleConfig.name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3131471+08:00", comments="Source field: public.shared_rule_config.describe") + public static final SqlColumn describe = sharedRuleConfig.describe; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3131471+08:00", comments="Source field: public.shared_rule_config.status") + public static final SqlColumn status = sharedRuleConfig.status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3131471+08:00", comments="Source field: public.shared_rule_config.sort") + public static final SqlColumn sort = sharedRuleConfig.sort; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3131471+08:00", comments="Source field: public.shared_rule_config.project_name") + public static final SqlColumn project_name = sharedRuleConfig.project_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3121484+08:00", comments="Source Table: public.shared_rule_config") + public static final class SharedRuleConfig extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn name = column("name", JDBCType.VARCHAR); + + public final SqlColumn describe = column("describe", JDBCType.VARCHAR); + + public final SqlColumn status = column("status", JDBCType.INTEGER); + + public final SqlColumn sort = column("sort", JDBCType.INTEGER); + + public final SqlColumn project_name = column("project_name", JDBCType.VARCHAR); + + public SharedRuleConfig() { + super("shared_rule_config", SharedRuleConfig::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SharedSynAllDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SharedSynAllDynamicSqlSupport.java new file mode 100644 index 0000000..d706539 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SharedSynAllDynamicSqlSupport.java @@ -0,0 +1,63 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class SharedSynAllDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.303149+08:00", comments="Source Table: public.shared_syn_all") + public static final SharedSynAll sharedSynAll = new SharedSynAll(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.303149+08:00", comments="Source field: public.shared_syn_all.id") + public static final SqlColumn id = sharedSynAll.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.303149+08:00", comments="Source field: public.shared_syn_all.syn_id") + public static final SqlColumn syn_id = sharedSynAll.syn_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.303149+08:00", comments="Source field: public.shared_syn_all.syn_type") + public static final SqlColumn syn_type = sharedSynAll.syn_type; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.303149+08:00", comments="Source field: public.shared_syn_all.is_config_rule") + public static final SqlColumn is_config_rule = sharedSynAll.is_config_rule; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.303149+08:00", comments="Source field: public.shared_syn_all.shared_status") + public static final SqlColumn shared_status = sharedSynAll.shared_status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.303149+08:00", comments="Source field: public.shared_syn_all.syn_status") + public static final SqlColumn syn_status = sharedSynAll.syn_status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.303149+08:00", comments="Source field: public.shared_syn_all.block_number") + public static final SqlColumn block_number = sharedSynAll.block_number; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.303149+08:00", comments="Source field: public.shared_syn_all.block_hash") + public static final SqlColumn block_hash = sharedSynAll.block_hash; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.303149+08:00", comments="Source field: public.shared_syn_all.block_time") + public static final SqlColumn block_time = sharedSynAll.block_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.303149+08:00", comments="Source Table: public.shared_syn_all") + public static final class SharedSynAll extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn syn_id = column("syn_id", JDBCType.VARCHAR); + + public final SqlColumn syn_type = column("syn_type", JDBCType.INTEGER); + + public final SqlColumn is_config_rule = column("is_config_rule", JDBCType.INTEGER); + + public final SqlColumn shared_status = column("shared_status", JDBCType.INTEGER); + + public final SqlColumn syn_status = column("syn_status", JDBCType.INTEGER); + + public final SqlColumn block_number = column("block_number", JDBCType.VARCHAR); + + public final SqlColumn block_hash = column("block_hash", JDBCType.VARCHAR); + + public final SqlColumn block_time = column("block_time", JDBCType.VARCHAR); + + public SharedSynAll() { + super("shared_syn_all", SharedSynAll::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SynDirectoryDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SynDirectoryDynamicSqlSupport.java new file mode 100644 index 0000000..df8c630 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SynDirectoryDynamicSqlSupport.java @@ -0,0 +1,58 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class SynDirectoryDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source Table: public.syn_directory") + public static final SynDirectory synDirectory = new SynDirectory(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source field: public.syn_directory.id") + public static final SqlColumn id = synDirectory.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source field: public.syn_directory.p_id") + public static final SqlColumn p_id = synDirectory.p_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source field: public.syn_directory.wbs_id") + public static final SqlColumn wbs_id = synDirectory.wbs_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source field: public.syn_directory.time_stamp") + public static final SqlColumn time_stamp = synDirectory.time_stamp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source field: public.syn_directory.sortorder") + public static final SqlColumn sortorder = synDirectory.sortorder; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source field: public.syn_directory.tname") + public static final SqlColumn tname = synDirectory.tname; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.509599+08:00", comments="Source field: public.syn_directory.subjoin") + public static final SqlColumn subjoin = synDirectory.subjoin; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.509599+08:00", comments="Source field: public.syn_directory.isdel") + public static final SqlColumn isdel = synDirectory.isdel; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source Table: public.syn_directory") + public static final class SynDirectory extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn p_id = column("p_id", JDBCType.VARCHAR); + + public final SqlColumn wbs_id = column("wbs_id", JDBCType.VARCHAR); + + public final SqlColumn time_stamp = column("time_stamp", JDBCType.VARCHAR); + + public final SqlColumn sortorder = column("sortorder", JDBCType.INTEGER); + + public final SqlColumn tname = column("tname", JDBCType.VARCHAR); + + public final SqlColumn subjoin = column("subjoin", JDBCType.INTEGER); + + public final SqlColumn isdel = column("isdel", JDBCType.INTEGER); + + public SynDirectory() { + super("syn_directory", SynDirectory::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SynDirectoryFileDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SynDirectoryFileDynamicSqlSupport.java new file mode 100644 index 0000000..22fb5b8 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SynDirectoryFileDynamicSqlSupport.java @@ -0,0 +1,123 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class SynDirectoryFileDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4764015+08:00", comments="Source Table: public.syn_directory_file") + public static final SynDirectoryFile synDirectoryFile = new SynDirectoryFile(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4774083+08:00", comments="Source field: public.syn_directory_file.id") + public static final SqlColumn id = synDirectoryFile.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4785362+08:00", comments="Source field: public.syn_directory_file.p_id") + public static final SqlColumn p_id = synDirectoryFile.p_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4785362+08:00", comments="Source field: public.syn_directory_file.filesuper") + public static final SqlColumn filesuper = synDirectoryFile.filesuper; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4785362+08:00", comments="Source field: public.syn_directory_file.filecount") + public static final SqlColumn filecount = synDirectoryFile.filecount; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4785362+08:00", comments="Source field: public.syn_directory_file.dutyperson") + public static final SqlColumn dutyperson = synDirectoryFile.dutyperson; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4785362+08:00", comments="Source field: public.syn_directory_file.eweavedate") + public static final SqlColumn eweavedate = synDirectoryFile.eweavedate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4785362+08:00", comments="Source field: public.syn_directory_file.filepage") + public static final SqlColumn filepage = synDirectoryFile.filepage; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4785362+08:00", comments="Source field: public.syn_directory_file.sortorder") + public static final SqlColumn sortorder = synDirectoryFile.sortorder; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4785362+08:00", comments="Source field: public.syn_directory_file.bpeg") + public static final SqlColumn bpeg = synDirectoryFile.bpeg; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4785362+08:00", comments="Source field: public.syn_directory_file.epeg") + public static final SqlColumn epeg = synDirectoryFile.epeg; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4785362+08:00", comments="Source field: public.syn_directory_file.filenum") + public static final SqlColumn filenum = synDirectoryFile.filenum; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4785362+08:00", comments="Source field: public.syn_directory_file.remark") + public static final SqlColumn remark = synDirectoryFile.remark; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4785362+08:00", comments="Source field: public.syn_directory_file.recordnum") + public static final SqlColumn recordnum = synDirectoryFile.recordnum; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4785362+08:00", comments="Source field: public.syn_directory_file.piecenumber") + public static final SqlColumn piecenumber = synDirectoryFile.piecenumber; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4785362+08:00", comments="Source field: public.syn_directory_file.adddate") + public static final SqlColumn adddate = synDirectoryFile.adddate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4785362+08:00", comments="Source field: public.syn_directory_file.editdate") + public static final SqlColumn editdate = synDirectoryFile.editdate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4785362+08:00", comments="Source field: public.syn_directory_file.time_stamp") + public static final SqlColumn time_stamp = synDirectoryFile.time_stamp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4785362+08:00", comments="Source field: public.syn_directory_file.isdel") + public static final SqlColumn isdel = synDirectoryFile.isdel; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4785362+08:00", comments="Source field: public.syn_directory_file.catalogpdfurl") + public static final SqlColumn catalogpdfurl = synDirectoryFile.catalogpdfurl; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4785362+08:00", comments="Source field: public.syn_directory_file.signtag") + public static final SqlColumn signtag = synDirectoryFile.signtag; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4795789+08:00", comments="Source field: public.syn_directory_file.collecttag") + public static final SqlColumn collecttag = synDirectoryFile.collecttag; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4774083+08:00", comments="Source Table: public.syn_directory_file") + public static final class SynDirectoryFile extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn p_id = column("p_id", JDBCType.VARCHAR); + + public final SqlColumn filesuper = column("filesuper", JDBCType.VARCHAR); + + public final SqlColumn filecount = column("filecount", JDBCType.INTEGER); + + public final SqlColumn dutyperson = column("dutyperson", JDBCType.VARCHAR); + + public final SqlColumn eweavedate = column("eweavedate", JDBCType.VARCHAR); + + public final SqlColumn filepage = column("filepage", JDBCType.INTEGER); + + public final SqlColumn sortorder = column("sortorder", JDBCType.VARCHAR); + + public final SqlColumn bpeg = column("bpeg", JDBCType.VARCHAR); + + public final SqlColumn epeg = column("epeg", JDBCType.VARCHAR); + + public final SqlColumn filenum = column("filenum", JDBCType.VARCHAR); + + public final SqlColumn remark = column("remark", JDBCType.VARCHAR); + + public final SqlColumn recordnum = column("recordnum", JDBCType.VARCHAR); + + public final SqlColumn piecenumber = column("piecenumber", JDBCType.VARCHAR); + + public final SqlColumn adddate = column("adddate", JDBCType.VARCHAR); + + public final SqlColumn editdate = column("editdate", JDBCType.VARCHAR); + + public final SqlColumn time_stamp = column("time_stamp", JDBCType.VARCHAR); + + public final SqlColumn isdel = column("isdel", JDBCType.INTEGER); + + public final SqlColumn catalogpdfurl = column("catalogpdfurl", JDBCType.VARCHAR); + + public final SqlColumn signtag = column("signtag", JDBCType.VARCHAR); + + public final SqlColumn collecttag = column("collecttag", JDBCType.VARCHAR); + + public SynDirectoryFile() { + super("syn_directory_file", SynDirectoryFile::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SynFileDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SynFileDynamicSqlSupport.java new file mode 100644 index 0000000..5d406b0 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SynFileDynamicSqlSupport.java @@ -0,0 +1,103 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class SynFileDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source Table: public.syn_file") + public static final SynFile synFile = new SynFile(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5006795+08:00", comments="Source field: public.syn_file.id") + public static final SqlColumn id = synFile.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5006795+08:00", comments="Source field: public.syn_file.p_id") + public static final SqlColumn p_id = synFile.p_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5006795+08:00", comments="Source field: public.syn_file.tablenumber") + public static final SqlColumn tablenumber = synFile.tablenumber; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5006795+08:00", comments="Source field: public.syn_file.annexname") + public static final SqlColumn annexname = synFile.annexname; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5006795+08:00", comments="Source field: public.syn_file.projectname") + public static final SqlColumn projectname = synFile.projectname; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5006795+08:00", comments="Source field: public.syn_file.eweavedate") + public static final SqlColumn eweavedate = synFile.eweavedate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5006795+08:00", comments="Source field: public.syn_file.checkdate") + public static final SqlColumn checkdate = synFile.checkdate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5006795+08:00", comments="Source field: public.syn_file.annexpage") + public static final SqlColumn annexpage = synFile.annexpage; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5006795+08:00", comments="Source field: public.syn_file.sortorder") + public static final SqlColumn sortorder = synFile.sortorder; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5006795+08:00", comments="Source field: public.syn_file.filefrom") + public static final SqlColumn filefrom = synFile.filefrom; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5006795+08:00", comments="Source field: public.syn_file.archivestag") + public static final SqlColumn archivestag = synFile.archivestag; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5006795+08:00", comments="Source field: public.syn_file.adddate") + public static final SqlColumn adddate = synFile.adddate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5006795+08:00", comments="Source field: public.syn_file.editdate") + public static final SqlColumn editdate = synFile.editdate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5006795+08:00", comments="Source field: public.syn_file.time_stamp") + public static final SqlColumn time_stamp = synFile.time_stamp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5006795+08:00", comments="Source field: public.syn_file.isdel") + public static final SqlColumn isdel = synFile.isdel; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5006795+08:00", comments="Source field: public.syn_file.downurl") + public static final SqlColumn downurl = synFile.downurl; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5006795+08:00", comments="Source field: public.syn_file.filesize") + public static final SqlColumn filesize = synFile.filesize; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5006795+08:00", comments="Source Table: public.syn_file") + public static final class SynFile extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn p_id = column("p_id", JDBCType.VARCHAR); + + public final SqlColumn tablenumber = column("tablenumber", JDBCType.VARCHAR); + + public final SqlColumn annexname = column("annexname", JDBCType.VARCHAR); + + public final SqlColumn projectname = column("projectname", JDBCType.VARCHAR); + + public final SqlColumn eweavedate = column("eweavedate", JDBCType.VARCHAR); + + public final SqlColumn checkdate = column("checkdate", JDBCType.VARCHAR); + + public final SqlColumn annexpage = column("annexpage", JDBCType.INTEGER); + + public final SqlColumn sortorder = column("sortorder", JDBCType.VARCHAR); + + public final SqlColumn filefrom = column("filefrom", JDBCType.VARCHAR); + + public final SqlColumn archivestag = column("archivestag", JDBCType.VARCHAR); + + public final SqlColumn adddate = column("adddate", JDBCType.VARCHAR); + + public final SqlColumn editdate = column("editdate", JDBCType.VARCHAR); + + public final SqlColumn time_stamp = column("time_stamp", JDBCType.VARCHAR); + + public final SqlColumn isdel = column("isdel", JDBCType.INTEGER); + + public final SqlColumn downurl = column("downurl", JDBCType.VARCHAR); + + public final SqlColumn filesize = column("filesize", JDBCType.INTEGER); + + public SynFile() { + super("syn_file", SynFile::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/Sync2blockchainTaskDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/Sync2blockchainTaskDynamicSqlSupport.java new file mode 100644 index 0000000..8accf65 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/Sync2blockchainTaskDynamicSqlSupport.java @@ -0,0 +1,104 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import java.time.LocalDateTime; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class Sync2blockchainTaskDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5042772+08:00", comments="Source Table: public.sync2blockchain_task") + public static final Sync2blockchainTask sync2blockchainTask = new Sync2blockchainTask(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5042772+08:00", comments="Source field: public.sync2blockchain_task.id") + public static final SqlColumn id = sync2blockchainTask.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5042772+08:00", comments="Source field: public.sync2blockchain_task.start_time") + public static final SqlColumn start_time = sync2blockchainTask.start_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5042772+08:00", comments="Source field: public.sync2blockchain_task.end_time") + public static final SqlColumn end_time = sync2blockchainTask.end_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5042772+08:00", comments="Source field: public.sync2blockchain_task.update_dir_count") + public static final SqlColumn update_dir_count = sync2blockchainTask.update_dir_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5052829+08:00", comments="Source field: public.sync2blockchain_task.insert_dir_count") + public static final SqlColumn insert_dir_count = sync2blockchainTask.insert_dir_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5052829+08:00", comments="Source field: public.sync2blockchain_task.remove_dir_count") + public static final SqlColumn remove_dir_count = sync2blockchainTask.remove_dir_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5052829+08:00", comments="Source field: public.sync2blockchain_task.execute_status") + public static final SqlColumn execute_status = sync2blockchainTask.execute_status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5052829+08:00", comments="Source field: public.sync2blockchain_task.desp") + public static final SqlColumn desp = sync2blockchainTask.desp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5052829+08:00", comments="Source field: public.sync2blockchain_task.update_dirfile_count") + public static final SqlColumn update_dirfile_count = sync2blockchainTask.update_dirfile_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5052829+08:00", comments="Source field: public.sync2blockchain_task.insert_dirfile_count") + public static final SqlColumn insert_dirfile_count = sync2blockchainTask.insert_dirfile_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5052829+08:00", comments="Source field: public.sync2blockchain_task.remove_dirfile_count") + public static final SqlColumn remove_dirfile_count = sync2blockchainTask.remove_dirfile_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5052829+08:00", comments="Source field: public.sync2blockchain_task.update_file_count") + public static final SqlColumn update_file_count = sync2blockchainTask.update_file_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5052829+08:00", comments="Source field: public.sync2blockchain_task.insert_file_count") + public static final SqlColumn insert_file_count = sync2blockchainTask.insert_file_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5052829+08:00", comments="Source field: public.sync2blockchain_task.remove_file_count") + public static final SqlColumn remove_file_count = sync2blockchainTask.remove_file_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5052829+08:00", comments="Source field: public.sync2blockchain_task.need_process_count") + public static final SqlColumn need_process_count = sync2blockchainTask.need_process_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5052829+08:00", comments="Source field: public.sync2blockchain_task.processed_count") + public static final SqlColumn processed_count = sync2blockchainTask.processed_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5052829+08:00", comments="Source field: public.sync2blockchain_task.failed_process_count") + public static final SqlColumn failed_process_count = sync2blockchainTask.failed_process_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5042772+08:00", comments="Source Table: public.sync2blockchain_task") + public static final class Sync2blockchainTask extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn start_time = column("start_time", JDBCType.TIMESTAMP); + + public final SqlColumn end_time = column("end_time", JDBCType.TIMESTAMP); + + public final SqlColumn update_dir_count = column("update_dir_count", JDBCType.INTEGER); + + public final SqlColumn insert_dir_count = column("insert_dir_count", JDBCType.INTEGER); + + public final SqlColumn remove_dir_count = column("remove_dir_count", JDBCType.INTEGER); + + public final SqlColumn execute_status = column("execute_status", JDBCType.INTEGER); + + public final SqlColumn desp = column("desp", JDBCType.VARCHAR); + + public final SqlColumn update_dirfile_count = column("update_dirfile_count", JDBCType.INTEGER); + + public final SqlColumn insert_dirfile_count = column("insert_dirfile_count", JDBCType.INTEGER); + + public final SqlColumn remove_dirfile_count = column("remove_dirfile_count", JDBCType.INTEGER); + + public final SqlColumn update_file_count = column("update_file_count", JDBCType.INTEGER); + + public final SqlColumn insert_file_count = column("insert_file_count", JDBCType.INTEGER); + + public final SqlColumn remove_file_count = column("remove_file_count", JDBCType.INTEGER); + + public final SqlColumn need_process_count = column("need_process_count", JDBCType.INTEGER); + + public final SqlColumn processed_count = column("processed_count", JDBCType.INTEGER); + + public final SqlColumn failed_process_count = column("failed_process_count", JDBCType.INTEGER); + + public Sync2blockchainTask() { + super("sync2blockchain_task", Sync2blockchainTask::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysAdminDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysAdminDynamicSqlSupport.java new file mode 100644 index 0000000..e341903 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysAdminDynamicSqlSupport.java @@ -0,0 +1,92 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class SysAdminDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2861501+08:00", comments="Source Table: public.sys_admin") + public static final SysAdmin sysAdmin = new SysAdmin(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2861501+08:00", comments="Source field: public.sys_admin.id") + public static final SqlColumn id = sysAdmin.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2861501+08:00", comments="Source field: public.sys_admin.org_id") + public static final SqlColumn org_id = sysAdmin.org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2861501+08:00", comments="Source field: public.sys_admin.realname") + public static final SqlColumn realname = sysAdmin.realname; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2861501+08:00", comments="Source field: public.sys_admin.username") + public static final SqlColumn username = sysAdmin.username; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2861501+08:00", comments="Source field: public.sys_admin.password") + public static final SqlColumn password = sysAdmin.password; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2861501+08:00", comments="Source field: public.sys_admin.phone") + public static final SqlColumn phone = sysAdmin.phone; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2861501+08:00", comments="Source field: public.sys_admin.email") + public static final SqlColumn email = sysAdmin.email; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2861501+08:00", comments="Source field: public.sys_admin.job") + public static final SqlColumn job = sysAdmin.job; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2861501+08:00", comments="Source field: public.sys_admin.gender") + public static final SqlColumn gender = sysAdmin.gender; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2861501+08:00", comments="Source field: public.sys_admin.islock") + public static final SqlColumn islock = sysAdmin.islock; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2861501+08:00", comments="Source field: public.sys_admin.type") + public static final SqlColumn type = sysAdmin.type; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2861501+08:00", comments="Source field: public.sys_admin.sort") + public static final SqlColumn sort = sysAdmin.sort; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2861501+08:00", comments="Source field: public.sys_admin.cer_id") + public static final SqlColumn cer_id = sysAdmin.cer_id; + + /** + * Database Column Remarks: + * 公司ID,组织ID的最高级 + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2861501+08:00", comments="Source field: public.sys_admin.company_id") + public static final SqlColumn company_id = sysAdmin.company_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2861501+08:00", comments="Source Table: public.sys_admin") + public static final class SysAdmin extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn org_id = column("org_id", JDBCType.VARCHAR); + + public final SqlColumn realname = column("realname", JDBCType.VARCHAR); + + public final SqlColumn username = column("username", JDBCType.VARCHAR); + + public final SqlColumn password = column("password", JDBCType.VARCHAR); + + public final SqlColumn phone = column("phone", JDBCType.VARCHAR); + + public final SqlColumn email = column("email", JDBCType.VARCHAR); + + public final SqlColumn job = column("job", JDBCType.VARCHAR); + + public final SqlColumn gender = column("gender", JDBCType.INTEGER); + + public final SqlColumn islock = column("islock", JDBCType.INTEGER); + + public final SqlColumn type = column("type", JDBCType.INTEGER); + + public final SqlColumn sort = column("sort", JDBCType.INTEGER); + + public final SqlColumn cer_id = column("cer_id", JDBCType.VARCHAR); + + public final SqlColumn company_id = column("company_id", JDBCType.VARCHAR); + + public SysAdmin() { + super("sys_admin", SysAdmin::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysAdminRoleDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysAdminRoleDynamicSqlSupport.java new file mode 100644 index 0000000..63bc7b7 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysAdminRoleDynamicSqlSupport.java @@ -0,0 +1,33 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class SysAdminRoleDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.291149+08:00", comments="Source Table: public.sys_admin_role") + public static final SysAdminRole sysAdminRole = new SysAdminRole(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.291149+08:00", comments="Source field: public.sys_admin_role.id") + public static final SqlColumn id = sysAdminRole.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.291149+08:00", comments="Source field: public.sys_admin_role.adminid") + public static final SqlColumn adminid = sysAdminRole.adminid; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.291149+08:00", comments="Source field: public.sys_admin_role.roleid") + public static final SqlColumn roleid = sysAdminRole.roleid; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.291149+08:00", comments="Source Table: public.sys_admin_role") + public static final class SysAdminRole extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn adminid = column("adminid", JDBCType.VARCHAR); + + public final SqlColumn roleid = column("roleid", JDBCType.VARCHAR); + + public SysAdminRole() { + super("sys_admin_role", SysAdminRole::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysAdminWeidDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysAdminWeidDynamicSqlSupport.java new file mode 100644 index 0000000..904ed72 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysAdminWeidDynamicSqlSupport.java @@ -0,0 +1,58 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import java.time.LocalDateTime; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class SysAdminWeidDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.283154+08:00", comments="Source Table: public.sys_admin_weid") + public static final SysAdminWeid sysAdminWeid = new SysAdminWeid(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2841505+08:00", comments="Source field: public.sys_admin_weid.id") + public static final SqlColumn id = sysAdminWeid.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2841505+08:00", comments="Source field: public.sys_admin_weid.admin_id") + public static final SqlColumn admin_id = sysAdminWeid.admin_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2841505+08:00", comments="Source field: public.sys_admin_weid.wid") + public static final SqlColumn wid = sysAdminWeid.wid; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2841505+08:00", comments="Source field: public.sys_admin_weid.wprivate_key") + public static final SqlColumn wprivate_key = sysAdminWeid.wprivate_key; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2841505+08:00", comments="Source field: public.sys_admin_weid.add_time") + public static final SqlColumn add_time = sysAdminWeid.add_time; + + /** + * Database Column Remarks: + * 存证哈希 + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2841505+08:00", comments="Source field: public.sys_admin_weid.certificate_hash") + public static final SqlColumn certificate_hash = sysAdminWeid.certificate_hash; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2841505+08:00", comments="Source field: public.sys_admin_weid.chain_block") + public static final SqlColumn chain_block = sysAdminWeid.chain_block; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.283154+08:00", comments="Source Table: public.sys_admin_weid") + public static final class SysAdminWeid extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn admin_id = column("admin_id", JDBCType.VARCHAR); + + public final SqlColumn wid = column("wid", JDBCType.VARCHAR); + + public final SqlColumn wprivate_key = column("wprivate_key", JDBCType.VARCHAR); + + public final SqlColumn add_time = column("add_time", JDBCType.TIMESTAMP); + + public final SqlColumn certificate_hash = column("certificate_hash", JDBCType.VARCHAR); + + public final SqlColumn chain_block = column("chain_block", JDBCType.VARCHAR); + + public SysAdminWeid() { + super("sys_admin_weid", SysAdminWeid::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysAreaDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysAreaDynamicSqlSupport.java new file mode 100644 index 0000000..1be2701 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysAreaDynamicSqlSupport.java @@ -0,0 +1,53 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class SysAreaDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source Table: public.sys_area") + public static final SysArea sysArea = new SysArea(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source field: public.sys_area.id") + public static final SqlColumn id = sysArea.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source field: public.sys_area.level_code") + public static final SqlColumn level_code = sysArea.level_code; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source field: public.sys_area.parent_code") + public static final SqlColumn parent_code = sysArea.parent_code; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source field: public.sys_area.area_code") + public static final SqlColumn area_code = sysArea.area_code; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source field: public.sys_area.name") + public static final SqlColumn name = sysArea.name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source field: public.sys_area.pid") + public static final SqlColumn pid = sysArea.pid; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source field: public.sys_area.pids") + public static final SqlColumn pids = sysArea.pids; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source Table: public.sys_area") + public static final class SysArea extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn level_code = column("level_code", JDBCType.SMALLINT); + + public final SqlColumn parent_code = column("parent_code", JDBCType.VARCHAR); + + public final SqlColumn area_code = column("area_code", JDBCType.VARCHAR); + + public final SqlColumn name = column("name", JDBCType.VARCHAR); + + public final SqlColumn pid = column("pid", JDBCType.VARCHAR); + + public final SqlColumn pids = column("pids", JDBCType.VARCHAR); + + public SysArea() { + super("sys_area", SysArea::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysConfigDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysConfigDynamicSqlSupport.java new file mode 100644 index 0000000..7aff486 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysConfigDynamicSqlSupport.java @@ -0,0 +1,54 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import java.time.LocalDateTime; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class SysConfigDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2821548+08:00", comments="Source Table: public.sys_config") + public static final SysConfig sysConfig = new SysConfig(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2821548+08:00", comments="Source field: public.sys_config.id") + public static final SqlColumn id = sysConfig.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2821548+08:00", comments="Source field: public.sys_config.subgroup") + public static final SqlColumn subgroup = sysConfig.subgroup; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2821548+08:00", comments="Source field: public.sys_config.keys") + public static final SqlColumn keys = sysConfig.keys; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2821548+08:00", comments="Source field: public.sys_config.val") + public static final SqlColumn val = sysConfig.val; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2821548+08:00", comments="Source field: public.sys_config.admin_id") + public static final SqlColumn admin_id = sysConfig.admin_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2821548+08:00", comments="Source field: public.sys_config.adminname") + public static final SqlColumn adminname = sysConfig.adminname; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2821548+08:00", comments="Source field: public.sys_config.edittime") + public static final SqlColumn edittime = sysConfig.edittime; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2821548+08:00", comments="Source Table: public.sys_config") + public static final class SysConfig extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn subgroup = column("subgroup", JDBCType.VARCHAR); + + public final SqlColumn keys = column("keys", JDBCType.VARCHAR); + + public final SqlColumn val = column("val", JDBCType.VARCHAR); + + public final SqlColumn admin_id = column("admin_id", JDBCType.VARCHAR); + + public final SqlColumn adminname = column("adminname", JDBCType.VARCHAR); + + public final SqlColumn edittime = column("edittime", JDBCType.TIMESTAMP); + + public SysConfig() { + super("sys_config", SysConfig::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysMenuDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysMenuDynamicSqlSupport.java new file mode 100644 index 0000000..dc61f93 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysMenuDynamicSqlSupport.java @@ -0,0 +1,73 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class SysMenuDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source Table: public.sys_menu") + public static final SysMenu sysMenu = new SysMenu(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.id") + public static final SqlColumn id = sysMenu.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.parent_id") + public static final SqlColumn parent_id = sysMenu.parent_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.level") + public static final SqlColumn level = sysMenu.level; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.name") + public static final SqlColumn name = sysMenu.name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.types") + public static final SqlColumn types = sysMenu.types; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.url") + public static final SqlColumn url = sysMenu.url; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.icon") + public static final SqlColumn icon = sysMenu.icon; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.is_open") + public static final SqlColumn is_open = sysMenu.is_open; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.309148+08:00", comments="Source field: public.sys_menu.description") + public static final SqlColumn description = sysMenu.description; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.309148+08:00", comments="Source field: public.sys_menu.sort") + public static final SqlColumn sort = sysMenu.sort; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.309148+08:00", comments="Source field: public.sys_menu.parentpath") + public static final SqlColumn parentpath = sysMenu.parentpath; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source Table: public.sys_menu") + public static final class SysMenu extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn parent_id = column("parent_id", JDBCType.VARCHAR); + + public final SqlColumn level = column("level", JDBCType.INTEGER); + + public final SqlColumn name = column("name", JDBCType.VARCHAR); + + public final SqlColumn types = column("types", JDBCType.VARCHAR); + + public final SqlColumn url = column("url", JDBCType.VARCHAR); + + public final SqlColumn icon = column("icon", JDBCType.VARCHAR); + + public final SqlColumn is_open = column("is_open", JDBCType.INTEGER); + + public final SqlColumn description = column("description", JDBCType.VARCHAR); + + public final SqlColumn sort = column("sort", JDBCType.INTEGER); + + public final SqlColumn parentpath = column("parentpath", JDBCType.VARCHAR); + + public SysMenu() { + super("sys_menu", SysMenu::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysOrgDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysOrgDynamicSqlSupport.java new file mode 100644 index 0000000..95908b4 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysOrgDynamicSqlSupport.java @@ -0,0 +1,169 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import java.time.LocalDateTime; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class SysOrgDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source Table: public.sys_org") + public static final SysOrg sysOrg = new SysOrg(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.id") + public static final SqlColumn id = sysOrg.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.pid") + public static final SqlColumn pid = sysOrg.pid; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.chinese_simple_name") + public static final SqlColumn chinese_simple_name = sysOrg.chinese_simple_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.english_simple_name") + public static final SqlColumn english_simple_name = sysOrg.english_simple_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.chinese_full_name") + public static final SqlColumn chinese_full_name = sysOrg.chinese_full_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.english_full_name") + public static final SqlColumn english_full_name = sysOrg.english_full_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.code") + public static final SqlColumn code = sysOrg.code; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.sort") + public static final SqlColumn sort = sysOrg.sort; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.status") + public static final SqlColumn status = sysOrg.status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.is_company_department") + public static final SqlColumn is_company_department = sysOrg.is_company_department; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.enterprise_legal_person") + public static final SqlColumn enterprise_legal_person = sysOrg.enterprise_legal_person; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.contact_person") + public static final SqlColumn contact_person = sysOrg.contact_person; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source field: public.sys_org.contact_phone") + public static final SqlColumn contact_phone = sysOrg.contact_phone; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source field: public.sys_org.remark") + public static final SqlColumn remark = sysOrg.remark; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source field: public.sys_org.create_time") + public static final SqlColumn create_time = sysOrg.create_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source field: public.sys_org.create_user") + public static final SqlColumn create_user = sysOrg.create_user; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source field: public.sys_org.update_time") + public static final SqlColumn update_time = sysOrg.update_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source field: public.sys_org.update_user") + public static final SqlColumn update_user = sysOrg.update_user; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source field: public.sys_org.name") + public static final SqlColumn name = sysOrg.name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source field: public.sys_org.industry_name") + public static final SqlColumn industry_name = sysOrg.industry_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source field: public.sys_org.industry_code") + public static final SqlColumn industry_code = sysOrg.industry_code; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source field: public.sys_org.province_code") + public static final SqlColumn province_code = sysOrg.province_code; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source field: public.sys_org.city_code") + public static final SqlColumn city_code = sysOrg.city_code; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source field: public.sys_org.area_code") + public static final SqlColumn area_code = sysOrg.area_code; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source field: public.sys_org.addr") + public static final SqlColumn addr = sysOrg.addr; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source field: public.sys_org.uscc") + public static final SqlColumn uscc = sysOrg.uscc; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source field: public.sys_org.org_type") + public static final SqlColumn org_type = sysOrg.org_type; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source field: public.sys_org.is_archives_dep") + public static final SqlColumn is_archives_dep = sysOrg.is_archives_dep; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source field: public.sys_org.cer_id") + public static final SqlColumn cer_id = sysOrg.cer_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3201506+08:00", comments="Source field: public.sys_org.is_forbidden") + public static final SqlColumn is_forbidden = sysOrg.is_forbidden; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source Table: public.sys_org") + public static final class SysOrg extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn pid = column("pid", JDBCType.VARCHAR); + + public final SqlColumn chinese_simple_name = column("chinese_simple_name", JDBCType.VARCHAR); + + public final SqlColumn english_simple_name = column("english_simple_name", JDBCType.VARCHAR); + + public final SqlColumn chinese_full_name = column("chinese_full_name", JDBCType.VARCHAR); + + public final SqlColumn english_full_name = column("english_full_name", JDBCType.VARCHAR); + + public final SqlColumn code = column("code", JDBCType.VARCHAR); + + public final SqlColumn sort = column("sort", JDBCType.INTEGER); + + public final SqlColumn status = column("status", JDBCType.INTEGER); + + public final SqlColumn is_company_department = column("is_company_department", JDBCType.INTEGER); + + public final SqlColumn enterprise_legal_person = column("enterprise_legal_person", JDBCType.VARCHAR); + + public final SqlColumn contact_person = column("contact_person", JDBCType.VARCHAR); + + public final SqlColumn contact_phone = column("contact_phone", JDBCType.VARCHAR); + + public final SqlColumn remark = column("remark", JDBCType.VARCHAR); + + public final SqlColumn create_time = column("create_time", JDBCType.TIMESTAMP); + + public final SqlColumn create_user = column("create_user", JDBCType.VARCHAR); + + public final SqlColumn update_time = column("update_time", JDBCType.TIMESTAMP); + + public final SqlColumn update_user = column("update_user", JDBCType.VARCHAR); + + public final SqlColumn name = column("name", JDBCType.VARCHAR); + + public final SqlColumn industry_name = column("industry_name", JDBCType.VARCHAR); + + public final SqlColumn industry_code = column("industry_code", JDBCType.VARCHAR); + + public final SqlColumn province_code = column("province_code", JDBCType.VARCHAR); + + public final SqlColumn city_code = column("city_code", JDBCType.VARCHAR); + + public final SqlColumn area_code = column("area_code", JDBCType.VARCHAR); + + public final SqlColumn addr = column("addr", JDBCType.VARCHAR); + + public final SqlColumn uscc = column("uscc", JDBCType.VARCHAR); + + public final SqlColumn org_type = column("org_type", JDBCType.VARCHAR); + + public final SqlColumn is_archives_dep = column("is_archives_dep", JDBCType.INTEGER); + + public final SqlColumn cer_id = column("cer_id", JDBCType.VARCHAR); + + public final SqlColumn is_forbidden = column("is_forbidden", JDBCType.INTEGER); + + public SysOrg() { + super("sys_org", SysOrg::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysRoleDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysRoleDynamicSqlSupport.java new file mode 100644 index 0000000..ea9d0b6 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysRoleDynamicSqlSupport.java @@ -0,0 +1,63 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class SysRoleDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source Table: public.sys_role") + public static final SysRole sysRole = new SysRole(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.id") + public static final SqlColumn id = sysRole.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.rolename") + public static final SqlColumn rolename = sysRole.rolename; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.describe") + public static final SqlColumn describe = sysRole.describe; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.sort") + public static final SqlColumn sort = sysRole.sort; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.is_open") + public static final SqlColumn is_open = sysRole.is_open; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.sign_name") + public static final SqlColumn sign_name = sysRole.sign_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.sign_id") + public static final SqlColumn sign_id = sysRole.sign_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.company_id") + public static final SqlColumn company_id = sysRole.company_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.company_name") + public static final SqlColumn company_name = sysRole.company_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source Table: public.sys_role") + public static final class SysRole extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn rolename = column("rolename", JDBCType.VARCHAR); + + public final SqlColumn describe = column("describe", JDBCType.VARCHAR); + + public final SqlColumn sort = column("sort", JDBCType.INTEGER); + + public final SqlColumn is_open = column("is_open", JDBCType.INTEGER); + + public final SqlColumn sign_name = column("sign_name", JDBCType.VARCHAR); + + public final SqlColumn sign_id = column("sign_id", JDBCType.VARCHAR); + + public final SqlColumn company_id = column("company_id", JDBCType.VARCHAR); + + public final SqlColumn company_name = column("company_name", JDBCType.VARCHAR); + + public SysRole() { + super("sys_role", SysRole::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysRoleMenuDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysRoleMenuDynamicSqlSupport.java new file mode 100644 index 0000000..2ee66b9 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysRoleMenuDynamicSqlSupport.java @@ -0,0 +1,33 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class SysRoleMenuDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2901497+08:00", comments="Source Table: public.sys_role_menu") + public static final SysRoleMenu sysRoleMenu = new SysRoleMenu(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2901497+08:00", comments="Source field: public.sys_role_menu.id") + public static final SqlColumn id = sysRoleMenu.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2901497+08:00", comments="Source field: public.sys_role_menu.roleid") + public static final SqlColumn roleid = sysRoleMenu.roleid; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2901497+08:00", comments="Source field: public.sys_role_menu.menuid") + public static final SqlColumn menuid = sysRoleMenu.menuid; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2901497+08:00", comments="Source Table: public.sys_role_menu") + public static final class SysRoleMenu extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn roleid = column("roleid", JDBCType.VARCHAR); + + public final SqlColumn menuid = column("menuid", JDBCType.VARCHAR); + + public SysRoleMenu() { + super("sys_role_menu", SysRoleMenu::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysRoleSignDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysRoleSignDynamicSqlSupport.java new file mode 100644 index 0000000..a0bdd90 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysRoleSignDynamicSqlSupport.java @@ -0,0 +1,33 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class SysRoleSignDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.300152+08:00", comments="Source Table: public.sys_role_sign") + public static final SysRoleSign sysRoleSign = new SysRoleSign(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.300152+08:00", comments="Source field: public.sys_role_sign.id") + public static final SqlColumn id = sysRoleSign.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.300152+08:00", comments="Source field: public.sys_role_sign.sign_name") + public static final SqlColumn sign_name = sysRoleSign.sign_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.300152+08:00", comments="Source field: public.sys_role_sign.sign_code") + public static final SqlColumn sign_code = sysRoleSign.sign_code; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.300152+08:00", comments="Source Table: public.sys_role_sign") + public static final class SysRoleSign extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn sign_name = column("sign_name", JDBCType.VARCHAR); + + public final SqlColumn sign_code = column("sign_code", JDBCType.VARCHAR); + + public SysRoleSign() { + super("sys_role_sign", SysRoleSign::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysRoleUrlDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysRoleUrlDynamicSqlSupport.java new file mode 100644 index 0000000..bb8ba21 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysRoleUrlDynamicSqlSupport.java @@ -0,0 +1,38 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class SysRoleUrlDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3231506+08:00", comments="Source Table: public.sys_role_url") + public static final SysRoleUrl sysRoleUrl = new SysRoleUrl(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3231506+08:00", comments="Source field: public.sys_role_url.id") + public static final SqlColumn id = sysRoleUrl.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3231506+08:00", comments="Source field: public.sys_role_url.roleid") + public static final SqlColumn roleid = sysRoleUrl.roleid; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3231506+08:00", comments="Source field: public.sys_role_url.url") + public static final SqlColumn url = sysRoleUrl.url; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3231506+08:00", comments="Source field: public.sys_role_url.urltypes") + public static final SqlColumn urltypes = sysRoleUrl.urltypes; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3231506+08:00", comments="Source Table: public.sys_role_url") + public static final class SysRoleUrl extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn roleid = column("roleid", JDBCType.VARCHAR); + + public final SqlColumn url = column("url", JDBCType.VARCHAR); + + public final SqlColumn urltypes = column("urltypes", JDBCType.INTEGER); + + public SysRoleUrl() { + super("sys_role_url", SysRoleUrl::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysUrlsDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysUrlsDynamicSqlSupport.java new file mode 100644 index 0000000..9794303 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/SysUrlsDynamicSqlSupport.java @@ -0,0 +1,53 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class SysUrlsDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source Table: public.sys_urls") + public static final SysUrls sysUrls = new SysUrls(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source field: public.sys_urls.id") + public static final SqlColumn id = sysUrls.id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source field: public.sys_urls.pid") + public static final SqlColumn pid = sysUrls.pid; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source field: public.sys_urls.types") + public static final SqlColumn types = sysUrls.types; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source field: public.sys_urls.level") + public static final SqlColumn level = sysUrls.level; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source field: public.sys_urls.url") + public static final SqlColumn url = sysUrls.url; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source field: public.sys_urls.name") + public static final SqlColumn name = sysUrls.name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source field: public.sys_urls.method") + public static final SqlColumn method = sysUrls.method; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source Table: public.sys_urls") + public static final class SysUrls extends AliasableSqlTable { + public final SqlColumn id = column("id", JDBCType.VARCHAR); + + public final SqlColumn pid = column("pid", JDBCType.VARCHAR); + + public final SqlColumn types = column("types", JDBCType.INTEGER); + + public final SqlColumn level = column("level", JDBCType.INTEGER); + + public final SqlColumn url = column("url", JDBCType.VARCHAR); + + public final SqlColumn name = column("name", JDBCType.VARCHAR); + + public final SqlColumn method = column("method", JDBCType.VARCHAR); + + public SysUrls() { + super("sys_urls", SysUrls::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/WbDirectoryDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/WbDirectoryDynamicSqlSupport.java new file mode 100644 index 0000000..1d6c925 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/WbDirectoryDynamicSqlSupport.java @@ -0,0 +1,58 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class WbDirectoryDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6350131+08:00", comments="Source Table: public.wb_directory") + public static final WbDirectory wbDirectory = new WbDirectory(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6350131+08:00", comments="Source field: public.wb_directory.kid") + public static final SqlColumn kid = wbDirectory.kid; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6350131+08:00", comments="Source field: public.wb_directory.parentID") + public static final SqlColumn parentID = wbDirectory.parentID; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6350131+08:00", comments="Source field: public.wb_directory.time_stamp") + public static final SqlColumn time_stamp = wbDirectory.time_stamp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6350131+08:00", comments="Source field: public.wb_directory.sortOrder") + public static final SqlColumn sortOrder = wbDirectory.sortOrder; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6350131+08:00", comments="Source field: public.wb_directory.tname") + public static final SqlColumn tname = wbDirectory.tname; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6350131+08:00", comments="Source field: public.wb_directory.subjoin") + public static final SqlColumn subjoin = wbDirectory.subjoin; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6350131+08:00", comments="Source field: public.wb_directory.isdel") + public static final SqlColumn isdel = wbDirectory.isdel; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6350131+08:00", comments="Source field: public.wb_directory.wbs_id") + public static final SqlColumn wbs_id = wbDirectory.wbs_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6350131+08:00", comments="Source Table: public.wb_directory") + public static final class WbDirectory extends AliasableSqlTable { + public final SqlColumn kid = column("kid", JDBCType.VARCHAR); + + public final SqlColumn parentID = column("\"parentID\"", JDBCType.VARCHAR); + + public final SqlColumn time_stamp = column("time_stamp", JDBCType.VARCHAR); + + public final SqlColumn sortOrder = column("\"sortOrder\"", JDBCType.INTEGER); + + public final SqlColumn tname = column("tname", JDBCType.VARCHAR); + + public final SqlColumn subjoin = column("subjoin", JDBCType.INTEGER); + + public final SqlColumn isdel = column("isdel", JDBCType.INTEGER); + + public final SqlColumn wbs_id = column("wbs_id", JDBCType.INTEGER); + + public WbDirectory() { + super("wb_directory", WbDirectory::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/WbDirectoryFileDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/WbDirectoryFileDynamicSqlSupport.java new file mode 100644 index 0000000..281e404 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/WbDirectoryFileDynamicSqlSupport.java @@ -0,0 +1,123 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class WbDirectoryFileDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source Table: public.wb_directory_file") + public static final WbDirectoryFile wbDirectoryFile = new WbDirectoryFile(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.kid") + public static final SqlColumn kid = wbDirectoryFile.kid; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.sortID") + public static final SqlColumn sortID = wbDirectoryFile.sortID; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.fileSuper") + public static final SqlColumn fileSuper = wbDirectoryFile.fileSuper; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.fileCount") + public static final SqlColumn fileCount = wbDirectoryFile.fileCount; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.dutyPerson") + public static final SqlColumn dutyPerson = wbDirectoryFile.dutyPerson; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.eWeaveDate") + public static final SqlColumn eWeaveDate = wbDirectoryFile.eWeaveDate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.filePage") + public static final SqlColumn filePage = wbDirectoryFile.filePage; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.sortOrder") + public static final SqlColumn sortOrder = wbDirectoryFile.sortOrder; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.bPeg") + public static final SqlColumn bPeg = wbDirectoryFile.bPeg; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.ePeg") + public static final SqlColumn ePeg = wbDirectoryFile.ePeg; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6330132+08:00", comments="Source field: public.wb_directory_file.fileNum") + public static final SqlColumn fileNum = wbDirectoryFile.fileNum; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6330132+08:00", comments="Source field: public.wb_directory_file.remark") + public static final SqlColumn remark = wbDirectoryFile.remark; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6330132+08:00", comments="Source field: public.wb_directory_file.recordNum") + public static final SqlColumn recordNum = wbDirectoryFile.recordNum; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6330132+08:00", comments="Source field: public.wb_directory_file.pieceNumber") + public static final SqlColumn pieceNumber = wbDirectoryFile.pieceNumber; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6330132+08:00", comments="Source field: public.wb_directory_file.addDate") + public static final SqlColumn addDate = wbDirectoryFile.addDate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6330132+08:00", comments="Source field: public.wb_directory_file.editDate") + public static final SqlColumn editDate = wbDirectoryFile.editDate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6330132+08:00", comments="Source field: public.wb_directory_file.time_stamp") + public static final SqlColumn time_stamp = wbDirectoryFile.time_stamp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6330132+08:00", comments="Source field: public.wb_directory_file.isDel") + public static final SqlColumn isDel = wbDirectoryFile.isDel; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6330132+08:00", comments="Source field: public.wb_directory_file.catalogPdfURL") + public static final SqlColumn catalogPdfURL = wbDirectoryFile.catalogPdfURL; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6330132+08:00", comments="Source field: public.wb_directory_file.signTag") + public static final SqlColumn signTag = wbDirectoryFile.signTag; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6330132+08:00", comments="Source field: public.wb_directory_file.collectTag") + public static final SqlColumn collectTag = wbDirectoryFile.collectTag; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source Table: public.wb_directory_file") + public static final class WbDirectoryFile extends AliasableSqlTable { + public final SqlColumn kid = column("kid", JDBCType.VARCHAR); + + public final SqlColumn sortID = column("\"sortID\"", JDBCType.VARCHAR); + + public final SqlColumn fileSuper = column("\"fileSuper\"", JDBCType.VARCHAR); + + public final SqlColumn fileCount = column("\"fileCount\"", JDBCType.INTEGER); + + public final SqlColumn dutyPerson = column("\"dutyPerson\"", JDBCType.VARCHAR); + + public final SqlColumn eWeaveDate = column("\"eWeaveDate\"", JDBCType.VARCHAR); + + public final SqlColumn filePage = column("\"filePage\"", JDBCType.INTEGER); + + public final SqlColumn sortOrder = column("\"sortOrder\"", JDBCType.VARCHAR); + + public final SqlColumn bPeg = column("\"bPeg\"", JDBCType.VARCHAR); + + public final SqlColumn ePeg = column("\"ePeg\"", JDBCType.VARCHAR); + + public final SqlColumn fileNum = column("\"fileNum\"", JDBCType.VARCHAR); + + public final SqlColumn remark = column("remark", JDBCType.VARCHAR); + + public final SqlColumn recordNum = column("\"recordNum\"", JDBCType.VARCHAR); + + public final SqlColumn pieceNumber = column("\"pieceNumber\"", JDBCType.VARCHAR); + + public final SqlColumn addDate = column("\"addDate\"", JDBCType.VARCHAR); + + public final SqlColumn editDate = column("\"editDate\"", JDBCType.VARCHAR); + + public final SqlColumn time_stamp = column("time_stamp", JDBCType.VARCHAR); + + public final SqlColumn isDel = column("\"isDel\"", JDBCType.INTEGER); + + public final SqlColumn catalogPdfURL = column("\"catalogPdfURL\"", JDBCType.VARCHAR); + + public final SqlColumn signTag = column("\"signTag\"", JDBCType.VARCHAR); + + public final SqlColumn collectTag = column("\"collectTag\"", JDBCType.VARCHAR); + + public WbDirectoryFile() { + super("wb_directory_file", WbDirectoryFile::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/WbFileDynamicSqlSupport.java b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/WbFileDynamicSqlSupport.java new file mode 100644 index 0000000..afda72e --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/dao/support/WbFileDynamicSqlSupport.java @@ -0,0 +1,103 @@ +package jj.tech.paolu.repository.mybatis.dao.support; + +import jakarta.annotation.Generated; +import java.sql.JDBCType; +import org.mybatis.dynamic.sql.AliasableSqlTable; +import org.mybatis.dynamic.sql.SqlColumn; + +public final class WbFileDynamicSqlSupport { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6102916+08:00", comments="Source Table: public.wb_file") + public static final WbFile wbFile = new WbFile(); + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6113483+08:00", comments="Source field: public.wb_file.kid") + public static final SqlColumn kid = wbFile.kid; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6123918+08:00", comments="Source field: public.wb_file.catalogID") + public static final SqlColumn catalogID = wbFile.catalogID; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6123918+08:00", comments="Source field: public.wb_file.tableName") + public static final SqlColumn tableName = wbFile.tableName; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6123918+08:00", comments="Source field: public.wb_file.annexName") + public static final SqlColumn annexName = wbFile.annexName; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6123918+08:00", comments="Source field: public.wb_file.projectName") + public static final SqlColumn projectName = wbFile.projectName; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6123918+08:00", comments="Source field: public.wb_file.eweaveDate") + public static final SqlColumn eweaveDate = wbFile.eweaveDate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6123918+08:00", comments="Source field: public.wb_file.checkDate") + public static final SqlColumn checkDate = wbFile.checkDate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6123918+08:00", comments="Source field: public.wb_file.annexPage") + public static final SqlColumn annexPage = wbFile.annexPage; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6123918+08:00", comments="Source field: public.wb_file.sortOrder") + public static final SqlColumn sortOrder = wbFile.sortOrder; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6123918+08:00", comments="Source field: public.wb_file.fileFrom") + public static final SqlColumn fileFrom = wbFile.fileFrom; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6123918+08:00", comments="Source field: public.wb_file.archivestag") + public static final SqlColumn archivestag = wbFile.archivestag; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6123918+08:00", comments="Source field: public.wb_file.addDate") + public static final SqlColumn addDate = wbFile.addDate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6123918+08:00", comments="Source field: public.wb_file.editDate") + public static final SqlColumn editDate = wbFile.editDate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6123918+08:00", comments="Source field: public.wb_file.time_stamp") + public static final SqlColumn time_stamp = wbFile.time_stamp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6123918+08:00", comments="Source field: public.wb_file.isDel") + public static final SqlColumn isDel = wbFile.isDel; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6123918+08:00", comments="Source field: public.wb_file.downURL") + public static final SqlColumn downURL = wbFile.downURL; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6123918+08:00", comments="Source field: public.wb_file.filesize") + public static final SqlColumn filesize = wbFile.filesize; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6113483+08:00", comments="Source Table: public.wb_file") + public static final class WbFile extends AliasableSqlTable { + public final SqlColumn kid = column("kid", JDBCType.VARCHAR); + + public final SqlColumn catalogID = column("\"catalogID\"", JDBCType.VARCHAR); + + public final SqlColumn tableName = column("\"tableName\"", JDBCType.VARCHAR); + + public final SqlColumn annexName = column("\"annexName\"", JDBCType.VARCHAR); + + public final SqlColumn projectName = column("\"projectName\"", JDBCType.VARCHAR); + + public final SqlColumn eweaveDate = column("\"eweaveDate\"", JDBCType.VARCHAR); + + public final SqlColumn checkDate = column("\"checkDate\"", JDBCType.VARCHAR); + + public final SqlColumn annexPage = column("\"annexPage\"", JDBCType.INTEGER); + + public final SqlColumn sortOrder = column("\"sortOrder\"", JDBCType.VARCHAR); + + public final SqlColumn fileFrom = column("\"fileFrom\"", JDBCType.VARCHAR); + + public final SqlColumn archivestag = column("\"archivestag\"", JDBCType.VARCHAR); + + public final SqlColumn addDate = column("\"addDate\"", JDBCType.VARCHAR); + + public final SqlColumn editDate = column("\"editDate\"", JDBCType.VARCHAR); + + public final SqlColumn time_stamp = column("time_stamp", JDBCType.VARCHAR); + + public final SqlColumn isDel = column("\"isDel\"", JDBCType.INTEGER); + + public final SqlColumn downURL = column("\"downURL\"", JDBCType.VARCHAR); + + public final SqlColumn filesize = column("filesize", JDBCType.INTEGER); + + public WbFile() { + super("wb_file", WbFile::new); + } + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/ArchiveSynLog.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/ArchiveSynLog.java new file mode 100644 index 0000000..71e30ed --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/ArchiveSynLog.java @@ -0,0 +1,182 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; +import java.time.LocalDateTime; + +/** + * Database Table Remarks: + * 从电子档案系统同步档案目录数据的过程日志 + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.archive_syn_log + */ +public class ArchiveSynLog { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source field: public.archive_syn_log.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source field: public.archive_syn_log.start_time") + private LocalDateTime start_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source field: public.archive_syn_log.insert_dir_count") + private Long insert_dir_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source field: public.archive_syn_log.update_dir_count") + private Long update_dir_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source field: public.archive_syn_log.insert_dirfile_count") + private Long insert_dirfile_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source field: public.archive_syn_log.update_dirfile_count") + private Long update_dirfile_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source field: public.archive_syn_log.insert_file_count") + private Long insert_file_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source field: public.archive_syn_log.update_file_count") + private Long update_file_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source field: public.archive_syn_log.description") + private String description; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source field: public.archive_syn_log.run_result") + private String run_result; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source field: public.archive_syn_log.update_timestamp") + private Long update_timestamp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source field: public.archive_syn_log.next_update_timestamp") + private Long next_update_timestamp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source field: public.archive_syn_log.end_time") + private LocalDateTime end_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source field: public.archive_syn_log.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source field: public.archive_syn_log.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source field: public.archive_syn_log.start_time") + public LocalDateTime getStart_time() { + return start_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source field: public.archive_syn_log.start_time") + public void setStart_time(LocalDateTime start_time) { + this.start_time = start_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source field: public.archive_syn_log.insert_dir_count") + public Long getInsert_dir_count() { + return insert_dir_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source field: public.archive_syn_log.insert_dir_count") + public void setInsert_dir_count(Long insert_dir_count) { + this.insert_dir_count = insert_dir_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source field: public.archive_syn_log.update_dir_count") + public Long getUpdate_dir_count() { + return update_dir_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source field: public.archive_syn_log.update_dir_count") + public void setUpdate_dir_count(Long update_dir_count) { + this.update_dir_count = update_dir_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source field: public.archive_syn_log.insert_dirfile_count") + public Long getInsert_dirfile_count() { + return insert_dirfile_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source field: public.archive_syn_log.insert_dirfile_count") + public void setInsert_dirfile_count(Long insert_dirfile_count) { + this.insert_dirfile_count = insert_dirfile_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source field: public.archive_syn_log.update_dirfile_count") + public Long getUpdate_dirfile_count() { + return update_dirfile_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source field: public.archive_syn_log.update_dirfile_count") + public void setUpdate_dirfile_count(Long update_dirfile_count) { + this.update_dirfile_count = update_dirfile_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source field: public.archive_syn_log.insert_file_count") + public Long getInsert_file_count() { + return insert_file_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source field: public.archive_syn_log.insert_file_count") + public void setInsert_file_count(Long insert_file_count) { + this.insert_file_count = insert_file_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.28715+08:00", comments="Source field: public.archive_syn_log.update_file_count") + public Long getUpdate_file_count() { + return update_file_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source field: public.archive_syn_log.update_file_count") + public void setUpdate_file_count(Long update_file_count) { + this.update_file_count = update_file_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source field: public.archive_syn_log.description") + public String getDescription() { + return description; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source field: public.archive_syn_log.description") + public void setDescription(String description) { + this.description = description == null ? null : description.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source field: public.archive_syn_log.run_result") + public String getRun_result() { + return run_result; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source field: public.archive_syn_log.run_result") + public void setRun_result(String run_result) { + this.run_result = run_result == null ? null : run_result.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source field: public.archive_syn_log.update_timestamp") + public Long getUpdate_timestamp() { + return update_timestamp; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source field: public.archive_syn_log.update_timestamp") + public void setUpdate_timestamp(Long update_timestamp) { + this.update_timestamp = update_timestamp; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source field: public.archive_syn_log.next_update_timestamp") + public Long getNext_update_timestamp() { + return next_update_timestamp; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source field: public.archive_syn_log.next_update_timestamp") + public void setNext_update_timestamp(Long next_update_timestamp) { + this.next_update_timestamp = next_update_timestamp; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source field: public.archive_syn_log.end_time") + public LocalDateTime getEnd_time() { + return end_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2881514+08:00", comments="Source field: public.archive_syn_log.end_time") + public void setEnd_time(LocalDateTime end_time) { + this.end_time = end_time; + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/ArchiveSynLogDetail.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/ArchiveSynLogDetail.java new file mode 100644 index 0000000..67aee33 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/ArchiveSynLogDetail.java @@ -0,0 +1,91 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; +import java.time.LocalDateTime; + +/** + * Database Table Remarks: + * 从电子档案系统同步数据的详情记录,记录新增了哪些数据,修改了哪些数据。因为使用isDel属性来记录删除,所以删除了数据也归属到更新中 + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.archive_syn_log_detail + */ +public class ArchiveSynLogDetail { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6406196+08:00", comments="Source field: public.archive_syn_log_detail.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6416463+08:00", comments="Source field: public.archive_syn_log_detail.node_id") + private String node_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6416463+08:00", comments="Source field: public.archive_syn_log_detail.note_type") + private Integer note_type; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6416463+08:00", comments="Source field: public.archive_syn_log_detail.process_type") + private Integer process_type; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6416463+08:00", comments="Source field: public.archive_syn_log_detail.create_time") + private LocalDateTime create_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6416463+08:00", comments="Source field: public.archive_syn_log_detail.log_id") + private String log_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6416463+08:00", comments="Source field: public.archive_syn_log_detail.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6416463+08:00", comments="Source field: public.archive_syn_log_detail.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6416463+08:00", comments="Source field: public.archive_syn_log_detail.node_id") + public String getNode_id() { + return node_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6416463+08:00", comments="Source field: public.archive_syn_log_detail.node_id") + public void setNode_id(String node_id) { + this.node_id = node_id == null ? null : node_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6416463+08:00", comments="Source field: public.archive_syn_log_detail.note_type") + public Integer getNote_type() { + return note_type; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6416463+08:00", comments="Source field: public.archive_syn_log_detail.note_type") + public void setNote_type(Integer note_type) { + this.note_type = note_type; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6416463+08:00", comments="Source field: public.archive_syn_log_detail.process_type") + public Integer getProcess_type() { + return process_type; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6416463+08:00", comments="Source field: public.archive_syn_log_detail.process_type") + public void setProcess_type(Integer process_type) { + this.process_type = process_type; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6416463+08:00", comments="Source field: public.archive_syn_log_detail.create_time") + public LocalDateTime getCreate_time() { + return create_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6416463+08:00", comments="Source field: public.archive_syn_log_detail.create_time") + public void setCreate_time(LocalDateTime create_time) { + this.create_time = create_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6416463+08:00", comments="Source field: public.archive_syn_log_detail.log_id") + public String getLog_id() { + return log_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T11:36:17.6416463+08:00", comments="Source field: public.archive_syn_log_detail.log_id") + public void setLog_id(String log_id) { + this.log_id = log_id == null ? null : log_id.trim(); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/ArchiveSynTimestamp.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/ArchiveSynTimestamp.java new file mode 100644 index 0000000..5349db2 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/ArchiveSynTimestamp.java @@ -0,0 +1,51 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; + +/** + * Database Table Remarks: + * 记录获取每个分类目录下文件目录,以及获取每个文件目录下文件时使用的时间戳。避免重复同步引起后续的重复上链 + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.archive_syn_timestamp + */ +public class ArchiveSynTimestamp { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.6984219+08:00", comments="Source field: public.archive_syn_timestamp.node_id") + private String node_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.6994214+08:00", comments="Source field: public.archive_syn_timestamp.node_type") + private Integer node_type; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.6994214+08:00", comments="Source field: public.archive_syn_timestamp.timestamp") + private String timestamp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.6984219+08:00", comments="Source field: public.archive_syn_timestamp.node_id") + public String getNode_id() { + return node_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.6994214+08:00", comments="Source field: public.archive_syn_timestamp.node_id") + public void setNode_id(String node_id) { + this.node_id = node_id == null ? null : node_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.6994214+08:00", comments="Source field: public.archive_syn_timestamp.node_type") + public Integer getNode_type() { + return node_type; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.6994214+08:00", comments="Source field: public.archive_syn_timestamp.node_type") + public void setNode_type(Integer node_type) { + this.node_type = node_type; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.6994214+08:00", comments="Source field: public.archive_syn_timestamp.timestamp") + public String getTimestamp() { + return timestamp; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T20:53:02.6994214+08:00", comments="Source field: public.archive_syn_timestamp.timestamp") + public void setTimestamp(String timestamp) { + this.timestamp = timestamp == null ? null : timestamp.trim(); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/CertificateApply.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/CertificateApply.java new file mode 100644 index 0000000..cf5e402 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/CertificateApply.java @@ -0,0 +1,232 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; +import java.time.LocalDateTime; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.certificate_apply + */ +public class CertificateApply { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.is_org") + private Integer is_org; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.user_id") + private String user_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.user_name") + private String user_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.user_real_name") + private String user_real_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.user_phone") + private String user_phone; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.user_org_id") + private String user_org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.user_org_name") + private String user_org_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.apply_type") + private Integer apply_type; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.status") + private Integer status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.apply_time") + private LocalDateTime apply_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.apply_finish_time") + private LocalDateTime apply_finish_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.apply_reason") + private String apply_reason; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.next_check_org_id") + private String next_check_org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.end_check_org_id") + private String end_check_org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.cer_id") + private String cer_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.company_id") + private String company_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.is_org") + public Integer getIs_org() { + return is_org; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.is_org") + public void setIs_org(Integer is_org) { + this.is_org = is_org; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.user_id") + public String getUser_id() { + return user_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.user_id") + public void setUser_id(String user_id) { + this.user_id = user_id == null ? null : user_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.user_name") + public String getUser_name() { + return user_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.user_name") + public void setUser_name(String user_name) { + this.user_name = user_name == null ? null : user_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.user_real_name") + public String getUser_real_name() { + return user_real_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.user_real_name") + public void setUser_real_name(String user_real_name) { + this.user_real_name = user_real_name == null ? null : user_real_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.user_phone") + public String getUser_phone() { + return user_phone; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.user_phone") + public void setUser_phone(String user_phone) { + this.user_phone = user_phone == null ? null : user_phone.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.user_org_id") + public String getUser_org_id() { + return user_org_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.user_org_id") + public void setUser_org_id(String user_org_id) { + this.user_org_id = user_org_id == null ? null : user_org_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.user_org_name") + public String getUser_org_name() { + return user_org_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.user_org_name") + public void setUser_org_name(String user_org_name) { + this.user_org_name = user_org_name == null ? null : user_org_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.apply_type") + public Integer getApply_type() { + return apply_type; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.apply_type") + public void setApply_type(Integer apply_type) { + this.apply_type = apply_type; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.status") + public Integer getStatus() { + return status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.status") + public void setStatus(Integer status) { + this.status = status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.apply_time") + public LocalDateTime getApply_time() { + return apply_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.apply_time") + public void setApply_time(LocalDateTime apply_time) { + this.apply_time = apply_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.apply_finish_time") + public LocalDateTime getApply_finish_time() { + return apply_finish_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.apply_finish_time") + public void setApply_finish_time(LocalDateTime apply_finish_time) { + this.apply_finish_time = apply_finish_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.apply_reason") + public String getApply_reason() { + return apply_reason; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.apply_reason") + public void setApply_reason(String apply_reason) { + this.apply_reason = apply_reason == null ? null : apply_reason.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.next_check_org_id") + public String getNext_check_org_id() { + return next_check_org_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.next_check_org_id") + public void setNext_check_org_id(String next_check_org_id) { + this.next_check_org_id = next_check_org_id == null ? null : next_check_org_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.end_check_org_id") + public String getEnd_check_org_id() { + return end_check_org_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.end_check_org_id") + public void setEnd_check_org_id(String end_check_org_id) { + this.end_check_org_id = end_check_org_id == null ? null : end_check_org_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.cer_id") + public String getCer_id() { + return cer_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.cer_id") + public void setCer_id(String cer_id) { + this.cer_id = cer_id == null ? null : cer_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.company_id") + public String getCompany_id() { + return company_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3101478+08:00", comments="Source field: public.certificate_apply.company_id") + public void setCompany_id(String company_id) { + this.company_id = company_id == null ? null : company_id.trim(); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/CertificateApplyRecord.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/CertificateApplyRecord.java new file mode 100644 index 0000000..15039af --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/CertificateApplyRecord.java @@ -0,0 +1,206 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; +import java.time.LocalDateTime; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.certificate_apply_record + */ +public class CertificateApplyRecord { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.certificate_apply_id") + private String certificate_apply_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.certificate_apply_user_id") + private String certificate_apply_user_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.certificate_apply_user_org_id") + private String certificate_apply_user_org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.is_org") + private Integer is_org; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.apply_type") + private Integer apply_type; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.check_user_id") + private String check_user_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.check_user_name") + private String check_user_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.check_org_id") + private String check_org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.check_org_name") + private String check_org_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.check_describe") + private String check_describe; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.check_status") + private Integer check_status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.check_time") + private LocalDateTime check_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.next_check_org_id") + private String next_check_org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.next_check_org_name") + private String next_check_org_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.certificate_apply_id") + public String getCertificate_apply_id() { + return certificate_apply_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.certificate_apply_id") + public void setCertificate_apply_id(String certificate_apply_id) { + this.certificate_apply_id = certificate_apply_id == null ? null : certificate_apply_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.certificate_apply_user_id") + public String getCertificate_apply_user_id() { + return certificate_apply_user_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.certificate_apply_user_id") + public void setCertificate_apply_user_id(String certificate_apply_user_id) { + this.certificate_apply_user_id = certificate_apply_user_id == null ? null : certificate_apply_user_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.certificate_apply_user_org_id") + public String getCertificate_apply_user_org_id() { + return certificate_apply_user_org_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.certificate_apply_user_org_id") + public void setCertificate_apply_user_org_id(String certificate_apply_user_org_id) { + this.certificate_apply_user_org_id = certificate_apply_user_org_id == null ? null : certificate_apply_user_org_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.is_org") + public Integer getIs_org() { + return is_org; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.is_org") + public void setIs_org(Integer is_org) { + this.is_org = is_org; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.apply_type") + public Integer getApply_type() { + return apply_type; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.apply_type") + public void setApply_type(Integer apply_type) { + this.apply_type = apply_type; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.check_user_id") + public String getCheck_user_id() { + return check_user_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.check_user_id") + public void setCheck_user_id(String check_user_id) { + this.check_user_id = check_user_id == null ? null : check_user_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.check_user_name") + public String getCheck_user_name() { + return check_user_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.check_user_name") + public void setCheck_user_name(String check_user_name) { + this.check_user_name = check_user_name == null ? null : check_user_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.check_org_id") + public String getCheck_org_id() { + return check_org_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.check_org_id") + public void setCheck_org_id(String check_org_id) { + this.check_org_id = check_org_id == null ? null : check_org_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.check_org_name") + public String getCheck_org_name() { + return check_org_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.check_org_name") + public void setCheck_org_name(String check_org_name) { + this.check_org_name = check_org_name == null ? null : check_org_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.check_describe") + public String getCheck_describe() { + return check_describe; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.check_describe") + public void setCheck_describe(String check_describe) { + this.check_describe = check_describe == null ? null : check_describe.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.check_status") + public Integer getCheck_status() { + return check_status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.check_status") + public void setCheck_status(Integer check_status) { + this.check_status = check_status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.check_time") + public LocalDateTime getCheck_time() { + return check_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.check_time") + public void setCheck_time(LocalDateTime check_time) { + this.check_time = check_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.next_check_org_id") + public String getNext_check_org_id() { + return next_check_org_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.next_check_org_id") + public void setNext_check_org_id(String next_check_org_id) { + this.next_check_org_id = next_check_org_id == null ? null : next_check_org_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.next_check_org_name") + public String getNext_check_org_name() { + return next_check_org_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3061472+08:00", comments="Source field: public.certificate_apply_record.next_check_org_name") + public void setNext_check_org_name(String next_check_org_name) { + this.next_check_org_name = next_check_org_name == null ? null : next_check_org_name.trim(); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/CertificateDetail.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/CertificateDetail.java new file mode 100644 index 0000000..c2465e4 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/CertificateDetail.java @@ -0,0 +1,195 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; +import java.time.LocalDateTime; + +/** + * Database Table Remarks: + * 组织证书详情,存储了各个企业上传的来自CA的机构证书的全部数据,并解析出了部分字段,同时包括档案管理系统产生的部分状态字段 + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.certificate_detail + */ +public class CertificateDetail { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.certificate_apply_id") + private String certificate_apply_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.work_start_time") + private LocalDateTime work_start_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.work_end_time") + private LocalDateTime work_end_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.status") + private Integer status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.cert_file_content") + private String cert_file_content; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.is_up_chain") + private Integer is_up_chain; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.weid") + private String weid; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.private_key_hex_str") + private String private_key_hex_str; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.x509_serial_number") + private String x509_serial_number; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.x509_subject") + private String x509_subject; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.x509_issuer") + private String x509_issuer; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.x509_public_key") + private String x509_public_key; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.x509_sig_alg_name") + private String x509_sig_alg_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.certificate_apply_id") + public String getCertificate_apply_id() { + return certificate_apply_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.certificate_apply_id") + public void setCertificate_apply_id(String certificate_apply_id) { + this.certificate_apply_id = certificate_apply_id == null ? null : certificate_apply_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.work_start_time") + public LocalDateTime getWork_start_time() { + return work_start_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.work_start_time") + public void setWork_start_time(LocalDateTime work_start_time) { + this.work_start_time = work_start_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.work_end_time") + public LocalDateTime getWork_end_time() { + return work_end_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.work_end_time") + public void setWork_end_time(LocalDateTime work_end_time) { + this.work_end_time = work_end_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.status") + public Integer getStatus() { + return status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.status") + public void setStatus(Integer status) { + this.status = status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.cert_file_content") + public String getCert_file_content() { + return cert_file_content; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.cert_file_content") + public void setCert_file_content(String cert_file_content) { + this.cert_file_content = cert_file_content == null ? null : cert_file_content.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.is_up_chain") + public Integer getIs_up_chain() { + return is_up_chain; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.is_up_chain") + public void setIs_up_chain(Integer is_up_chain) { + this.is_up_chain = is_up_chain; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.weid") + public String getWeid() { + return weid; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.weid") + public void setWeid(String weid) { + this.weid = weid == null ? null : weid.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.private_key_hex_str") + public String getPrivate_key_hex_str() { + return private_key_hex_str; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.private_key_hex_str") + public void setPrivate_key_hex_str(String private_key_hex_str) { + this.private_key_hex_str = private_key_hex_str == null ? null : private_key_hex_str.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.x509_serial_number") + public String getX509_serial_number() { + return x509_serial_number; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.x509_serial_number") + public void setX509_serial_number(String x509_serial_number) { + this.x509_serial_number = x509_serial_number == null ? null : x509_serial_number.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.x509_subject") + public String getX509_subject() { + return x509_subject; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.x509_subject") + public void setX509_subject(String x509_subject) { + this.x509_subject = x509_subject == null ? null : x509_subject.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.x509_issuer") + public String getX509_issuer() { + return x509_issuer; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.x509_issuer") + public void setX509_issuer(String x509_issuer) { + this.x509_issuer = x509_issuer == null ? null : x509_issuer.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.x509_public_key") + public String getX509_public_key() { + return x509_public_key; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.x509_public_key") + public void setX509_public_key(String x509_public_key) { + this.x509_public_key = x509_public_key == null ? null : x509_public_key.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.x509_sig_alg_name") + public String getX509_sig_alg_name() { + return x509_sig_alg_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2981487+08:00", comments="Source field: public.certificate_detail.x509_sig_alg_name") + public void setX509_sig_alg_name(String x509_sig_alg_name) { + this.x509_sig_alg_name = x509_sig_alg_name == null ? null : x509_sig_alg_name.trim(); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/DecryptLog.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/DecryptLog.java new file mode 100644 index 0000000..c784ec2 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/DecryptLog.java @@ -0,0 +1,162 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; +import java.time.LocalDateTime; + +/** + * Database Table Remarks: + * 解密情况 + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.decrypt_log + */ +public class DecryptLog { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.id") + private String id; + + /** + * Database Column Remarks: + * 申请人id + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.weid") + private String weid; + + /** + * Database Column Remarks: + * 档案类型(0件/1件内文件) + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.content_type") + private Integer content_type; + + /** + * Database Column Remarks: + * 档案id + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.content_id") + private String content_id; + + /** + * Database Column Remarks: + * 解密时间 + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.dec_time") + private LocalDateTime dec_time; + + /** + * Database Column Remarks: + * 区域 + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.location") + private String location; + + /** + * Database Column Remarks: + * 秘钥id + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.sm9hibeid") + private String sm9hibeid; + + /** + * Database Column Remarks: + * 解密结果(0失败1成功) + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.status") + private Integer status; + + /** + * Database Column Remarks: + * 数字签名 + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.sign") + private String sign; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.weid") + public String getWeid() { + return weid; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.weid") + public void setWeid(String weid) { + this.weid = weid == null ? null : weid.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.content_type") + public Integer getContent_type() { + return content_type; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.content_type") + public void setContent_type(Integer content_type) { + this.content_type = content_type; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.content_id") + public String getContent_id() { + return content_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.content_id") + public void setContent_id(String content_id) { + this.content_id = content_id == null ? null : content_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.dec_time") + public LocalDateTime getDec_time() { + return dec_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.dec_time") + public void setDec_time(LocalDateTime dec_time) { + this.dec_time = dec_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.location") + public String getLocation() { + return location; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.location") + public void setLocation(String location) { + this.location = location == null ? null : location.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.sm9hibeid") + public String getSm9hibeid() { + return sm9hibeid; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.sm9hibeid") + public void setSm9hibeid(String sm9hibeid) { + this.sm9hibeid = sm9hibeid == null ? null : sm9hibeid.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.status") + public Integer getStatus() { + return status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.status") + public void setStatus(Integer status) { + this.status = status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.sign") + public String getSign() { + return sign; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3171529+08:00", comments="Source field: public.decrypt_log.sign") + public void setSign(String sign) { + this.sign = sign == null ? null : sign.trim(); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/DownloadLog.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/DownloadLog.java new file mode 100644 index 0000000..890ea23 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/DownloadLog.java @@ -0,0 +1,128 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; +import java.time.LocalDateTime; + +/** + * Database Table Remarks: + * 下载行为记录 + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.download_log + */ +public class DownloadLog { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2511592+08:00", comments="Source field: public.download_log.id") + private String id; + + /** + * Database Column Remarks: + * weid + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2511592+08:00", comments="Source field: public.download_log.weid") + private String weid; + + /** + * Database Column Remarks: + * 下载时间 + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2511592+08:00", comments="Source field: public.download_log.downloadtime") + private LocalDateTime downloadtime; + + /** + * Database Column Remarks: + * 下载文件数 + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2511592+08:00", comments="Source field: public.download_log.filenum") + private Integer filenum; + + /** + * Database Column Remarks: + * 下载类型(1文件包/2单个附件(SyncFile)/3单个件(DirecotryFile)) + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2511592+08:00", comments="Source field: public.download_log.content_type") + private Integer content_type; + + /** + * Database Column Remarks: + * 下载记录ID(如果是单个文件,就取ID,如果是包,就是包内包含的文件的ID列表) + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2511592+08:00", comments="Source field: public.download_log.contentid") + private String contentid; + + /** + * Database Column Remarks: + * 数字签名 + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2511592+08:00", comments="Source field: public.download_log.sign") + private String sign; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2511592+08:00", comments="Source field: public.download_log.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2511592+08:00", comments="Source field: public.download_log.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2511592+08:00", comments="Source field: public.download_log.weid") + public String getWeid() { + return weid; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2511592+08:00", comments="Source field: public.download_log.weid") + public void setWeid(String weid) { + this.weid = weid == null ? null : weid.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2511592+08:00", comments="Source field: public.download_log.downloadtime") + public LocalDateTime getDownloadtime() { + return downloadtime; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2511592+08:00", comments="Source field: public.download_log.downloadtime") + public void setDownloadtime(LocalDateTime downloadtime) { + this.downloadtime = downloadtime; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2511592+08:00", comments="Source field: public.download_log.filenum") + public Integer getFilenum() { + return filenum; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2511592+08:00", comments="Source field: public.download_log.filenum") + public void setFilenum(Integer filenum) { + this.filenum = filenum; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2511592+08:00", comments="Source field: public.download_log.content_type") + public Integer getContent_type() { + return content_type; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2511592+08:00", comments="Source field: public.download_log.content_type") + public void setContent_type(Integer content_type) { + this.content_type = content_type; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2511592+08:00", comments="Source field: public.download_log.contentid") + public String getContentid() { + return contentid; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2511592+08:00", comments="Source field: public.download_log.contentid") + public void setContentid(String contentid) { + this.contentid = contentid == null ? null : contentid.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2511592+08:00", comments="Source field: public.download_log.sign") + public String getSign() { + return sign; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2511592+08:00", comments="Source field: public.download_log.sign") + public void setSign(String sign) { + this.sign = sign == null ? null : sign.trim(); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/FilesApply.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/FilesApply.java new file mode 100644 index 0000000..635945c --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/FilesApply.java @@ -0,0 +1,626 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; +import java.time.LocalDateTime; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.files_apply + */ +public class FilesApply { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_user_id") + private String apply_user_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_user_name") + private String apply_user_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_user_phone") + private String apply_user_phone; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_user_email") + private String apply_user_email; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_org_id") + private String apply_org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_org_name") + private String apply_org_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_in_check_user_id") + private String apply_in_check_user_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_in_check_user_name") + private String apply_in_check_user_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_in_check_org_id") + private String apply_in_check_org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_in_check_org_name") + private String apply_in_check_org_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_next_check_org_id") + private String apply_next_check_org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_next_check_org_name") + private String apply_next_check_org_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_end_check_user_id") + private String apply_end_check_user_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_end_check_user_name") + private String apply_end_check_user_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_end_check_org_id") + private String apply_end_check_org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_end_check_org_name") + private String apply_end_check_org_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.apply_days") + private Integer apply_days; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.apply_feedback") + private String apply_feedback; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.apply_reason") + private String apply_reason; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.apply_cancel_reason") + private String apply_cancel_reason; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.apply_view_type_print") + private Integer apply_view_type_print; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.apply_view_type_online") + private Integer apply_view_type_online; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.apply_file_num") + private Integer apply_file_num; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.apply_time") + private LocalDateTime apply_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.apply_check_is_finish") + private Integer apply_check_is_finish; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_org_id") + private String provider_org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_org_name") + private String provider_org_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_file_properties") + private Integer provider_file_properties; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_use_start_time") + private LocalDateTime provider_use_start_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_use_end_time") + private LocalDateTime provider_use_end_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_in_check_user_id") + private String provider_in_check_user_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_in_check_user_name") + private String provider_in_check_user_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_in_check_org_id") + private String provider_in_check_org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_in_check_org_name") + private String provider_in_check_org_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_next_check_role_sign_id") + private String provider_next_check_role_sign_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_next_check_role_sign_name") + private String provider_next_check_role_sign_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_end_check_user_id") + private String provider_end_check_user_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_end_check_user_name") + private String provider_end_check_user_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_end_check_org_id") + private String provider_end_check_org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_end_check_org_name") + private String provider_end_check_org_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_check_is_finish") + private Integer provider_check_is_finish; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.secret_key") + private String secret_key; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.status") + private Integer status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.project_id") + private String project_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.project_name") + private String project_name; + + /** + * Database Column Remarks: + * 签名 + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.sign") + private String sign; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_user_id") + public String getApply_user_id() { + return apply_user_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_user_id") + public void setApply_user_id(String apply_user_id) { + this.apply_user_id = apply_user_id == null ? null : apply_user_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_user_name") + public String getApply_user_name() { + return apply_user_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_user_name") + public void setApply_user_name(String apply_user_name) { + this.apply_user_name = apply_user_name == null ? null : apply_user_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_user_phone") + public String getApply_user_phone() { + return apply_user_phone; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_user_phone") + public void setApply_user_phone(String apply_user_phone) { + this.apply_user_phone = apply_user_phone == null ? null : apply_user_phone.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_user_email") + public String getApply_user_email() { + return apply_user_email; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_user_email") + public void setApply_user_email(String apply_user_email) { + this.apply_user_email = apply_user_email == null ? null : apply_user_email.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_org_id") + public String getApply_org_id() { + return apply_org_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_org_id") + public void setApply_org_id(String apply_org_id) { + this.apply_org_id = apply_org_id == null ? null : apply_org_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_org_name") + public String getApply_org_name() { + return apply_org_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_org_name") + public void setApply_org_name(String apply_org_name) { + this.apply_org_name = apply_org_name == null ? null : apply_org_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_in_check_user_id") + public String getApply_in_check_user_id() { + return apply_in_check_user_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_in_check_user_id") + public void setApply_in_check_user_id(String apply_in_check_user_id) { + this.apply_in_check_user_id = apply_in_check_user_id == null ? null : apply_in_check_user_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_in_check_user_name") + public String getApply_in_check_user_name() { + return apply_in_check_user_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_in_check_user_name") + public void setApply_in_check_user_name(String apply_in_check_user_name) { + this.apply_in_check_user_name = apply_in_check_user_name == null ? null : apply_in_check_user_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_in_check_org_id") + public String getApply_in_check_org_id() { + return apply_in_check_org_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_in_check_org_id") + public void setApply_in_check_org_id(String apply_in_check_org_id) { + this.apply_in_check_org_id = apply_in_check_org_id == null ? null : apply_in_check_org_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_in_check_org_name") + public String getApply_in_check_org_name() { + return apply_in_check_org_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_in_check_org_name") + public void setApply_in_check_org_name(String apply_in_check_org_name) { + this.apply_in_check_org_name = apply_in_check_org_name == null ? null : apply_in_check_org_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_next_check_org_id") + public String getApply_next_check_org_id() { + return apply_next_check_org_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_next_check_org_id") + public void setApply_next_check_org_id(String apply_next_check_org_id) { + this.apply_next_check_org_id = apply_next_check_org_id == null ? null : apply_next_check_org_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_next_check_org_name") + public String getApply_next_check_org_name() { + return apply_next_check_org_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_next_check_org_name") + public void setApply_next_check_org_name(String apply_next_check_org_name) { + this.apply_next_check_org_name = apply_next_check_org_name == null ? null : apply_next_check_org_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_end_check_user_id") + public String getApply_end_check_user_id() { + return apply_end_check_user_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_end_check_user_id") + public void setApply_end_check_user_id(String apply_end_check_user_id) { + this.apply_end_check_user_id = apply_end_check_user_id == null ? null : apply_end_check_user_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_end_check_user_name") + public String getApply_end_check_user_name() { + return apply_end_check_user_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_end_check_user_name") + public void setApply_end_check_user_name(String apply_end_check_user_name) { + this.apply_end_check_user_name = apply_end_check_user_name == null ? null : apply_end_check_user_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_end_check_org_id") + public String getApply_end_check_org_id() { + return apply_end_check_org_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_end_check_org_id") + public void setApply_end_check_org_id(String apply_end_check_org_id) { + this.apply_end_check_org_id = apply_end_check_org_id == null ? null : apply_end_check_org_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_end_check_org_name") + public String getApply_end_check_org_name() { + return apply_end_check_org_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2731517+08:00", comments="Source field: public.files_apply.apply_end_check_org_name") + public void setApply_end_check_org_name(String apply_end_check_org_name) { + this.apply_end_check_org_name = apply_end_check_org_name == null ? null : apply_end_check_org_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.apply_days") + public Integer getApply_days() { + return apply_days; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.apply_days") + public void setApply_days(Integer apply_days) { + this.apply_days = apply_days; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.apply_feedback") + public String getApply_feedback() { + return apply_feedback; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.apply_feedback") + public void setApply_feedback(String apply_feedback) { + this.apply_feedback = apply_feedback == null ? null : apply_feedback.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.apply_reason") + public String getApply_reason() { + return apply_reason; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.apply_reason") + public void setApply_reason(String apply_reason) { + this.apply_reason = apply_reason == null ? null : apply_reason.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.apply_cancel_reason") + public String getApply_cancel_reason() { + return apply_cancel_reason; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.apply_cancel_reason") + public void setApply_cancel_reason(String apply_cancel_reason) { + this.apply_cancel_reason = apply_cancel_reason == null ? null : apply_cancel_reason.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.apply_view_type_print") + public Integer getApply_view_type_print() { + return apply_view_type_print; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.apply_view_type_print") + public void setApply_view_type_print(Integer apply_view_type_print) { + this.apply_view_type_print = apply_view_type_print; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.apply_view_type_online") + public Integer getApply_view_type_online() { + return apply_view_type_online; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.apply_view_type_online") + public void setApply_view_type_online(Integer apply_view_type_online) { + this.apply_view_type_online = apply_view_type_online; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.apply_file_num") + public Integer getApply_file_num() { + return apply_file_num; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.apply_file_num") + public void setApply_file_num(Integer apply_file_num) { + this.apply_file_num = apply_file_num; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.apply_time") + public LocalDateTime getApply_time() { + return apply_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.apply_time") + public void setApply_time(LocalDateTime apply_time) { + this.apply_time = apply_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.apply_check_is_finish") + public Integer getApply_check_is_finish() { + return apply_check_is_finish; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.apply_check_is_finish") + public void setApply_check_is_finish(Integer apply_check_is_finish) { + this.apply_check_is_finish = apply_check_is_finish; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_org_id") + public String getProvider_org_id() { + return provider_org_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_org_id") + public void setProvider_org_id(String provider_org_id) { + this.provider_org_id = provider_org_id == null ? null : provider_org_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_org_name") + public String getProvider_org_name() { + return provider_org_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_org_name") + public void setProvider_org_name(String provider_org_name) { + this.provider_org_name = provider_org_name == null ? null : provider_org_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_file_properties") + public Integer getProvider_file_properties() { + return provider_file_properties; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_file_properties") + public void setProvider_file_properties(Integer provider_file_properties) { + this.provider_file_properties = provider_file_properties; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_use_start_time") + public LocalDateTime getProvider_use_start_time() { + return provider_use_start_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_use_start_time") + public void setProvider_use_start_time(LocalDateTime provider_use_start_time) { + this.provider_use_start_time = provider_use_start_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_use_end_time") + public LocalDateTime getProvider_use_end_time() { + return provider_use_end_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_use_end_time") + public void setProvider_use_end_time(LocalDateTime provider_use_end_time) { + this.provider_use_end_time = provider_use_end_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_in_check_user_id") + public String getProvider_in_check_user_id() { + return provider_in_check_user_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_in_check_user_id") + public void setProvider_in_check_user_id(String provider_in_check_user_id) { + this.provider_in_check_user_id = provider_in_check_user_id == null ? null : provider_in_check_user_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_in_check_user_name") + public String getProvider_in_check_user_name() { + return provider_in_check_user_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_in_check_user_name") + public void setProvider_in_check_user_name(String provider_in_check_user_name) { + this.provider_in_check_user_name = provider_in_check_user_name == null ? null : provider_in_check_user_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_in_check_org_id") + public String getProvider_in_check_org_id() { + return provider_in_check_org_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_in_check_org_id") + public void setProvider_in_check_org_id(String provider_in_check_org_id) { + this.provider_in_check_org_id = provider_in_check_org_id == null ? null : provider_in_check_org_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_in_check_org_name") + public String getProvider_in_check_org_name() { + return provider_in_check_org_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_in_check_org_name") + public void setProvider_in_check_org_name(String provider_in_check_org_name) { + this.provider_in_check_org_name = provider_in_check_org_name == null ? null : provider_in_check_org_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_next_check_role_sign_id") + public String getProvider_next_check_role_sign_id() { + return provider_next_check_role_sign_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_next_check_role_sign_id") + public void setProvider_next_check_role_sign_id(String provider_next_check_role_sign_id) { + this.provider_next_check_role_sign_id = provider_next_check_role_sign_id == null ? null : provider_next_check_role_sign_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_next_check_role_sign_name") + public String getProvider_next_check_role_sign_name() { + return provider_next_check_role_sign_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_next_check_role_sign_name") + public void setProvider_next_check_role_sign_name(String provider_next_check_role_sign_name) { + this.provider_next_check_role_sign_name = provider_next_check_role_sign_name == null ? null : provider_next_check_role_sign_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_end_check_user_id") + public String getProvider_end_check_user_id() { + return provider_end_check_user_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_end_check_user_id") + public void setProvider_end_check_user_id(String provider_end_check_user_id) { + this.provider_end_check_user_id = provider_end_check_user_id == null ? null : provider_end_check_user_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_end_check_user_name") + public String getProvider_end_check_user_name() { + return provider_end_check_user_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_end_check_user_name") + public void setProvider_end_check_user_name(String provider_end_check_user_name) { + this.provider_end_check_user_name = provider_end_check_user_name == null ? null : provider_end_check_user_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_end_check_org_id") + public String getProvider_end_check_org_id() { + return provider_end_check_org_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_end_check_org_id") + public void setProvider_end_check_org_id(String provider_end_check_org_id) { + this.provider_end_check_org_id = provider_end_check_org_id == null ? null : provider_end_check_org_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_end_check_org_name") + public String getProvider_end_check_org_name() { + return provider_end_check_org_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2741474+08:00", comments="Source field: public.files_apply.provider_end_check_org_name") + public void setProvider_end_check_org_name(String provider_end_check_org_name) { + this.provider_end_check_org_name = provider_end_check_org_name == null ? null : provider_end_check_org_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.provider_check_is_finish") + public Integer getProvider_check_is_finish() { + return provider_check_is_finish; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.provider_check_is_finish") + public void setProvider_check_is_finish(Integer provider_check_is_finish) { + this.provider_check_is_finish = provider_check_is_finish; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.secret_key") + public String getSecret_key() { + return secret_key; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.secret_key") + public void setSecret_key(String secret_key) { + this.secret_key = secret_key == null ? null : secret_key.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.status") + public Integer getStatus() { + return status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.status") + public void setStatus(Integer status) { + this.status = status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.project_id") + public String getProject_id() { + return project_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.project_id") + public void setProject_id(String project_id) { + this.project_id = project_id == null ? null : project_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.project_name") + public String getProject_name() { + return project_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.project_name") + public void setProject_name(String project_name) { + this.project_name = project_name == null ? null : project_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.sign") + public String getSign() { + return sign; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.275148+08:00", comments="Source field: public.files_apply.sign") + public void setSign(String sign) { + this.sign = sign == null ? null : sign.trim(); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/FilesApplyCheckRecord.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/FilesApplyCheckRecord.java new file mode 100644 index 0000000..ddebb3a --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/FilesApplyCheckRecord.java @@ -0,0 +1,206 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; +import java.time.LocalDateTime; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.files_apply_check_record + */ +public class FilesApplyCheckRecord { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.files_apply_id") + private String files_apply_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.is_apply_provider") + private Integer is_apply_provider; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.check_user_id") + private String check_user_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.check_user_name") + private String check_user_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.check_org_id") + private String check_org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.check_org_name") + private String check_org_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.next_check_org_id") + private String next_check_org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.next_check_org_name") + private String next_check_org_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.check_describe") + private String check_describe; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.check_status") + private Integer check_status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.check_time") + private LocalDateTime check_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.provider_next_check_role_sign_id") + private String provider_next_check_role_sign_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.provider_next_check_role_sign_name") + private String provider_next_check_role_sign_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.sign") + private String sign; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.files_apply_id") + public String getFiles_apply_id() { + return files_apply_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.files_apply_id") + public void setFiles_apply_id(String files_apply_id) { + this.files_apply_id = files_apply_id == null ? null : files_apply_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.is_apply_provider") + public Integer getIs_apply_provider() { + return is_apply_provider; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.is_apply_provider") + public void setIs_apply_provider(Integer is_apply_provider) { + this.is_apply_provider = is_apply_provider; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.check_user_id") + public String getCheck_user_id() { + return check_user_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.check_user_id") + public void setCheck_user_id(String check_user_id) { + this.check_user_id = check_user_id == null ? null : check_user_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.check_user_name") + public String getCheck_user_name() { + return check_user_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.check_user_name") + public void setCheck_user_name(String check_user_name) { + this.check_user_name = check_user_name == null ? null : check_user_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.check_org_id") + public String getCheck_org_id() { + return check_org_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.check_org_id") + public void setCheck_org_id(String check_org_id) { + this.check_org_id = check_org_id == null ? null : check_org_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.check_org_name") + public String getCheck_org_name() { + return check_org_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.check_org_name") + public void setCheck_org_name(String check_org_name) { + this.check_org_name = check_org_name == null ? null : check_org_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.next_check_org_id") + public String getNext_check_org_id() { + return next_check_org_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.next_check_org_id") + public void setNext_check_org_id(String next_check_org_id) { + this.next_check_org_id = next_check_org_id == null ? null : next_check_org_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.next_check_org_name") + public String getNext_check_org_name() { + return next_check_org_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.next_check_org_name") + public void setNext_check_org_name(String next_check_org_name) { + this.next_check_org_name = next_check_org_name == null ? null : next_check_org_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.check_describe") + public String getCheck_describe() { + return check_describe; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.check_describe") + public void setCheck_describe(String check_describe) { + this.check_describe = check_describe == null ? null : check_describe.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.check_status") + public Integer getCheck_status() { + return check_status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.check_status") + public void setCheck_status(Integer check_status) { + this.check_status = check_status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.check_time") + public LocalDateTime getCheck_time() { + return check_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.check_time") + public void setCheck_time(LocalDateTime check_time) { + this.check_time = check_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.provider_next_check_role_sign_id") + public String getProvider_next_check_role_sign_id() { + return provider_next_check_role_sign_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.provider_next_check_role_sign_id") + public void setProvider_next_check_role_sign_id(String provider_next_check_role_sign_id) { + this.provider_next_check_role_sign_id = provider_next_check_role_sign_id == null ? null : provider_next_check_role_sign_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.provider_next_check_role_sign_name") + public String getProvider_next_check_role_sign_name() { + return provider_next_check_role_sign_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.provider_next_check_role_sign_name") + public void setProvider_next_check_role_sign_name(String provider_next_check_role_sign_name) { + this.provider_next_check_role_sign_name = provider_next_check_role_sign_name == null ? null : provider_next_check_role_sign_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.sign") + public String getSign() { + return sign; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3151511+08:00", comments="Source field: public.files_apply_check_record.sign") + public void setSign(String sign) { + this.sign = sign == null ? null : sign.trim(); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/FilesApplyDirectoryDocs.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/FilesApplyDirectoryDocs.java new file mode 100644 index 0000000..fa9866c --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/FilesApplyDirectoryDocs.java @@ -0,0 +1,309 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.files_apply_directory_docs + */ +public class FilesApplyDirectoryDocs { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2122439+08:00", comments="Source field: public.files_apply_directory_docs.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2142452+08:00", comments="Source field: public.files_apply_directory_docs.files_apply_id") + private String files_apply_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2142452+08:00", comments="Source field: public.files_apply_directory_docs.directory_file_id") + private String directory_file_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2142452+08:00", comments="Source field: public.files_apply_directory_docs.directory_file_p_id") + private String directory_file_p_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2152123+08:00", comments="Source field: public.files_apply_directory_docs.filesuper") + private String filesuper; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2152123+08:00", comments="Source field: public.files_apply_directory_docs.filecount") + private Integer filecount; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2152123+08:00", comments="Source field: public.files_apply_directory_docs.dutyperson") + private String dutyperson; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2162209+08:00", comments="Source field: public.files_apply_directory_docs.eweavedate") + private String eweavedate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2162209+08:00", comments="Source field: public.files_apply_directory_docs.filepage") + private Integer filepage; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2162209+08:00", comments="Source field: public.files_apply_directory_docs.sortorder") + private String sortorder; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2162209+08:00", comments="Source field: public.files_apply_directory_docs.bpeg") + private String bpeg; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2162209+08:00", comments="Source field: public.files_apply_directory_docs.epeg") + private String epeg; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2162209+08:00", comments="Source field: public.files_apply_directory_docs.filenum") + private String filenum; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2162209+08:00", comments="Source field: public.files_apply_directory_docs.remark") + private String remark; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2172125+08:00", comments="Source field: public.files_apply_directory_docs.recordnum") + private String recordnum; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2172125+08:00", comments="Source field: public.files_apply_directory_docs.piecenumber") + private String piecenumber; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2172125+08:00", comments="Source field: public.files_apply_directory_docs.adddate") + private String adddate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2172125+08:00", comments="Source field: public.files_apply_directory_docs.editdate") + private String editdate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2172125+08:00", comments="Source field: public.files_apply_directory_docs.time_stamp") + private String time_stamp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2172125+08:00", comments="Source field: public.files_apply_directory_docs.isdel") + private Integer isdel; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2172125+08:00", comments="Source field: public.files_apply_directory_docs.catalogpdfurl") + private String catalogpdfurl; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2182117+08:00", comments="Source field: public.files_apply_directory_docs.signtag") + private String signtag; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2182117+08:00", comments="Source field: public.files_apply_directory_docs.collecttag") + private String collecttag; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2142452+08:00", comments="Source field: public.files_apply_directory_docs.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2142452+08:00", comments="Source field: public.files_apply_directory_docs.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2142452+08:00", comments="Source field: public.files_apply_directory_docs.files_apply_id") + public String getFiles_apply_id() { + return files_apply_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2142452+08:00", comments="Source field: public.files_apply_directory_docs.files_apply_id") + public void setFiles_apply_id(String files_apply_id) { + this.files_apply_id = files_apply_id == null ? null : files_apply_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2142452+08:00", comments="Source field: public.files_apply_directory_docs.directory_file_id") + public String getDirectory_file_id() { + return directory_file_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2142452+08:00", comments="Source field: public.files_apply_directory_docs.directory_file_id") + public void setDirectory_file_id(String directory_file_id) { + this.directory_file_id = directory_file_id == null ? null : directory_file_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2142452+08:00", comments="Source field: public.files_apply_directory_docs.directory_file_p_id") + public String getDirectory_file_p_id() { + return directory_file_p_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2152123+08:00", comments="Source field: public.files_apply_directory_docs.directory_file_p_id") + public void setDirectory_file_p_id(String directory_file_p_id) { + this.directory_file_p_id = directory_file_p_id == null ? null : directory_file_p_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2152123+08:00", comments="Source field: public.files_apply_directory_docs.filesuper") + public String getFilesuper() { + return filesuper; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2152123+08:00", comments="Source field: public.files_apply_directory_docs.filesuper") + public void setFilesuper(String filesuper) { + this.filesuper = filesuper == null ? null : filesuper.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2152123+08:00", comments="Source field: public.files_apply_directory_docs.filecount") + public Integer getFilecount() { + return filecount; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2152123+08:00", comments="Source field: public.files_apply_directory_docs.filecount") + public void setFilecount(Integer filecount) { + this.filecount = filecount; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2152123+08:00", comments="Source field: public.files_apply_directory_docs.dutyperson") + public String getDutyperson() { + return dutyperson; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2152123+08:00", comments="Source field: public.files_apply_directory_docs.dutyperson") + public void setDutyperson(String dutyperson) { + this.dutyperson = dutyperson == null ? null : dutyperson.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2162209+08:00", comments="Source field: public.files_apply_directory_docs.eweavedate") + public String getEweavedate() { + return eweavedate; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2162209+08:00", comments="Source field: public.files_apply_directory_docs.eweavedate") + public void setEweavedate(String eweavedate) { + this.eweavedate = eweavedate == null ? null : eweavedate.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2162209+08:00", comments="Source field: public.files_apply_directory_docs.filepage") + public Integer getFilepage() { + return filepage; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2162209+08:00", comments="Source field: public.files_apply_directory_docs.filepage") + public void setFilepage(Integer filepage) { + this.filepage = filepage; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2162209+08:00", comments="Source field: public.files_apply_directory_docs.sortorder") + public String getSortorder() { + return sortorder; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2162209+08:00", comments="Source field: public.files_apply_directory_docs.sortorder") + public void setSortorder(String sortorder) { + this.sortorder = sortorder == null ? null : sortorder.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2162209+08:00", comments="Source field: public.files_apply_directory_docs.bpeg") + public String getBpeg() { + return bpeg; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2162209+08:00", comments="Source field: public.files_apply_directory_docs.bpeg") + public void setBpeg(String bpeg) { + this.bpeg = bpeg == null ? null : bpeg.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2162209+08:00", comments="Source field: public.files_apply_directory_docs.epeg") + public String getEpeg() { + return epeg; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2162209+08:00", comments="Source field: public.files_apply_directory_docs.epeg") + public void setEpeg(String epeg) { + this.epeg = epeg == null ? null : epeg.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2162209+08:00", comments="Source field: public.files_apply_directory_docs.filenum") + public String getFilenum() { + return filenum; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2162209+08:00", comments="Source field: public.files_apply_directory_docs.filenum") + public void setFilenum(String filenum) { + this.filenum = filenum == null ? null : filenum.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2172125+08:00", comments="Source field: public.files_apply_directory_docs.remark") + public String getRemark() { + return remark; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2172125+08:00", comments="Source field: public.files_apply_directory_docs.remark") + public void setRemark(String remark) { + this.remark = remark == null ? null : remark.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2172125+08:00", comments="Source field: public.files_apply_directory_docs.recordnum") + public String getRecordnum() { + return recordnum; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2172125+08:00", comments="Source field: public.files_apply_directory_docs.recordnum") + public void setRecordnum(String recordnum) { + this.recordnum = recordnum == null ? null : recordnum.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2172125+08:00", comments="Source field: public.files_apply_directory_docs.piecenumber") + public String getPiecenumber() { + return piecenumber; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2172125+08:00", comments="Source field: public.files_apply_directory_docs.piecenumber") + public void setPiecenumber(String piecenumber) { + this.piecenumber = piecenumber == null ? null : piecenumber.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2172125+08:00", comments="Source field: public.files_apply_directory_docs.adddate") + public String getAdddate() { + return adddate; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2172125+08:00", comments="Source field: public.files_apply_directory_docs.adddate") + public void setAdddate(String adddate) { + this.adddate = adddate == null ? null : adddate.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2172125+08:00", comments="Source field: public.files_apply_directory_docs.editdate") + public String getEditdate() { + return editdate; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2172125+08:00", comments="Source field: public.files_apply_directory_docs.editdate") + public void setEditdate(String editdate) { + this.editdate = editdate == null ? null : editdate.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2172125+08:00", comments="Source field: public.files_apply_directory_docs.time_stamp") + public String getTime_stamp() { + return time_stamp; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2172125+08:00", comments="Source field: public.files_apply_directory_docs.time_stamp") + public void setTime_stamp(String time_stamp) { + this.time_stamp = time_stamp == null ? null : time_stamp.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2172125+08:00", comments="Source field: public.files_apply_directory_docs.isdel") + public Integer getIsdel() { + return isdel; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2172125+08:00", comments="Source field: public.files_apply_directory_docs.isdel") + public void setIsdel(Integer isdel) { + this.isdel = isdel; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2172125+08:00", comments="Source field: public.files_apply_directory_docs.catalogpdfurl") + public String getCatalogpdfurl() { + return catalogpdfurl; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2172125+08:00", comments="Source field: public.files_apply_directory_docs.catalogpdfurl") + public void setCatalogpdfurl(String catalogpdfurl) { + this.catalogpdfurl = catalogpdfurl == null ? null : catalogpdfurl.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2182117+08:00", comments="Source field: public.files_apply_directory_docs.signtag") + public String getSigntag() { + return signtag; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2182117+08:00", comments="Source field: public.files_apply_directory_docs.signtag") + public void setSigntag(String signtag) { + this.signtag = signtag == null ? null : signtag.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2182117+08:00", comments="Source field: public.files_apply_directory_docs.collecttag") + public String getCollecttag() { + return collecttag; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2182117+08:00", comments="Source field: public.files_apply_directory_docs.collecttag") + public void setCollecttag(String collecttag) { + this.collecttag = collecttag == null ? null : collecttag.trim(); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/FilesApplyDocs.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/FilesApplyDocs.java new file mode 100644 index 0000000..448a063 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/FilesApplyDocs.java @@ -0,0 +1,283 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.files_apply_docs + */ +public class FilesApplyDocs { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.files_apply_id") + private String files_apply_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.syn_file_id") + private String syn_file_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.syn_file_p_id") + private String syn_file_p_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.tablenumber") + private String tablenumber; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.annexname") + private String annexname; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.projectname") + private String projectname; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.eweavedate") + private String eweavedate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.checkdate") + private String checkdate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.annexpage") + private Integer annexpage; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.sortorder") + private String sortorder; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.filefrom") + private String filefrom; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.archivestag") + private String archivestag; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.adddate") + private String adddate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.editdate") + private String editdate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.time_stamp") + private String time_stamp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.isdel") + private Integer isdel; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source field: public.files_apply_docs.downurl") + private String downurl; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source field: public.files_apply_docs.filesize") + private Integer filesize; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source field: public.files_apply_docs.apply_view_type_print") + private Integer apply_view_type_print; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source field: public.files_apply_docs.apply_view_type_online") + private Integer apply_view_type_online; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.files_apply_id") + public String getFiles_apply_id() { + return files_apply_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.files_apply_id") + public void setFiles_apply_id(String files_apply_id) { + this.files_apply_id = files_apply_id == null ? null : files_apply_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.syn_file_id") + public String getSyn_file_id() { + return syn_file_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.syn_file_id") + public void setSyn_file_id(String syn_file_id) { + this.syn_file_id = syn_file_id == null ? null : syn_file_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.syn_file_p_id") + public String getSyn_file_p_id() { + return syn_file_p_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.syn_file_p_id") + public void setSyn_file_p_id(String syn_file_p_id) { + this.syn_file_p_id = syn_file_p_id == null ? null : syn_file_p_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.tablenumber") + public String getTablenumber() { + return tablenumber; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.tablenumber") + public void setTablenumber(String tablenumber) { + this.tablenumber = tablenumber == null ? null : tablenumber.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.annexname") + public String getAnnexname() { + return annexname; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.annexname") + public void setAnnexname(String annexname) { + this.annexname = annexname == null ? null : annexname.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.projectname") + public String getProjectname() { + return projectname; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.projectname") + public void setProjectname(String projectname) { + this.projectname = projectname == null ? null : projectname.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.eweavedate") + public String getEweavedate() { + return eweavedate; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.eweavedate") + public void setEweavedate(String eweavedate) { + this.eweavedate = eweavedate == null ? null : eweavedate.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.checkdate") + public String getCheckdate() { + return checkdate; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.checkdate") + public void setCheckdate(String checkdate) { + this.checkdate = checkdate == null ? null : checkdate.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.annexpage") + public Integer getAnnexpage() { + return annexpage; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.annexpage") + public void setAnnexpage(Integer annexpage) { + this.annexpage = annexpage; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.sortorder") + public String getSortorder() { + return sortorder; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.sortorder") + public void setSortorder(String sortorder) { + this.sortorder = sortorder == null ? null : sortorder.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.filefrom") + public String getFilefrom() { + return filefrom; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.filefrom") + public void setFilefrom(String filefrom) { + this.filefrom = filefrom == null ? null : filefrom.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.archivestag") + public String getArchivestag() { + return archivestag; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.archivestag") + public void setArchivestag(String archivestag) { + this.archivestag = archivestag == null ? null : archivestag.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.adddate") + public String getAdddate() { + return adddate; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.adddate") + public void setAdddate(String adddate) { + this.adddate = adddate == null ? null : adddate.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.editdate") + public String getEditdate() { + return editdate; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.editdate") + public void setEditdate(String editdate) { + this.editdate = editdate == null ? null : editdate.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.time_stamp") + public String getTime_stamp() { + return time_stamp; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2671475+08:00", comments="Source field: public.files_apply_docs.time_stamp") + public void setTime_stamp(String time_stamp) { + this.time_stamp = time_stamp == null ? null : time_stamp.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source field: public.files_apply_docs.isdel") + public Integer getIsdel() { + return isdel; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source field: public.files_apply_docs.isdel") + public void setIsdel(Integer isdel) { + this.isdel = isdel; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source field: public.files_apply_docs.downurl") + public String getDownurl() { + return downurl; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source field: public.files_apply_docs.downurl") + public void setDownurl(String downurl) { + this.downurl = downurl == null ? null : downurl.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source field: public.files_apply_docs.filesize") + public Integer getFilesize() { + return filesize; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source field: public.files_apply_docs.filesize") + public void setFilesize(Integer filesize) { + this.filesize = filesize; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source field: public.files_apply_docs.apply_view_type_print") + public Integer getApply_view_type_print() { + return apply_view_type_print; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source field: public.files_apply_docs.apply_view_type_print") + public void setApply_view_type_print(Integer apply_view_type_print) { + this.apply_view_type_print = apply_view_type_print; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source field: public.files_apply_docs.apply_view_type_online") + public Integer getApply_view_type_online() { + return apply_view_type_online; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.268147+08:00", comments="Source field: public.files_apply_docs.apply_view_type_online") + public void setApply_view_type_online(Integer apply_view_type_online) { + this.apply_view_type_online = apply_view_type_online; + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/FilesApplyDownloadRecord.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/FilesApplyDownloadRecord.java new file mode 100644 index 0000000..8bbb186 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/FilesApplyDownloadRecord.java @@ -0,0 +1,154 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; +import java.time.LocalDateTime; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.files_apply_download_record + */ +public class FilesApplyDownloadRecord { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.files_apply_id") + private String files_apply_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.is_dir_file") + private Integer is_dir_file; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.syn_file_id") + private String syn_file_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.syn_file_p_id") + private String syn_file_p_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.syn_file_name") + private String syn_file_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.user_id") + private String user_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.user_name") + private String user_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.org_id") + private String org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.org_name") + private String org_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.download_time") + private LocalDateTime download_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.files_apply_id") + public String getFiles_apply_id() { + return files_apply_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.files_apply_id") + public void setFiles_apply_id(String files_apply_id) { + this.files_apply_id = files_apply_id == null ? null : files_apply_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.is_dir_file") + public Integer getIs_dir_file() { + return is_dir_file; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.is_dir_file") + public void setIs_dir_file(Integer is_dir_file) { + this.is_dir_file = is_dir_file; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.syn_file_id") + public String getSyn_file_id() { + return syn_file_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.syn_file_id") + public void setSyn_file_id(String syn_file_id) { + this.syn_file_id = syn_file_id == null ? null : syn_file_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.syn_file_p_id") + public String getSyn_file_p_id() { + return syn_file_p_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.syn_file_p_id") + public void setSyn_file_p_id(String syn_file_p_id) { + this.syn_file_p_id = syn_file_p_id == null ? null : syn_file_p_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.syn_file_name") + public String getSyn_file_name() { + return syn_file_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.syn_file_name") + public void setSyn_file_name(String syn_file_name) { + this.syn_file_name = syn_file_name == null ? null : syn_file_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.user_id") + public String getUser_id() { + return user_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.user_id") + public void setUser_id(String user_id) { + this.user_id = user_id == null ? null : user_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.user_name") + public String getUser_name() { + return user_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.user_name") + public void setUser_name(String user_name) { + this.user_name = user_name == null ? null : user_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.org_id") + public String getOrg_id() { + return org_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.org_id") + public void setOrg_id(String org_id) { + this.org_id = org_id == null ? null : org_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.org_name") + public String getOrg_name() { + return org_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.org_name") + public void setOrg_name(String org_name) { + this.org_name = org_name == null ? null : org_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.download_time") + public LocalDateTime getDownload_time() { + return download_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2931502+08:00", comments="Source field: public.files_apply_download_record.download_time") + public void setDownload_time(LocalDateTime download_time) { + this.download_time = download_time; + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/PreShareDirectoryFileTag.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/PreShareDirectoryFileTag.java new file mode 100644 index 0000000..5e514e8 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/PreShareDirectoryFileTag.java @@ -0,0 +1,66 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; +import java.time.LocalDateTime; + +/** + * Database Table Remarks: + * 预共享文件标记表:记录用户通过配置想要达到的共享状态,既用于支持用户前台界面查询需求,也作为后续实际上链的数据源。提供此表的目的,在于在大数据量情况下,加速对用户配置请求的处理速度,降低阻塞用户新增配置的等待时间。 +为加速数据库操作处理,此表仅保留必须字段 + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.pre_share_directory_file_tag + */ +public class PreShareDirectoryFileTag { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1676417+08:00", comments="Source field: public.pre_share_directory_file_tag.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1676417+08:00", comments="Source field: public.pre_share_directory_file_tag.share_status") + private Integer share_status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1676417+08:00", comments="Source field: public.pre_share_directory_file_tag.update_time") + private LocalDateTime update_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1676417+08:00", comments="Source field: public.pre_share_directory_file_tag.sync_bc_time") + private LocalDateTime sync_bc_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1676417+08:00", comments="Source field: public.pre_share_directory_file_tag.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1676417+08:00", comments="Source field: public.pre_share_directory_file_tag.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1676417+08:00", comments="Source field: public.pre_share_directory_file_tag.share_status") + public Integer getShare_status() { + return share_status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1676417+08:00", comments="Source field: public.pre_share_directory_file_tag.share_status") + public void setShare_status(Integer share_status) { + this.share_status = share_status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1676417+08:00", comments="Source field: public.pre_share_directory_file_tag.update_time") + public LocalDateTime getUpdate_time() { + return update_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1676417+08:00", comments="Source field: public.pre_share_directory_file_tag.update_time") + public void setUpdate_time(LocalDateTime update_time) { + this.update_time = update_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1676417+08:00", comments="Source field: public.pre_share_directory_file_tag.sync_bc_time") + public LocalDateTime getSync_bc_time() { + return sync_bc_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1676417+08:00", comments="Source field: public.pre_share_directory_file_tag.sync_bc_time") + public void setSync_bc_time(LocalDateTime sync_bc_time) { + this.sync_bc_time = sync_bc_time; + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/PreShareDirectoryTag.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/PreShareDirectoryTag.java new file mode 100644 index 0000000..05534b4 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/PreShareDirectoryTag.java @@ -0,0 +1,66 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; +import java.time.LocalDateTime; + +/** + * Database Table Remarks: + * 预共享目录标记表:记录用户通过配置想要达到的共享状态,既用于支持用户前台界面查询需求,也作为后续实际上链的数据源。提供此表的目的,在于在大数据量情况下,加速对用户配置请求的处理速度,降低阻塞用户新增配置的等待时间。 +为加速数据库操作处理,此表仅保留必须字段 + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.pre_share_directory_tag + */ +public class PreShareDirectoryTag { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.140001+08:00", comments="Source field: public.pre_share_directory_tag.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1410891+08:00", comments="Source field: public.pre_share_directory_tag.share_status") + private Integer share_status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1421349+08:00", comments="Source field: public.pre_share_directory_tag.update_time") + private LocalDateTime update_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1421349+08:00", comments="Source field: public.pre_share_directory_tag.sync_bc_time") + private LocalDateTime sync_bc_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1410891+08:00", comments="Source field: public.pre_share_directory_tag.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1410891+08:00", comments="Source field: public.pre_share_directory_tag.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1421349+08:00", comments="Source field: public.pre_share_directory_tag.share_status") + public Integer getShare_status() { + return share_status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1421349+08:00", comments="Source field: public.pre_share_directory_tag.share_status") + public void setShare_status(Integer share_status) { + this.share_status = share_status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1421349+08:00", comments="Source field: public.pre_share_directory_tag.update_time") + public LocalDateTime getUpdate_time() { + return update_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1421349+08:00", comments="Source field: public.pre_share_directory_tag.update_time") + public void setUpdate_time(LocalDateTime update_time) { + this.update_time = update_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1421349+08:00", comments="Source field: public.pre_share_directory_tag.sync_bc_time") + public LocalDateTime getSync_bc_time() { + return sync_bc_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1421349+08:00", comments="Source field: public.pre_share_directory_tag.sync_bc_time") + public void setSync_bc_time(LocalDateTime sync_bc_time) { + this.sync_bc_time = sync_bc_time; + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/PreShareFileTag.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/PreShareFileTag.java new file mode 100644 index 0000000..6b646fe --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/PreShareFileTag.java @@ -0,0 +1,63 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; +import java.time.LocalDateTime; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.pre_share_file_tag + */ +public class PreShareFileTag { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1702515+08:00", comments="Source field: public.pre_share_file_tag.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1702515+08:00", comments="Source field: public.pre_share_file_tag.share_status") + private Integer share_status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1702515+08:00", comments="Source field: public.pre_share_file_tag.update_time") + private LocalDateTime update_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1702515+08:00", comments="Source field: public.pre_share_file_tag.sync_bc_time") + private LocalDateTime sync_bc_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1702515+08:00", comments="Source field: public.pre_share_file_tag.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1702515+08:00", comments="Source field: public.pre_share_file_tag.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1702515+08:00", comments="Source field: public.pre_share_file_tag.share_status") + public Integer getShare_status() { + return share_status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1702515+08:00", comments="Source field: public.pre_share_file_tag.share_status") + public void setShare_status(Integer share_status) { + this.share_status = share_status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1702515+08:00", comments="Source field: public.pre_share_file_tag.update_time") + public LocalDateTime getUpdate_time() { + return update_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1702515+08:00", comments="Source field: public.pre_share_file_tag.update_time") + public void setUpdate_time(LocalDateTime update_time) { + this.update_time = update_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1702515+08:00", comments="Source field: public.pre_share_file_tag.sync_bc_time") + public LocalDateTime getSync_bc_time() { + return sync_bc_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-08T11:33:24.1702515+08:00", comments="Source field: public.pre_share_file_tag.sync_bc_time") + public void setSync_bc_time(LocalDateTime sync_bc_time) { + this.sync_bc_time = sync_bc_time; + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/Project.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/Project.java new file mode 100644 index 0000000..3c7fe6b --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/Project.java @@ -0,0 +1,62 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.project + */ +public class Project { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2801782+08:00", comments="Source field: public.project.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2801782+08:00", comments="Source field: public.project.project_name") + private String project_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2801782+08:00", comments="Source field: public.project.org_id") + private String org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2801782+08:00", comments="Source field: public.project.org_name") + private String org_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2801782+08:00", comments="Source field: public.project.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2801782+08:00", comments="Source field: public.project.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2801782+08:00", comments="Source field: public.project.project_name") + public String getProject_name() { + return project_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2801782+08:00", comments="Source field: public.project.project_name") + public void setProject_name(String project_name) { + this.project_name = project_name == null ? null : project_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2801782+08:00", comments="Source field: public.project.org_id") + public String getOrg_id() { + return org_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2801782+08:00", comments="Source field: public.project.org_id") + public void setOrg_id(String org_id) { + this.org_id = org_id == null ? null : org_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2801782+08:00", comments="Source field: public.project.org_name") + public String getOrg_name() { + return org_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2801782+08:00", comments="Source field: public.project.org_name") + public void setOrg_name(String org_name) { + this.org_name = org_name == null ? null : org_name.trim(); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/Provider.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/Provider.java new file mode 100644 index 0000000..c2f1019 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/Provider.java @@ -0,0 +1,104 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; +import java.time.LocalDateTime; + +/** + * Database Table Remarks: + * 共享档案的提供方,数据从链上获取 + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.provider + */ +public class Provider { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0786616+08:00", comments="Source field: public.provider.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0796884+08:00", comments="Source field: public.provider.name") + private String name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0796884+08:00", comments="Source field: public.provider.create_time") + private LocalDateTime create_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0796884+08:00", comments="Source field: public.provider.update_time") + private LocalDateTime update_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0796884+08:00", comments="Source field: public.provider.last_update_data_time") + private LocalDateTime last_update_data_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0796884+08:00", comments="Source field: public.provider.last_query_data_time") + private LocalDateTime last_query_data_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0796884+08:00", comments="Source field: public.provider.status") + private String status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0786616+08:00", comments="Source field: public.provider.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0796884+08:00", comments="Source field: public.provider.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0796884+08:00", comments="Source field: public.provider.name") + public String getName() { + return name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0796884+08:00", comments="Source field: public.provider.name") + public void setName(String name) { + this.name = name == null ? null : name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0796884+08:00", comments="Source field: public.provider.create_time") + public LocalDateTime getCreate_time() { + return create_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0796884+08:00", comments="Source field: public.provider.create_time") + public void setCreate_time(LocalDateTime create_time) { + this.create_time = create_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0796884+08:00", comments="Source field: public.provider.update_time") + public LocalDateTime getUpdate_time() { + return update_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0796884+08:00", comments="Source field: public.provider.update_time") + public void setUpdate_time(LocalDateTime update_time) { + this.update_time = update_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0796884+08:00", comments="Source field: public.provider.last_update_data_time") + public LocalDateTime getLast_update_data_time() { + return last_update_data_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0796884+08:00", comments="Source field: public.provider.last_update_data_time") + public void setLast_update_data_time(LocalDateTime last_update_data_time) { + this.last_update_data_time = last_update_data_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0796884+08:00", comments="Source field: public.provider.last_query_data_time") + public LocalDateTime getLast_query_data_time() { + return last_query_data_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0796884+08:00", comments="Source field: public.provider.last_query_data_time") + public void setLast_query_data_time(LocalDateTime last_query_data_time) { + this.last_query_data_time = last_query_data_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0796884+08:00", comments="Source field: public.provider.status") + public String getStatus() { + return status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T13:50:09.0796884+08:00", comments="Source field: public.provider.status") + public void setStatus(String status) { + this.status = status == null ? null : status.trim(); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/ReadLog.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/ReadLog.java new file mode 100644 index 0000000..5a3cec5 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/ReadLog.java @@ -0,0 +1,230 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; +import java.time.LocalDateTime; + +/** + * Database Table Remarks: + * 阅读情况 + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.read_log + */ +public class ReadLog { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2631526+08:00", comments="Source field: public.read_log.id") + private String id; + + /** + * Database Column Remarks: + * 申请人id + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2631526+08:00", comments="Source field: public.read_log.weid") + private String weid; + + /** + * Database Column Remarks: + * 档案id + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2631526+08:00", comments="Source field: public.read_log.content_id") + private String content_id; + + /** + * Database Column Remarks: + * 开始时间 + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2631526+08:00", comments="Source field: public.read_log.starttime") + private LocalDateTime starttime; + + /** + * Database Column Remarks: + * 结束时间 + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2631526+08:00", comments="Source field: public.read_log.endtime") + private LocalDateTime endtime; + + /** + * Database Column Remarks: + * ip地址 + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2631526+08:00", comments="Source field: public.read_log.ip") + private String ip; + + /** + * Database Column Remarks: + * 区域 + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2641476+08:00", comments="Source field: public.read_log.location") + private String location; + + /** + * Database Column Remarks: + * 下载类型(1文件包/0单文件) + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2641476+08:00", comments="Source field: public.read_log.downloadtype") + private Integer downloadtype; + + /** + * Database Column Remarks: + * 数字签名 + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2641476+08:00", comments="Source field: public.read_log.sign") + private String sign; + + /** + * Database Column Remarks: + * 一次阅读凭证id + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2641476+08:00", comments="Source field: public.read_log.readid") + private String readid; + + /** + * Database Column Remarks: + * 秘钥id + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2641476+08:00", comments="Source field: public.read_log.sm9hibeid") + private String sm9hibeid; + + /** + * Database Column Remarks: + * 档案类型 + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2641476+08:00", comments="Source field: public.read_log.content_type") + private Integer content_type; + + /** + * Database Column Remarks: + * 是否上链(1是,0否) + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2641476+08:00", comments="Source field: public.read_log.ischeck") + private Integer ischeck; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2631526+08:00", comments="Source field: public.read_log.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2631526+08:00", comments="Source field: public.read_log.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2631526+08:00", comments="Source field: public.read_log.weid") + public String getWeid() { + return weid; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2631526+08:00", comments="Source field: public.read_log.weid") + public void setWeid(String weid) { + this.weid = weid == null ? null : weid.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2631526+08:00", comments="Source field: public.read_log.content_id") + public String getContent_id() { + return content_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2631526+08:00", comments="Source field: public.read_log.content_id") + public void setContent_id(String content_id) { + this.content_id = content_id == null ? null : content_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2631526+08:00", comments="Source field: public.read_log.starttime") + public LocalDateTime getStarttime() { + return starttime; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2631526+08:00", comments="Source field: public.read_log.starttime") + public void setStarttime(LocalDateTime starttime) { + this.starttime = starttime; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2631526+08:00", comments="Source field: public.read_log.endtime") + public LocalDateTime getEndtime() { + return endtime; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2631526+08:00", comments="Source field: public.read_log.endtime") + public void setEndtime(LocalDateTime endtime) { + this.endtime = endtime; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2631526+08:00", comments="Source field: public.read_log.ip") + public String getIp() { + return ip; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2641476+08:00", comments="Source field: public.read_log.ip") + public void setIp(String ip) { + this.ip = ip == null ? null : ip.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2641476+08:00", comments="Source field: public.read_log.location") + public String getLocation() { + return location; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2641476+08:00", comments="Source field: public.read_log.location") + public void setLocation(String location) { + this.location = location == null ? null : location.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2641476+08:00", comments="Source field: public.read_log.downloadtype") + public Integer getDownloadtype() { + return downloadtype; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2641476+08:00", comments="Source field: public.read_log.downloadtype") + public void setDownloadtype(Integer downloadtype) { + this.downloadtype = downloadtype; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2641476+08:00", comments="Source field: public.read_log.sign") + public String getSign() { + return sign; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2641476+08:00", comments="Source field: public.read_log.sign") + public void setSign(String sign) { + this.sign = sign == null ? null : sign.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2641476+08:00", comments="Source field: public.read_log.readid") + public String getReadid() { + return readid; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2641476+08:00", comments="Source field: public.read_log.readid") + public void setReadid(String readid) { + this.readid = readid == null ? null : readid.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2641476+08:00", comments="Source field: public.read_log.sm9hibeid") + public String getSm9hibeid() { + return sm9hibeid; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2641476+08:00", comments="Source field: public.read_log.sm9hibeid") + public void setSm9hibeid(String sm9hibeid) { + this.sm9hibeid = sm9hibeid == null ? null : sm9hibeid.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2641476+08:00", comments="Source field: public.read_log.content_type") + public Integer getContent_type() { + return content_type; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2641476+08:00", comments="Source field: public.read_log.content_type") + public void setContent_type(Integer content_type) { + this.content_type = content_type; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2641476+08:00", comments="Source field: public.read_log.ischeck") + public Integer getIscheck() { + return ischeck; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2641476+08:00", comments="Source field: public.read_log.ischeck") + public void setIscheck(Integer ischeck) { + this.ischeck = ischeck; + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/ShareConfigDetail.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/ShareConfigDetail.java new file mode 100644 index 0000000..ca95897 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/ShareConfigDetail.java @@ -0,0 +1,90 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; +import java.time.LocalDateTime; + +/** + * Database Table Remarks: + * 用户配置的目录树各节点的最终状态,用户配成什么样子就是什么样子 + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.share_config_detail + */ +public class ShareConfigDetail { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1795319+08:00", comments="Source field: public.share_config_detail.node_id") + private String node_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1805317+08:00", comments="Source field: public.share_config_detail.node_type") + private Integer node_type; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1805317+08:00", comments="Source field: public.share_config_detail.share_config_statu") + private Integer share_config_statu; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1805317+08:00", comments="Source field: public.share_config_detail.create_time") + private LocalDateTime create_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1805317+08:00", comments="Source field: public.share_config_detail.update_time") + private LocalDateTime update_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1805317+08:00", comments="Source field: public.share_config_detail.update_count") + private Integer update_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1795319+08:00", comments="Source field: public.share_config_detail.node_id") + public String getNode_id() { + return node_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1805317+08:00", comments="Source field: public.share_config_detail.node_id") + public void setNode_id(String node_id) { + this.node_id = node_id == null ? null : node_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1805317+08:00", comments="Source field: public.share_config_detail.node_type") + public Integer getNode_type() { + return node_type; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1805317+08:00", comments="Source field: public.share_config_detail.node_type") + public void setNode_type(Integer node_type) { + this.node_type = node_type; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1805317+08:00", comments="Source field: public.share_config_detail.share_config_statu") + public Integer getShare_config_statu() { + return share_config_statu; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1805317+08:00", comments="Source field: public.share_config_detail.share_config_statu") + public void setShare_config_statu(Integer share_config_statu) { + this.share_config_statu = share_config_statu; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1805317+08:00", comments="Source field: public.share_config_detail.create_time") + public LocalDateTime getCreate_time() { + return create_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1805317+08:00", comments="Source field: public.share_config_detail.create_time") + public void setCreate_time(LocalDateTime create_time) { + this.create_time = create_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1805317+08:00", comments="Source field: public.share_config_detail.update_time") + public LocalDateTime getUpdate_time() { + return update_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1805317+08:00", comments="Source field: public.share_config_detail.update_time") + public void setUpdate_time(LocalDateTime update_time) { + this.update_time = update_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1805317+08:00", comments="Source field: public.share_config_detail.update_count") + public Integer getUpdate_count() { + return update_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:54:45.1805317+08:00", comments="Source field: public.share_config_detail.update_count") + public void setUpdate_count(Integer update_count) { + this.update_count = update_count; + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/ShareDirectory.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/ShareDirectory.java new file mode 100644 index 0000000..24f19df --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/ShareDirectory.java @@ -0,0 +1,127 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.share_directory + */ +public class ShareDirectory { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6511982+08:00", comments="Source field: public.share_directory.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6521972+08:00", comments="Source field: public.share_directory.provider_id") + private String provider_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6536146+08:00", comments="Source field: public.share_directory.p_id") + private String p_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6536146+08:00", comments="Source field: public.share_directory.wbs_id") + private String wbs_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6536146+08:00", comments="Source field: public.share_directory.time_stamp") + private String time_stamp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6536146+08:00", comments="Source field: public.share_directory.sortorder") + private Integer sortorder; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6536146+08:00", comments="Source field: public.share_directory.tname") + private String tname; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6536146+08:00", comments="Source field: public.share_directory.subjoin") + private Integer subjoin; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6536146+08:00", comments="Source field: public.share_directory.isdel") + private Integer isdel; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6521972+08:00", comments="Source field: public.share_directory.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6521972+08:00", comments="Source field: public.share_directory.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6521972+08:00", comments="Source field: public.share_directory.provider_id") + public String getProvider_id() { + return provider_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6536146+08:00", comments="Source field: public.share_directory.provider_id") + public void setProvider_id(String provider_id) { + this.provider_id = provider_id == null ? null : provider_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6536146+08:00", comments="Source field: public.share_directory.p_id") + public String getP_id() { + return p_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6536146+08:00", comments="Source field: public.share_directory.p_id") + public void setP_id(String p_id) { + this.p_id = p_id == null ? null : p_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6536146+08:00", comments="Source field: public.share_directory.wbs_id") + public String getWbs_id() { + return wbs_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6536146+08:00", comments="Source field: public.share_directory.wbs_id") + public void setWbs_id(String wbs_id) { + this.wbs_id = wbs_id == null ? null : wbs_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6536146+08:00", comments="Source field: public.share_directory.time_stamp") + public String getTime_stamp() { + return time_stamp; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6536146+08:00", comments="Source field: public.share_directory.time_stamp") + public void setTime_stamp(String time_stamp) { + this.time_stamp = time_stamp == null ? null : time_stamp.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6536146+08:00", comments="Source field: public.share_directory.sortorder") + public Integer getSortorder() { + return sortorder; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6536146+08:00", comments="Source field: public.share_directory.sortorder") + public void setSortorder(Integer sortorder) { + this.sortorder = sortorder; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6536146+08:00", comments="Source field: public.share_directory.tname") + public String getTname() { + return tname; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6536146+08:00", comments="Source field: public.share_directory.tname") + public void setTname(String tname) { + this.tname = tname == null ? null : tname.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6536146+08:00", comments="Source field: public.share_directory.subjoin") + public Integer getSubjoin() { + return subjoin; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6536146+08:00", comments="Source field: public.share_directory.subjoin") + public void setSubjoin(Integer subjoin) { + this.subjoin = subjoin; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6536146+08:00", comments="Source field: public.share_directory.isdel") + public Integer getIsdel() { + return isdel; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:43:40.6536146+08:00", comments="Source field: public.share_directory.isdel") + public void setIsdel(Integer isdel) { + this.isdel = isdel; + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/ShareDirectoryFile.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/ShareDirectoryFile.java new file mode 100644 index 0000000..4b0ff3b --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/ShareDirectoryFile.java @@ -0,0 +1,296 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.share_directory_file + */ +public class ShareDirectoryFile { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9071658+08:00", comments="Source field: public.share_directory_file.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9081834+08:00", comments="Source field: public.share_directory_file.p_id") + private String p_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9081834+08:00", comments="Source field: public.share_directory_file.provider_id") + private String provider_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9081834+08:00", comments="Source field: public.share_directory_file.filesuper") + private String filesuper; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9081834+08:00", comments="Source field: public.share_directory_file.filecount") + private Integer filecount; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9081834+08:00", comments="Source field: public.share_directory_file.dutyperson") + private String dutyperson; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9081834+08:00", comments="Source field: public.share_directory_file.eweavedate") + private String eweavedate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9091729+08:00", comments="Source field: public.share_directory_file.filepage") + private Integer filepage; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9091729+08:00", comments="Source field: public.share_directory_file.sortorder") + private String sortorder; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9091729+08:00", comments="Source field: public.share_directory_file.bpeg") + private String bpeg; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9091729+08:00", comments="Source field: public.share_directory_file.epeg") + private String epeg; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9091729+08:00", comments="Source field: public.share_directory_file.filenum") + private String filenum; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9091729+08:00", comments="Source field: public.share_directory_file.remark") + private String remark; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9091729+08:00", comments="Source field: public.share_directory_file.recordnum") + private String recordnum; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9106012+08:00", comments="Source field: public.share_directory_file.piecenumber") + private String piecenumber; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9106012+08:00", comments="Source field: public.share_directory_file.adddate") + private String adddate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9106012+08:00", comments="Source field: public.share_directory_file.editdate") + private String editdate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9106012+08:00", comments="Source field: public.share_directory_file.time_stamp") + private String time_stamp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9106012+08:00", comments="Source field: public.share_directory_file.isdel") + private Integer isdel; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9106012+08:00", comments="Source field: public.share_directory_file.catalogpdfurl") + private String catalogpdfurl; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9106012+08:00", comments="Source field: public.share_directory_file.signtag") + private String signtag; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9106012+08:00", comments="Source field: public.share_directory_file.collecttag") + private String collecttag; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9081834+08:00", comments="Source field: public.share_directory_file.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9081834+08:00", comments="Source field: public.share_directory_file.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9081834+08:00", comments="Source field: public.share_directory_file.p_id") + public String getP_id() { + return p_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9081834+08:00", comments="Source field: public.share_directory_file.p_id") + public void setP_id(String p_id) { + this.p_id = p_id == null ? null : p_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9081834+08:00", comments="Source field: public.share_directory_file.provider_id") + public String getProvider_id() { + return provider_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9081834+08:00", comments="Source field: public.share_directory_file.provider_id") + public void setProvider_id(String provider_id) { + this.provider_id = provider_id == null ? null : provider_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9081834+08:00", comments="Source field: public.share_directory_file.filesuper") + public String getFilesuper() { + return filesuper; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9081834+08:00", comments="Source field: public.share_directory_file.filesuper") + public void setFilesuper(String filesuper) { + this.filesuper = filesuper == null ? null : filesuper.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9081834+08:00", comments="Source field: public.share_directory_file.filecount") + public Integer getFilecount() { + return filecount; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9081834+08:00", comments="Source field: public.share_directory_file.filecount") + public void setFilecount(Integer filecount) { + this.filecount = filecount; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9081834+08:00", comments="Source field: public.share_directory_file.dutyperson") + public String getDutyperson() { + return dutyperson; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9081834+08:00", comments="Source field: public.share_directory_file.dutyperson") + public void setDutyperson(String dutyperson) { + this.dutyperson = dutyperson == null ? null : dutyperson.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9081834+08:00", comments="Source field: public.share_directory_file.eweavedate") + public String getEweavedate() { + return eweavedate; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9081834+08:00", comments="Source field: public.share_directory_file.eweavedate") + public void setEweavedate(String eweavedate) { + this.eweavedate = eweavedate == null ? null : eweavedate.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9091729+08:00", comments="Source field: public.share_directory_file.filepage") + public Integer getFilepage() { + return filepage; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9091729+08:00", comments="Source field: public.share_directory_file.filepage") + public void setFilepage(Integer filepage) { + this.filepage = filepage; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9091729+08:00", comments="Source field: public.share_directory_file.sortorder") + public String getSortorder() { + return sortorder; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9091729+08:00", comments="Source field: public.share_directory_file.sortorder") + public void setSortorder(String sortorder) { + this.sortorder = sortorder == null ? null : sortorder.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9091729+08:00", comments="Source field: public.share_directory_file.bpeg") + public String getBpeg() { + return bpeg; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9091729+08:00", comments="Source field: public.share_directory_file.bpeg") + public void setBpeg(String bpeg) { + this.bpeg = bpeg == null ? null : bpeg.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9091729+08:00", comments="Source field: public.share_directory_file.epeg") + public String getEpeg() { + return epeg; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9091729+08:00", comments="Source field: public.share_directory_file.epeg") + public void setEpeg(String epeg) { + this.epeg = epeg == null ? null : epeg.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9091729+08:00", comments="Source field: public.share_directory_file.filenum") + public String getFilenum() { + return filenum; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9091729+08:00", comments="Source field: public.share_directory_file.filenum") + public void setFilenum(String filenum) { + this.filenum = filenum == null ? null : filenum.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9091729+08:00", comments="Source field: public.share_directory_file.remark") + public String getRemark() { + return remark; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9091729+08:00", comments="Source field: public.share_directory_file.remark") + public void setRemark(String remark) { + this.remark = remark == null ? null : remark.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9091729+08:00", comments="Source field: public.share_directory_file.recordnum") + public String getRecordnum() { + return recordnum; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9106012+08:00", comments="Source field: public.share_directory_file.recordnum") + public void setRecordnum(String recordnum) { + this.recordnum = recordnum == null ? null : recordnum.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9106012+08:00", comments="Source field: public.share_directory_file.piecenumber") + public String getPiecenumber() { + return piecenumber; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9106012+08:00", comments="Source field: public.share_directory_file.piecenumber") + public void setPiecenumber(String piecenumber) { + this.piecenumber = piecenumber == null ? null : piecenumber.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9106012+08:00", comments="Source field: public.share_directory_file.adddate") + public String getAdddate() { + return adddate; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9106012+08:00", comments="Source field: public.share_directory_file.adddate") + public void setAdddate(String adddate) { + this.adddate = adddate == null ? null : adddate.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9106012+08:00", comments="Source field: public.share_directory_file.editdate") + public String getEditdate() { + return editdate; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9106012+08:00", comments="Source field: public.share_directory_file.editdate") + public void setEditdate(String editdate) { + this.editdate = editdate == null ? null : editdate.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9106012+08:00", comments="Source field: public.share_directory_file.time_stamp") + public String getTime_stamp() { + return time_stamp; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9106012+08:00", comments="Source field: public.share_directory_file.time_stamp") + public void setTime_stamp(String time_stamp) { + this.time_stamp = time_stamp == null ? null : time_stamp.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9106012+08:00", comments="Source field: public.share_directory_file.isdel") + public Integer getIsdel() { + return isdel; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9106012+08:00", comments="Source field: public.share_directory_file.isdel") + public void setIsdel(Integer isdel) { + this.isdel = isdel; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9106012+08:00", comments="Source field: public.share_directory_file.catalogpdfurl") + public String getCatalogpdfurl() { + return catalogpdfurl; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9106012+08:00", comments="Source field: public.share_directory_file.catalogpdfurl") + public void setCatalogpdfurl(String catalogpdfurl) { + this.catalogpdfurl = catalogpdfurl == null ? null : catalogpdfurl.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9106012+08:00", comments="Source field: public.share_directory_file.signtag") + public String getSigntag() { + return signtag; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.9106012+08:00", comments="Source field: public.share_directory_file.signtag") + public void setSigntag(String signtag) { + this.signtag = signtag == null ? null : signtag.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.911525+08:00", comments="Source field: public.share_directory_file.collecttag") + public String getCollecttag() { + return collecttag; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:03:57.911525+08:00", comments="Source field: public.share_directory_file.collecttag") + public void setCollecttag(String collecttag) { + this.collecttag = collecttag == null ? null : collecttag.trim(); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/ShareFile.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/ShareFile.java new file mode 100644 index 0000000..4819230 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/ShareFile.java @@ -0,0 +1,244 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.share_file + */ +public class ShareFile { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6047614+08:00", comments="Source field: public.share_file.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6057616+08:00", comments="Source field: public.share_file.p_id") + private String p_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6057616+08:00", comments="Source field: public.share_file.provider_id") + private String provider_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6057616+08:00", comments="Source field: public.share_file.tablenumber") + private String tablenumber; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6057616+08:00", comments="Source field: public.share_file.annexname") + private String annexname; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6057616+08:00", comments="Source field: public.share_file.projectname") + private String projectname; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6057616+08:00", comments="Source field: public.share_file.eweavedate") + private String eweavedate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6057616+08:00", comments="Source field: public.share_file.checkdate") + private String checkdate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6057616+08:00", comments="Source field: public.share_file.annexpage") + private Integer annexpage; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6057616+08:00", comments="Source field: public.share_file.sortorder") + private String sortorder; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6067613+08:00", comments="Source field: public.share_file.filefrom") + private String filefrom; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6067613+08:00", comments="Source field: public.share_file.archivestag") + private String archivestag; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6067613+08:00", comments="Source field: public.share_file.adddate") + private String adddate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6067613+08:00", comments="Source field: public.share_file.editdate") + private String editdate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6067613+08:00", comments="Source field: public.share_file.time_stamp") + private String time_stamp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6067613+08:00", comments="Source field: public.share_file.isdel") + private Integer isdel; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6067613+08:00", comments="Source field: public.share_file.downurl") + private String downurl; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6067613+08:00", comments="Source field: public.share_file.filesize") + private Integer filesize; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6047614+08:00", comments="Source field: public.share_file.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6057616+08:00", comments="Source field: public.share_file.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6057616+08:00", comments="Source field: public.share_file.p_id") + public String getP_id() { + return p_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6057616+08:00", comments="Source field: public.share_file.p_id") + public void setP_id(String p_id) { + this.p_id = p_id == null ? null : p_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6057616+08:00", comments="Source field: public.share_file.provider_id") + public String getProvider_id() { + return provider_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6057616+08:00", comments="Source field: public.share_file.provider_id") + public void setProvider_id(String provider_id) { + this.provider_id = provider_id == null ? null : provider_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6057616+08:00", comments="Source field: public.share_file.tablenumber") + public String getTablenumber() { + return tablenumber; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6057616+08:00", comments="Source field: public.share_file.tablenumber") + public void setTablenumber(String tablenumber) { + this.tablenumber = tablenumber == null ? null : tablenumber.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6057616+08:00", comments="Source field: public.share_file.annexname") + public String getAnnexname() { + return annexname; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6057616+08:00", comments="Source field: public.share_file.annexname") + public void setAnnexname(String annexname) { + this.annexname = annexname == null ? null : annexname.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6057616+08:00", comments="Source field: public.share_file.projectname") + public String getProjectname() { + return projectname; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6057616+08:00", comments="Source field: public.share_file.projectname") + public void setProjectname(String projectname) { + this.projectname = projectname == null ? null : projectname.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6057616+08:00", comments="Source field: public.share_file.eweavedate") + public String getEweavedate() { + return eweavedate; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6057616+08:00", comments="Source field: public.share_file.eweavedate") + public void setEweavedate(String eweavedate) { + this.eweavedate = eweavedate == null ? null : eweavedate.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6057616+08:00", comments="Source field: public.share_file.checkdate") + public String getCheckdate() { + return checkdate; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6057616+08:00", comments="Source field: public.share_file.checkdate") + public void setCheckdate(String checkdate) { + this.checkdate = checkdate == null ? null : checkdate.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6057616+08:00", comments="Source field: public.share_file.annexpage") + public Integer getAnnexpage() { + return annexpage; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6057616+08:00", comments="Source field: public.share_file.annexpage") + public void setAnnexpage(Integer annexpage) { + this.annexpage = annexpage; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6067613+08:00", comments="Source field: public.share_file.sortorder") + public String getSortorder() { + return sortorder; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6067613+08:00", comments="Source field: public.share_file.sortorder") + public void setSortorder(String sortorder) { + this.sortorder = sortorder == null ? null : sortorder.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6067613+08:00", comments="Source field: public.share_file.filefrom") + public String getFilefrom() { + return filefrom; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6067613+08:00", comments="Source field: public.share_file.filefrom") + public void setFilefrom(String filefrom) { + this.filefrom = filefrom == null ? null : filefrom.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6067613+08:00", comments="Source field: public.share_file.archivestag") + public String getArchivestag() { + return archivestag; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6067613+08:00", comments="Source field: public.share_file.archivestag") + public void setArchivestag(String archivestag) { + this.archivestag = archivestag == null ? null : archivestag.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6067613+08:00", comments="Source field: public.share_file.adddate") + public String getAdddate() { + return adddate; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6067613+08:00", comments="Source field: public.share_file.adddate") + public void setAdddate(String adddate) { + this.adddate = adddate == null ? null : adddate.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6067613+08:00", comments="Source field: public.share_file.editdate") + public String getEditdate() { + return editdate; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6067613+08:00", comments="Source field: public.share_file.editdate") + public void setEditdate(String editdate) { + this.editdate = editdate == null ? null : editdate.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6067613+08:00", comments="Source field: public.share_file.time_stamp") + public String getTime_stamp() { + return time_stamp; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6067613+08:00", comments="Source field: public.share_file.time_stamp") + public void setTime_stamp(String time_stamp) { + this.time_stamp = time_stamp == null ? null : time_stamp.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6067613+08:00", comments="Source field: public.share_file.isdel") + public Integer getIsdel() { + return isdel; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6067613+08:00", comments="Source field: public.share_file.isdel") + public void setIsdel(Integer isdel) { + this.isdel = isdel; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6067613+08:00", comments="Source field: public.share_file.downurl") + public String getDownurl() { + return downurl; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6067613+08:00", comments="Source field: public.share_file.downurl") + public void setDownurl(String downurl) { + this.downurl = downurl == null ? null : downurl.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6067613+08:00", comments="Source field: public.share_file.filesize") + public Integer getFilesize() { + return filesize; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T10:04:26.6067613+08:00", comments="Source field: public.share_file.filesize") + public void setFilesize(Integer filesize) { + this.filesize = filesize; + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/SharedElementUpdateDetail.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SharedElementUpdateDetail.java new file mode 100644 index 0000000..2603021 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SharedElementUpdateDetail.java @@ -0,0 +1,130 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; +import java.time.LocalDateTime; + +/** + * Database Table Remarks: + * 共享元素的更新详情,从属于shared_element_udpate_recrod,每条记录代表一个目录树节点的更新状态,目录树节点可以是分类目录、文件目录以及文件 + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.shared_element_update_detail + */ +public class SharedElementUpdateDetail { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2541531+08:00", comments="Source field: public.shared_element_update_detail.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2541531+08:00", comments="Source field: public.shared_element_update_detail.update_record_id") + private String update_record_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.260147+08:00", comments="Source field: public.shared_element_update_detail.node_type") + private Integer node_type; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.260147+08:00", comments="Source field: public.shared_element_update_detail.node_id") + private String node_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.261151+08:00", comments="Source field: public.shared_element_update_detail.share_status") + private Integer share_status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.261151+08:00", comments="Source field: public.shared_element_update_detail.execute_start_time") + private LocalDateTime execute_start_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.261151+08:00", comments="Source field: public.shared_element_update_detail.execute_end_time") + private LocalDateTime execute_end_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.261151+08:00", comments="Source field: public.shared_element_update_detail.execute_desp") + private String execute_desp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.261151+08:00", comments="Source field: public.shared_element_update_detail.execute_success") + private Integer execute_success; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2541531+08:00", comments="Source field: public.shared_element_update_detail.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2541531+08:00", comments="Source field: public.shared_element_update_detail.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2541531+08:00", comments="Source field: public.shared_element_update_detail.update_record_id") + public String getUpdate_record_id() { + return update_record_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2541531+08:00", comments="Source field: public.shared_element_update_detail.update_record_id") + public void setUpdate_record_id(String update_record_id) { + this.update_record_id = update_record_id == null ? null : update_record_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.260147+08:00", comments="Source field: public.shared_element_update_detail.node_type") + public Integer getNode_type() { + return node_type; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.260147+08:00", comments="Source field: public.shared_element_update_detail.node_type") + public void setNode_type(Integer node_type) { + this.node_type = node_type; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.260147+08:00", comments="Source field: public.shared_element_update_detail.node_id") + public String getNode_id() { + return node_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.261151+08:00", comments="Source field: public.shared_element_update_detail.node_id") + public void setNode_id(String node_id) { + this.node_id = node_id == null ? null : node_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.261151+08:00", comments="Source field: public.shared_element_update_detail.share_status") + public Integer getShare_status() { + return share_status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.261151+08:00", comments="Source field: public.shared_element_update_detail.share_status") + public void setShare_status(Integer share_status) { + this.share_status = share_status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.261151+08:00", comments="Source field: public.shared_element_update_detail.execute_start_time") + public LocalDateTime getExecute_start_time() { + return execute_start_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.261151+08:00", comments="Source field: public.shared_element_update_detail.execute_start_time") + public void setExecute_start_time(LocalDateTime execute_start_time) { + this.execute_start_time = execute_start_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.261151+08:00", comments="Source field: public.shared_element_update_detail.execute_end_time") + public LocalDateTime getExecute_end_time() { + return execute_end_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.261151+08:00", comments="Source field: public.shared_element_update_detail.execute_end_time") + public void setExecute_end_time(LocalDateTime execute_end_time) { + this.execute_end_time = execute_end_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.261151+08:00", comments="Source field: public.shared_element_update_detail.execute_desp") + public String getExecute_desp() { + return execute_desp; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.261151+08:00", comments="Source field: public.shared_element_update_detail.execute_desp") + public void setExecute_desp(String execute_desp) { + this.execute_desp = execute_desp == null ? null : execute_desp.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.261151+08:00", comments="Source field: public.shared_element_update_detail.execute_success") + public Integer getExecute_success() { + return execute_success; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.261151+08:00", comments="Source field: public.shared_element_update_detail.execute_success") + public void setExecute_success(Integer execute_success) { + this.execute_success = execute_success; + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/SharedElementUpdateRecord.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SharedElementUpdateRecord.java new file mode 100644 index 0000000..6763119 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SharedElementUpdateRecord.java @@ -0,0 +1,195 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; +import java.time.LocalDateTime; + +/** + * Database Table Remarks: + * 共享元素的更新记录,例如用户修改共享配置一次即产生一条此记录,系统从电子档案系统同步最新数据后一般也会产生一条此记录 + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.shared_element_update_record + */ +public class SharedElementUpdateRecord { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9341706+08:00", comments="Source field: public.shared_element_update_record.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9361852+08:00", comments="Source field: public.shared_element_update_record.share_rule_id") + private String share_rule_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9361852+08:00", comments="Source field: public.shared_element_update_record.user_id") + private String user_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9361852+08:00", comments="Source field: public.shared_element_update_record.desp") + private String desp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9361852+08:00", comments="Source field: public.shared_element_update_record.create_time") + private LocalDateTime create_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9361852+08:00", comments="Source field: public.shared_element_update_record.node_count") + private Long node_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9361852+08:00", comments="Source field: public.shared_element_update_record.source") + private String source; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9361852+08:00", comments="Source field: public.shared_element_update_record.execute_start_time") + private LocalDateTime execute_start_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9361852+08:00", comments="Source field: public.shared_element_update_record.execute_end_time") + private LocalDateTime execute_end_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9361852+08:00", comments="Source field: public.shared_element_update_record.execute_desp") + private String execute_desp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9371737+08:00", comments="Source field: public.shared_element_update_record.execute_status") + private Integer execute_status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9371737+08:00", comments="Source field: public.shared_element_update_record.succ_exec_node_count") + private Integer succ_exec_node_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9371737+08:00", comments="Source field: public.shared_element_update_record.act_node_count") + private Integer act_node_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9371737+08:00", comments="Source field: public.shared_element_update_record.execute_count") + private Integer execute_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9351735+08:00", comments="Source field: public.shared_element_update_record.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9361852+08:00", comments="Source field: public.shared_element_update_record.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9361852+08:00", comments="Source field: public.shared_element_update_record.share_rule_id") + public String getShare_rule_id() { + return share_rule_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9361852+08:00", comments="Source field: public.shared_element_update_record.share_rule_id") + public void setShare_rule_id(String share_rule_id) { + this.share_rule_id = share_rule_id == null ? null : share_rule_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9361852+08:00", comments="Source field: public.shared_element_update_record.user_id") + public String getUser_id() { + return user_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9361852+08:00", comments="Source field: public.shared_element_update_record.user_id") + public void setUser_id(String user_id) { + this.user_id = user_id == null ? null : user_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9361852+08:00", comments="Source field: public.shared_element_update_record.desp") + public String getDesp() { + return desp; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9361852+08:00", comments="Source field: public.shared_element_update_record.desp") + public void setDesp(String desp) { + this.desp = desp == null ? null : desp.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9361852+08:00", comments="Source field: public.shared_element_update_record.create_time") + public LocalDateTime getCreate_time() { + return create_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9361852+08:00", comments="Source field: public.shared_element_update_record.create_time") + public void setCreate_time(LocalDateTime create_time) { + this.create_time = create_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9361852+08:00", comments="Source field: public.shared_element_update_record.node_count") + public Long getNode_count() { + return node_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9361852+08:00", comments="Source field: public.shared_element_update_record.node_count") + public void setNode_count(Long node_count) { + this.node_count = node_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9361852+08:00", comments="Source field: public.shared_element_update_record.source") + public String getSource() { + return source; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9361852+08:00", comments="Source field: public.shared_element_update_record.source") + public void setSource(String source) { + this.source = source == null ? null : source.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9361852+08:00", comments="Source field: public.shared_element_update_record.execute_start_time") + public LocalDateTime getExecute_start_time() { + return execute_start_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9361852+08:00", comments="Source field: public.shared_element_update_record.execute_start_time") + public void setExecute_start_time(LocalDateTime execute_start_time) { + this.execute_start_time = execute_start_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9361852+08:00", comments="Source field: public.shared_element_update_record.execute_end_time") + public LocalDateTime getExecute_end_time() { + return execute_end_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9361852+08:00", comments="Source field: public.shared_element_update_record.execute_end_time") + public void setExecute_end_time(LocalDateTime execute_end_time) { + this.execute_end_time = execute_end_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9371737+08:00", comments="Source field: public.shared_element_update_record.execute_desp") + public String getExecute_desp() { + return execute_desp; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9371737+08:00", comments="Source field: public.shared_element_update_record.execute_desp") + public void setExecute_desp(String execute_desp) { + this.execute_desp = execute_desp == null ? null : execute_desp.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9371737+08:00", comments="Source field: public.shared_element_update_record.execute_status") + public Integer getExecute_status() { + return execute_status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9371737+08:00", comments="Source field: public.shared_element_update_record.execute_status") + public void setExecute_status(Integer execute_status) { + this.execute_status = execute_status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9371737+08:00", comments="Source field: public.shared_element_update_record.succ_exec_node_count") + public Integer getSucc_exec_node_count() { + return succ_exec_node_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9371737+08:00", comments="Source field: public.shared_element_update_record.succ_exec_node_count") + public void setSucc_exec_node_count(Integer succ_exec_node_count) { + this.succ_exec_node_count = succ_exec_node_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9371737+08:00", comments="Source field: public.shared_element_update_record.act_node_count") + public Integer getAct_node_count() { + return act_node_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9371737+08:00", comments="Source field: public.shared_element_update_record.act_node_count") + public void setAct_node_count(Integer act_node_count) { + this.act_node_count = act_node_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9371737+08:00", comments="Source field: public.shared_element_update_record.execute_count") + public Integer getExecute_count() { + return execute_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-07T16:19:53.9371737+08:00", comments="Source field: public.shared_element_update_record.execute_count") + public void setExecute_count(Integer execute_count) { + this.execute_count = execute_count; + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/SharedRuleConfig.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SharedRuleConfig.java new file mode 100644 index 0000000..e08dc60 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SharedRuleConfig.java @@ -0,0 +1,88 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.shared_rule_config + */ +public class SharedRuleConfig { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3121484+08:00", comments="Source field: public.shared_rule_config.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3121484+08:00", comments="Source field: public.shared_rule_config.name") + private String name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3121484+08:00", comments="Source field: public.shared_rule_config.describe") + private String describe; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3121484+08:00", comments="Source field: public.shared_rule_config.status") + private Integer status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3121484+08:00", comments="Source field: public.shared_rule_config.sort") + private Integer sort; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3121484+08:00", comments="Source field: public.shared_rule_config.project_name") + private String project_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3121484+08:00", comments="Source field: public.shared_rule_config.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3121484+08:00", comments="Source field: public.shared_rule_config.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3121484+08:00", comments="Source field: public.shared_rule_config.name") + public String getName() { + return name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3121484+08:00", comments="Source field: public.shared_rule_config.name") + public void setName(String name) { + this.name = name == null ? null : name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3121484+08:00", comments="Source field: public.shared_rule_config.describe") + public String getDescribe() { + return describe; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3121484+08:00", comments="Source field: public.shared_rule_config.describe") + public void setDescribe(String describe) { + this.describe = describe == null ? null : describe.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3121484+08:00", comments="Source field: public.shared_rule_config.status") + public Integer getStatus() { + return status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3121484+08:00", comments="Source field: public.shared_rule_config.status") + public void setStatus(Integer status) { + this.status = status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3121484+08:00", comments="Source field: public.shared_rule_config.sort") + public Integer getSort() { + return sort; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3121484+08:00", comments="Source field: public.shared_rule_config.sort") + public void setSort(Integer sort) { + this.sort = sort; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3121484+08:00", comments="Source field: public.shared_rule_config.project_name") + public String getProject_name() { + return project_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3121484+08:00", comments="Source field: public.shared_rule_config.project_name") + public void setProject_name(String project_name) { + this.project_name = project_name == null ? null : project_name.trim(); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/SharedSynAll.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SharedSynAll.java new file mode 100644 index 0000000..2cd15d4 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SharedSynAll.java @@ -0,0 +1,127 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.shared_syn_all + */ +public class SharedSynAll { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source field: public.shared_syn_all.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source field: public.shared_syn_all.syn_id") + private String syn_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source field: public.shared_syn_all.syn_type") + private Integer syn_type; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source field: public.shared_syn_all.is_config_rule") + private Integer is_config_rule; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source field: public.shared_syn_all.shared_status") + private Integer shared_status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source field: public.shared_syn_all.syn_status") + private Integer syn_status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source field: public.shared_syn_all.block_number") + private String block_number; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source field: public.shared_syn_all.block_hash") + private String block_hash; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source field: public.shared_syn_all.block_time") + private String block_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source field: public.shared_syn_all.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source field: public.shared_syn_all.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source field: public.shared_syn_all.syn_id") + public String getSyn_id() { + return syn_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source field: public.shared_syn_all.syn_id") + public void setSyn_id(String syn_id) { + this.syn_id = syn_id == null ? null : syn_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source field: public.shared_syn_all.syn_type") + public Integer getSyn_type() { + return syn_type; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source field: public.shared_syn_all.syn_type") + public void setSyn_type(Integer syn_type) { + this.syn_type = syn_type; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source field: public.shared_syn_all.is_config_rule") + public Integer getIs_config_rule() { + return is_config_rule; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source field: public.shared_syn_all.is_config_rule") + public void setIs_config_rule(Integer is_config_rule) { + this.is_config_rule = is_config_rule; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source field: public.shared_syn_all.shared_status") + public Integer getShared_status() { + return shared_status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source field: public.shared_syn_all.shared_status") + public void setShared_status(Integer shared_status) { + this.shared_status = shared_status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source field: public.shared_syn_all.syn_status") + public Integer getSyn_status() { + return syn_status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source field: public.shared_syn_all.syn_status") + public void setSyn_status(Integer syn_status) { + this.syn_status = syn_status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source field: public.shared_syn_all.block_number") + public String getBlock_number() { + return block_number; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source field: public.shared_syn_all.block_number") + public void setBlock_number(String block_number) { + this.block_number = block_number == null ? null : block_number.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source field: public.shared_syn_all.block_hash") + public String getBlock_hash() { + return block_hash; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source field: public.shared_syn_all.block_hash") + public void setBlock_hash(String block_hash) { + this.block_hash = block_hash == null ? null : block_hash.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source field: public.shared_syn_all.block_time") + public String getBlock_time() { + return block_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3021485+08:00", comments="Source field: public.shared_syn_all.block_time") + public void setBlock_time(String block_time) { + this.block_time = block_time == null ? null : block_time.trim(); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/SynDirectory.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SynDirectory.java new file mode 100644 index 0000000..5466ae2 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SynDirectory.java @@ -0,0 +1,114 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.syn_directory + */ +public class SynDirectory { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source field: public.syn_directory.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source field: public.syn_directory.p_id") + private String p_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source field: public.syn_directory.wbs_id") + private String wbs_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source field: public.syn_directory.time_stamp") + private String time_stamp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source field: public.syn_directory.sortorder") + private Integer sortorder; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source field: public.syn_directory.tname") + private String tname; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source field: public.syn_directory.subjoin") + private Integer subjoin; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source field: public.syn_directory.isdel") + private Integer isdel; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source field: public.syn_directory.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source field: public.syn_directory.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source field: public.syn_directory.p_id") + public String getP_id() { + return p_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source field: public.syn_directory.p_id") + public void setP_id(String p_id) { + this.p_id = p_id == null ? null : p_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source field: public.syn_directory.wbs_id") + public String getWbs_id() { + return wbs_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source field: public.syn_directory.wbs_id") + public void setWbs_id(String wbs_id) { + this.wbs_id = wbs_id == null ? null : wbs_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source field: public.syn_directory.time_stamp") + public String getTime_stamp() { + return time_stamp; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source field: public.syn_directory.time_stamp") + public void setTime_stamp(String time_stamp) { + this.time_stamp = time_stamp == null ? null : time_stamp.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source field: public.syn_directory.sortorder") + public Integer getSortorder() { + return sortorder; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source field: public.syn_directory.sortorder") + public void setSortorder(Integer sortorder) { + this.sortorder = sortorder; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source field: public.syn_directory.tname") + public String getTname() { + return tname; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source field: public.syn_directory.tname") + public void setTname(String tname) { + this.tname = tname == null ? null : tname.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source field: public.syn_directory.subjoin") + public Integer getSubjoin() { + return subjoin; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source field: public.syn_directory.subjoin") + public void setSubjoin(Integer subjoin) { + this.subjoin = subjoin; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source field: public.syn_directory.isdel") + public Integer getIsdel() { + return isdel; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5084726+08:00", comments="Source field: public.syn_directory.isdel") + public void setIsdel(Integer isdel) { + this.isdel = isdel; + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/SynDirectoryFile.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SynDirectoryFile.java new file mode 100644 index 0000000..8c75a68 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SynDirectoryFile.java @@ -0,0 +1,283 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.syn_directory_file + */ +public class SynDirectoryFile { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4706017+08:00", comments="Source field: public.syn_directory_file.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.p_id") + private String p_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.filesuper") + private String filesuper; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.filecount") + private Integer filecount; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.dutyperson") + private String dutyperson; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.eweavedate") + private String eweavedate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.filepage") + private Integer filepage; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.sortorder") + private String sortorder; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.bpeg") + private String bpeg; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.epeg") + private String epeg; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.filenum") + private String filenum; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.remark") + private String remark; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.recordnum") + private String recordnum; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4731095+08:00", comments="Source field: public.syn_directory_file.piecenumber") + private String piecenumber; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4731095+08:00", comments="Source field: public.syn_directory_file.adddate") + private String adddate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4731095+08:00", comments="Source field: public.syn_directory_file.editdate") + private String editdate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4731095+08:00", comments="Source field: public.syn_directory_file.time_stamp") + private String time_stamp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4731095+08:00", comments="Source field: public.syn_directory_file.isdel") + private Integer isdel; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4731095+08:00", comments="Source field: public.syn_directory_file.catalogpdfurl") + private String catalogpdfurl; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4731095+08:00", comments="Source field: public.syn_directory_file.signtag") + private String signtag; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4731095+08:00", comments="Source field: public.syn_directory_file.collecttag") + private String collecttag; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4706017+08:00", comments="Source field: public.syn_directory_file.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.p_id") + public String getP_id() { + return p_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.p_id") + public void setP_id(String p_id) { + this.p_id = p_id == null ? null : p_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.filesuper") + public String getFilesuper() { + return filesuper; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.filesuper") + public void setFilesuper(String filesuper) { + this.filesuper = filesuper == null ? null : filesuper.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.filecount") + public Integer getFilecount() { + return filecount; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.filecount") + public void setFilecount(Integer filecount) { + this.filecount = filecount; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.dutyperson") + public String getDutyperson() { + return dutyperson; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.dutyperson") + public void setDutyperson(String dutyperson) { + this.dutyperson = dutyperson == null ? null : dutyperson.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.eweavedate") + public String getEweavedate() { + return eweavedate; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.eweavedate") + public void setEweavedate(String eweavedate) { + this.eweavedate = eweavedate == null ? null : eweavedate.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.filepage") + public Integer getFilepage() { + return filepage; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.filepage") + public void setFilepage(Integer filepage) { + this.filepage = filepage; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.sortorder") + public String getSortorder() { + return sortorder; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.sortorder") + public void setSortorder(String sortorder) { + this.sortorder = sortorder == null ? null : sortorder.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.bpeg") + public String getBpeg() { + return bpeg; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.bpeg") + public void setBpeg(String bpeg) { + this.bpeg = bpeg == null ? null : bpeg.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.epeg") + public String getEpeg() { + return epeg; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.epeg") + public void setEpeg(String epeg) { + this.epeg = epeg == null ? null : epeg.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.filenum") + public String getFilenum() { + return filenum; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.filenum") + public void setFilenum(String filenum) { + this.filenum = filenum == null ? null : filenum.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.remark") + public String getRemark() { + return remark; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.remark") + public void setRemark(String remark) { + this.remark = remark == null ? null : remark.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.recordnum") + public String getRecordnum() { + return recordnum; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4716328+08:00", comments="Source field: public.syn_directory_file.recordnum") + public void setRecordnum(String recordnum) { + this.recordnum = recordnum == null ? null : recordnum.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4731095+08:00", comments="Source field: public.syn_directory_file.piecenumber") + public String getPiecenumber() { + return piecenumber; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4731095+08:00", comments="Source field: public.syn_directory_file.piecenumber") + public void setPiecenumber(String piecenumber) { + this.piecenumber = piecenumber == null ? null : piecenumber.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4731095+08:00", comments="Source field: public.syn_directory_file.adddate") + public String getAdddate() { + return adddate; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4731095+08:00", comments="Source field: public.syn_directory_file.adddate") + public void setAdddate(String adddate) { + this.adddate = adddate == null ? null : adddate.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4731095+08:00", comments="Source field: public.syn_directory_file.editdate") + public String getEditdate() { + return editdate; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4731095+08:00", comments="Source field: public.syn_directory_file.editdate") + public void setEditdate(String editdate) { + this.editdate = editdate == null ? null : editdate.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4731095+08:00", comments="Source field: public.syn_directory_file.time_stamp") + public String getTime_stamp() { + return time_stamp; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4731095+08:00", comments="Source field: public.syn_directory_file.time_stamp") + public void setTime_stamp(String time_stamp) { + this.time_stamp = time_stamp == null ? null : time_stamp.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4731095+08:00", comments="Source field: public.syn_directory_file.isdel") + public Integer getIsdel() { + return isdel; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4731095+08:00", comments="Source field: public.syn_directory_file.isdel") + public void setIsdel(Integer isdel) { + this.isdel = isdel; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4731095+08:00", comments="Source field: public.syn_directory_file.catalogpdfurl") + public String getCatalogpdfurl() { + return catalogpdfurl; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4731095+08:00", comments="Source field: public.syn_directory_file.catalogpdfurl") + public void setCatalogpdfurl(String catalogpdfurl) { + this.catalogpdfurl = catalogpdfurl == null ? null : catalogpdfurl.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4731095+08:00", comments="Source field: public.syn_directory_file.signtag") + public String getSigntag() { + return signtag; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4731095+08:00", comments="Source field: public.syn_directory_file.signtag") + public void setSigntag(String signtag) { + this.signtag = signtag == null ? null : signtag.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4731095+08:00", comments="Source field: public.syn_directory_file.collecttag") + public String getCollecttag() { + return collecttag; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4731095+08:00", comments="Source field: public.syn_directory_file.collecttag") + public void setCollecttag(String collecttag) { + this.collecttag = collecttag == null ? null : collecttag.trim(); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/SynFile.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SynFile.java new file mode 100644 index 0000000..94cc550 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SynFile.java @@ -0,0 +1,231 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.syn_file + */ +public class SynFile { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4986049+08:00", comments="Source field: public.syn_file.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4986049+08:00", comments="Source field: public.syn_file.p_id") + private String p_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4986049+08:00", comments="Source field: public.syn_file.tablenumber") + private String tablenumber; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4986049+08:00", comments="Source field: public.syn_file.annexname") + private String annexname; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4986049+08:00", comments="Source field: public.syn_file.projectname") + private String projectname; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.eweavedate") + private String eweavedate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.checkdate") + private String checkdate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.annexpage") + private Integer annexpage; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.sortorder") + private String sortorder; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.filefrom") + private String filefrom; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.archivestag") + private String archivestag; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.adddate") + private String adddate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.editdate") + private String editdate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.time_stamp") + private String time_stamp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.isdel") + private Integer isdel; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.downurl") + private String downurl; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.filesize") + private Integer filesize; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4986049+08:00", comments="Source field: public.syn_file.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4986049+08:00", comments="Source field: public.syn_file.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4986049+08:00", comments="Source field: public.syn_file.p_id") + public String getP_id() { + return p_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4986049+08:00", comments="Source field: public.syn_file.p_id") + public void setP_id(String p_id) { + this.p_id = p_id == null ? null : p_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4986049+08:00", comments="Source field: public.syn_file.tablenumber") + public String getTablenumber() { + return tablenumber; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4986049+08:00", comments="Source field: public.syn_file.tablenumber") + public void setTablenumber(String tablenumber) { + this.tablenumber = tablenumber == null ? null : tablenumber.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4986049+08:00", comments="Source field: public.syn_file.annexname") + public String getAnnexname() { + return annexname; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4986049+08:00", comments="Source field: public.syn_file.annexname") + public void setAnnexname(String annexname) { + this.annexname = annexname == null ? null : annexname.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.projectname") + public String getProjectname() { + return projectname; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.projectname") + public void setProjectname(String projectname) { + this.projectname = projectname == null ? null : projectname.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.eweavedate") + public String getEweavedate() { + return eweavedate; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.eweavedate") + public void setEweavedate(String eweavedate) { + this.eweavedate = eweavedate == null ? null : eweavedate.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.checkdate") + public String getCheckdate() { + return checkdate; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.checkdate") + public void setCheckdate(String checkdate) { + this.checkdate = checkdate == null ? null : checkdate.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.annexpage") + public Integer getAnnexpage() { + return annexpage; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.annexpage") + public void setAnnexpage(Integer annexpage) { + this.annexpage = annexpage; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.sortorder") + public String getSortorder() { + return sortorder; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.sortorder") + public void setSortorder(String sortorder) { + this.sortorder = sortorder == null ? null : sortorder.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.filefrom") + public String getFilefrom() { + return filefrom; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.filefrom") + public void setFilefrom(String filefrom) { + this.filefrom = filefrom == null ? null : filefrom.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.archivestag") + public String getArchivestag() { + return archivestag; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.archivestag") + public void setArchivestag(String archivestag) { + this.archivestag = archivestag == null ? null : archivestag.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.adddate") + public String getAdddate() { + return adddate; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.adddate") + public void setAdddate(String adddate) { + this.adddate = adddate == null ? null : adddate.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.editdate") + public String getEditdate() { + return editdate; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.editdate") + public void setEditdate(String editdate) { + this.editdate = editdate == null ? null : editdate.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.time_stamp") + public String getTime_stamp() { + return time_stamp; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.time_stamp") + public void setTime_stamp(String time_stamp) { + this.time_stamp = time_stamp == null ? null : time_stamp.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.isdel") + public Integer getIsdel() { + return isdel; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.isdel") + public void setIsdel(Integer isdel) { + this.isdel = isdel; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.downurl") + public String getDownurl() { + return downurl; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.downurl") + public void setDownurl(String downurl) { + this.downurl = downurl == null ? null : downurl.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.filesize") + public Integer getFilesize() { + return filesize; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.4996344+08:00", comments="Source field: public.syn_file.filesize") + public void setFilesize(Integer filesize) { + this.filesize = filesize; + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/Sync2blockchainTask.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/Sync2blockchainTask.java new file mode 100644 index 0000000..679f4c6 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/Sync2blockchainTask.java @@ -0,0 +1,235 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; +import java.time.LocalDateTime; + +/** + * Database Table Remarks: + * 同步数据至链上的task,一次执行产生一条记录。 +update*_count/insert*_count/remove*count这九个之和即是成功执行的数量;faild_process_count为失败的数量,二者之和等于need_process_count + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.sync2blockchain_task + */ +public class Sync2blockchainTask { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.start_time") + private LocalDateTime start_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.end_time") + private LocalDateTime end_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.update_dir_count") + private Integer update_dir_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.insert_dir_count") + private Integer insert_dir_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.remove_dir_count") + private Integer remove_dir_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.execute_status") + private Integer execute_status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.desp") + private String desp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.update_dirfile_count") + private Integer update_dirfile_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.insert_dirfile_count") + private Integer insert_dirfile_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.remove_dirfile_count") + private Integer remove_dirfile_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.update_file_count") + private Integer update_file_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5042192+08:00", comments="Source field: public.sync2blockchain_task.insert_file_count") + private Integer insert_file_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5042192+08:00", comments="Source field: public.sync2blockchain_task.remove_file_count") + private Integer remove_file_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5042772+08:00", comments="Source field: public.sync2blockchain_task.need_process_count") + private Integer need_process_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5042772+08:00", comments="Source field: public.sync2blockchain_task.processed_count") + private Integer processed_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5042772+08:00", comments="Source field: public.sync2blockchain_task.failed_process_count") + private Integer failed_process_count; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.start_time") + public LocalDateTime getStart_time() { + return start_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.start_time") + public void setStart_time(LocalDateTime start_time) { + this.start_time = start_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.end_time") + public LocalDateTime getEnd_time() { + return end_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.end_time") + public void setEnd_time(LocalDateTime end_time) { + this.end_time = end_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.update_dir_count") + public Integer getUpdate_dir_count() { + return update_dir_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.update_dir_count") + public void setUpdate_dir_count(Integer update_dir_count) { + this.update_dir_count = update_dir_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.insert_dir_count") + public Integer getInsert_dir_count() { + return insert_dir_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.insert_dir_count") + public void setInsert_dir_count(Integer insert_dir_count) { + this.insert_dir_count = insert_dir_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.remove_dir_count") + public Integer getRemove_dir_count() { + return remove_dir_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.remove_dir_count") + public void setRemove_dir_count(Integer remove_dir_count) { + this.remove_dir_count = remove_dir_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.execute_status") + public Integer getExecute_status() { + return execute_status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.execute_status") + public void setExecute_status(Integer execute_status) { + this.execute_status = execute_status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.desp") + public String getDesp() { + return desp; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.desp") + public void setDesp(String desp) { + this.desp = desp == null ? null : desp.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.update_dirfile_count") + public Integer getUpdate_dirfile_count() { + return update_dirfile_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.update_dirfile_count") + public void setUpdate_dirfile_count(Integer update_dirfile_count) { + this.update_dirfile_count = update_dirfile_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.insert_dirfile_count") + public Integer getInsert_dirfile_count() { + return insert_dirfile_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.insert_dirfile_count") + public void setInsert_dirfile_count(Integer insert_dirfile_count) { + this.insert_dirfile_count = insert_dirfile_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.remove_dirfile_count") + public Integer getRemove_dirfile_count() { + return remove_dirfile_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.remove_dirfile_count") + public void setRemove_dirfile_count(Integer remove_dirfile_count) { + this.remove_dirfile_count = remove_dirfile_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.update_file_count") + public Integer getUpdate_file_count() { + return update_file_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5032131+08:00", comments="Source field: public.sync2blockchain_task.update_file_count") + public void setUpdate_file_count(Integer update_file_count) { + this.update_file_count = update_file_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5042192+08:00", comments="Source field: public.sync2blockchain_task.insert_file_count") + public Integer getInsert_file_count() { + return insert_file_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5042192+08:00", comments="Source field: public.sync2blockchain_task.insert_file_count") + public void setInsert_file_count(Integer insert_file_count) { + this.insert_file_count = insert_file_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5042772+08:00", comments="Source field: public.sync2blockchain_task.remove_file_count") + public Integer getRemove_file_count() { + return remove_file_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5042772+08:00", comments="Source field: public.sync2blockchain_task.remove_file_count") + public void setRemove_file_count(Integer remove_file_count) { + this.remove_file_count = remove_file_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5042772+08:00", comments="Source field: public.sync2blockchain_task.need_process_count") + public Integer getNeed_process_count() { + return need_process_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5042772+08:00", comments="Source field: public.sync2blockchain_task.need_process_count") + public void setNeed_process_count(Integer need_process_count) { + this.need_process_count = need_process_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5042772+08:00", comments="Source field: public.sync2blockchain_task.processed_count") + public Integer getProcessed_count() { + return processed_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5042772+08:00", comments="Source field: public.sync2blockchain_task.processed_count") + public void setProcessed_count(Integer processed_count) { + this.processed_count = processed_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5042772+08:00", comments="Source field: public.sync2blockchain_task.failed_process_count") + public Integer getFailed_process_count() { + return failed_process_count; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T22:49:22.5042772+08:00", comments="Source field: public.sync2blockchain_task.failed_process_count") + public void setFailed_process_count(Integer failed_process_count) { + this.failed_process_count = failed_process_count; + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysAdmin.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysAdmin.java new file mode 100644 index 0000000..b2d28c3 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysAdmin.java @@ -0,0 +1,196 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.sys_admin + */ +public class SysAdmin { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.org_id") + private String org_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.realname") + private String realname; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.username") + private String username; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.password") + private String password; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.phone") + private String phone; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.email") + private String email; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.job") + private String job; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.gender") + private Integer gender; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.islock") + private Integer islock; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.type") + private Integer type; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.sort") + private Integer sort; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.cer_id") + private String cer_id; + + /** + * Database Column Remarks: + * 公司ID,组织ID的最高级 + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.company_id") + private String company_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.org_id") + public String getOrg_id() { + return org_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.org_id") + public void setOrg_id(String org_id) { + this.org_id = org_id == null ? null : org_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.realname") + public String getRealname() { + return realname; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.realname") + public void setRealname(String realname) { + this.realname = realname == null ? null : realname.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.username") + public String getUsername() { + return username; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.username") + public void setUsername(String username) { + this.username = username == null ? null : username.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.password") + public String getPassword() { + return password; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.password") + public void setPassword(String password) { + this.password = password == null ? null : password.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.phone") + public String getPhone() { + return phone; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.phone") + public void setPhone(String phone) { + this.phone = phone == null ? null : phone.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.email") + public String getEmail() { + return email; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.email") + public void setEmail(String email) { + this.email = email == null ? null : email.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.job") + public String getJob() { + return job; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.job") + public void setJob(String job) { + this.job = job == null ? null : job.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.gender") + public Integer getGender() { + return gender; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.gender") + public void setGender(Integer gender) { + this.gender = gender; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.islock") + public Integer getIslock() { + return islock; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.islock") + public void setIslock(Integer islock) { + this.islock = islock; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.type") + public Integer getType() { + return type; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.type") + public void setType(Integer type) { + this.type = type; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.sort") + public Integer getSort() { + return sort; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.sort") + public void setSort(Integer sort) { + this.sort = sort; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.cer_id") + public String getCer_id() { + return cer_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.cer_id") + public void setCer_id(String cer_id) { + this.cer_id = cer_id == null ? null : cer_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.company_id") + public String getCompany_id() { + return company_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2851466+08:00", comments="Source field: public.sys_admin.company_id") + public void setCompany_id(String company_id) { + this.company_id = company_id == null ? null : company_id.trim(); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysAdminRole.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysAdminRole.java new file mode 100644 index 0000000..07dd578 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysAdminRole.java @@ -0,0 +1,49 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.sys_admin_role + */ +public class SysAdminRole { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.291149+08:00", comments="Source field: public.sys_admin_role.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.291149+08:00", comments="Source field: public.sys_admin_role.adminid") + private String adminid; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.291149+08:00", comments="Source field: public.sys_admin_role.roleid") + private String roleid; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.291149+08:00", comments="Source field: public.sys_admin_role.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.291149+08:00", comments="Source field: public.sys_admin_role.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.291149+08:00", comments="Source field: public.sys_admin_role.adminid") + public String getAdminid() { + return adminid; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.291149+08:00", comments="Source field: public.sys_admin_role.adminid") + public void setAdminid(String adminid) { + this.adminid = adminid == null ? null : adminid.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.291149+08:00", comments="Source field: public.sys_admin_role.roleid") + public String getRoleid() { + return roleid; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.291149+08:00", comments="Source field: public.sys_admin_role.roleid") + public void setRoleid(String roleid) { + this.roleid = roleid == null ? null : roleid.trim(); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysAdminWeid.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysAdminWeid.java new file mode 100644 index 0000000..0069f09 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysAdminWeid.java @@ -0,0 +1,106 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; +import java.time.LocalDateTime; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.sys_admin_weid + */ +public class SysAdminWeid { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.283154+08:00", comments="Source field: public.sys_admin_weid.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.283154+08:00", comments="Source field: public.sys_admin_weid.admin_id") + private String admin_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.283154+08:00", comments="Source field: public.sys_admin_weid.wid") + private String wid; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.283154+08:00", comments="Source field: public.sys_admin_weid.wprivate_key") + private String wprivate_key; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.283154+08:00", comments="Source field: public.sys_admin_weid.add_time") + private LocalDateTime add_time; + + /** + * Database Column Remarks: + * 存证哈希 + */ + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.283154+08:00", comments="Source field: public.sys_admin_weid.certificate_hash") + private String certificate_hash; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.283154+08:00", comments="Source field: public.sys_admin_weid.chain_block") + private String chain_block; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.283154+08:00", comments="Source field: public.sys_admin_weid.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.283154+08:00", comments="Source field: public.sys_admin_weid.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.283154+08:00", comments="Source field: public.sys_admin_weid.admin_id") + public String getAdmin_id() { + return admin_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.283154+08:00", comments="Source field: public.sys_admin_weid.admin_id") + public void setAdmin_id(String admin_id) { + this.admin_id = admin_id == null ? null : admin_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.283154+08:00", comments="Source field: public.sys_admin_weid.wid") + public String getWid() { + return wid; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.283154+08:00", comments="Source field: public.sys_admin_weid.wid") + public void setWid(String wid) { + this.wid = wid == null ? null : wid.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.283154+08:00", comments="Source field: public.sys_admin_weid.wprivate_key") + public String getWprivate_key() { + return wprivate_key; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.283154+08:00", comments="Source field: public.sys_admin_weid.wprivate_key") + public void setWprivate_key(String wprivate_key) { + this.wprivate_key = wprivate_key == null ? null : wprivate_key.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.283154+08:00", comments="Source field: public.sys_admin_weid.add_time") + public LocalDateTime getAdd_time() { + return add_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.283154+08:00", comments="Source field: public.sys_admin_weid.add_time") + public void setAdd_time(LocalDateTime add_time) { + this.add_time = add_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.283154+08:00", comments="Source field: public.sys_admin_weid.certificate_hash") + public String getCertificate_hash() { + return certificate_hash; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.283154+08:00", comments="Source field: public.sys_admin_weid.certificate_hash") + public void setCertificate_hash(String certificate_hash) { + this.certificate_hash = certificate_hash == null ? null : certificate_hash.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.283154+08:00", comments="Source field: public.sys_admin_weid.chain_block") + public String getChain_block() { + return chain_block; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.283154+08:00", comments="Source field: public.sys_admin_weid.chain_block") + public void setChain_block(String chain_block) { + this.chain_block = chain_block == null ? null : chain_block.trim(); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysArea.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysArea.java new file mode 100644 index 0000000..5c80d8b --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysArea.java @@ -0,0 +1,101 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.sys_area + */ +public class SysArea { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source field: public.sys_area.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source field: public.sys_area.level_code") + private Short level_code; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source field: public.sys_area.parent_code") + private String parent_code; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source field: public.sys_area.area_code") + private String area_code; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source field: public.sys_area.name") + private String name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source field: public.sys_area.pid") + private String pid; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source field: public.sys_area.pids") + private String pids; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source field: public.sys_area.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source field: public.sys_area.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source field: public.sys_area.level_code") + public Short getLevel_code() { + return level_code; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source field: public.sys_area.level_code") + public void setLevel_code(Short level_code) { + this.level_code = level_code; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source field: public.sys_area.parent_code") + public String getParent_code() { + return parent_code; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source field: public.sys_area.parent_code") + public void setParent_code(String parent_code) { + this.parent_code = parent_code == null ? null : parent_code.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source field: public.sys_area.area_code") + public String getArea_code() { + return area_code; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source field: public.sys_area.area_code") + public void setArea_code(String area_code) { + this.area_code = area_code == null ? null : area_code.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source field: public.sys_area.name") + public String getName() { + return name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source field: public.sys_area.name") + public void setName(String name) { + this.name = name == null ? null : name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source field: public.sys_area.pid") + public String getPid() { + return pid; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source field: public.sys_area.pid") + public void setPid(String pid) { + this.pid = pid == null ? null : pid.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source field: public.sys_area.pids") + public String getPids() { + return pids; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.314148+08:00", comments="Source field: public.sys_area.pids") + public void setPids(String pids) { + this.pids = pids == null ? null : pids.trim(); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysConfig.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysConfig.java new file mode 100644 index 0000000..509e1e6 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysConfig.java @@ -0,0 +1,102 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; +import java.time.LocalDateTime; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.sys_config + */ +public class SysConfig { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2811498+08:00", comments="Source field: public.sys_config.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2811498+08:00", comments="Source field: public.sys_config.subgroup") + private String subgroup; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2811498+08:00", comments="Source field: public.sys_config.keys") + private String keys; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2811498+08:00", comments="Source field: public.sys_config.val") + private String val; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2811498+08:00", comments="Source field: public.sys_config.admin_id") + private String admin_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2811498+08:00", comments="Source field: public.sys_config.adminname") + private String adminname; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2811498+08:00", comments="Source field: public.sys_config.edittime") + private LocalDateTime edittime; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2811498+08:00", comments="Source field: public.sys_config.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2811498+08:00", comments="Source field: public.sys_config.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2811498+08:00", comments="Source field: public.sys_config.subgroup") + public String getSubgroup() { + return subgroup; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2811498+08:00", comments="Source field: public.sys_config.subgroup") + public void setSubgroup(String subgroup) { + this.subgroup = subgroup == null ? null : subgroup.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2811498+08:00", comments="Source field: public.sys_config.keys") + public String getKeys() { + return keys; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2811498+08:00", comments="Source field: public.sys_config.keys") + public void setKeys(String keys) { + this.keys = keys == null ? null : keys.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2811498+08:00", comments="Source field: public.sys_config.val") + public String getVal() { + return val; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2811498+08:00", comments="Source field: public.sys_config.val") + public void setVal(String val) { + this.val = val == null ? null : val.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2811498+08:00", comments="Source field: public.sys_config.admin_id") + public String getAdmin_id() { + return admin_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2811498+08:00", comments="Source field: public.sys_config.admin_id") + public void setAdmin_id(String admin_id) { + this.admin_id = admin_id == null ? null : admin_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2811498+08:00", comments="Source field: public.sys_config.adminname") + public String getAdminname() { + return adminname; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2811498+08:00", comments="Source field: public.sys_config.adminname") + public void setAdminname(String adminname) { + this.adminname = adminname == null ? null : adminname.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2821548+08:00", comments="Source field: public.sys_config.edittime") + public LocalDateTime getEdittime() { + return edittime; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2821548+08:00", comments="Source field: public.sys_config.edittime") + public void setEdittime(LocalDateTime edittime) { + this.edittime = edittime; + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysMenu.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysMenu.java new file mode 100644 index 0000000..7ef416e --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysMenu.java @@ -0,0 +1,153 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.sys_menu + */ +public class SysMenu { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.parent_id") + private String parent_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.level") + private Integer level; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.name") + private String name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.types") + private String types; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.url") + private String url; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.icon") + private String icon; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.is_open") + private Integer is_open; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.description") + private String description; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.sort") + private Integer sort; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.parentpath") + private String parentpath; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.parent_id") + public String getParent_id() { + return parent_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.parent_id") + public void setParent_id(String parent_id) { + this.parent_id = parent_id == null ? null : parent_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.level") + public Integer getLevel() { + return level; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.level") + public void setLevel(Integer level) { + this.level = level; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.name") + public String getName() { + return name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.name") + public void setName(String name) { + this.name = name == null ? null : name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.types") + public String getTypes() { + return types; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.types") + public void setTypes(String types) { + this.types = types == null ? null : types.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.url") + public String getUrl() { + return url; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.url") + public void setUrl(String url) { + this.url = url == null ? null : url.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.icon") + public String getIcon() { + return icon; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.icon") + public void setIcon(String icon) { + this.icon = icon == null ? null : icon.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.is_open") + public Integer getIs_open() { + return is_open; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.is_open") + public void setIs_open(Integer is_open) { + this.is_open = is_open; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.description") + public String getDescription() { + return description; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.description") + public void setDescription(String description) { + this.description = description == null ? null : description.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.sort") + public Integer getSort() { + return sort; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.sort") + public void setSort(Integer sort) { + this.sort = sort; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.parentpath") + public String getParentpath() { + return parentpath; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3081477+08:00", comments="Source field: public.sys_menu.parentpath") + public void setParentpath(String parentpath) { + this.parentpath = parentpath == null ? null : parentpath.trim(); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysOrg.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysOrg.java new file mode 100644 index 0000000..057bde3 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysOrg.java @@ -0,0 +1,401 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; +import java.time.LocalDateTime; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.sys_org + */ +public class SysOrg { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.pid") + private String pid; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.chinese_simple_name") + private String chinese_simple_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.english_simple_name") + private String english_simple_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.chinese_full_name") + private String chinese_full_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.english_full_name") + private String english_full_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.code") + private String code; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.sort") + private Integer sort; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.status") + private Integer status; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.is_company_department") + private Integer is_company_department; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.enterprise_legal_person") + private String enterprise_legal_person; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.contact_person") + private String contact_person; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.contact_phone") + private String contact_phone; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.remark") + private String remark; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.create_time") + private LocalDateTime create_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.create_user") + private String create_user; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.update_time") + private LocalDateTime update_time; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.update_user") + private String update_user; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.name") + private String name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.industry_name") + private String industry_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.industry_code") + private String industry_code; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.province_code") + private String province_code; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.city_code") + private String city_code; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.area_code") + private String area_code; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.addr") + private String addr; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.uscc") + private String uscc; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.org_type") + private String org_type; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.is_archives_dep") + private Integer is_archives_dep; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.cer_id") + private String cer_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.is_forbidden") + private Integer is_forbidden; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.pid") + public String getPid() { + return pid; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.pid") + public void setPid(String pid) { + this.pid = pid == null ? null : pid.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.chinese_simple_name") + public String getChinese_simple_name() { + return chinese_simple_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.chinese_simple_name") + public void setChinese_simple_name(String chinese_simple_name) { + this.chinese_simple_name = chinese_simple_name == null ? null : chinese_simple_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.english_simple_name") + public String getEnglish_simple_name() { + return english_simple_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.english_simple_name") + public void setEnglish_simple_name(String english_simple_name) { + this.english_simple_name = english_simple_name == null ? null : english_simple_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.chinese_full_name") + public String getChinese_full_name() { + return chinese_full_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.chinese_full_name") + public void setChinese_full_name(String chinese_full_name) { + this.chinese_full_name = chinese_full_name == null ? null : chinese_full_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.english_full_name") + public String getEnglish_full_name() { + return english_full_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.english_full_name") + public void setEnglish_full_name(String english_full_name) { + this.english_full_name = english_full_name == null ? null : english_full_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.code") + public String getCode() { + return code; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.code") + public void setCode(String code) { + this.code = code == null ? null : code.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.sort") + public Integer getSort() { + return sort; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.sort") + public void setSort(Integer sort) { + this.sort = sort; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.status") + public Integer getStatus() { + return status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.status") + public void setStatus(Integer status) { + this.status = status; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.is_company_department") + public Integer getIs_company_department() { + return is_company_department; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.is_company_department") + public void setIs_company_department(Integer is_company_department) { + this.is_company_department = is_company_department; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.enterprise_legal_person") + public String getEnterprise_legal_person() { + return enterprise_legal_person; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.enterprise_legal_person") + public void setEnterprise_legal_person(String enterprise_legal_person) { + this.enterprise_legal_person = enterprise_legal_person == null ? null : enterprise_legal_person.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.contact_person") + public String getContact_person() { + return contact_person; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.contact_person") + public void setContact_person(String contact_person) { + this.contact_person = contact_person == null ? null : contact_person.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.contact_phone") + public String getContact_phone() { + return contact_phone; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.contact_phone") + public void setContact_phone(String contact_phone) { + this.contact_phone = contact_phone == null ? null : contact_phone.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.remark") + public String getRemark() { + return remark; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.remark") + public void setRemark(String remark) { + this.remark = remark == null ? null : remark.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.create_time") + public LocalDateTime getCreate_time() { + return create_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.create_time") + public void setCreate_time(LocalDateTime create_time) { + this.create_time = create_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.create_user") + public String getCreate_user() { + return create_user; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.create_user") + public void setCreate_user(String create_user) { + this.create_user = create_user == null ? null : create_user.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.update_time") + public LocalDateTime getUpdate_time() { + return update_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.update_time") + public void setUpdate_time(LocalDateTime update_time) { + this.update_time = update_time; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.update_user") + public String getUpdate_user() { + return update_user; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.update_user") + public void setUpdate_user(String update_user) { + this.update_user = update_user == null ? null : update_user.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.name") + public String getName() { + return name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.name") + public void setName(String name) { + this.name = name == null ? null : name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.industry_name") + public String getIndustry_name() { + return industry_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.industry_name") + public void setIndustry_name(String industry_name) { + this.industry_name = industry_name == null ? null : industry_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.industry_code") + public String getIndustry_code() { + return industry_code; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.industry_code") + public void setIndustry_code(String industry_code) { + this.industry_code = industry_code == null ? null : industry_code.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.province_code") + public String getProvince_code() { + return province_code; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.province_code") + public void setProvince_code(String province_code) { + this.province_code = province_code == null ? null : province_code.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.city_code") + public String getCity_code() { + return city_code; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.city_code") + public void setCity_code(String city_code) { + this.city_code = city_code == null ? null : city_code.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.area_code") + public String getArea_code() { + return area_code; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.area_code") + public void setArea_code(String area_code) { + this.area_code = area_code == null ? null : area_code.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.addr") + public String getAddr() { + return addr; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.addr") + public void setAddr(String addr) { + this.addr = addr == null ? null : addr.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.uscc") + public String getUscc() { + return uscc; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.uscc") + public void setUscc(String uscc) { + this.uscc = uscc == null ? null : uscc.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.org_type") + public String getOrg_type() { + return org_type; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.org_type") + public void setOrg_type(String org_type) { + this.org_type = org_type == null ? null : org_type.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.is_archives_dep") + public Integer getIs_archives_dep() { + return is_archives_dep; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.is_archives_dep") + public void setIs_archives_dep(Integer is_archives_dep) { + this.is_archives_dep = is_archives_dep; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.cer_id") + public String getCer_id() { + return cer_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.cer_id") + public void setCer_id(String cer_id) { + this.cer_id = cer_id == null ? null : cer_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.is_forbidden") + public Integer getIs_forbidden() { + return is_forbidden; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3191521+08:00", comments="Source field: public.sys_org.is_forbidden") + public void setIs_forbidden(Integer is_forbidden) { + this.is_forbidden = is_forbidden; + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysRole.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysRole.java new file mode 100644 index 0000000..15ec276 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysRole.java @@ -0,0 +1,127 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.sys_role + */ +public class SysRole { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.rolename") + private String rolename; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.describe") + private String describe; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.sort") + private Integer sort; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.is_open") + private Integer is_open; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.sign_name") + private String sign_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.sign_id") + private String sign_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.company_id") + private String company_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.company_name") + private String company_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.rolename") + public String getRolename() { + return rolename; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.rolename") + public void setRolename(String rolename) { + this.rolename = rolename == null ? null : rolename.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.describe") + public String getDescribe() { + return describe; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.describe") + public void setDescribe(String describe) { + this.describe = describe == null ? null : describe.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.sort") + public Integer getSort() { + return sort; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.sort") + public void setSort(Integer sort) { + this.sort = sort; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.is_open") + public Integer getIs_open() { + return is_open; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.is_open") + public void setIs_open(Integer is_open) { + this.is_open = is_open; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.sign_name") + public String getSign_name() { + return sign_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.sign_name") + public void setSign_name(String sign_name) { + this.sign_name = sign_name == null ? null : sign_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.sign_id") + public String getSign_id() { + return sign_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.sign_id") + public void setSign_id(String sign_id) { + this.sign_id = sign_id == null ? null : sign_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.company_id") + public String getCompany_id() { + return company_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.company_id") + public void setCompany_id(String company_id) { + this.company_id = company_id == null ? null : company_id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.company_name") + public String getCompany_name() { + return company_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2711525+08:00", comments="Source field: public.sys_role.company_name") + public void setCompany_name(String company_name) { + this.company_name = company_name == null ? null : company_name.trim(); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysRoleMenu.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysRoleMenu.java new file mode 100644 index 0000000..7d861f0 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysRoleMenu.java @@ -0,0 +1,49 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.sys_role_menu + */ +public class SysRoleMenu { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2901497+08:00", comments="Source field: public.sys_role_menu.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2901497+08:00", comments="Source field: public.sys_role_menu.roleid") + private String roleid; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2901497+08:00", comments="Source field: public.sys_role_menu.menuid") + private String menuid; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2901497+08:00", comments="Source field: public.sys_role_menu.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2901497+08:00", comments="Source field: public.sys_role_menu.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2901497+08:00", comments="Source field: public.sys_role_menu.roleid") + public String getRoleid() { + return roleid; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2901497+08:00", comments="Source field: public.sys_role_menu.roleid") + public void setRoleid(String roleid) { + this.roleid = roleid == null ? null : roleid.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2901497+08:00", comments="Source field: public.sys_role_menu.menuid") + public String getMenuid() { + return menuid; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.2901497+08:00", comments="Source field: public.sys_role_menu.menuid") + public void setMenuid(String menuid) { + this.menuid = menuid == null ? null : menuid.trim(); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysRoleSign.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysRoleSign.java new file mode 100644 index 0000000..20571d9 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysRoleSign.java @@ -0,0 +1,49 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.sys_role_sign + */ +public class SysRoleSign { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.300152+08:00", comments="Source field: public.sys_role_sign.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.300152+08:00", comments="Source field: public.sys_role_sign.sign_name") + private String sign_name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.300152+08:00", comments="Source field: public.sys_role_sign.sign_code") + private String sign_code; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.300152+08:00", comments="Source field: public.sys_role_sign.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.300152+08:00", comments="Source field: public.sys_role_sign.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.300152+08:00", comments="Source field: public.sys_role_sign.sign_name") + public String getSign_name() { + return sign_name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.300152+08:00", comments="Source field: public.sys_role_sign.sign_name") + public void setSign_name(String sign_name) { + this.sign_name = sign_name == null ? null : sign_name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.300152+08:00", comments="Source field: public.sys_role_sign.sign_code") + public String getSign_code() { + return sign_code; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.300152+08:00", comments="Source field: public.sys_role_sign.sign_code") + public void setSign_code(String sign_code) { + this.sign_code = sign_code == null ? null : sign_code.trim(); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysRoleUrl.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysRoleUrl.java new file mode 100644 index 0000000..e64b64c --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysRoleUrl.java @@ -0,0 +1,62 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.sys_role_url + */ +public class SysRoleUrl { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3231506+08:00", comments="Source field: public.sys_role_url.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3231506+08:00", comments="Source field: public.sys_role_url.roleid") + private String roleid; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3231506+08:00", comments="Source field: public.sys_role_url.url") + private String url; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3231506+08:00", comments="Source field: public.sys_role_url.urltypes") + private Integer urltypes; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3231506+08:00", comments="Source field: public.sys_role_url.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3231506+08:00", comments="Source field: public.sys_role_url.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3231506+08:00", comments="Source field: public.sys_role_url.roleid") + public String getRoleid() { + return roleid; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3231506+08:00", comments="Source field: public.sys_role_url.roleid") + public void setRoleid(String roleid) { + this.roleid = roleid == null ? null : roleid.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3231506+08:00", comments="Source field: public.sys_role_url.url") + public String getUrl() { + return url; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3231506+08:00", comments="Source field: public.sys_role_url.url") + public void setUrl(String url) { + this.url = url == null ? null : url.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3231506+08:00", comments="Source field: public.sys_role_url.urltypes") + public Integer getUrltypes() { + return urltypes; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3231506+08:00", comments="Source field: public.sys_role_url.urltypes") + public void setUrltypes(Integer urltypes) { + this.urltypes = urltypes; + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysUrls.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysUrls.java new file mode 100644 index 0000000..5fe33ce --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/SysUrls.java @@ -0,0 +1,101 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.sys_urls + */ +public class SysUrls { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source field: public.sys_urls.id") + private String id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source field: public.sys_urls.pid") + private String pid; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source field: public.sys_urls.types") + private Integer types; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source field: public.sys_urls.level") + private Integer level; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source field: public.sys_urls.url") + private String url; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source field: public.sys_urls.name") + private String name; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source field: public.sys_urls.method") + private String method; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source field: public.sys_urls.id") + public String getId() { + return id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source field: public.sys_urls.id") + public void setId(String id) { + this.id = id == null ? null : id.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source field: public.sys_urls.pid") + public String getPid() { + return pid; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source field: public.sys_urls.pid") + public void setPid(String pid) { + this.pid = pid == null ? null : pid.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source field: public.sys_urls.types") + public Integer getTypes() { + return types; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source field: public.sys_urls.types") + public void setTypes(Integer types) { + this.types = types; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source field: public.sys_urls.level") + public Integer getLevel() { + return level; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source field: public.sys_urls.level") + public void setLevel(Integer level) { + this.level = level; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source field: public.sys_urls.url") + public String getUrl() { + return url; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source field: public.sys_urls.url") + public void setUrl(String url) { + this.url = url == null ? null : url.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source field: public.sys_urls.name") + public String getName() { + return name; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source field: public.sys_urls.name") + public void setName(String name) { + this.name = name == null ? null : name.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source field: public.sys_urls.method") + public String getMethod() { + return method; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-06T15:34:05.3011508+08:00", comments="Source field: public.sys_urls.method") + public void setMethod(String method) { + this.method = method == null ? null : method.trim(); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/WbDirectory.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/WbDirectory.java new file mode 100644 index 0000000..5437a72 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/WbDirectory.java @@ -0,0 +1,116 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; + +/** + * Database Table Remarks: + * 模拟的微柏目录数据,用于支撑模拟微柏数据同步测试 + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.wb_directory + */ +public class WbDirectory { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6340135+08:00", comments="Source field: public.wb_directory.kid") + private String kid; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6340135+08:00", comments="Source field: public.wb_directory.parentID") + private String parentID; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6340135+08:00", comments="Source field: public.wb_directory.time_stamp") + private String time_stamp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6340135+08:00", comments="Source field: public.wb_directory.sortOrder") + private Integer sortOrder; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6350131+08:00", comments="Source field: public.wb_directory.tname") + private String tname; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6350131+08:00", comments="Source field: public.wb_directory.subjoin") + private Integer subjoin; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6350131+08:00", comments="Source field: public.wb_directory.isdel") + private Integer isdel; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6350131+08:00", comments="Source field: public.wb_directory.wbs_id") + private Integer wbs_id; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6340135+08:00", comments="Source field: public.wb_directory.kid") + public String getKid() { + return kid; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6340135+08:00", comments="Source field: public.wb_directory.kid") + public void setKid(String kid) { + this.kid = kid == null ? null : kid.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6340135+08:00", comments="Source field: public.wb_directory.parentID") + public String getParentID() { + return parentID; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6340135+08:00", comments="Source field: public.wb_directory.parentID") + public void setParentID(String parentID) { + this.parentID = parentID == null ? null : parentID.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6340135+08:00", comments="Source field: public.wb_directory.time_stamp") + public String getTime_stamp() { + return time_stamp; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6340135+08:00", comments="Source field: public.wb_directory.time_stamp") + public void setTime_stamp(String time_stamp) { + this.time_stamp = time_stamp == null ? null : time_stamp.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6350131+08:00", comments="Source field: public.wb_directory.sortOrder") + public Integer getSortOrder() { + return sortOrder; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6350131+08:00", comments="Source field: public.wb_directory.sortOrder") + public void setSortOrder(Integer sortOrder) { + this.sortOrder = sortOrder; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6350131+08:00", comments="Source field: public.wb_directory.tname") + public String getTname() { + return tname; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6350131+08:00", comments="Source field: public.wb_directory.tname") + public void setTname(String tname) { + this.tname = tname == null ? null : tname.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6350131+08:00", comments="Source field: public.wb_directory.subjoin") + public Integer getSubjoin() { + return subjoin; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6350131+08:00", comments="Source field: public.wb_directory.subjoin") + public void setSubjoin(Integer subjoin) { + this.subjoin = subjoin; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6350131+08:00", comments="Source field: public.wb_directory.isdel") + public Integer getIsdel() { + return isdel; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6350131+08:00", comments="Source field: public.wb_directory.isdel") + public void setIsdel(Integer isdel) { + this.isdel = isdel; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6350131+08:00", comments="Source field: public.wb_directory.wbs_id") + public Integer getWbs_id() { + return wbs_id; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6350131+08:00", comments="Source field: public.wb_directory.wbs_id") + public void setWbs_id(Integer wbs_id) { + this.wbs_id = wbs_id; + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/WbDirectoryFile.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/WbDirectoryFile.java new file mode 100644 index 0000000..8c86af1 --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/WbDirectoryFile.java @@ -0,0 +1,283 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.wb_directory_file + */ +public class WbDirectoryFile { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.kid") + private String kid; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.sortID") + private String sortID; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.fileSuper") + private String fileSuper; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.fileCount") + private Integer fileCount; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.dutyPerson") + private String dutyPerson; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.eWeaveDate") + private String eWeaveDate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.filePage") + private Integer filePage; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.sortOrder") + private String sortOrder; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.bPeg") + private String bPeg; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.ePeg") + private String ePeg; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.fileNum") + private String fileNum; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.remark") + private String remark; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.recordNum") + private String recordNum; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.pieceNumber") + private String pieceNumber; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.addDate") + private String addDate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.editDate") + private String editDate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.time_stamp") + private String time_stamp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.isDel") + private Integer isDel; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.catalogPdfURL") + private String catalogPdfURL; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.signTag") + private String signTag; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.collectTag") + private String collectTag; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.kid") + public String getKid() { + return kid; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.kid") + public void setKid(String kid) { + this.kid = kid == null ? null : kid.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.sortID") + public String getSortID() { + return sortID; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.sortID") + public void setSortID(String sortID) { + this.sortID = sortID == null ? null : sortID.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.fileSuper") + public String getFileSuper() { + return fileSuper; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.fileSuper") + public void setFileSuper(String fileSuper) { + this.fileSuper = fileSuper == null ? null : fileSuper.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.fileCount") + public Integer getFileCount() { + return fileCount; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.fileCount") + public void setFileCount(Integer fileCount) { + this.fileCount = fileCount; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.dutyPerson") + public String getDutyPerson() { + return dutyPerson; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.dutyPerson") + public void setDutyPerson(String dutyPerson) { + this.dutyPerson = dutyPerson == null ? null : dutyPerson.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.eWeaveDate") + public String geteWeaveDate() { + return eWeaveDate; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.eWeaveDate") + public void seteWeaveDate(String eWeaveDate) { + this.eWeaveDate = eWeaveDate == null ? null : eWeaveDate.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.filePage") + public Integer getFilePage() { + return filePage; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.filePage") + public void setFilePage(Integer filePage) { + this.filePage = filePage; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.sortOrder") + public String getSortOrder() { + return sortOrder; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.sortOrder") + public void setSortOrder(String sortOrder) { + this.sortOrder = sortOrder == null ? null : sortOrder.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.bPeg") + public String getbPeg() { + return bPeg; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.bPeg") + public void setbPeg(String bPeg) { + this.bPeg = bPeg == null ? null : bPeg.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.ePeg") + public String getePeg() { + return ePeg; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.ePeg") + public void setePeg(String ePeg) { + this.ePeg = ePeg == null ? null : ePeg.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6308339+08:00", comments="Source field: public.wb_directory_file.fileNum") + public String getFileNum() { + return fileNum; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.fileNum") + public void setFileNum(String fileNum) { + this.fileNum = fileNum == null ? null : fileNum.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.remark") + public String getRemark() { + return remark; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.remark") + public void setRemark(String remark) { + this.remark = remark == null ? null : remark.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.recordNum") + public String getRecordNum() { + return recordNum; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.recordNum") + public void setRecordNum(String recordNum) { + this.recordNum = recordNum == null ? null : recordNum.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.pieceNumber") + public String getPieceNumber() { + return pieceNumber; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.pieceNumber") + public void setPieceNumber(String pieceNumber) { + this.pieceNumber = pieceNumber == null ? null : pieceNumber.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.addDate") + public String getAddDate() { + return addDate; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.addDate") + public void setAddDate(String addDate) { + this.addDate = addDate == null ? null : addDate.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.editDate") + public String getEditDate() { + return editDate; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.editDate") + public void setEditDate(String editDate) { + this.editDate = editDate == null ? null : editDate.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.time_stamp") + public String getTime_stamp() { + return time_stamp; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.time_stamp") + public void setTime_stamp(String time_stamp) { + this.time_stamp = time_stamp == null ? null : time_stamp.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.isDel") + public Integer getIsDel() { + return isDel; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.isDel") + public void setIsDel(Integer isDel) { + this.isDel = isDel; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.catalogPdfURL") + public String getCatalogPdfURL() { + return catalogPdfURL; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.catalogPdfURL") + public void setCatalogPdfURL(String catalogPdfURL) { + this.catalogPdfURL = catalogPdfURL == null ? null : catalogPdfURL.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.signTag") + public String getSignTag() { + return signTag; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.signTag") + public void setSignTag(String signTag) { + this.signTag = signTag == null ? null : signTag.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.collectTag") + public String getCollectTag() { + return collectTag; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6320134+08:00", comments="Source field: public.wb_directory_file.collectTag") + public void setCollectTag(String collectTag) { + this.collectTag = collectTag == null ? null : collectTag.trim(); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/repository/mybatis/entity/WbFile.java b/src/main/java/jj/tech/paolu/repository/mybatis/entity/WbFile.java new file mode 100644 index 0000000..ccc1cab --- /dev/null +++ b/src/main/java/jj/tech/paolu/repository/mybatis/entity/WbFile.java @@ -0,0 +1,231 @@ +package jj.tech.paolu.repository.mybatis.entity; + +import jakarta.annotation.Generated; + +/** + * + * This class was generated by MyBatis Generator. + * This class corresponds to the database table public.wb_file + */ +public class WbFile { + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.604873+08:00", comments="Source field: public.wb_file.kid") + private String kid; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6059438+08:00", comments="Source field: public.wb_file.catalogID") + private String catalogID; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6059438+08:00", comments="Source field: public.wb_file.tableName") + private String tableName; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.annexName") + private String annexName; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.projectName") + private String projectName; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.eweaveDate") + private String eweaveDate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.checkDate") + private String checkDate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.annexPage") + private Integer annexPage; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.sortOrder") + private String sortOrder; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.fileFrom") + private String fileFrom; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.archivestag") + private String archivestag; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.addDate") + private String addDate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.editDate") + private String editDate; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6080013+08:00", comments="Source field: public.wb_file.time_stamp") + private String time_stamp; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6080013+08:00", comments="Source field: public.wb_file.isDel") + private Integer isDel; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6080013+08:00", comments="Source field: public.wb_file.downURL") + private String downURL; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6080013+08:00", comments="Source field: public.wb_file.filesize") + private Integer filesize; + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6059438+08:00", comments="Source field: public.wb_file.kid") + public String getKid() { + return kid; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6059438+08:00", comments="Source field: public.wb_file.kid") + public void setKid(String kid) { + this.kid = kid == null ? null : kid.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6059438+08:00", comments="Source field: public.wb_file.catalogID") + public String getCatalogID() { + return catalogID; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6059438+08:00", comments="Source field: public.wb_file.catalogID") + public void setCatalogID(String catalogID) { + this.catalogID = catalogID == null ? null : catalogID.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.tableName") + public String getTableName() { + return tableName; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.tableName") + public void setTableName(String tableName) { + this.tableName = tableName == null ? null : tableName.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.annexName") + public String getAnnexName() { + return annexName; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.annexName") + public void setAnnexName(String annexName) { + this.annexName = annexName == null ? null : annexName.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.projectName") + public String getProjectName() { + return projectName; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.projectName") + public void setProjectName(String projectName) { + this.projectName = projectName == null ? null : projectName.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.eweaveDate") + public String getEweaveDate() { + return eweaveDate; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.eweaveDate") + public void setEweaveDate(String eweaveDate) { + this.eweaveDate = eweaveDate == null ? null : eweaveDate.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.checkDate") + public String getCheckDate() { + return checkDate; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.checkDate") + public void setCheckDate(String checkDate) { + this.checkDate = checkDate == null ? null : checkDate.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.annexPage") + public Integer getAnnexPage() { + return annexPage; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.annexPage") + public void setAnnexPage(Integer annexPage) { + this.annexPage = annexPage; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.sortOrder") + public String getSortOrder() { + return sortOrder; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.sortOrder") + public void setSortOrder(String sortOrder) { + this.sortOrder = sortOrder == null ? null : sortOrder.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.fileFrom") + public String getFileFrom() { + return fileFrom; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.fileFrom") + public void setFileFrom(String fileFrom) { + this.fileFrom = fileFrom == null ? null : fileFrom.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.archivestag") + public String getArchivestag() { + return archivestag; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.archivestag") + public void setArchivestag(String archivestag) { + this.archivestag = archivestag == null ? null : archivestag.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.addDate") + public String getAddDate() { + return addDate; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.addDate") + public void setAddDate(String addDate) { + this.addDate = addDate == null ? null : addDate.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.editDate") + public String getEditDate() { + return editDate; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6069434+08:00", comments="Source field: public.wb_file.editDate") + public void setEditDate(String editDate) { + this.editDate = editDate == null ? null : editDate.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6080013+08:00", comments="Source field: public.wb_file.time_stamp") + public String getTime_stamp() { + return time_stamp; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6080013+08:00", comments="Source field: public.wb_file.time_stamp") + public void setTime_stamp(String time_stamp) { + this.time_stamp = time_stamp == null ? null : time_stamp.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6080013+08:00", comments="Source field: public.wb_file.isDel") + public Integer getIsDel() { + return isDel; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6080013+08:00", comments="Source field: public.wb_file.isDel") + public void setIsDel(Integer isDel) { + this.isDel = isDel; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6080013+08:00", comments="Source field: public.wb_file.downURL") + public String getDownURL() { + return downURL; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6080013+08:00", comments="Source field: public.wb_file.downURL") + public void setDownURL(String downURL) { + this.downURL = downURL == null ? null : downURL.trim(); + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6080013+08:00", comments="Source field: public.wb_file.filesize") + public Integer getFilesize() { + return filesize; + } + + @Generated(value="org.mybatis.generator.api.MyBatisGenerator", date="2024-06-10T19:51:52.6080013+08:00", comments="Source field: public.wb_file.filesize") + public void setFilesize(Integer filesize) { + this.filesize = filesize; + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/utils/AES.java b/src/main/java/jj/tech/paolu/utils/AES.java new file mode 100644 index 0000000..5120b81 --- /dev/null +++ b/src/main/java/jj/tech/paolu/utils/AES.java @@ -0,0 +1,102 @@ +package jj.tech.paolu.utils; + + +import org.apache.commons.codec.binary.Base64; +import org.apache.commons.codec.digest.DigestUtils; + +import javax.crypto.Cipher; +import javax.crypto.spec.IvParameterSpec; +import javax.crypto.spec.SecretKeySpec; +import java.nio.charset.Charset; + +public class AES { + + private Cipher CBC; + private Cipher ECB; + private IvParameterSpec ivParameterSpec; + private SecretKeySpec secretKeySpec; + + public AES(){ + this("ssdkF$HUy2A#D%kd","weJiSEvR5yAC5ftB"); + } + public AES(String KEY, String IV){ + try { + this.CBC = Cipher.getInstance("AES/CBC/PKCS5PADDING"); + this.ECB = Cipher.getInstance("AES/ECB/PKCS5PADDING"); + this.ivParameterSpec = new IvParameterSpec(IV.getBytes(Charset.defaultCharset())); + this.secretKeySpec = new SecretKeySpec(KEY.getBytes(Charset.defaultCharset()), "AES"); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + + public String encryptCBC(String toBeEncrypt){ + try { + CBC.init(Cipher.ENCRYPT_MODE, secretKeySpec, ivParameterSpec); + byte[] encrypted = CBC.doFinal(toBeEncrypt.getBytes()); + return Base64.encodeBase64URLSafeString(encrypted); + }catch(Exception e) { + e.printStackTrace(); + return null; + } + } + + + public String decryptCBC(String encrypted){ + try { + CBC.init(Cipher.DECRYPT_MODE, secretKeySpec, ivParameterSpec); + byte[] decryptedBytes = CBC.doFinal(Base64.decodeBase64(encrypted)); + return new String(decryptedBytes); + }catch(Exception e) { + e.printStackTrace(); + return null; + } + } + + public String encrypt(String toBeEncrypt){ + try { + ECB.init(Cipher.ENCRYPT_MODE, secretKeySpec); + byte[] encrypted = ECB.doFinal(toBeEncrypt.getBytes()); + return Base64.encodeBase64URLSafeString(encrypted); + }catch(Exception e) { + e.printStackTrace(); + return null; + } + } + public String decrypt(String encrypted){ + try { + ECB.init(Cipher.DECRYPT_MODE, secretKeySpec); + byte[] decryptedBytes = ECB.doFinal(Base64.decodeBase64(encrypted)); + return new String(decryptedBytes); + }catch(Exception e) { + e.printStackTrace(); + return null; + } + } + + public static void main(String[] args) { + AES a = new AES(); + String s = a.encryptCBC("111"); + String v = a.decryptCBC(s); + System.out.println(s); + System.out.println(v); + + + String bb = a.encrypt("222"); + String cc = a.decrypt(bb); + System.out.println(bb); + System.out.println(cc); + + + String m = DigestUtils.sha3_256Hex("000000"); + System.out.println("sha3256:"+m); + + + System.out.println(a.encrypt("555555555551")); + System.out.println(a.decrypt(a.encrypt("555555555551"))); + + } + +} diff --git a/src/main/java/jj/tech/paolu/utils/CookieUtil.java b/src/main/java/jj/tech/paolu/utils/CookieUtil.java new file mode 100644 index 0000000..f0b936a --- /dev/null +++ b/src/main/java/jj/tech/paolu/utils/CookieUtil.java @@ -0,0 +1,112 @@ +package jj.tech.paolu.utils; + +import java.io.UnsupportedEncodingException; + +import jakarta.servlet.http.Cookie; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; + +public class CookieUtil { + private static final String DEFAULT_PATH = "/"; + private static final int DEFAULT_AGE = -1; + + private static String path = DEFAULT_PATH; + private static int age = DEFAULT_AGE; + + /** + * 添加cookie + * @param name + * @param value + * @param response + * @param maxAge + * @throws UnsupportedEncodingException + */ + public static void add(String name, String value,HttpServletResponse response){ + try { +// Cookie cookie = new Cookie(name,URLEncoder.encode(value,"utf-8")); +// byte[] compressed =Snappy.compress(value.getBytes("UTF-8"));//压缩 + Cookie cookie = new Cookie(name, value); + cookie.setMaxAge(age); + cookie.setPath(path); +// cookie.setDomain("localhost"); + response.addCookie(cookie); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 删除cookie + * @param name + * @param response + */ + public static void delete(HttpServletResponse response,String name){ + Cookie cookie = new Cookie(name,""); + cookie.setMaxAge(0); + cookie.setPath(path); + response.addCookie(cookie); + } + + public static void deleteAll(HttpServletRequest request, HttpServletResponse response){ + Cookie[] cookies = request.getCookies(); + if(cookies != null){ + for(Cookie cookie : cookies){ + cookie.setMaxAge(0); + cookie.setPath(path); + response.addCookie(cookie); + } + } + } + + /** + * 改变cookie的值 + * @param cookie + * @param value + */ + public static void edit(Cookie cookie,String value){ + if(cookie != null) cookie.setValue(value); + } + + /** + * 更加cookie名称查找,返回其值 + * 找不到返回null + * @param request + * @param name + * @return + */ + public static String fine(HttpServletRequest request,String name){ + try { + Cookie[] cookies = request.getCookies(); + if(cookies != null){ + for(Cookie cookie : cookies){ + if(name.equals(cookie.getName())) + { + +// byte[] cookitValue = Base64.decodeBase64(cookie.getValue()); +// byte[] uncompressed = Snappy.uncompress(cookitValue); +// return URLDecoder.decode(cookie.getValue(), "utf-8"); +// return new String (uncompressed,"UTF-8"); + return cookie.getValue(); + } + } + } + return null; + } catch (Exception e) { + return null; + } + + } + + public static Cookie get(HttpServletRequest request,String name){ + + Cookie[] cookies = request.getCookies(); + if(cookies != null){ + for(Cookie cookie : cookies){ + if(name.equals(cookie.getName())) + return cookie; + } + } + return null; + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/utils/IDHelp.java b/src/main/java/jj/tech/paolu/utils/IDHelp.java new file mode 100644 index 0000000..8723c45 --- /dev/null +++ b/src/main/java/jj/tech/paolu/utils/IDHelp.java @@ -0,0 +1,113 @@ +package jj.tech.paolu.utils; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Twitter的SnowFlake算法 + * 1111111111111111111111111100000000000000000000000 42位时间 + * 1111111111111111111111111111111100000000000000000 5位数据中心ID + * 1111111111111111111111111111111111111000000000000 5位机器ID + * 0000000000000000000000000000000000000111111111111 12位sequenceBits + * 4个值或运算组成一个新的Long + * @DOU + */ +public class IDHelp { + + private static final Logger LOG = LoggerFactory.getLogger(IDHelp.class); + private static volatile IDHelp instance; + + private long workerId = 1; //只有五位,0<=workerId<32 + private long datacenterId = 1; //只有5位, 0<=datacenterId<32 + + + private long startTime = 1661756943044L; //42位bit,第1位固定正数0,开始后最大能使用69年 + private long workerIdBits = 5L; //5bit机器ID + private long datacenterIdBits = 5L; //5bit数据中心ID + private long sequenceBits = 12L; //12位bit,同毫秒内产生的不同id + + private long workerIdLeft = sequenceBits; //左移量 + private long datacenterIdLeft = sequenceBits + workerIdBits; + private long timestampLeft = sequenceBits + workerIdBits + datacenterIdBits; //22位,64-22=42位 + + + private long sequence = 0L; //每毫秒初始值 + private long lastTimestamp = -1L; //上一次当前毫秒 + private long sequenceMax = ~(-1L << sequenceBits); //sequenceMax 最大值 4095 + + + private IDHelp() { + } + + + public synchronized String nextId() { + long timestamp = timeGen(); + + if (timestamp < lastTimestamp) { +// LOG.error(String.format("clock is moving backwards. Rejecting requests until %d.", lastTimestamp)); + } + + if (lastTimestamp == timestamp) { + sequence = (sequence + 1) & sequenceMax; + if (sequence == 0) { + timestamp = tilNextMillis(lastTimestamp); + } + } else { + sequence = 0L; + } + + lastTimestamp = timestamp; + + Long nextid = ((timestamp - startTime) << timestampLeft) | (datacenterId << datacenterIdLeft) | (workerId << workerIdLeft) | sequence; + + return nextid.toString(); + } + + private long tilNextMillis(long lastTimestamp) { + long timestamp = timeGen(); + while (timestamp <= lastTimestamp) { + timestamp = timeGen(); + } + return timestamp; + } + + private long timeGen() { + return System.currentTimeMillis(); + } + + /** + * @param workerId 机器ID + * @param datacenterId 数据中心ID + */ + public static IDHelp getInstance(Integer workerId, Integer datacenterId) { + if (workerId < 0 || datacenterId < 0) { + throw new RuntimeException("workerId || datacenterId < 0"); + } + if (workerId > 31 || datacenterId > 31) { + throw new RuntimeException("workerId || datacenterId > 31"); + } + if (instance == null) { + synchronized (IDHelp.class) { + if (instance == null) { + IDHelp bean = new IDHelp(); + bean.workerId = workerId; + bean.datacenterId = datacenterId; + instance = bean; + } + } + } + return instance; + } + + public static IDHelp getInstance() { + return getInstance(0, 0); + } + + public static void main(String[] args) { + IDHelp id = IDHelp.getInstance(0, 0); + for (int i = 0; i < 100000; i++) { + System.out.println(id.nextId()); + } + } + +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/utils/IPUtil.java b/src/main/java/jj/tech/paolu/utils/IPUtil.java new file mode 100644 index 0000000..a31479d --- /dev/null +++ b/src/main/java/jj/tech/paolu/utils/IPUtil.java @@ -0,0 +1,65 @@ +package jj.tech.paolu.utils; + +import java.util.Arrays; +import java.util.List; +import java.util.Objects; + +import org.lionsoul.ip2region.xdb.Searcher; + +import jakarta.servlet.http.HttpServletRequest; + +public class IPUtil { + + public static final List IP_HEADERS = Arrays.asList( + "X-Forwarded-For", "Proxy-Client-IP", + "WL-Proxy-Client-IP", "HTTP_CLIENT_IP", + "HTTP_X_FORWARDED_FOR"); + + public static String dbPath = "src/main/resources/ip/ip2region.xdb"; + public static Searcher searcher; + + static { + try { + byte[] vIndex = Searcher.loadContentFromFile(dbPath); + searcher = Searcher.newWithBuffer(vIndex); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public static String getClientIpAddr(HttpServletRequest request) { + return IP_HEADERS.stream() + .map(request::getHeader) + .filter(Objects::nonNull) + .filter(ip -> !ip.isEmpty() && !ip.equalsIgnoreCase("unknown")) + .findFirst() + .orElseGet(request::getRemoteAddr); + } + + public static String getCityInfo(String ip) { + try { + return searcher.search(ip); + } catch (Exception e) { + e.printStackTrace(); + } + + return ""; + } + + + + + + +// public static void main(String[] args) throws Exception { +// System.err.println(getCityInfo("119.45.61.64")); +// System.err.println(getCityInfo("173.249.203.214")); +// System.err.println(getCityInfo("223.104.64.40")); +// System.err.println(getCityInfo("220.205.252.233")); +// } + + + + + +} diff --git a/src/main/java/jj/tech/paolu/utils/JsonUtil.java b/src/main/java/jj/tech/paolu/utils/JsonUtil.java new file mode 100644 index 0000000..5c34908 --- /dev/null +++ b/src/main/java/jj/tech/paolu/utils/JsonUtil.java @@ -0,0 +1,99 @@ +package jj.tech.paolu.utils; + + +import java.io.IOException; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; + +import jj.tech.paolu.config.security.user.WebAdminUtil; + +/** + * json转换工具类 + */ +public class JsonUtil { + private static Logger logger = LoggerFactory.getLogger(WebAdminUtil.class); + + private static ObjectMapper objectMapper = new ObjectMapper(); + static { + JavaTimeModule javaTimeModule = new JavaTimeModule(); + javaTimeModule.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + objectMapper.configure(DeserializationFeature.FAIL_ON_UNRESOLVED_OBJECT_IDS, false); + objectMapper.registerModule(javaTimeModule); + + } + + //将单个对象转换成json格式的字符串(没有格式化后的json) + public static String writeValueAsString(T obj){ + if (obj == null){ + return null; + } + try { + return obj instanceof String ? (String) obj:objectMapper.writeValueAsString(obj); + } catch (IOException e) { + logger.warn("Parse object to String error", e); + return null; + } + } + + //将单个对象转换成json格式的字符串(格式化后的json) + public static String writeValueAsStringPretty(T obj){ + if (obj == null){ + return null; + } + try { + return obj instanceof String ? (String) obj:objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(obj); + } catch (IOException e) { + logger.warn("Parse object to String error", e); + return null; + } + } + //将json形式的字符串数据转换成单个对象 + public static T readValueToObj(String str, Class clazz){ + if (StringUtils.isEmpty(str) || clazz == null){ + return null; + } + try { + return clazz.equals(String.class) ? (T) str : objectMapper.readValue(str,clazz); + } catch (IOException e) { + logger.warn("Parse object to Object error", e); + return null; + } + } + + //将json形式的字符串数据转换成多个对象 +// public static T string2Obj(String str, TypeReference typeReference){ +// if (StringUtils.isEmpty(str) || typeReference == null){ +// return null; +// } +// try { +// return typeReference.getType().equals(String.class) ? (T) str : (T) objectMapper.readValue(str, typeReference); +// } catch (IOException e) { +// log.warn("Parse object to Object error", e); +// return null; +// } +// } + + //将json形式的字符串数据转换成多个对象 + public static T readValueToList(String str, Class collectionClass, Class... elementClasses){ + try { + return objectMapper.readValue(str, objectMapper.getTypeFactory().constructParametricType(collectionClass, elementClasses)); + } catch (IOException e) { + logger.warn("Parse object to Object error", e); + return null; + } + } + + +} diff --git a/src/main/java/jj/tech/paolu/utils/JwtUtil.java b/src/main/java/jj/tech/paolu/utils/JwtUtil.java new file mode 100644 index 0000000..229c757 --- /dev/null +++ b/src/main/java/jj/tech/paolu/utils/JwtUtil.java @@ -0,0 +1,173 @@ +//package jj.tech.paolu.utils; +// +//import java.time.Instant; +//import java.util.Base64; +//import java.util.Date; +//import java.util.HashMap; +//import java.util.Map; +// +//import javax.crypto.SecretKey; +//import javax.crypto.spec.SecretKeySpec; +// +//import com.fasterxml.jackson.databind.ObjectMapper; +// +//import io.jsonwebtoken.Claims; +//import io.jsonwebtoken.CompressionCodecs; +//import io.jsonwebtoken.Jws; +//import io.jsonwebtoken.JwtBuilder; +//import io.jsonwebtoken.JwtParser; +//import io.jsonwebtoken.Jwts; +//import io.jsonwebtoken.jackson.io.JacksonDeserializer; +//import io.jsonwebtoken.jackson.io.JacksonSerializer; +//import org.apache.commons.lang3.StringUtils; +//import org.apache.commons.lang3.time.DateUtils; +//import org.slf4j.Logger; +//import org.slf4j.LoggerFactory; +// +//public class JwtUtil { +//// public static final String HMACSHA256 = "HMACSHA256"; +//// public static final String SECRET = "fn4hIX5+d29jYW8seWFtYWRpZSx3YW5kYW5sZX5+ISF+fg=="; +//// public static final SecretKey DEFAULT_SECRET_KEY = new SecretKeySpec(Base64.getDecoder().decode(SECRET), HMACSHA256); +// +// private static final Logger logger = LoggerFactory.getLogger(JwtUtil.class); +// public static final SecretKey DEFAULT_SECRET_KEY = Jwts.SIG.HS512.key().build(); +// +// +// private static final String CLAIM_KEY_CREATED = "created"; +// +// private static long exp = 30 * 60 * 1000; //过期时间,毫秒 +// +// public static ObjectMapper objectMapper = new ObjectMapper(); +// +// /** +// * 根据负责生成JWT的token +// */ +// public static String generateToken(Map claims) { +// +// claims.put(CLAIM_KEY_CREATED, new Date()); +// JwtBuilder builder = Jwts.builder() +// .claims(claims) +// .compressWith(Jwts.ZIP.DEF) +// .json(new JacksonSerializer(objectMapper)) +// .signWith(DEFAULT_SECRET_KEY); +// if (exp > 0) { +// long nowMillis = System.currentTimeMillis(); +// builder.expiration(new Date(nowMillis + exp)); +// } +// return builder.compact(); +// } +// +// /** +// * 当原来的token没过期时是可以刷新的 +// * +// * @param oldToken 带tokenHead的token +// */ +// public static String refreshHeadToken(String oldToken) { +// if(StringUtils.isEmpty(oldToken)){ +// return null; +// } +// //token校验不通过 +// Claims claims = getClaimsFromToken(oldToken); +// if(claims==null){ +// return null; +// } +// //如果token已经过期,不支持刷新 +// Date expiredDate = claims.getExpiration(); +// if(expiredDate.before(new Date())){ +// return null; +// } +// //如果token在30分钟之内刚刷新过,返回原token +// if(tokenRefreshJustBefore(oldToken,30*60)){ +// return oldToken; +// }else{ +// claims.put(CLAIM_KEY_CREATED, new Date()); +// return generateToken(claims); +// } +// } +// +// /** +// * 判断token在指定时间内是否刚刚刷新过 +// * @param token 原token +// * @param time 指定时间(秒) +// */ +// public static boolean tokenRefreshJustBefore(String token, int time) { +// Claims claims = getClaimsFromToken(token); +// Date created = claims.get(CLAIM_KEY_CREATED, Date.class); +// Date refreshDate = new Date(); +// //刷新时间在创建时间的指定时间内 +// if(refreshDate.after(created)&&refreshDate.before(DateUtils.addSeconds(created,time))){ +// return true; +// } +// return false; +// } +// +// /** +// * 从token中获取JWT中的负载 +// */ +// public static Claims getClaimsFromToken(String token) { +// Claims claims = null; +// try { +// byte[] source = Jwts.parser() +// .decryptWith(DEFAULT_SECRET_KEY) +// .build() +// .parseEncryptedContent(token) +// .getPayload(); +// } catch (Exception e) { +// logger.info("JWT格式验证失败:{}", token); +// } +// return claims; +// } +// /** +// * 通过token获取用户id +// * @param +// * @return +// */ +//// public static String getUserId(String jwtStr){ +//// Claims claims = JwtUtil.getClaimsFromToken(jwtStr); +//// JsonUtil.writeValueAsString(claims.get("user")); +//// UserInfo user = JsonUtil.readValueToObj(JsonUtil.writeValueAsString(claims.get("user")), UserInfo.class); +//// return user. +//// } +// +// +// @SuppressWarnings({ "rawtypes", "unchecked" }) +// public JwtBuilder jwtBuilder() { +// return Jwts.builder() +// .compressWith(Jwts.ZIP.DEF) +// .json(new JacksonSerializer(objectMapper)) +// .signWith(DEFAULT_SECRET_KEY); +// +// } +// +// @SuppressWarnings({ "rawtypes", "unchecked" }) +// public JwtParser jwtParser() { +// return Jwts.parserBuilder() +// .deserializeJsonWith(new JacksonDeserializer(objectMapper)) +// .setSigningKey(DEFAULT_SECRET_KEY) +// .build(); +// } +// +// @SuppressWarnings("unchecked") +// public static void main(String[] args) { +// +// JwtUtil jwtUtil = new JwtUtil(); +// jwtUtil.objectMapper = new ObjectMapper(); +// //Create the TOKEN +// HashMap b = new HashMap(); +// b.put("x", "11"); +// b.put("y", "22"); +// Claims claim = Jwts.claims(); +// claim.put("a", "aa"); +// claim.put("b", b); +// claim.setExpiration(Date.from(Instant.now().plusSeconds(3600L))); +// +// var encoder = jwtUtil.jwtBuilder().setClaims(claim).compact(); +// System.out.println(encoder); +// +// //Decode the TOKEN +// var jwtParser = jwtUtil.jwtParser(); +// jwtParser.isSigned(encoder); +// Jws claims = (Jws) jwtParser.parse(encoder); +// System.out.println(claims.getBody()); +// } +//} diff --git a/src/main/java/jj/tech/paolu/utils/Page.java b/src/main/java/jj/tech/paolu/utils/Page.java new file mode 100644 index 0000000..ae6e80a --- /dev/null +++ b/src/main/java/jj/tech/paolu/utils/Page.java @@ -0,0 +1,68 @@ +package jj.tech.paolu.utils; + +import java.util.List; + +public class Page { + + private Integer pageSize=20; //页多少条 + private Integer pageNum=1; //第几页 + private Long total=0L; //一共多少条 + private Long totalPage; //一共几页 + + private List list; + + public Page() { + + } + + public Page(Integer pageNum, Integer pageSize) { + this.setPageNum(pageNum); + this.setPageSize(pageSize); + } + + + + + public int getPageSize() { + return pageSize; + } + public void setPageSize(Integer pageSize) { + if(pageSize != null && pageSize >= 1){ + this.pageSize = pageSize; + } + } + public int getPageNum() { + return pageNum; + } + public void setPageNum(Integer pageNum) { + if(pageNum != null && pageNum >= 1){ + this.pageNum = pageNum; + } + } + public Long getTotal() { + return total; + } + public void setTotal(Long total) { + this.total = total; + } + public Long getTotalPage() { + Integer t = (int) Math.ceil((double) total / pageSize); + totalPage = t.longValue(); + return totalPage; + } + public void setTotalPage(Long totalPage) { + this.totalPage = totalPage; + } + public List getList() { + return list; + } + public void setList(List list) { + this.list = list; + } + + + public int limitStart(){ + return (pageNum - 1) * pageSize; + } + +} diff --git a/src/main/java/jj/tech/paolu/utils/R.java b/src/main/java/jj/tech/paolu/utils/R.java new file mode 100644 index 0000000..87dbac0 --- /dev/null +++ b/src/main/java/jj/tech/paolu/utils/R.java @@ -0,0 +1,73 @@ +package jj.tech.paolu.utils; + + +public class R { + public Boolean isOk; + public String message; + public Object data; + public String code; + + public R() { + } + + public R(Boolean isOk, String message, Object data) { + this.isOk=isOk; + this.message=message; + this.data=data; + } + + public static R SUCCESS(){ + return new R(true,"", null); + } + + public static R SUCCESS(String message){ + return new R(true, message==null ? "" : message, null); + } + + public static R SUCCESS(String message, Object data){ + return new R(true, message==null ? "" : message, data); + } + public static R SUCCESS(Object data){ + return new R(true, "" , data); + } + + + + public static R FALSE(){ + return new R(false,"", null); + } + public static R FALSE(String message){ + return new R(false, message==null ? "" : message, null); + } + public static R FALSE(String message, Object data){ + return new R(false, message==null ? "" : message, data); + } + public static R FALSE(Object data){ + return new R(true, "" , data); + } + + + public Boolean getIsOk() { + return isOk; + } + + public void setIsOk(Boolean isOk) { + this.isOk = isOk; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public Object getData() { + return data; + } + + public void setData(Object data) { + this.data = data; + } +} diff --git a/src/main/java/jj/tech/paolu/utils/RSA.java b/src/main/java/jj/tech/paolu/utils/RSA.java new file mode 100644 index 0000000..efd2384 --- /dev/null +++ b/src/main/java/jj/tech/paolu/utils/RSA.java @@ -0,0 +1,359 @@ +package jj.tech.paolu.utils; + +import java.io.ByteArrayOutputStream; +import java.security.Key; +import java.security.KeyFactory; +import java.security.KeyPair; +import java.security.KeyPairGenerator; +import java.security.PrivateKey; +import java.security.PublicKey; +import java.security.Signature; +import java.security.interfaces.RSAPrivateKey; +import java.security.interfaces.RSAPublicKey; +import java.security.spec.PKCS8EncodedKeySpec; +import java.security.spec.X509EncodedKeySpec; +import java.util.HashMap; +import java.util.Map; + +import javax.crypto.Cipher; + +import org.apache.commons.codec.binary.Base64; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +/** + *

+ * RSA公钥/私钥/签名工具包 + *

+ *

+ * 罗纳德·李维斯特(Ron [R]ivest)、阿迪·萨莫尔(Adi [S]hamir)和伦纳德·阿德曼(Leonard [A]dleman) + *

+ *

+ * 字符串格式的密钥在未在特殊说明情况下都为BASE64编码格式
+ * 由于非对称加密速度极其缓慢,一般文件不使用它来加密而是使用对称加密,
+ * 非对称加密算法可以用来对对称加密的密钥加密,这样保证密钥的安全也就保证了数据的安全 + *

+ * + * @author XDou + * @date 2017-11-16 + */ +public class RSA { + private Logger log = LoggerFactory.getLogger(RSA.class); + + public static RSA getInstance() { + return new RSA(); + } + /** + * 加密算法RSA + */ + public static final String rsa = "RSA"; + + /** + * 签名算法 + */ + public static final String SHA1withRSA = "SHA1withRSA"; + public static final String SHA256withRSA = "SHA256withRSA"; + + + /** + * RSA最大加密明文大小 + */ + private static final int MAX_ENCRYPT_BLOCK = 117; + + /** + * RSA最大解密密文大小 + */ + private static final int MAX_DECRYPT_BLOCK = 128; + + /** + * 生成密钥对(公钥和私钥) + */ + public String[] genKeyPair() { + try { + KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance(rsa); + keyPairGen.initialize(1024); + KeyPair keyPair = keyPairGen.generateKeyPair(); + RSAPublicKey rsa_public = (RSAPublicKey) keyPair.getPublic(); + RSAPrivateKey rsa_private = (RSAPrivateKey) keyPair.getPrivate(); + + String public_key = Base64.encodeBase64String(rsa_public.getEncoded()); + String private_key = Base64.encodeBase64String(rsa_private.getEncoded()); + return new String[] {public_key, private_key}; + } catch (Exception e) { + log.error("", e); + return null; + } + } + + /** + * 用私钥对信息生成数字签名 + * @param src 待签名的源数据 + * @param privateKey 私钥(BASE64编码) + * @param algorithm 生存签名的算法 + */ + public String sign(String src, String privateKey, String algorithm) { + try { + byte[] data = src.getBytes("utf-8"); + byte[] keyBytes = Base64.decodeBase64(privateKey); + PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(keyBytes); + KeyFactory keyFactory = KeyFactory.getInstance(rsa); + PrivateKey privateK = keyFactory.generatePrivate(pkcs8KeySpec); + Signature signature = Signature.getInstance(algorithm); + signature.initSign(privateK); + signature.update(data); + return Base64.encodeBase64String(signature.sign()); + } catch (Exception e) { + log.error("", e); + return null; + } + } + + + /** + * 用公钥,校验数字签名sign的值,是否正确 + * @param src 待签名源数据 + * @param publicKey 公钥(BASE64编码) + * @param sign 数字签名 + * @param algorithm 生成签名的算法 + */ + public boolean verify(String src, String publicKey, String sign, String algorithm) { + try { + byte[] data = src.getBytes("utf-8"); + byte[] keyBytes = Base64.decodeBase64(publicKey); + X509EncodedKeySpec keySpec = new X509EncodedKeySpec(keyBytes); + KeyFactory keyFactory = KeyFactory.getInstance(rsa); + PublicKey publicK = keyFactory.generatePublic(keySpec); + Signature signature = Signature.getInstance(algorithm); + signature.initVerify(publicK); + signature.update(data); + return signature.verify(Base64.decodeBase64(sign)); + } catch (Exception e) { + log.error("", e); + return false; + } + + } + + + + + /** + * 私钥加密,返回base64编码 + * @param data 源数据 + * @param privateKey 私钥(BASE64编码) + */ + public String encryptByPrivateKey(String src, String privateKey) { + try { + byte[] data = src.getBytes("utf-8"); + byte[] keyBytes = Base64.decodeBase64(privateKey); + PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(keyBytes); + KeyFactory keyFactory = KeyFactory.getInstance(rsa); + Key privateK = keyFactory.generatePrivate(pkcs8KeySpec); + Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm()); + cipher.init(Cipher.ENCRYPT_MODE, privateK); + int inputLen = data.length; + ByteArrayOutputStream out = new ByteArrayOutputStream(); + int offSet = 0; + byte[] cache; + int i = 0; + // 对数据分段加密 + while (inputLen - offSet > 0) { + if (inputLen - offSet > MAX_ENCRYPT_BLOCK) { + cache = cipher.doFinal(data, offSet, MAX_ENCRYPT_BLOCK); + } else { + cache = cipher.doFinal(data, offSet, inputLen - offSet); + } + out.write(cache, 0, cache.length); + i++; + offSet = i * MAX_ENCRYPT_BLOCK; + } + byte[] encryptedData = out.toByteArray(); + out.close(); + + return Base64.encodeBase64String(encryptedData); + + } catch (Exception e) { + log.error("", e); + return null; + } + } + + /** + * 私钥解密 + * @param encryptedSrc 已加密数据 + * @param privateKey 私钥(BASE64编码) + */ + public String decryptByPrivateKey(String encryptedSrc, String privateKey) { + try { + byte[] encryptedData = Base64.decodeBase64(encryptedSrc); + byte[] keyBytes = Base64.decodeBase64(privateKey); + PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(keyBytes); + KeyFactory keyFactory = KeyFactory.getInstance(rsa); + Key privateK = keyFactory.generatePrivate(pkcs8KeySpec); + Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm()); + cipher.init(Cipher.DECRYPT_MODE, privateK); + int inputLen = encryptedData.length; + ByteArrayOutputStream out = new ByteArrayOutputStream(); + int offSet = 0; + byte[] cache; + int i = 0; + // 对数据分段解密 + while (inputLen - offSet > 0) { + if (inputLen - offSet > MAX_DECRYPT_BLOCK) { + cache = cipher.doFinal(encryptedData, offSet, MAX_DECRYPT_BLOCK); + } else { + cache = cipher.doFinal(encryptedData, offSet, inputLen - offSet); + } + out.write(cache, 0, cache.length); + i++; + offSet = i * MAX_DECRYPT_BLOCK; + } + byte[] decryptedData = out.toByteArray(); + out.close(); + return new String(decryptedData, "utf-8"); + + } catch (Exception e) { + log.error("", e); + return null; + } + } + + + /** + * 公钥加密 + * @param data 源数据 + * @param publicKey 公钥(BASE64编码) + */ + public String encryptByPublicKey(String src, String publicKey) { + try { + byte[] data = src.getBytes("utf-8"); + byte[] keyBytes = Base64.decodeBase64(publicKey); + X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(keyBytes); + KeyFactory keyFactory = KeyFactory.getInstance(rsa); + Key publicK = keyFactory.generatePublic(x509KeySpec); + // 对数据加密 + Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm()); + cipher.init(Cipher.ENCRYPT_MODE, publicK); + int inputLen = data.length; + ByteArrayOutputStream out = new ByteArrayOutputStream(); + int offSet = 0; + byte[] cache; + int i = 0; + // 对数据分段加密 + while (inputLen - offSet > 0) { + if (inputLen - offSet > MAX_ENCRYPT_BLOCK) { + cache = cipher.doFinal(data, offSet, MAX_ENCRYPT_BLOCK); + } else { + cache = cipher.doFinal(data, offSet, inputLen - offSet); + } + out.write(cache, 0, cache.length); + i++; + offSet = i * MAX_ENCRYPT_BLOCK; + } + byte[] encryptedData = out.toByteArray(); + out.close(); + return Base64.encodeBase64String(encryptedData); + } catch (Exception e) { + log.error("", e); + return null; + } + } + + /** + * 公钥解密 + * @param encryptedData 已加密数据 + * @param publicKey 公钥(BASE64编码) + */ + public String decryptByPublicKey(String encryptedSrc, String publicKey) { + try { + byte[] encryptedData = Base64.decodeBase64(encryptedSrc); + byte[] keyBytes = Base64.decodeBase64(publicKey); + X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(keyBytes); + KeyFactory keyFactory = KeyFactory.getInstance(rsa); + Key publicK = keyFactory.generatePublic(x509KeySpec); + Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm()); + cipher.init(Cipher.DECRYPT_MODE, publicK); + int inputLen = encryptedData.length; + ByteArrayOutputStream out = new ByteArrayOutputStream(); + int offSet = 0; + byte[] cache; + int i = 0; + // 对数据分段解密 + while (inputLen - offSet > 0) { + if (inputLen - offSet > MAX_DECRYPT_BLOCK) { + cache = cipher.doFinal(encryptedData, offSet, MAX_DECRYPT_BLOCK); + } else { + cache = cipher.doFinal(encryptedData, offSet, inputLen - offSet); + } + out.write(cache, 0, cache.length); + i++; + offSet = i * MAX_DECRYPT_BLOCK; + } + byte[] decryptedData = out.toByteArray(); + out.close(); + return new String(decryptedData, "utf-8"); + + } catch (Exception e) { + log.error("", e); + return null; + } + } + + + + /** + * 默认使用SHA1withRSA签名 + */ + public String sign(String src, String privateKey) { + return this.sign(src, privateKey, SHA1withRSA); + } + + /** + * 默认使用SHA1withRS验证签名是否正确 + */ + public boolean verify(String src, String publicKey, String sign) { + return this.verify(src, publicKey, sign, SHA1withRSA); + } + +// public static void main(String[] args) { +// RSA rsa = RSA.getInstance(); +// String[] obj = rsa.genKeyPair(); +// +// String publicKey = obj[0]; +// String privateKey = obj[1]; +// +// System.err.println("privatekey:"); +// System.out.println("" + privateKey); +// +// System.err.println("publickey:"); +// System.out.println(publicKey); +// +// +// String src = "aaa"; +// //签名 +// String sign = rsa.sign(src, privateKey); +// Boolean b = rsa.verify(src, publicKey, sign); +// System.err.println("签名:"); +// System.out.println(sign); +// System.err.println(b); +// +// //签名sha256 +// String sign256 = rsa.sign(src, privateKey, SHA256withRSA); +// Boolean v = rsa.verify(src, publicKey, sign256, SHA256withRSA); +// System.err.println("签名sign256:"); +// System.out.println(sign256); +// System.err.println(v); +// +// +// +// //私钥加密 +// String enc = rsa.encryptByPrivateKey(src, privateKey); +// System.out.println("私钥加密:"+ enc); +// System.out.println("公钥解密:" + rsa.decryptByPublicKey(enc, publicKey)); +// +// //公钥加密 +// String enc2 = rsa.encryptByPublicKey(src, publicKey); +// System.out.println("公钥加密:"+ enc2); +// System.out.println("私钥解密:" + rsa.decryptByPrivateKey(enc2, privateKey)); +// } + +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/utils/mybatis/MybatisControllerPlugin.java b/src/main/java/jj/tech/paolu/utils/mybatis/MybatisControllerPlugin.java new file mode 100644 index 0000000..1c3a841 --- /dev/null +++ b/src/main/java/jj/tech/paolu/utils/mybatis/MybatisControllerPlugin.java @@ -0,0 +1,229 @@ +package jj.tech.paolu.utils.mybatis; + +import java.io.File; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import java.util.Properties; +import java.util.Set; +import java.util.TreeSet; + +import org.mybatis.generator.api.GeneratedJavaFile; +import org.mybatis.generator.api.IntrospectedColumn; +import org.mybatis.generator.api.IntrospectedTable; +import org.mybatis.generator.api.MyBatisGenerator; +import org.mybatis.generator.api.PluginAdapter; +import org.mybatis.generator.api.dom.java.Field; +import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; +import org.mybatis.generator.api.dom.java.JavaVisibility; +import org.mybatis.generator.api.dom.java.Method; +import org.mybatis.generator.api.dom.java.Parameter; +import org.mybatis.generator.api.dom.java.TopLevelClass; +import org.mybatis.generator.config.Configuration; +import org.mybatis.generator.config.PropertyRegistry; +import org.mybatis.generator.config.xml.ConfigurationParser; +import org.mybatis.generator.internal.DefaultShellCallback; + +import jj.tech.paolu.utils.IDHelp; +import jj.tech.paolu.utils.R; + +/** + * 生成Controller + * @author Dou + */ +public class MybatisControllerPlugin extends PluginAdapter { + + + private String targetProject = "src/main/java"; //"target/generated-sources/repository"; + + private String targetPackage = "jj.tech.paolu.repository.mybatis.control"; + + + @Override + public boolean validate(List warnings) { + return true; + } + + @Override + public void setProperties(Properties properties) { + super.setProperties(properties); + +// targetProject = properties.getProperty("targetProject"); +// targetPackage = properties.getProperty("targetPackage"); + } + + @Override + public List contextGenerateAdditionalJavaFiles(IntrospectedTable introspectedTable) { + + //TopLevelClass + if (Objects.nonNull(targetPackage) && Objects.nonNull(targetProject)) { + + String daoMapperName = introspectedTable.getMyBatis3SqlMapNamespace(); + + String recordType = introspectedTable.getBaseRecordType(); + String[] entityPackage = recordType.split("\\."); + String entityName = entityPackage[entityPackage.length - 1]; + + String first = String.valueOf(entityName.charAt(0)); + String lowerEntityName = entityName.replaceFirst(first, first.toLowerCase()); + String lowerEntityNameMapper = lowerEntityName + "Mapper"; + + TopLevelClass controllerClass = new TopLevelClass(targetPackage + "." + entityName + "Controller"); + + controllerClass.addImportedType("java.lang.Object"); + controllerClass.addImportedType("org.springframework.web.bind.annotation.*"); + //controllerClass.addImportedType("org.springframework.stereotype.Controller"); + controllerClass.addImportedType(new FullyQualifiedJavaType("org.springframework.beans.factory.annotation.Autowired")); + controllerClass.addImportedType(daoMapperName); + controllerClass.addImportedType(introspectedTable.getBaseRecordType()); + controllerClass.addImportedType("jj.tech.paolu.utils.R"); + controllerClass.addImportedType("jj.tech.paolu.utils.IDHelp"); + controllerClass.addAnnotation("@RestController"); + controllerClass.setVisibility(JavaVisibility.PUBLIC); + //controllerClass.addAnnotation("@RestController"); + + + controllerClass.addAnnotation("@RequestMapping(\"mybatis/" + lowerEntityName + "\")"); + + //daoMapper inject + FullyQualifiedJavaType daoMapper = new FullyQualifiedJavaType(daoMapperName); + Field serviceField = new Field(lowerEntityNameMapper , daoMapper); + serviceField.addJavaDocLine(""); + serviceField.addAnnotation("@Autowired"); + serviceField.setVisibility(JavaVisibility.PUBLIC); + controllerClass.addField(serviceField); + + + // importe primaryKey type + List idColumns = introspectedTable.getPrimaryKeyColumns(); + if(idColumns==null || idColumns.isEmpty()) { + return Collections.emptyList(); + } + Set idColumnsypes = new TreeSet(); + idColumns.forEach(idColumn->{ + idColumnsypes.add(idColumn.getFullyQualifiedJavaType()); + }); + controllerClass.addImportedTypes(idColumnsypes); + + + //Add Method + FullyQualifiedJavaType respondJavaType = new FullyQualifiedJavaType("Object"); + controllerClass.addImportedType(respondJavaType); + //controllerClass.addImportedType(new FullyQualifiedJavaType(recordType)); + + + + + //findById + Method findByIdMethod = new Method("findById"); + findByIdMethod.setVisibility(JavaVisibility.PUBLIC); + findByIdMethod.setReturnType(respondJavaType); + + StringBuilder parmMapping = new StringBuilder(); + StringBuilder parm = new StringBuilder(); + idColumns.forEach(idColumn->{ + FullyQualifiedJavaType primaryKeyType = idColumn.getFullyQualifiedJavaType(); + String primaryKeyName = idColumn.getJavaProperty(); + Parameter idParameter = new Parameter(primaryKeyType, primaryKeyName); + idParameter.addAnnotation("@PathVariable(\"" + primaryKeyName + "\")"); + findByIdMethod.addParameter(idParameter); + + parmMapping.append("/{"+primaryKeyName+"}"); + parm.append(primaryKeyName+","); + }); + parm.delete(parm.lastIndexOf(","), parm.length()); + + findByIdMethod.addAnnotation("@PostMapping(\"findById" + parmMapping + "\")"); + findByIdMethod.addBodyLine("return R.SUCCESS(" + lowerEntityNameMapper+".selectByPrimaryKey("+parm+").orElse(null));"); + controllerClass.addMethod(findByIdMethod); + + + //delete + Method deleteMethod = new Method("delete"); + deleteMethod.setVisibility(JavaVisibility.PUBLIC); + deleteMethod.setReturnType(respondJavaType); + + StringBuilder parmdeleteMapping = new StringBuilder(); + StringBuilder parmdelete = new StringBuilder(); + idColumns.forEach(idColumn->{ + FullyQualifiedJavaType primaryKeyType = idColumn.getFullyQualifiedJavaType(); + String primaryKeyName = idColumn.getJavaProperty(); + Parameter idParameter = new Parameter(primaryKeyType, primaryKeyName); + idParameter.addAnnotation("@PathVariable(\"" + primaryKeyName + "\")"); + deleteMethod.addParameter(idParameter); + + parmdeleteMapping.append("/{"+primaryKeyName+"}"); + parmdelete.append(primaryKeyName+","); + }); + parmdelete.delete(parmdelete.lastIndexOf(","), parmdelete.length()); + + deleteMethod.addAnnotation("@PostMapping(\"delete" + parmdeleteMapping + "\")"); + deleteMethod.addBodyLine("return R.SUCCESS(" + lowerEntityNameMapper+".deleteByPrimaryKey("+ parmdelete +"));"); + controllerClass.addMethod(deleteMethod); + + + + //save + Method saveMethod = new Method("save"); + saveMethod.setVisibility(JavaVisibility.PUBLIC); + saveMethod.setReturnType(respondJavaType); + saveMethod.addAnnotation("@PostMapping(\"save\")"); + Parameter saveParameter = new Parameter(new FullyQualifiedJavaType(recordType), "record"); + saveParameter.addAnnotation("@RequestBody"); + saveMethod.addParameter(saveParameter); + saveMethod.addBodyLine("record.setId(IDHelp.getInstance().nextId());"); + saveMethod.addBodyLine("return R.SUCCESS(" + lowerEntityNameMapper+".insertSelective(record));"); + controllerClass.addMethod(saveMethod); + + //update + Method updateMethod = new Method("update"); + updateMethod.setVisibility(JavaVisibility.PUBLIC); + updateMethod.setReturnType(respondJavaType); + updateMethod.addAnnotation("@PostMapping(\"update\")"); + Parameter updateParameter = new Parameter(new FullyQualifiedJavaType(recordType), "record"); + updateParameter.addAnnotation("@RequestBody"); + updateMethod.addParameter(saveParameter); + updateMethod.addBodyLine("return R.SUCCESS(" + lowerEntityNameMapper+".updateByPrimaryKeySelective(record));"); + controllerClass.addMethod(updateMethod); + + + + //page +// Method pageMethod = new Method("page"); +// pageMethod.addAnnotation("@PostMapping(\"page\")"); +// pageMethod.setReturnType(respondJavaType); Parameter pageNum = new +// Parameter(new FullyQualifiedJavaType("int"), "pageNum"); +// pageNum.addAnnotation("@RequestParam(defaultValue = \"1\")"); +// pageMethod.addParameter(pageNum); Parameter pageSize = new Parameter(new +// FullyQualifiedJavaType("int"), "pageSize"); +// pageSize.addAnnotation("@RequestParam(defaultValue = \"15\")"); +// pageMethod.addParameter(pageSize); pageMethod.addBodyLine("return null;"); +// controllerClass.addMethod(pageMethod); + + + GeneratedJavaFile javaFile = new GeneratedJavaFile(controllerClass, targetProject, + context.getProperty(PropertyRegistry.CONTEXT_JAVA_FILE_ENCODING), + context.getJavaFormatter()); + + List files = new ArrayList<>(); + files.add(javaFile); + return files; + } + return Collections.emptyList(); + } + +// public static void main(String[] args) throws Exception { +// +// List warnings = new ArrayList(); +// boolean overwrite = true; +// File configFile = new File("src/main/resources/generate/mybatis/generatorConfig.xml"); +// ConfigurationParser cp = new ConfigurationParser(warnings); +// Configuration config = cp.parseConfiguration(configFile); +// DefaultShellCallback callback = new DefaultShellCallback(overwrite); +// MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings); +// myBatisGenerator.generate(null); +// } + +} diff --git a/src/main/java/jj/tech/paolu/utils/mybatis/PluginUtils.java b/src/main/java/jj/tech/paolu/utils/mybatis/PluginUtils.java new file mode 100644 index 0000000..b0633e3 --- /dev/null +++ b/src/main/java/jj/tech/paolu/utils/mybatis/PluginUtils.java @@ -0,0 +1,142 @@ +package jj.tech.paolu.utils.mybatis; + +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; + +import org.mybatis.generator.api.IntrospectedColumn; +import org.mybatis.generator.api.IntrospectedTable; +import org.mybatis.generator.api.dom.java.Field; +import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; +import org.mybatis.generator.api.dom.java.InnerClass; +import org.mybatis.generator.api.dom.java.Interface; +import org.mybatis.generator.api.dom.java.JavaVisibility; +import org.mybatis.generator.api.dom.java.Method; +import org.mybatis.generator.api.dom.java.TopLevelClass; +import org.mybatis.generator.config.GeneratedKey; + +public class PluginUtils { + + private PluginUtils() { + + } + + public static Optional primaryKeyType(IntrospectedTable introspectedTable) { + Optional generatedKey = introspectedTable.getGeneratedKey(); + if (generatedKey.isPresent()) { + String primaryKey = generatedKey.get().getColumn(); + Optional optional = introspectedTable.getColumn(primaryKey); + if (optional.isPresent()) { + IntrospectedColumn keyColumn = optional.get(); + return Optional.ofNullable(keyColumn.getFullyQualifiedJavaType()); + } + } + return Optional.empty(); + } + + public static Optional primaryKeyName(IntrospectedTable introspectedTable) { + Optional generatedKey = introspectedTable.getGeneratedKey(); + if (generatedKey.isPresent()) { + String primaryKey = generatedKey.get().getColumn(); + Optional optional = introspectedTable.getColumn(primaryKey); + if (optional.isPresent()) { + IntrospectedColumn keyColumn = optional.get(); + return Optional.ofNullable(keyColumn.getJavaProperty()); + } + } + return Optional.empty(); + } + + public static void restfulMethod(Method method, boolean rest) { + if (!rest) { + method.addAnnotation("@ResponseBody"); + } + method.setVisibility(JavaVisibility.PUBLIC); + } + + public static void removeGeneratedAnnotation(Object object) { + if (Objects.nonNull(object)) { + if (object instanceof TopLevelClass) { + TopLevelClass topLevelClass = (TopLevelClass) object; + Set importedTypes = topLevelClass.getImportedTypes(); + if (Objects.nonNull(importedTypes) && !importedTypes.isEmpty()) { + importedTypes.removeIf(importedType -> Objects.equals(importedType.getFullyQualifiedName(), "javax.annotation.Generated")); + } + List fields = topLevelClass.getFields(); + if (Objects.nonNull(fields) && !fields.isEmpty()) { + fields.get(0).addJavaDocLine(""); + actionRemoveGeneratedAnnotation(fields); + } + List methods = topLevelClass.getMethods(); + if (Objects.nonNull(methods) && !methods.isEmpty()) { + actionRemoveGeneratedAnnotation(topLevelClass.getMethods()); + } + List innerClasses = topLevelClass.getInnerClasses(); + if (Objects.nonNull(innerClasses) && !innerClasses.isEmpty()) { + actionRemoveGeneratedAnnotation(innerClasses); + } + } else if (object instanceof Interface) { + Interface anInterface = (Interface) object; + Set importedTypes = anInterface.getImportedTypes(); + if (Objects.nonNull(importedTypes) && !importedTypes.isEmpty()) { + importedTypes.removeIf(importedType -> Objects.equals(importedType.getFullyQualifiedName(), "javax.annotation.Generated")); + } + List fields = anInterface.getFields(); + if (Objects.nonNull(fields) && !fields.isEmpty()) { + fields.get(0).addJavaDocLine(""); + actionRemoveGeneratedAnnotation(fields); + } + List methods = anInterface.getMethods(); + if (Objects.nonNull(methods) && !methods.isEmpty()) { + actionRemoveGeneratedAnnotation(anInterface.getMethods()); + } + List innerClasses = anInterface.getInnerClasses(); + if (Objects.nonNull(innerClasses) && !innerClasses.isEmpty()) { + actionRemoveGeneratedAnnotation(innerClasses); + } + } + } + } + + private static void actionRemoveGeneratedAnnotation(List objects) { + String delete = "@Generated(\"org.mybatis.generator.api.MyBatisGenerator\")"; + if (Objects.nonNull(objects) && !objects.isEmpty()) { + for (Object object : objects) { + if (object instanceof Method) { + Method method = (Method) object; + List annotations = method.getAnnotations(); + if (Objects.nonNull(annotations) && !annotations.isEmpty()) { + for (int i = 0; i < annotations.size(); i++) { + if (Objects.equals(annotations.get(i), delete)) { + annotations.remove(i); + break; + } + } + } + } else if (object instanceof Field) { + Field field = (Field) object; + List annotations = field.getAnnotations(); + if (Objects.nonNull(annotations) && !annotations.isEmpty()) { + for (int i = 0; i < annotations.size(); i++) { + if (Objects.equals(annotations.get(i), delete)) { + annotations.remove(i); + break; + } + } + } + } else if (object instanceof InnerClass) { + InnerClass innerClass = (InnerClass) object; + List annotations = innerClass.getAnnotations(); + if (Objects.nonNull(annotations) && !annotations.isEmpty()) { + for (int i = 0; i < annotations.size(); i++) { + if (Objects.equals(annotations.get(i), delete)) { + annotations.remove(i); + break; + } + } + } + } + } + } + }} diff --git a/src/main/java/jj/tech/paolu/utils/mybatis/Sum.java b/src/main/java/jj/tech/paolu/utils/mybatis/Sum.java new file mode 100644 index 0000000..086a634 --- /dev/null +++ b/src/main/java/jj/tech/paolu/utils/mybatis/Sum.java @@ -0,0 +1,41 @@ +package jj.tech.paolu.utils.mybatis; +import org.mybatis.dynamic.sql.BindableColumn; +import org.mybatis.dynamic.sql.ColumnAndConditionCriterion; +import org.mybatis.dynamic.sql.SqlCriterion; +import org.mybatis.dynamic.sql.VisitableCondition; +import org.mybatis.dynamic.sql.render.TableAliasCalculator; +import org.mybatis.dynamic.sql.select.function.AbstractUniTypeFunction; +import org.mybatis.dynamic.sql.where.render.CriterionRenderer; + +public class Sum extends AbstractUniTypeFunction> { + + private final VisitableCondition condition; + + private Sum(BindableColumn column, VisitableCondition condition) { + super(column); + this.condition = condition; + } + + @Override + public String renderWithTableAlias(TableAliasCalculator tableAliasCalculator) { +// ColumnAndConditionCriterion.withColumn(column).withCondition(condition).build(). + ColumnAndConditionCriterion criteion = ColumnAndConditionCriterion + .withColumn(column) + .withCondition(condition).build(); + + + return "sum(" //$NON-NLS-1$ + + column.renderWithTableAlias(tableAliasCalculator) +// + s + + ")"; //$NON-NLS-1$ + } + + @Override + protected Sum copy() { + return new Sum<>(column, condition); + } + + public static Sum of(BindableColumn column, VisitableCondition condition) { + return new Sum<>(column, condition); + } +} \ No newline at end of file diff --git a/src/main/java/jj/tech/paolu/utils/wb/WBHttp.java b/src/main/java/jj/tech/paolu/utils/wb/WBHttp.java new file mode 100644 index 0000000..b55c035 --- /dev/null +++ b/src/main/java/jj/tech/paolu/utils/wb/WBHttp.java @@ -0,0 +1,124 @@ +package jj.tech.paolu.utils.wb; + +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; + +import org.apache.commons.codec.digest.DigestUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.http.client.fluent.Request; + +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; + +public class WBHttp { + + //从第一条开始迭代获取分类目录 + public static String sortSub_url = "http://api.weepal.cn/EAMS-XAPI/api/v1/sztd/getSortSub"; + public static String getSortTree_url = "http://api.weepal.cn/EAMS-XAPI/api/v1/sztd/getSortTree"; + + + // + + public static String getAnnex_url = "http://api.weepal.cn/EAMS-XAPI/api/v1/sztd/getAnnex"; + public static String ss; + public static String sss; + public static String appKey= "SZTD00898"; + public static String appSecret= "16E58F6750C246818FBD84EAEF3FC998"; + + public static ObjectMapper objectMapper = new ObjectMapper(); + + public static List getSortSub(String kid){ + try { + List retrunList = new ArrayList(); + + String timestamp = String.valueOf(System.currentTimeMillis()); + String url = sortSub_url + + "?appKey="+ appKey + + "×tamp=" + timestamp + + "&sign=" + DigestUtils.md5Hex(appKey+timestamp+appSecret) + ; + if(StringUtils.isNotBlank(kid)) { + url = url + "&parentID=" + kid; + } + System.out.println(url); + InputStream stean = + Request.Get(url) + .connectTimeout(15000) + .socketTimeout(15000) + .execute() + .returnContent() + .asStream(); + JsonNode root = objectMapper.readTree(stean); + JsonNode data = root.get("data"); + //ArrayNode datasetArray = (ArrayNode)root.get("data"); + for (final JsonNode item : data) { + System.out.println(item); + String kidStr = item.asText("kid"); + retrunList.add(kidStr); + } + return retrunList; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + + } + + public static Integer getSortTree(Integer pageNumber){ + if(pageNumber<1) { + return 0; + } + try { + List dataList = new ArrayList(); + + String timestamp = String.valueOf(System.currentTimeMillis()); + String url = getSortTree_url + + "?appKey="+ appKey + + "×tamp=" + timestamp + + "&sign=" + DigestUtils.md5Hex(appKey+timestamp+appSecret) + + "&pageNumber=" + pageNumber + ; + + System.out.println(url); + InputStream stean = + Request.Get(url) + .connectTimeout(15000) + .socketTimeout(15000) + .execute() + .returnContent() + .asStream(); + + JsonNode root = objectMapper.readTree(stean); + JsonNode data = root.get("data"); + //ArrayNode datasetArray = (ArrayNode)root.get("data"); + for (final JsonNode item : data) { + System.out.println(item); + +// String kidStr = item.asText("kid"); + } + + return pageNumber+1; + + + } catch (Exception e) { + e.printStackTrace(); + return 0; + } + + } + + + public String getAnnexUrl(){ + return null; + } + + public String getCatalogUrl(){ + return null; + } + + public static void main(String[] args) { + getSortSub("D0B3E995-9B56-4933-8C51-ACDC1D8F8CB2"); + } + +} diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml new file mode 100644 index 0000000..faa7066 --- /dev/null +++ b/src/main/resources/application-dev.yml @@ -0,0 +1,145 @@ +##约定大于配置,请勿重复造轮 +server: #服务端口 + port: 8083 +##spring---------- +spring: + application: + name: ailt + datasource: + type: com.zaxxer.hikari.HikariDataSource + #url: jdbc:h2:./test;AUTO_SERVER=TRUE #连接池Database 嵌入模式:jdbc:h2:~/test-jooq FILE_LOCK=SOCKET MODE=MySQL;;AUTO_SERVER=TRUE +# url: jdbc:h2:./test;MODE=MySQL;AUTO_SERVER=TRUE +# username: sa +# password: +# hikari: +# driver-class-name: org.h2.Driver +# url: jdbc:mariadb://192.168.0.123:3306/zwyy +# username: root +# password: test000000 +# hikari: +# driver-class-name: org.mariadb.jdbc.Driver +# driver-class-name: org.h2.Driver + url: jdbc:postgresql://192.168.0.123:5434/ailt_0611 + username: postgres + password: mysecretpassword + hikari: + driver-class-name: org.postgresql.Driver + + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: Asia/Shanghai + mail: + #smtp服务主机 qq邮箱则为smtp.qq.com + host: smtp.qcloudmail.com + port: 465 + #服务协议 + protocol: smtp + # 编码集 + default-encoding: UTF-8 + #发送邮件的账户 + username: ic@is.plus + #授权码 + password: 365daydayUP + test-connection: true + properties: + mail: + smtp: + auth: true + ssl: + enable: true + starttls: + enable: true + required: true +# serialization: +# fail-on-empty-beans: false +# deserialization: +# FAIL_ON_UNKNOWN_PROPERTIES: false +# h2: +# console: +# enabled: true #开启h2数据库的浏览器管理界面 +# settings: +# web-allow-others: true +# trace: true #是否可以远程web +# #path: /h2-console #h2浏览器管理访问路径,默认:/h2-console +# sql: +# init: +# mode: never ##加载脚本datasource.initialize已弃用,spring.sql.init.mode=never/always +# continue-on-error: true #初始化错误,继续执行 +# encoding: utf-8 #加载sql文件的编码连接池ue #初始化错误,继续执行 +# data-locations: classpath:/sql/data-h2.sql +# schema-locations: classpath:/sql/schema-h2.sql #spring boot 默认启动使用springJDBC初始化数据脚本, 加载类路径下的 schema-${platform}.sql \ data-${platform}.sql数据 +# platform: h2 + #elasticsearch: + #jest: + #uris: http://loalhost:9200 + #read-timeout: 1000 +# 多数据源 +# app: +# datasource: +# type: com.zaxxer.hikari.HikariDataSource +# jdbcUrl: jdbc:h2:~/test-jooq;AUTO_SERVER=TRUE +# username: sa +# password: +# ##连接池 +# hikari: +# driver-class-name: org.h2.Driver + +mybatis: + configuration: + call-setters-on-nulls: true + map-underscore-to-camel-case: false + +logging: + level: + root: info + org.jooq: info + org.springframework.amqp: info + org.mybatis: info + org.mybatis.dynamic.sql: debug + jj.tech.paolu: info + org.fisco.bcos.sdk: error + +#bcn +### Required, node's {ip:port} to connect. +system: + peers: 192.168.0.180:20200 + ### Required + groupId: 1 + ### Optional. Default will search conf,config,src/main/conf/src/main/config + certPath: conf,src/main/resources/conf + ### Optional. If don't specify a random private key will be used + hexPrivateKey: '179b59aec0b9ea33ce6bcdc82a5fd343199bcd0be129ffe1d047a015c3dd0166' + blockChainTablePrefix: 'SZTD_0611_1' + blockChainProviderName: '深中通道-开发环境0611_1' + syn2BlockConcurrentThreadCount: 100 #向区块链同步目录数据时的并发线程数,区块链服务器性能越好,此值可越高 + ### Optional. Please fill this address if you want to use related service + contract: + applicationAddress: '0x0685f9ec997695f3168e45363a2070fe7579426b' + ### Optional. Please fill this address if you want to use related service + fileAddress: '0x108d01a27e5426e28af3e0c237f8605ce92ee43e' + ### Optional. Please fill this address if you want to use related service + archivesFileAddress: '0x3a78f6ef2c8729cfd36a50fd9a233498b5fdfa3b' + ### Optional. Please fill this address if you want to use related service + catalogAddress: '0xadc69ae2af98cb20dadadbe106fccb4412f1c750' + ### Optional. Please fill this address if you want to use related service + providerAddress: '0x8b97b1a800789a0c060edc98a25a6ae8e88fcf53' + readingRecordAddress: '0x9174823be980132fd6e14f5d74294c5830561f1d' + decryptionRecordAddress: '0x790143aa4a2f1162b81f343c825b3d42a101efc7' + downloadRecordAddress: '0x70296f76c871599cfb9940a7550f53aba555be00' + certRecordAddress: '0x04106399e9d317d4cb0dc606a7201e203e1cffe7' + createTableAddress: '0x1e5cbd200cb82fec444406772153de22a3502ba3' + utilsAddress: '0xd0a601e191178f44e7f226d0ab4124ad440dfff2' + orgCertAddress: '0x1a6d91b6a163040ca76fbf860fa968dbff35a264' + personCertAddress: '0x4ab8b3e641774802217545295482272ecaa1ef54' + +weibai: + appKey: SZTD00898 + appSecret: 16E58F6750C246818FBD84EAEF3FC998 + #getSortTreeUrl: http://api.weepal.cn/EAMS-XAPI/api/v1/sztd/getSortTree + #getCatalogUrl: http://api.weepal.cn/EAMS-XAPI/api/v1/sztd/getCatalog + #getAnnexUrl: http://api.weepal.cn/EAMS-XAPI/api/v1/sztd/getAnnex + #getSortSubUrl: http://api.weepal.cn/EAMS-XAPI/api/v1/sztd/getSortSub + getSortTreeUrl: http://127.0.0.1:8083/op/wb/getSortTree + getCatalogUrl: http://127.0.0.1:8083/op/wb/getCatalog + getAnnexUrl: http://127.0.0.1:8083/op/wb/getAnnex + getSortSubUrl: http://127.0.0.1:8083/op/wb/getSortSub diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml new file mode 100644 index 0000000..4c1ff4c --- /dev/null +++ b/src/main/resources/application-prod.yml @@ -0,0 +1,129 @@ +##约定大于配置,请勿重复造轮 +server: #服务端口 + port: 8083 +##spring---------- +spring: + application: + name: zwyy + datasource: + type: com.zaxxer.hikari.HikariDataSource + #url: jdbc:h2:./test;AUTO_SERVER=TRUE #连接池Database 嵌入模式:jdbc:h2:~/test-jooq FILE_LOCK=SOCKET MODE=MySQL;;AUTO_SERVER=TRUE +# url: jdbc:h2:./test;MODE=MySQL;AUTO_SERVER=TRUE +# username: sa +# password: +# hikari: +# driver-class-name: org.h2.Driver + url: jdbc:postgresql://192.168.0.123:5434/ailt_test + username: postgres + password: mysecretpassword + hikari: + driver-class-name: org.postgresql.Driver + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: Asia/Shanghai +# serialization: +# fail-on-empty-beans: false +# deserialization: +# FAIL_ON_UNKNOWN_PROPERTIES: false + mail: + #smtp服务主机 qq邮箱则为smtp.qq.com + host: smtp.qcloudmail.com + port: 465 + #服务协议 + protocol: smtp + # 编码集 + default-encoding: UTF-8 + #发送邮件的账户 + username: ic@is.plus + #授权码 + password: 365daydayUP + test-connection: true + properties: + mail: + smtp: + auth: true + ssl: + enable: true + starttls: + enable: true + required: true +# h2: +# console: +# enabled: true #开启h2数据库的浏览器管理界面 +# settings: +# web-allow-others: true +# trace: true #是否可以远程web + #path: /h2-console #h2浏览器管理访问路径,默认:/h2-console +# sql: +# init: +# mode: never ##加载脚本datasource.initialize已弃用,spring.sql.init.mode=never/always +# continue-on-error: true #初始化错误,继续执行 +# encoding: utf-8 #加载sql文件的编码连接池ue #初始化错误,继续执行 +# data-locations: classpath:/sql/data-h2.sql +# schema-locations: classpath:/sql/schema-h2.sql #spring boot 默认启动使用springJDBC初始化数据脚本, 加载类路径下的 schema-${platform}.sql \ data-${platform}.sql数据 +# platform: h2 + #elasticsearch: + #jest: + #uris: http://loalhost:9200 + #read-timeout: 1000 +# 多数据源 +# app: +# datasource: +# type: com.zaxxer.hikari.HikariDataSource +# jdbcUrl: jdbc:h2:~/test-jooq;AUTO_SERVER=TRUE +# username: sa +# password: +# ##连接池 +# hikari: +# driver-class-name: org.h2.Driver + +mybatis: + configuration: + call-setters-on-nulls: true + map-underscore-to-camel-case: false + +logging: + level: + root: info +# org.jooq: debug +# org.springframework.amqp: debug +# org.mybatis: debug +# org.mybatis.dynamic.sql: debug +# jj.tech.dcang: debug + +#bcn +### Required, node's {ip:port} to connect. +system: + peers: 192.168.0.182:20200 + ### Required + groupId: 1 + ### Optional. Default will search conf,config,src/main/conf/src/main/config + certPath: conf,src/main/resources/conf + ### Optional. If don't specify a random private key will be used + hexPrivateKey: '1691470a2db307363b2d25a2de8f3348e739bee932d7efc609dd1b7b78f480c7' + ### 用户公钥地址信息 + publicKeyAddress: '0x43d2f05ca21eb30b4012899acdf13d38b787fc1c' + ### Optional. Please fill this address if you want to use related service + contract: + applicationAddress: '0x74c0c720a965a15a19384a1f6be249994329510b' + ### Optional. Please fill this address if you want to use related service + fileAddress: '0xbb94784e4e8b06653a8072c5f9c0a0b0a3be1192' + ### Optional. Please fill this address if you want to use related service + archivesFileAddress: '0x56974c5e1afdecdd8a035a256b7b3b4940511858' + ### Optional. Please fill this address if you want to use related service + catalogAddress: '0x1587fc5d869ea68301d5be2caa95151e13ea7958' + ### Optional. Please fill this address if you want to use related service + providerAddress: '0x6e7fdb736e80cee520255023dd5e7ebc5d33c6b4' + readingRecordAddress: '0xc4efa9e1bacb544244160179f30cedd82e0ee459' + decryptionRecordAddress: '0x17fdec8759ce0d28777bcd11f246cd1f6a90aa2b' + downloadRecordAddress: '0x9d7bd35d96a9cdadfaf9f8472958e06d563d190c' + certRecordAddress: '0xdf6cd7f667e0f9df5358015ea2f55c04d286c1d1' + + +weibai: + appKey: SZTD00898 + appSecret: 16E58F6750C246818FBD84EAEF3FC998 + getSortTreeUrl: http://api.weepal.cn/EAMS-XAPI/api/v1/sztd/getSortTree + getCatalogUrl: http://api.weepal.cn/EAMS-XAPI/api/v1/sztd/getCatalog + getAnnexUrl: http://api.weepal.cn/EAMS-XAPI/api/v1/sztd/getAnnex + getSortSubUrl: http://api.weepal.cn/EAMS-XAPI/api/v1/sztd/getSortSub diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml new file mode 100644 index 0000000..8def01a --- /dev/null +++ b/src/main/resources/application.yml @@ -0,0 +1,10 @@ +##约定大于配置,请勿重复造轮 +server: #服务端口 + port: 8083 +##spring---------- +spring: + application: + name: ailt + profiles: + active: dev + diff --git a/src/main/resources/bootstrap.yml b/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..1a59344 --- /dev/null +++ b/src/main/resources/bootstrap.yml @@ -0,0 +1,22 @@ + + cloud: + consul: + scheme: https + host: consul.164500.xyz + port: 443 + discovery: + acl-token: b2gs44ddr3 +# service-name: ${spring.application.name} +# https://github.com/spring-cloud/spring-cloud-consul/pull/590#issuecomment-1473038044 + heartbeat: + enabled: true + deregister: true + health-check-critical-timeout: 30s + +# config: +# acl-token: b1gs33cr3t + #discovery: + #register-health-check: true +# discovery: +# ip-address: 192.168.43.15 +# #hostname: doudou \ No newline at end of file diff --git a/src/main/resources/generate/jooq/JooqConfig.xml b/src/main/resources/generate/jooq/JooqConfig.xml new file mode 100644 index 0000000..8d41d6c --- /dev/null +++ b/src/main/resources/generate/jooq/JooqConfig.xml @@ -0,0 +1,46 @@ + + + + + + + org.postgresql.Driver + jdbc:postgresql://192.168.0.123:5434/ailt_test + postgres + mysecretpassword + + + + + + ailt_test + public + + .* + + + + + + true + true + + true + + + true + + + + + jj.tech.paolu.repository.jooq + src/main/java + + + diff --git a/src/main/resources/generate/mybatis/generatorConfig.xml b/src/main/resources/generate/mybatis/generatorConfig.xml new file mode 100644 index 0000000..af6e0bd --- /dev/null +++ b/src/main/resources/generate/mybatis/generatorConfig.xml @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
diff --git a/src/main/resources/ip/ip2region.xdb b/src/main/resources/ip/ip2region.xdb new file mode 100644 index 0000000000000000000000000000000000000000..7052c057104ddd0c57f3ec9a8a457e4ec8f7139d GIT binary patch literal 11070083 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 U%~#O`%*AKW!NUD%-J%P4cn!1Y-hfTIY)wB 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

p)zI9 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%0Ay`w1q9G5x5Y&wI`KyKR8?K;D>0R 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

WD(q?yvk`3&|P?H?u~vjfA^% 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
  • 5Fp40^ExQe9I z9W2ECiNtioHgNBW>k_;dLheL|BINE-{_MVF8QC`$qJh zUC-M+9CA;TK8;0C@YhPcSrI`|4}^DFV}x$qT!L-;F{ zC!aTlP=wsfO5h&+74p<)T@S$_w=*Ph5A!K6!67%xACAjNp4x+BxCwFEqDdTbCH&l1 zlJ7>=gI7TjvR~W{o`lQEb@~elQ@Ff19lrvu@)h@qUl8KnB{5wc@5Uil>#K0c#jd8c z$i^syihmrJP=bno64#{!m66TJRVYGkY&USoeXC^?_h(X`_WYmYs=j?&xNXT(=im+w zxjU;5;jZ&F`zST5$Jd2Wgxqx>$02uD`3c-@K6X3TA^U5x5Q^^fvAb{wah|~;?p{Ae z7jco4u45E@H5ondtFikpxC>v6$0&hINlc#;rN7F4{Z-f65NbdCtBjaD;psrdOdKmg z737}&K#`9HW4Q6J#xpsKoAKp6o9mFx`4Ebbn=jA7JvWX8&%-r*Y#-N@()G+~;cgYD zzhZG4?n^%9os@uVMut#Zo&5ep2O1$O?-V-In9SXCC{m}tRB;#XKuXZnafs_mi*%%W zxNrFW{GT}F_K?59A=mSL9CCZl(N~i%LN?NuK@oC!eiMh>Z*G1I_Z=VmE-m`o__`2^ z20k{#MR99`pvyPvx|FW#=m9w7diR02|Jr55^j-1=9C9fWxTH8;jX%{*W{|DhF{pxU zt%Oj`$Li27vJ&>72C|j254Dly*@2>;j`IvsniOPUz6ehHxnxz+JdVh{5% zsB%dh3!wB-sr>D#k?h0|bqg;tA`qE3dS4&K1`D@4>*?F6V zipWYYK^1k9GK3;zDTCMIUhi{x18!OBqIVE0xUw&A6}RTwu#US*uG9C1SL13vWgWNc zTeQbWBRi}1q3AQxpZZI8pQUD>k7FSeHGFIz*X+i3RxMKA;!{Eqa=F}!yCaSTU%-7? zoUXqE9CG7#h`Z?9a38KK_0;pIheNLCzt-g&w9-rR$w3;5{>Hbck3;SxIl_HYuG2C4 z7Vg^;(^d5ya`|ptLK=z&lBa$jbBOz%ugmvw$G(IU+{m}#6c_oFK`$94dhtqqP>;XA z?YZ`a;vU?K=PndIB#s41VksYkBINodjeA&+TI-Cwq?f#atPKgM@rWL^mc3vfiZXF5 z7{fhAoc7>japOIDLZ4)0DGynHhERmueZk{!m&UQ+iM{06Q{xt$L-VH=xx4^(nNRs*+BZK-Bm(4WcNf<(9?YE>GC?V-Siny8EoO+Cw0;Lm-pk4yQ97ax9wv))C}34 zm4Kp;iqj{8AERWEj{78(Ll&EYy2$F%gQ8j-3+nXz$Kw?@292xx5qokLijdp0K0#}* zmy{9F7x}sbUrRPFe9iUJKGZ}u?k%XTF&Wzq)JL{% zkDvjvQ*;O&YfSdY6KJF{S^cNbnL63|&Y=joQAvC)IgM<^%|JzDqf&yFk&VL&RMwd6 z8mrKnIvKxpsDkWQFGFZUWAb^`CR9Z>TeqNXb+X&+Ks96|R)=jLS1An>Op;E>){9*AS-VO9jlWzoIoRF*PTLV8k5$ZLy?aK5Bgg2 z0&?pQnn0H4Bs8r~@|=P4$nKg8&@8f@eGZyOcHIJ0MwaI)w5CpaX&tH{yPFB24Rvx4 zwh2{{osC=2HnKMCKsAj?UFy)T#-s=LpoThmkG>Bzk@ZpwY9s5<4s?Jl&qJt-Y)CG_rn~f##9zd<)PbvNg5@6_J%tf@;W8)}dXE$qBRvHPp%evJW-YN$<9x zHnM){KnLpNdFvt6MQ-1P`pC*Vf(FRiFocfP$$CG5M#x6x6k2>poXZkaMAn}rXd*36 z#�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ⅆ3PK$`xCgr|6#)GFccG>vtgL< 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

    {+u|7j+ia&Sx}0O9`Hx( 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

    DgZ%z{7B>(1 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 z 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

  • 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�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