From c7509df4360243d7c9e4b2eb10c737daf9796817 Mon Sep 17 00:00:00 2001 From: efren <79289982@qq.com> Date: Sun, 15 Jun 2025 20:51:20 +0800 Subject: [PATCH] =?UTF-8?q?dev=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/.gitignore | 10 + .idea/compiler.xml | 18 + .idea/encodings.xml | 6 + .idea/jarRepositories.xml | 25 ++ .idea/misc.xml | 14 + .idea/vcs.xml | 6 + Dockerfile-dev | 7 + Dockerfile-master | 2 + Dockerfile-sim | 2 + Dockerfile-uat | 7 + README.md | 30 ++ config-dev | 17 + config-master | 17 + config-sim | 17 + config-uat | 17 + deployment-dev.yaml | 81 ++++ deployment-master.yaml | 112 ++++++ deployment-sim.yaml | 113 ++++++ deployment-uat.yaml | 105 ++++++ pom.xml | 271 +++++++++++++ .../ebtp/login/common/CaptchaGenerator.java | 150 ++++++++ .../mall/ebtp/login/common/Constants.java | 186 +++++++++ .../mall/ebtp/login/common/MdConstants.java | 28 ++ .../mall/ebtp/login/common/RSA.java | 356 ++++++++++++++++++ .../login/controller/EshopMenuController.java | 42 +++ .../login/controller/LoginController.java | 60 +++ .../mall/ebtp/login/dao/BaseUserMapper.java | 21 ++ .../ebtp/login/dao/BaseUserTokenMapper.java | 10 + .../mall/ebtp/login/dao/EshopMenuMapper.java | 15 + .../ebtp/login/dao/mapper/BaseUserMapper.xml | 153 ++++++++ .../login/dao/mapper/BaseUserTokenMapper.xml | 21 ++ .../ebtp/login/dao/mapper/EshopMenuMapper.xml | 59 +++ .../mall/ebtp/login/entity/BaseOrgn.java | 127 +++++++ .../mall/ebtp/login/entity/BaseOrgnR.java | 30 ++ .../mall/ebtp/login/entity/BaseRole.java | 47 +++ .../mall/ebtp/login/entity/BaseRoleOrgn.java | 36 ++ .../ebtp/login/entity/BaseRoleOrgnVo.java | 39 ++ .../mall/ebtp/login/entity/BaseSelf.java | 41 ++ .../mall/ebtp/login/entity/BaseTelIdcard.java | 49 +++ .../mall/ebtp/login/entity/BaseUser.java | 115 ++++++ .../ebtp/login/entity/BaseUserSelect.java | 41 ++ .../ebtp/login/entity/BaseUserSelectVo.java | 84 +++++ .../mall/ebtp/login/entity/BaseUserToken.java | 54 +++ .../ebtp/login/entity/BuffeedImageVo.java | 12 + .../ebtp/login/entity/EshopMenuConverter.java | 29 ++ .../entity/EshopMenuConverterChildren.java | 14 + .../mall/ebtp/login/entity/EshopMenuPO.java | 79 ++++ .../ebtp/login/entity/EshopMenuQuery.java | 61 +++ .../ebtp/login/service/BaseUserService.java | 28 ++ .../login/service/BaseUserTokenService.java | 17 + .../ebtp/login/service/EshopMenuService.java | 27 ++ .../service/impl/BaseUserServiceImpl.java | 307 +++++++++++++++ .../impl/BaseUserTokenServiceImpl.java | 45 +++ .../service/impl/EshopMenuServiceImpl.java | 41 ++ .../mall/ebtp/login/utils/HttpsUtils.java | 129 +++++++ .../mall/ebtp/login/vo/LoginUserVo.java | 14 + .../BizSupplierManageApplication.java | 24 ++ .../base/constant/SupplierRoleConstant.java | 5 + .../controller/SupplierBaseController.java | 129 +++++++ .../supplier/base/dao/SupplierBaseMapper.java | 21 ++ .../base/dao/SupplierContactMapper.java | 22 ++ .../ebtp/supplier/base/dto/ContactDTO.java | 16 + .../base/dto/CoscoSupplierBaseDTO.java | 81 ++++ .../base/entity/CoscoSupplierBase.java | 314 +++++++++++++++ .../supplier/base/entity/SupplierContact.java | 31 ++ .../base/service/ISupplierBaseService.java | 23 ++ .../service/impl/SupplierBaseServiceImpl.java | 79 ++++ .../supplier/base/vo/ContactSearchVO.java | 12 + .../base/vo/SupplierAccessedOfMyOrgVO.java | 61 +++ .../column/CoscoSupplierBankField.java | 63 ++++ .../column/CoscoSupplierBaseField.java | 228 +++++++++++ .../column/CoscoSupplierInvoiceField.java | 78 ++++ .../CoscoSupplierQualificationsField.java | 68 ++++ .../column/CoscoSupplierSurveyField.java | 53 +++ .../CoscoSupplierSurveyQuestionField.java | 33 ++ .../column/CoscoSupplierexitField.java | 47 +++ .../CoscoSupplierBankController.java | 102 +++++ .../CoscoSupplierBaseController.java | 101 +++++ .../CoscoSupplierInvoiceController.java | 102 +++++ ...CoscoSupplierQualificationsController.java | 102 +++++ .../CoscoSupplierSurveyController.java | 102 +++++ ...CoscoSupplierSurveyQuestionController.java | 102 +++++ .../CoscoSupplierexitController.java | 102 +++++ .../dao/CoscoSupplierBankMapper.java | 15 + .../dao/CoscoSupplierBaseMapper.java | 15 + .../dao/CoscoSupplierInvoiceMapper.java | 16 + .../CoscoSupplierQualificationsMapper.java | 15 + .../dao/CoscoSupplierSurveyMapper.java | 15 + .../CoscoSupplierSurveyQuestionMapper.java | 15 + .../dao/CoscoSupplierexitMapper.java | 15 + .../dao/mapper/CoscoSupplierBankMapper.xml | 24 ++ .../dao/mapper/CoscoSupplierBaseMapper.xml | 60 +++ .../dao/mapper/CoscoSupplierInvoiceMapper.xml | 26 ++ .../CoscoSupplierQualificationsMapper.xml | 24 ++ .../dao/mapper/CoscoSupplierSurveyMapper.xml | 21 ++ .../CoscoSupplierSurveyQuestionMapper.xml | 17 + .../dao/mapper/CoscoSupplierexitMapper.xml | 23 ++ .../entity/CoscoSupplierBank.java | 102 +++++ .../entity/CoscoSupplierBankVO.java | 26 ++ .../entity/CoscoSupplierBase.java | 281 ++++++++++++++ .../entity/CoscoSupplierBaseVO.java | 167 ++++++++ .../entity/CoscoSupplierInvoice.java | 104 +++++ .../entity/CoscoSupplierInvoiceVO.java | 26 ++ .../entity/CoscoSupplierQualifications.java | 98 +++++ .../entity/CoscoSupplierQualificationsVO.java | 27 ++ .../entity/CoscoSupplierSurvey.java | 78 ++++ .../entity/CoscoSupplierSurveyQuestion.java | 56 +++ .../entity/CoscoSupplierSurveyQuestionVO.java | 26 ++ .../entity/CoscoSupplierSurveyVO.java | 26 ++ .../entity/CoscoSupplierexit.java | 68 ++++ .../entity/CoscoSupplierexitVO.java | 26 ++ .../service/ICoscoSupplierBankService.java | 24 ++ .../service/ICoscoSupplierBaseService.java | 26 ++ .../service/ICoscoSupplierInvoiceService.java | 24 ++ .../ICoscoSupplierQualificationsService.java | 24 ++ .../ICoscoSupplierSurveyQuestionService.java | 24 ++ .../service/ICoscoSupplierSurveyService.java | 24 ++ .../service/ICoscoSupplierexitService.java | 24 ++ .../impl/CoscoSupplierBankServiceImpl.java | 53 +++ .../impl/CoscoSupplierBaseServiceImpl.java | 101 +++++ .../impl/CoscoSupplierInvoiceServiceImpl.java | 53 +++ ...oscoSupplierQualificationsServiceImpl.java | 53 +++ ...oscoSupplierSurveyQuestionServiceImpl.java | 53 +++ .../impl/CoscoSupplierSurveyServiceImpl.java | 53 +++ .../impl/CoscoSupplierexitServiceImpl.java | 53 +++ .../zyhy/ebtp/supplier/feign/SystemApi.java | 16 + .../ebtp/supplier/feign/vo/SysUserRole.java | 36 ++ src/main/resources/application-dev.yml | 185 +++++++++ src/main/resources/application-local.yml | 203 ++++++++++ src/main/resources/application-master.yml | 156 ++++++++ src/main/resources/application-sim.yml | 176 +++++++++ src/main/resources/application-uat.yml | 177 +++++++++ src/main/resources/application.yml | 8 + .../base/dao/mapper/SupplierBaseMapper.xml | 171 +++++++++ .../base/dao/mapper/SupplierContactMapper.xml | 51 +++ .../swagger-configuration.properties | 7 + 136 files changed, 8732 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/compiler.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/vcs.xml create mode 100644 Dockerfile-dev create mode 100644 Dockerfile-master create mode 100644 Dockerfile-sim create mode 100644 Dockerfile-uat create mode 100644 README.md create mode 100644 config-dev create mode 100644 config-master create mode 100644 config-sim create mode 100644 config-uat create mode 100644 deployment-dev.yaml create mode 100644 deployment-master.yaml create mode 100644 deployment-sim.yaml create mode 100644 deployment-uat.yaml create mode 100644 pom.xml create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/common/CaptchaGenerator.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/common/Constants.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/common/MdConstants.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/common/RSA.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/controller/EshopMenuController.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/controller/LoginController.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/dao/BaseUserMapper.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/dao/BaseUserTokenMapper.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/dao/EshopMenuMapper.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/dao/mapper/BaseUserMapper.xml create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/dao/mapper/BaseUserTokenMapper.xml create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/dao/mapper/EshopMenuMapper.xml create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseOrgn.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseOrgnR.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseRole.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseRoleOrgn.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseRoleOrgnVo.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseSelf.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseTelIdcard.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseUser.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseUserSelect.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseUserSelectVo.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseUserToken.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/entity/BuffeedImageVo.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/entity/EshopMenuConverter.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/entity/EshopMenuConverterChildren.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/entity/EshopMenuPO.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/entity/EshopMenuQuery.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/service/BaseUserService.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/service/BaseUserTokenService.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/service/EshopMenuService.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/service/impl/BaseUserServiceImpl.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/service/impl/BaseUserTokenServiceImpl.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/service/impl/EshopMenuServiceImpl.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/utils/HttpsUtils.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/login/vo/LoginUserVo.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/BizSupplierManageApplication.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/constant/SupplierRoleConstant.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/controller/SupplierBaseController.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/dao/SupplierBaseMapper.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/dao/SupplierContactMapper.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/dto/ContactDTO.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/dto/CoscoSupplierBaseDTO.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/entity/CoscoSupplierBase.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/entity/SupplierContact.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/ISupplierBaseService.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/impl/SupplierBaseServiceImpl.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/vo/ContactSearchVO.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/vo/SupplierAccessedOfMyOrgVO.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/column/CoscoSupplierBankField.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/column/CoscoSupplierBaseField.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/column/CoscoSupplierInvoiceField.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/column/CoscoSupplierQualificationsField.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/column/CoscoSupplierSurveyField.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/column/CoscoSupplierSurveyQuestionField.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/column/CoscoSupplierexitField.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/controller/CoscoSupplierBankController.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/controller/CoscoSupplierBaseController.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/controller/CoscoSupplierInvoiceController.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/controller/CoscoSupplierQualificationsController.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/controller/CoscoSupplierSurveyController.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/controller/CoscoSupplierSurveyQuestionController.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/controller/CoscoSupplierexitController.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/CoscoSupplierBankMapper.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/CoscoSupplierBaseMapper.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/CoscoSupplierInvoiceMapper.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/CoscoSupplierQualificationsMapper.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/CoscoSupplierSurveyMapper.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/CoscoSupplierSurveyQuestionMapper.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/CoscoSupplierexitMapper.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/mapper/CoscoSupplierBankMapper.xml create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/mapper/CoscoSupplierBaseMapper.xml create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/mapper/CoscoSupplierInvoiceMapper.xml create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/mapper/CoscoSupplierQualificationsMapper.xml create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/mapper/CoscoSupplierSurveyMapper.xml create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/mapper/CoscoSupplierSurveyQuestionMapper.xml create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/mapper/CoscoSupplierexitMapper.xml create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierBank.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierBankVO.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierBase.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierBaseVO.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierInvoice.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierInvoiceVO.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierQualifications.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierQualificationsVO.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierSurvey.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierSurveyQuestion.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierSurveyQuestionVO.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierSurveyVO.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierexit.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierexitVO.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/ICoscoSupplierBankService.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/ICoscoSupplierBaseService.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/ICoscoSupplierInvoiceService.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/ICoscoSupplierQualificationsService.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/ICoscoSupplierSurveyQuestionService.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/ICoscoSupplierSurveyService.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/ICoscoSupplierexitService.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/impl/CoscoSupplierBankServiceImpl.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/impl/CoscoSupplierBaseServiceImpl.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/impl/CoscoSupplierInvoiceServiceImpl.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/impl/CoscoSupplierQualificationsServiceImpl.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/impl/CoscoSupplierSurveyQuestionServiceImpl.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/impl/CoscoSupplierSurveyServiceImpl.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/impl/CoscoSupplierexitServiceImpl.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/feign/SystemApi.java create mode 100644 src/main/java/com/chinaunicom/zyhy/ebtp/supplier/feign/vo/SysUserRole.java create mode 100644 src/main/resources/application-dev.yml create mode 100644 src/main/resources/application-local.yml create mode 100644 src/main/resources/application-master.yml create mode 100644 src/main/resources/application-sim.yml create mode 100644 src/main/resources/application-uat.yml create mode 100644 src/main/resources/application.yml create mode 100644 src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/SupplierBaseMapper.xml create mode 100644 src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/SupplierContactMapper.xml create mode 100644 src/main/resources/swagger-configuration.properties diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..7bc07ec --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,10 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Environment-dependent path to Maven home directory +/mavenHomeManager.xml +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..2ec9958 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..63e9001 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..1995efe --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..82dbec8 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Dockerfile-dev b/Dockerfile-dev new file mode 100644 index 0000000..6144b6b --- /dev/null +++ b/Dockerfile-dev @@ -0,0 +1,7 @@ +FROM harbor.dcos.guangzhou.unicom.local/eshop/jdk8_springboot_agent:v1.6 +ENV LC_ALL=zh_CN.utf8 +ENV LANG=zh_CN.utf8 +ENV LANGUAGE=zh_CN.utf8 +RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8 +ADD /target/biz_supplier_manage-0.0.1.jar /biz_supplier_manage-0.0.1.jar +ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-javaagent:/skywalking/agent/skywalking-agent.jar", "-jar", "/biz_service_ebtp_project-0.0.1.jar"] diff --git a/Dockerfile-master b/Dockerfile-master new file mode 100644 index 0000000..e608ee8 --- /dev/null +++ b/Dockerfile-master @@ -0,0 +1,2 @@ +FROM harbor.dcos.xixian.unicom.local/eshop/jdk8_springboot_agent:2.0.3-zhaoze +ADD target/biz_supplier_manage-0.0.1.jar /app.jar diff --git a/Dockerfile-sim b/Dockerfile-sim new file mode 100644 index 0000000..4825711 --- /dev/null +++ b/Dockerfile-sim @@ -0,0 +1,2 @@ +FROM harbor.dcos.guangzhou.unicom.local/eshop/jdk8_springboot_agent:v1.6 +ADD target/biz_supplier_manage-0.0.1.jar /app.jar diff --git a/Dockerfile-uat b/Dockerfile-uat new file mode 100644 index 0000000..e77b52a --- /dev/null +++ b/Dockerfile-uat @@ -0,0 +1,7 @@ +FROM harbor.dcos.guangzhou.unicom.local/eshop/jdk8_springboot_agent:v1.6 +ENV LC_ALL=zh_CN.utf8 +ENV LANG=zh_CN.utf8 +ENV LANGUAGE=zh_CN.utf8 +RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8 +ADD /target/biz_supplier_manage-0.0.1.jar /biz_supplier_manage-0.0.1.jar +ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom","-javaagent:/skywalking/agent/skywalking-agent.jar", "-jar", "/biz_supplier_manage-0.0.1.jar"] diff --git a/README.md b/README.md new file mode 100644 index 0000000..d9fbd5d --- /dev/null +++ b/README.md @@ -0,0 +1,30 @@ +# 项目建档微服务组件 + + 项目建档组件主要完成项目建档操作,对项目涉及的字典和流程提供查询功能 + +## 组件模块 + +1. baseoperlog 和外部接口调用日志(接收项目推送信息进行记录) + +2. common 公共字段或者辅助类存放位置 + +3. dict 项目字典信息(前端使用进行缓存的数据) + +4. dictchooseprocess 项目的标段评审流程字典配置 + +5. expand 外部推送项目信息记录信息(包括项目信息、标段信息、供应商信息、物资信息、附件信息) + +6. projectentrust 项目委托信息 项目委托单 代理机构进行分派项目等操作 + +7. projectexception 项目异常处理信息 项目进行异常处理之后相应操作 + +8. projectrecord 项目建档信息 项目经理对项目建档信息编辑 + +9. projectsection 项目标段信息 项目标段记录 + +10. projectupdatefield 项目建档字段发生改变进行记录(当前只记录更换项目经理进行记录) + +11. sectionmaterial 物资信息 + +12. sectionsupplier 供应商信息 + diff --git a/config-dev b/config-dev new file mode 100644 index 0000000..27abdb5 --- /dev/null +++ b/config-dev @@ -0,0 +1,17 @@ +apiVersion: v1 +clusters: +- cluster: + insecure-skip-tls-verify: true + server: https://10.125.164.54:41967 + name: demok8s +contexts: +- context: + cluster: demok8s + user: cluster-admin + name: default +current-context: default +kind: Config +users: +- name: cluster-admin + user: + token: b69792983bfe0ec502e081ad8a31f9e2 \ No newline at end of file diff --git a/config-master b/config-master new file mode 100644 index 0000000..cfa151b --- /dev/null +++ b/config-master @@ -0,0 +1,17 @@ +apiVersion: v1 +clusters: +- cluster: + insecure-skip-tls-verify: true + server: https://10.172.48.16:44039 + name: demok8s +contexts: +- context: + cluster: demok8s + user: cluster-admin + name: default +current-context: default +kind: Config +users: +- name: cluster-admin + user: + token: 2c00232d4e3b1498008315e8ab14283c diff --git a/config-sim b/config-sim new file mode 100644 index 0000000..cfa151b --- /dev/null +++ b/config-sim @@ -0,0 +1,17 @@ +apiVersion: v1 +clusters: +- cluster: + insecure-skip-tls-verify: true + server: https://10.172.48.16:44039 + name: demok8s +contexts: +- context: + cluster: demok8s + user: cluster-admin + name: default +current-context: default +kind: Config +users: +- name: cluster-admin + user: + token: 2c00232d4e3b1498008315e8ab14283c diff --git a/config-uat b/config-uat new file mode 100644 index 0000000..980e05b --- /dev/null +++ b/config-uat @@ -0,0 +1,17 @@ +apiVersion: v1 +clusters: +- cluster: + insecure-skip-tls-verify: true + server: https://10.125.164.111:42733;https://10.125.164.158:41745;https://10.125.164.8:43001 + name: demok8s +contexts: +- context: + cluster: demok8s + user: cluster-admin + name: default +current-context: default +kind: Config +users: +- name: cluster-admin + user: + token: ae123cd22080c2712d08cb31633a2fa6 \ No newline at end of file diff --git a/deployment-dev.yaml b/deployment-dev.yaml new file mode 100644 index 0000000..c318bb1 --- /dev/null +++ b/deployment-dev.yaml @@ -0,0 +1,81 @@ +# 接口版本 +apiVersion: apps/v1 +# 接口类型 +kind: Deployment +metadata: + name: biz-service-ebtp-project + namespace: default + labels: + app: biz-service-ebtp-project + +# 必选,详细定义 +spec: + # pod 副本数量 + replicas: 1 + + # 滚动升级配置信息 + strategy: + rollingUpdate: + maxSurge: 1 + maxUnavailable: 1 + + # 选择器,匹配pod模板 + selector: + matchLabels: + app: biz-service-ebtp-project + + template: + metadata: + labels: + # 模板名称 + app: biz-service-ebtp-project + annotations: + prometheus.io/port: '18012' + prometheus.io/jl-pod: 'true' + + # 定义容器模板,该模板可以包含多个容器 + spec: + # 必选,Pod中容器列表 + containers: + - name: biz-service-ebtp-project + image: harbor.dcos.guangzhou.unicom.local/eshop/biz-service-ebtp-project:latest + # 需要暴露的端口库号列表 + ports: + - containerPort: 18012 + # 容器运行前需设置的环境变量列表 + env: + # Apollo 配置中心变量设置 + - name: APOLLO_CONFIGSERVICE + value: http://10.242.37.148:6001 + - name: APP_NAME + value: biz_service_ebtp_project_dev + - name: SW_AGENT_COLLECTOR_BACKEND_SERVICES + value: skywalking-oap-cluster.skywalking:11800 + - name: SW_AGENT_NAME + value: biz-service-ebtp-project + - name: MY_POD_IP #自动获取pod ip作为agent id + valueFrom: + fieldRef: + fieldPath: status.podIP +--- +kind: Service +apiVersion: v1 +metadata: + name: biz-service-ebtp-project + namespace: default + labels: + app: biz-service-ebtp-project + annotations: + lb.cke.tg.unicom/target-vports: 18012-18012 + prometheus.io/port: '18012' + prometheus.io/jl-svc: 'true' +spec: + ports: + - port: 18012 + targetPort: 18012 + selector: + app: biz-service-ebtp-project +status: + loadBalancer: {} + +--- \ No newline at end of file diff --git a/deployment-master.yaml b/deployment-master.yaml new file mode 100644 index 0000000..bca3ffc --- /dev/null +++ b/deployment-master.yaml @@ -0,0 +1,112 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: biz-service-ebtp-project #[1] Deployment名称,可填写微服务名称 + namespace: default + labels: + app: biz-service-ebtp-project + +spec: + replicas: 10 + strategy: + rollingUpdate: + maxSurge: 1 + maxUnavailable: 1 + selector: + matchLabels: + app: biz-service-ebtp-project #[2] 选择器匹配时标签名称,可填写微服务名称 + template: + metadata: + labels: + app: biz-service-ebtp-project #[3] 模板名称,可填写微服务名称 + annotations: + prometheus.io/port: '18012' + prometheus.io/jl-pod: 'true' + spec: + volumes: + - name: log + hostPath: + path: /var/lib/docker/log/349553515466-prod/default-group/30days + affinity: + podAntiAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: app + operator: In + values: + - biz-service-ebtp-project + topologyKey: "kubernetes.io/hostname" + containers: + - name: biz-service-ebtp-project #[6] 必选,容器名称,可填写微服务名称 + image: harbor.dcos.xixian.unicom.local/eshop/biz-service-ebtp-project:latest #[7] 镜像名称,请把biz-service-ebtp-project替换为服务名称 + args: ["java","-Djava.security.egd=file:/dev/./urandom","-javaagent:/pinpoint/pinpoint-bootstrap-2.0.3.jar","-Dpinpoint.agentId=$(MY_POD_IP)","-Dpinpoint.applicationName=$(APP_NAME)","-Dpinpoint.licence=$(AGENT_LICENCE)","-jar","/app.jar"] + volumeMounts: + - name: log + mountPath: /log + ports: + - containerPort: 18012 #[8] 容器需要监听的端口号,与配置文件中的server.port参数相同,与参数[4]相同 + livenessProbe: + failureThreshold: 3 + httpGet: + port: 18012 #[11] pod存活检测端口,修改为该微服务配置文件中server.port的端口号,与参数[5]相同 + path: /actuator/health + scheme: HTTP + initialDelaySeconds: 300 + periodSeconds: 60 + successThreshold: 1 + timeoutSeconds: 2 + readinessProbe: + failureThreshold: 1 + httpGet: + port: 18012 #[12] pod就绪检测端口,修改为该微服务配置文件中server.port的端口号,与参数[5]相同 + path: /actuator/health + scheme: HTTP + periodSeconds: 5 + successThreshold: 2 + timeoutSeconds: 2 + resources: + requests: + cpu: 1000m + memory: 2Gi + limits: + cpu: 3000m + memory: 6Gi + env: + - name: APP_NAME + value: biz_ebtp_project #24位长度限,制统一去掉service + - name: AGENT_LICENCE + value: 527BFA7B28577578 + - name: APOLLO_CONFIGSERVICE + value: http://apollo-configservice:8080 + - name: MY_POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + - name: JAVA_TOOL_OPTIONS + value: -XX:+UnlockExperimentalVMOptions + -XX:+UseContainerSupport + -XX:+UseCGroupMemoryLimitForHeap + -XX:InitialRAMPercentage=40.0 + -XX:MinRAMPercentage=20.0 + -XX:MaxRAMPercentage=80.0 + +--- +kind: Service +apiVersion: v1 +metadata: + name: biz-service-ebtp-project-svc # [11] service的名字,格式为“服务名-svc” + namespace: default + labels: + service: biz-service-ebtp-project-svc # [12] service的标签,可与参数[11]相同 + annotations: + prometheus.io/port: '18012' #[13] prometheus自动发现service的端口,也是该微服务所使用的端口,与参数[4]相同 + prometheus.io/jl-svc: 'true' + +spec: + ports: + - port: 18012 #[15] 与参数4相同 + targetPort: 18012 #[16] 与参数4相同 + selector: + app: biz-service-ebtp-project #[17] 该service对应Deployment的名字,与参数[1]相同 +--- \ No newline at end of file diff --git a/deployment-sim.yaml b/deployment-sim.yaml new file mode 100644 index 0000000..36dde90 --- /dev/null +++ b/deployment-sim.yaml @@ -0,0 +1,113 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: biz-service-ebtp-project #[1] Deployment名称,可填写微服务名称 + namespace: default + labels: + app: biz-service-ebtp-project + +spec: + replicas: 1 + strategy: + rollingUpdate: + maxSurge: 1 + maxUnavailable: 1 + selector: + matchLabels: + app: biz-service-ebtp-project #[2] 选择器匹配时标签名称,可填写微服务名称 + template: + metadata: + labels: + app: biz-service-ebtp-project #[3] 模板名称,可填写微服务名称 + annotations: + prometheus.io/port: '18012' + prometheus.io/jl-pod: 'true' + spec: + volumes: + - name: log + hostPath: + path: /var/lib/docker/log/349553515466-preprod/default-group/all + affinity: + podAntiAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: app + operator: In + values: + - biz-service-ebtp-project + topologyKey: "kubernetes.io/hostname" + containers: + - name: biz-service-ebtp-project #[6] 必选,容器名称,可填写微服务名称 + image: harbor.dcos.guangzhou.unicom.local/eshop/biz-service-ebtp-project:latest #[7] 镜像名称,请把biz-service-ebtp-project替换为服务名称 + args: ["java","-Djava.security.egd=file:/dev/./urandom", "-javaagent:/pinpoint/tianyan-springboot-agent/pinpoint-bootstrap-1.8.0.jar", "-Dpinpoint.agentId=$(MY_POD_IP)", "-Dpinpoint.applicationName=$(APP_NAME)", "-Dpinpoint.licence=$(AGENT_LICENCE_DEV)", "-jar", "/app.jar"] + volumeMounts: + - name: log + mountPath: /log + ports: + - containerPort: 18012 + livenessProbe: + failureThreshold: 3 + httpGet: + port: 18012 + path: /actuator/health + scheme: HTTP + initialDelaySeconds: 300 + periodSeconds: 60 + successThreshold: 1 + timeoutSeconds: 2 + readinessProbe: + failureThreshold: 1 + httpGet: + port: 18012 + path: /actuator/health + scheme: HTTP + periodSeconds: 5 + successThreshold: 2 + timeoutSeconds: 2 + resources: + requests: + cpu: 1000m + memory: 2Gi + limits: + cpu: 3000m + memory: 6Gi + env: + - name: APP_NAME + value: biz_ebtp_project_sim + - name: AGENT_LICENCE + value: 527BFA7B28577578 + - name: APOLLO_CONFIGSERVICE + value: http://apollo-configservice:8080 + - name: MY_POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + - name: JAVA_TOOL_OPTIONS + value: + -XX:+UnlockExperimentalVMOptions + -XX:+UseContainerSupport + -XX:+UseCGroupMemoryLimitForHeap + -XX:InitialRAMPercentage=40.0 + -XX:MinRAMPercentage=20.0 + -XX:MaxRAMPercentage=80.0 + +--- +kind: Service +apiVersion: v1 +metadata: + name: biz-service-ebtp-project-svc # [11] service的名字,格式为“服务名-svc” + namespace: default + labels: + service: biz-service-ebtp-project-svc # [12] service的标签,可与参数[11]相同 + annotations: + prometheus.io/port: '18012' #[13] prometheus自动发现service的端口,也是该微服务所使用的端口,与参数[4]相同 + prometheus.io/jl-svc: 'true' + +spec: + ports: + - port: 18012 #[15] 与参数4相同 + targetPort: 18012 #[16] 与参数4相同 + selector: + app: biz-service-ebtp-project #[17] 该service对应Deployment的名字,与参数[1]相同 +--- \ No newline at end of file diff --git a/deployment-uat.yaml b/deployment-uat.yaml new file mode 100644 index 0000000..8bbec2a --- /dev/null +++ b/deployment-uat.yaml @@ -0,0 +1,105 @@ +# 接口版本 +apiVersion: apps/v1 +# 接口类型 +kind: Deployment +metadata: + name: biz-service-ebtp-project + namespace: default + labels: + app: biz-service-ebtp-project + +# 必选,详细定义 +spec: + # pod 副本数量 + replicas: 1 + + # 滚动升级配置信息 + strategy: + rollingUpdate: + maxSurge: 1 + maxUnavailable: 1 + + # 选择器,匹配pod模板 + selector: + matchLabels: + app: biz-service-ebtp-project + + template: + metadata: + labels: + # 模板名称 + app: biz-service-ebtp-project + annotations: + prometheus.io/port: '18012' + prometheus.io/jl-pod: 'true' + + # 定义容器模板,该模板可以包含多个容器 + spec: + # 挂载日志存储 + volumes: + - name: log + hostPath: #以下三选一 + path: /var/lib/docker/log/349553515466-uat/default-group/all #uat环境 + + # 必选,Pod中容器列表 + containers: + - name: biz-service-ebtp-project + image: harbor.dcos.guangzhou.unicom.local/eshop/biz-service-ebtp-project:latest + # 在容器中挂载日志存储区 + volumeMounts: + - name: log + mountPath: /log + # 需要暴露的端口库号列表 + ports: + - containerPort: 18012 + resources: + requests: + cpu: 2000m + memory: 4Gi + limits: + cpu: 4000m + memory: 8Gi + # 容器运行前需设置的环境变量列表 + env: + # Apollo 配置中心变量设置 + - name: APOLLO_CONFIGSERVICE + value: http://apollo-configservice:8080 + - name: APP_NAME + value: biz_service_ebtp_project_uat + - name: MY_POD_IP #自动获取pod ip作为agent id + valueFrom: + fieldRef: + fieldPath: status.podIP + - name: SW_AGENT_COLLECTOR_BACKEND_SERVICES + value: skywalking-oap-cluster.skywalking:11800 + - name: SW_AGENT_NAME + value: biz_supplier_manage + - name: JAVA_TOOL_OPTIONS + value: -XX:+UnlockExperimentalVMOptions + -XX:+UseContainerSupport + -XX:+UseCGroupMemoryLimitForHeap + -XX:InitialRAMPercentage=40.0 + -XX:MinRAMPercentage=20.0 + -XX:MaxRAMPercentage=80.0 +--- +kind: Service +apiVersion: v1 +metadata: + name: biz-service-ebtp-project + namespace: default + labels: + app: biz-service-ebtp-project + annotations: +# lb.cke.tg.unicom/target-vports: 18012-18012 + prometheus.io/port: '18012' + prometheus.io/jl-svc: 'true' +spec: + ports: + - port: 18012 + targetPort: 18012 + selector: + app: biz-service-ebtp-project +status: + loadBalancer: {} + +--- diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..4f6d177 --- /dev/null +++ b/pom.xml @@ -0,0 +1,271 @@ + + + 4.0.0 + + + com.chinaunicom.ebtp + mall-ebtp-cloud + 2.4.1-zyhy-SNAPSHOT + + + com.chinaunicom.zyhy.supplier + biz_portal_manage + 0.0.1 + biz_portal_manage + + + 1.8 + @ + ${java.version} + ${java.version} + UTF-8 + UTF-8 + Hoxton.SR7 + 2.2.3.RELEASE + 3.4.0 + 2.9.2 + 1.5.21 + + 26.0-jre + 1.1.21 + 4.1.1 + 5.4.1 + 8.0.21 + 3.8.5 + 1.4.0 + 4.1.2 + 3.1.0 + 3.11.4 + 9.0.64 + + + + + + + org.apache.commons + commons-lang3 + 3.10 + + + com.chinaunicom.mall.ebtp + uboot-core + 2.4.1-zyhy-SNAPSHOT + + + + + + + + + org.projectlombok + lombok + 1.18.12 + + + + org.springframework.cloud + spring-cloud-starter-openfeign + 2.2.3.RELEASE + + + + mysql + mysql-connector-java + 8.0.21 + + + org.springframework.cloud + spring-cloud-dependencies + ${spring.cloud.version} + pom + import + + + com.alibaba.cloud + spring-cloud-alibaba-dependencies + ${com.alibaba.cloud.version} + pom + import + + + com.alibaba + druid-spring-boot-starter + ${druid.version} + + + + + + + + commons-fileupload + commons-fileupload + 1.3.2 + + + com.baomidou + mybatis-plus-boot-starter + 3.4.0 + + + com.baomidou + mybatis-plus-generator + 3.4.0 + + + com.github.pagehelper + pagehelper-spring-boot-starter + 1.2.13 + + + com.github.jsqlparser + jsqlparser + 2.0 + + + com.alibaba + druid + ${druid.version} + + + io.springfox + springfox-swagger2 + ${springfox.swagger.version} + + + io.swagger + swagger-annotations + ${swagger.version} + + + io.swagger + swagger-models + ${swagger.version} + + + io.springfox + springfox-swagger-ui + ${springfox.swagger.version} + + + + com.github.xiaoymin + knife4j-spring-boot-starter + 2.0.0 + + + + + + + + com.google.guava + guava + ${guava.version} + + + org.apache.shardingsphere + sharding-jdbc-spring-boot-starter + ${sharding-jdbc-core.version} + + + org.apache.poi + poi + ${poi.version} + + + org.apache.poi + poi-ooxml + ${poi.version} + + + org.apache.poi + poi-ooxml-schemas + ${poi.version} + + + + + + + + com.sun.jersey + jersey-client + 1.18.3 + + + net.sf.json-lib + json-lib + 2.4 + jdk15 + + + cn.hutool + hutool-all + ${hutool.version} + + + org.hibernate.validator + hibernate-validator + 6.1.5.Final + + + org.springframework.boot + spring-boot-starter-web + + + + + + + + + + + + + + + + + + + maven-snapshot-local + maven-snapshot-local + http://ccp.tianti.tg.unicom.local/artifactory/tianti-maven-snapshot-local/ + + false + + + true + always + + + + + + + + src/main/resources + true + + + src/main/java + + **/mapper/*Mapper.xml + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/common/CaptchaGenerator.java b/src/main/java/com/chinaunicom/mall/ebtp/login/common/CaptchaGenerator.java new file mode 100644 index 0000000..6a097a7 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/common/CaptchaGenerator.java @@ -0,0 +1,150 @@ +package com.chinaunicom.mall.ebtp.login.common; + +import cn.hutool.core.date.LocalDateTimeUtil; +import com.chinaunicom.mall.ebtp.common.exception.common.CommonExceptionEnum; +import com.chinaunicom.mall.ebtp.login.entity.BuffeedImageVo; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.time.LocalDateTime; +import java.util.Base64; +import java.util.Random; + +@Slf4j +@Service +public class CaptchaGenerator { + private int width = 120; // 验证码图片的宽度 + private int height = 40; // 验证码图片的高度 + private int length = 4; // 验证码的长度 + private String chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; // 可选的字符集合 + + @Value("${login.captcha.time_limit}") + private Integer timeLimit; + @Value("${login.captcha.publicKey}") + private String publicKey; + @Value("${login.captcha.privateKey}") + private String privateKey; + + public BuffeedImageVo generateCaptcha() { + BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); + Graphics2D g = image.createGraphics(); + + // 设置背景颜色 + g.setColor(Color.WHITE); + Font font = new Font("Arial", Font.BOLD,32); + g.setFont(font); + g.fillRect(0, 0, width, height); + + // 生成随机验证码 + StringBuilder sb = new StringBuilder(); + Random random = new Random(); + int x = (width - 20) / length; + int y = height - 10; + for (int i = 0; i < length; i++) { + int index = random.nextInt(chars.length()); + String captchaChar = String.valueOf(chars.charAt(index)); + sb.append(captchaChar); + g.setColor(new Color(random.nextInt(255), random.nextInt(255), random.nextInt(255))); + g.drawString(captchaChar, x * i + 10, y); + } + + // 生成干扰线 + for (int i = 0; i < 40; i++) { + int x1 = random.nextInt(width); + int y1 = random.nextInt(height); + int x2 = random.nextInt(width); + int y2 = random.nextInt(height); + g.setColor(new Color(random.nextInt(255), random.nextInt(255), random.nextInt(255))); + g.drawLine(x1, y1, x2, y2); + } + + g.dispose(); + BuffeedImageVo vo = new BuffeedImageVo(); + + vo.setCode(sb.toString()); + vo.setImage(image); + return vo; + } + + /** + * 获取图形验证码 + * @return + */ + public BuffeedImageVo getCaptcha(){ + BuffeedImageVo vo = this.generateCaptcha(); + String creteTime = LocalDateTimeUtil.format(LocalDateTime.now().plusMinutes(timeLimit), "yyyy-MM-dd HH:mm:ss"); + String code = encoded(vo.getCode()+"_"+creteTime); + vo.setCode(code); + return vo; + } + + /** + * 校验验证码 + * @return + */ + public Boolean checkCaptcha(String value, String captch){ + + try{ + String cap = this.encoded(captch); + String[] caps = cap.split("_"); + String time = caps[1]; + LocalDateTime ltime = LocalDateTimeUtil.parse(time,"yyyy-MM-dd HH:mm:ss"); + CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("验证码无效", LocalDateTime.now().isAfter(ltime)); + + CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("验证码无效",!value.equals(caps[0])); + + }catch (Exception e){ + CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("验证码无效",true); + } + return true; + } + + private String encoded(String value){ + String val = ""; + System.out.println("\r加密前文字:\r\n" + value); + try { + byte[] data = value.getBytes(); + byte[] encodedData = RSA.encryptByPublicKey(data, publicKey); + val = RSA.encryptBASE64(encodedData); + System.out.println("加密后文字:\r\n" + val); + }catch (Exception e){ + log.error("加密失败 异常!",e); + CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("加密失败",true); + } + return val; + } + + private String decrypt(String value){ + String val = ""; + System.out.println("\r解密前文字:\r\n" + value); + try { + byte[] encodedData = RSA.decryptBASE64(value); + byte[] decodedData = RSA.decryptByPrivateKey(encodedData, privateKey); + val = new String(decodedData); + System.out.println("解密后文字:\r\n" + val); + }catch (Exception e){ + log.error("解密失败 异常!",e); + CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("解密失败",true); + } + return val; + } + + public static void main(String[] args) throws IOException { + CaptchaGenerator captchaGenerator = new CaptchaGenerator(); + BuffeedImageVo vo = captchaGenerator.generateCaptcha(); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + ImageIO.write(vo.getImage(), "png", baos); + byte[] imageData = baos.toByteArray(); + + System.out.println("验证码图片:"+ Base64.getEncoder().encodeToString(imageData)); + // 展示验证码图像或保存为文件 + System.out.println("验证码:" + vo.getCode()); + } +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/common/Constants.java b/src/main/java/com/chinaunicom/mall/ebtp/login/common/Constants.java new file mode 100644 index 0000000..4d40001 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/common/Constants.java @@ -0,0 +1,186 @@ +package com.chinaunicom.mall.ebtp.login.common; + + +import lombok.extern.slf4j.Slf4j; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Slf4j +public class Constants { + + public static final String ANNO_MODE_VO_B = "BizAnnoVoBtable"; + public static final String ANNO_MODE_VO_M = "BizAnnoVoMtable"; + + public static final String EBTP_TENANT_BY = "EBTP"; + + public static final String DELETE_FLAG_NORMAL = "normal"; + public static final String DELETE_FLAG_DELETED = "deleted"; + //有效 + public static final Integer TENANTS_STATE_VALID = 1; + //失效 + public static final Integer TENANTS_STATE_INVALID = 0; + //有效 + public static final Integer ANNO_STATE_VALID = 1; + //失效 + public static final Integer ANNO_STATE_INVALID = 0; + //发布 release + public static final Integer NOTICE_STATE_RELEASE = 1; + //未发布 revoke + public static final Integer NOTICE_STATE_NO_RELEASE = 0; + //年 + public static final Integer TENANTS_TERM = 2; + //分钟 + public static final Integer TOKEN_TIME_OUT = 2; + //公告 + public static final String DICT_TYPE_ANNO = "anno"; + //采购方式 + public static final String DICT_TYPE_MODE = "procurement_mode"; + //采购类型 + public static final String DICT_TYPE_TYPE = "procurement_type"; + //省分 + public static final String DICT_TYPE_PROVINCES = "provinces"; + + //省分 - 其他 + public static final String DICT_TYPE_PROVINCES_10000 = "10000"; + + //配置参数 + public static final String BIZ_CONFIG_TYPE_CONFIG = "1"; + //过滤配置参数 + public static final String BIZ_CONFIG_TYPE_CHECK_ANNO = "2"; + //登录信息禁止配置参数 + public static final String BIZ_CONFIG_TYPE_LOGIN_ANNO = "3"; + + //是否置顶 是 + public static final String TOP_STATE_Y = "1"; + //是否置顶 否 + public static final String TOP_STATE_N = "0"; + + //是否显示置顶 是 + public static final String SHOW_TOP_STATE_Y = "1"; + //是否显示置顶 否 + public static final String SHOW_TOP_STATE_N = "0"; + + public static Map> dictMap = new HashMap<>(); + + public static void setDict(Map> map) { + dictMap = map; + } + + public static String getDict(String id, String moduleType) { + Map map = dictMap.get(moduleType); + if(map!=null){ + return map.get(id); + } + return null; + } + + + //专家库管理员 + public static final String ROLE_CODE_E_D_ADMIN = "e_d_admin"; + //专家 + public static final String ROLE_CODE_EXPERT = "expert"; + //管理员 + public static final String ROLE_CODE_ADMIN = "sys_admin"; + + /** + * 通过文件名判断并获取OSS服务文件上传时文件的contentType + * @param fileName 文件名 + * @return 文件的contentType + */ + public static String getContentType(String fileExtension){ + //文件的后缀名 + if("bmp".equalsIgnoreCase(fileExtension)) { + return "image/bmp"; + } + if("gif".equalsIgnoreCase(fileExtension)) { + return "image/gif"; + } + if("jpeg".equalsIgnoreCase(fileExtension) || "jpg".equalsIgnoreCase(fileExtension) || "png".equalsIgnoreCase(fileExtension) ) { + return "image/jpeg"; + } + if("html".equalsIgnoreCase(fileExtension)) { + return "text/html"; + } + if("txt".equalsIgnoreCase(fileExtension)) { + return "text/plain"; + } + if("vsd".equalsIgnoreCase(fileExtension)) { + return "application/vnd.visio"; + } + if("ppt".equalsIgnoreCase(fileExtension) || "pptx".equalsIgnoreCase(fileExtension)) { + return "application/vnd.ms-powerpoint"; + } + if("doc".equalsIgnoreCase(fileExtension) || "docx".equalsIgnoreCase(fileExtension)) { + return "application/msword"; + } + if ("xls".equalsIgnoreCase(fileExtension) || "xlsx".equalsIgnoreCase(fileExtension)) { + return "application/msexcel"; + } + if ("csv".equalsIgnoreCase(fileExtension)) { + return "application/csv"; + } + if("xml".equalsIgnoreCase(fileExtension)) { + return "text/xml"; + } + if("mp4".equalsIgnoreCase(fileExtension)) { + return "video/mp4"; + } + if("avi".equalsIgnoreCase(fileExtension)) { + return "video/x-msvideo"; + } + if("mov".equalsIgnoreCase(fileExtension)) { + return "video/quicktime"; + } + if("mpeg".equalsIgnoreCase(fileExtension) || "mpg".equalsIgnoreCase(fileExtension)) { + return "video/mpeg"; + } + if("wm".equalsIgnoreCase(fileExtension)) { + return "video/x-ms-wmv"; + } + if("flv".equalsIgnoreCase(fileExtension)) { + return "video/x-flv"; + } + if("mkv".equalsIgnoreCase(fileExtension)) { + return "video/x-matroska"; + } + //默认返回类型 + return "video/x-msvideo"; + } + + + //账号类型 专家 + public static final String USER_TYPE_EXPERT = "3"; + //专家管理员 + public static final String USER_TYPE_EXPERT_ADMIN = "2"; + //业务经理 + public static final String USER_TYPE_BUSINESS_MANAGER = "4"; + //游客 + public static final String USER_TYPE_TOURIST = "99"; + + + //账号类型 专家 + public static final String ORGN_STAUTS_OK = "2";//审批通过 + public static final String ORGN_STAUTS_WAIT = "1";//待审批 + public static final String ORGN_STAUTS_NOT = "0";//未提交 + public static final String ORGN_STAUTS_NO = "-1";//审批未通过 + + public static final String ORGN_SUBMIT_TYPE_I = "1";//入库 + public static final String ORGN_SUBMIT_TYPE_U = "2";//变更 + + public static final String ORGN_UPDATE_TYPE_ING = "0";//变更中 + public static final String ORGN_UPDATE_TYPE_OVER = "1";//已变更 + + public static final String USER_STATUS_FREEZE = "0";//冻结 + public static final String USER_STATUS_LIVE = "1";//正常 + + public static final Integer USER_TOKEN_STATUS_E = 1;//正常 + + + public static final String ORGN_USER_TYPE_1 = "1";//招标人 + public static final String ORGN_USER_TYPE_2 = "2";//代理机构 + public static final String ORGN_USER_TYPE_3 = "3";//评标专家单位 +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/common/MdConstants.java b/src/main/java/com/chinaunicom/mall/ebtp/login/common/MdConstants.java new file mode 100644 index 0000000..52fcd45 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/common/MdConstants.java @@ -0,0 +1,28 @@ +package com.chinaunicom.mall.ebtp.login.common; + +import java.math.BigInteger; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; + +public class MdConstants { + + + public static String getSha256(String str) { + try { + // 初始化MessageDigest并指定MD5算法 + MessageDigest md = MessageDigest.getInstance("SHA-256"); + md.update(str.getBytes()); + // 将字节转换为十六进制字符串 + return new BigInteger(1, md.digest()).toString(16); + } catch (NoSuchAlgorithmException e) { + throw new RuntimeException(e); + } + } + + public static void main(String[] args) { + + String originalString = "Hello, World!"; + System.out.println("Original String: " + originalString); + System.out.println("SHA-256 Hash: " + MdConstants.getSha256(originalString)); + } +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/common/RSA.java b/src/main/java/com/chinaunicom/mall/ebtp/login/common/RSA.java new file mode 100644 index 0000000..75becf7 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/common/RSA.java @@ -0,0 +1,356 @@ +package com.chinaunicom.mall.ebtp.login.common; + +import com.chinaunicom.mall.ebtp.common.exception.common.CommonExceptionEnum; + +import javax.crypto.Cipher; +import java.security.*; +import java.security.interfaces.RSAPrivateKey; +import java.security.interfaces.RSAPublicKey; +import java.security.spec.PKCS8EncodedKeySpec; +import java.security.spec.X509EncodedKeySpec; +import java.util.Base64; +import java.util.HashMap; +import java.util.Map; + +public class RSA { + + public static final String KEY_ALGORITHM = "RSA"; + public static final String SIGNATURE_ALGORITHM = "MD5withRSA"; + + private static final String PUBLIC_KEY = "RSAPublicKey"; + private static final String PRIVATE_KEY = "RSAPrivateKey"; + + /** + * 初始化密钥 + * + * @return + * @throws Exception + */ + public static Map initKey() throws Exception { + KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance(KEY_ALGORITHM); + keyPairGen.initialize(1024); + KeyPair keyPair = keyPairGen.generateKeyPair(); + + // 公钥 + RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic(); +// logger.info("------" + publicKey); + // 私钥 + RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate(); +// logger.info("------" + publicKey); + + Map keyMap = new HashMap (2); + + keyMap.put(PUBLIC_KEY, publicKey); + keyMap.put(PRIVATE_KEY, privateKey); + return keyMap; + } + + /** + * 取得私钥 + * + * @param keyMap + * @return + * @throws Exception + */ + public static String getPrivateKey(Map keyMap) + throws Exception { + Key key = (Key) keyMap.get(PRIVATE_KEY); + return encryptBASE64(key.getEncoded()); + } + + /** + * 取得公钥 + * + * @param keyMap + * @return + * @throws Exception + */ + public static String getPublicKey(Map keyMap) + throws Exception { + Key key = (Key) keyMap.get(PUBLIC_KEY); + return encryptBASE64(key.getEncoded()); + } + + + /** + * 解密
+ * 用私钥解密 + * + * @param data + * @param key + * @return + * @throws Exception + */ + public static byte[] decryptByPrivateKey(byte[] data, String key) + throws Exception { + // 对密钥解密 + byte[] keyBytes = decryptBASE64(key); + + // 取得私钥 + PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(keyBytes); + KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM); + Key privateKey = keyFactory.generatePrivate(pkcs8KeySpec); + + // 对数据解密 + Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm()); + cipher.init(Cipher.DECRYPT_MODE, privateKey); + + return cipher.doFinal(data); + } + /** + * 解密
+ * 用私钥解密 + * + * @param data + * @param key + * @return + * @throws Exception + */ + public static String decryptByPrivateKeyString(byte[] data, String key) + throws Exception { + return new String(decryptByPrivateKey(data, key)); + } + + + /** + * 解密
+ * 用公钥解密 + * + * @param data + * @param key + * @return + * @throws Exception + */ + public static byte[] decryptByPublicKey(byte[] data, String key) + throws Exception { + // 对密钥解密 + byte[] keyBytes = decryptBASE64(key); + + // 取得公钥 + X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(keyBytes); + KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM); + Key publicKey = keyFactory.generatePublic(x509KeySpec); + + // 对数据解密 + Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm()); + cipher.init(Cipher.DECRYPT_MODE, publicKey); + + return cipher.doFinal(data); + } + + /** + * 加密
+ * 用公钥加密 + * + * @param data + * @param key + * @return + * @throws Exception + */ + public static byte[] encryptByPublicKey(byte[] data, String key) + throws Exception { + // 对公钥解密 + byte[] keyBytes = decryptBASE64(key); + + // 取得公钥 + X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(keyBytes); + KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM); + Key publicKey = keyFactory.generatePublic(x509KeySpec); + + // 对数据加密 + Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm()); + cipher.init(Cipher.ENCRYPT_MODE, publicKey); + + return cipher.doFinal(data); + } + + /** + * 加密
+ * 用私钥加密 + * + * @param data + * @param key + * @return + * @throws Exception + */ + public static byte[] encryptByPrivateKey(byte[] data, String key) + throws Exception { + // 对密钥解密 + byte[] keyBytes = decryptBASE64(key); + + // 取得私钥 + PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(keyBytes); + KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM); + Key privateKey = keyFactory.generatePrivate(pkcs8KeySpec); + + // 对数据加密 + Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm()); + cipher.init(Cipher.ENCRYPT_MODE, privateKey); + + return cipher.doFinal(data); + } + + /** + * 用私钥对信息生成数字签名 + * + * @param data + * 加密数据 + * @param privateKey + * 私钥 + * + * @return + * @throws Exception + */ + public static String sign(byte[] data, String privateKey) throws Exception { + // 解密由base64编码的私钥 + byte[] keyBytes = decryptBASE64(privateKey); + + // 构造PKCS8EncodedKeySpec对象 + PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(keyBytes); + + // KEY_ALGORITHM 指定的加密算法 + KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM); + + // 取私钥匙对象 + PrivateKey priKey = keyFactory.generatePrivate(pkcs8KeySpec); + + // 用私钥对信息生成数字签名 + Signature signature = Signature.getInstance(SIGNATURE_ALGORITHM); + signature.initSign(priKey); + signature.update(data); + + return encryptBASE64(signature.sign()); + } + + /** + * 校验数字签名 + * + * @param data + * 加密数据 + * @param publicKey + * 公钥 + * @param sign + * 数字签名 + * + * @return 校验成功返回true 失败返回false + * @throws Exception + * + */ + public static boolean verify(byte[] data, String publicKey, String sign) + throws Exception { + + // 解密由base64编码的公钥 + byte[] keyBytes = decryptBASE64(publicKey); + + // 构造X509EncodedKeySpec对象 + X509EncodedKeySpec keySpec = new X509EncodedKeySpec(keyBytes); + + // KEY_ALGORITHM 指定的加密算法 + KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM); + + // 取公钥匙对象 + PublicKey pubKey = keyFactory.generatePublic(keySpec); + + Signature signature = Signature.getInstance(SIGNATURE_ALGORITHM); + signature.initVerify(pubKey); + signature.update(data); + + // 验证签名是否正常 + return signature.verify(decryptBASE64(sign)); + } + + public static byte[] decryptBASE64(String key) throws Exception { + return Base64.getDecoder().decode(key); + } + + public static String encryptBASE64(byte[] key) throws Exception { + return Base64.getEncoder().encodeToString(key); + } + + public static String encrypt(String value,String publicKey){ + try { + String v = encryptBASE64(RSA.encryptByPublicKey(value.getBytes(), publicKey)); + return v; + }catch (Exception e){ + CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("加密异常", true); + } + return ""; + } + public static String decrypt(String value,String privateKey){ + try { + byte[] decodedData = decryptByPrivateKey(decryptBASE64(value), privateKey); + String target = new String(decodedData); + return target; + }catch (Exception e){ + CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("解密异常", true); + } + return ""; + } + public static void main(String[] args) { + Map keyMap; + try { + keyMap = initKey(); +// Map map = initKey(); +// System.out.println(map); + //取得公钥和么私钥 + //keyMap = initKey(); + //String publicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCgkWYQFjlRrCsQQBNZj6uo8KEQamePmxaC6O4JI5SoELnXPlTCJIlQTG1Xzn/ajqjDV4/5ZmZAH+auST4j9L5qH8qnoxT1AN+yhUY6hMV9qxF00e1gBc81mYJO2nwwaQjRsGEoq86e9dP1zX5kOk8vMZN6/g508a1K2IWNwpGp0wIDAQAB"; + //String publicKey = getPublicKey(keyMap); + //#生产 + String publicKey ="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCHzL+U09epkBAnn2V4HCADX9gQxpW4iQ3ckM0YMX5CRe9SSzbbRItYMnOsIjogj39gXm7cYJIgE91wQgNJINkD65D2Tm+7vYgLMyw87YBlTONxQ484RW7o5Ofqz72HEXMyfvdpLIJ5lTheeqHmpL20vNkq+CkuHxhVPlYoVl/1uwIDAQAB"; + System.out.println("字符类型公钥:" + publicKey); + + //String privateKey = "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAKCRZhAWOVGsKxBAE1mPq6jwoRBqZ4+bFoLo7gkjlKgQudc+VMIkiVBMbVfOf9qOqMNXj/lmZkAf5q5JPiP0vmofyqejFPUA37KFRjqExX2rEXTR7WAFzzWZgk7afDBpCNGwYSirzp710/XNfmQ6Ty8xk3r+DnTxrUrYhY3CkanTAgMBAAECgYA8WMkqLKAYUQPSVLKxC20xzlZKbCNF9rzMMK0d5DB/xeGCwxtp5/9vnXnO8X5d7xYAbM1gp5qwaQzy3fYr31UcxHiFTcZMgvN6z32FNBEkejCLaKIFZjaMBn36dStdzpAP+OOclwpXDGpGQO0UKLKshAfl5dsS+fq+nHpOugz52QJBAPUCG9Xzy5TrMiqL9n1TLe1qR+ALfELZHFheevIkyShJtcqlte8u640H0CHDXF9lniisMFn4xChqkxiTUsees58CQQCnxYDP+JfmqORO4Cx2DLCCqOpaOkuxdZo8eSh80s3zbmtdqoMpeYZglVNLuSYKNul8WWF3qeGqcnLULDE6P31NAkEAtSLt+WvYoyyPVi1L+rO4TMI6iUV0hOeGsT6InuTbY1G7eSqyKzcBJq8UDSIl9NFn8KH8zUfBni/MuGqS1Mpb+QJATiPTBwpF1Yy8KXCHxMPMQk7iN/wG3TRlDd1wWhLlEYhQQWP1iw+q4rkp/o7RhNhmjyAiIVXiYTzE9sVOeE6x0QJBAJYmBmOKfxw3rzpjDU+e9I6w0AbpiBzlnviEToZfnDwVH9mjF++H/wDRTDqozIiAE2aN/wqXwqhoWGgVWMlp9Xc="; + //String privateKey = getPrivateKey(keyMap); + //生产 + String privateKey="MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAIfMv5TT16mQECefZXgcIANf2BDGlbiJDdyQzRgxfkJF71JLNttEi1gyc6wiOiCPf2BebtxgkiAT3XBCA0kg2QPrkPZOb7u9iAszLDztgGVM43FDjzhFbujk5+rPvYcRczJ+92ksgnmVOF56oeakvbS82Sr4KS4fGFU+VihWX/W7AgMBAAECgYAjblVR9E+havf8Dod/5f6oQrpx7g4kPoYCVTldpZQmoG6Hjx456VFd6pPphmiaFDaMozbTgtK9UdGFt4N58fsMvHG1vSZ5jH6jXW+xGsCpiHp24s6kXlRDPnX1AstezrIcXa+37CJua80/DUXMRysJcByW3HnGmwjKM21EqiyMUQJBAMCgZN/4I5bnUc/gsOwl0Vunp8jtXoMa/dDFyIE7SCNQlkjfTTkzTrQRaHXeDRKBlzLUB0TNMv6gbH4xxAuGY7kCQQC0ejrDRz2O17O+ETlqQ3jubxMLq2ZfhUGWwgJQ5gXT0PgM5Bauv7NygHaxKmmN0EAqk1NTDV0ao3VJOvuLUIcTAkBfJpvNurAx2aAjFHWwoNmy8bVC3mYiUxHvr9NkatkugJ9L7eoiiEKnVjYIiyBf9N2wQOY6STaYarxM9d5GZyMZAkBS8UWmT0xMJHe3pyTS4FVohuWi3E+9IHnHNjxoP354HTaSfhSqlPF8cuuZeltuUEHdDz4hEigywOJ7GD9YhFa/AkBjxKsb4qfJeaz+zxcFHekWaFhgdvpx2/bov9y/wP/HEZo8NRsa1I0wVBiWhSRltYrQU7jMHafnrhiqQUW3BKhm"; + System.out.println("字符类型私钥:" + privateKey); + String s = RSA.encrypt("331081198909263032",publicKey); + System.out.println(s); + + //String s = "nRpkxT2XTYQvQl/xIqgVuIg3d1ezs/QuKZGm2UxAVJiwHN8F3E6jKr6/Ujt1ZODdlt9mPh7+WUepm/7OdbkPiDzoDufFBcscfVzRKpgG7yj0VEhqv4HGTxc5PX3dFKWRGIW4+x02StDezlTRDbhRGn9qNRZhJXTMsHITekM1+YY="; + //s = URLDecoder.decode(s,"utf-8"); + String v = RSA.decrypt(s,privateKey); + System.out.println(v); +// System.out.println("公钥加密——私钥解密---------------"); +// System.out.println(""); +// String source = "9527001"; +// System.out.println("\r加密前文字:\r\n" + source); +// byte[] data = source.getBytes(); +// byte[] encodedData = encryptByPublicKey(data, publicKey); +// System.out.println("加密后文字:\r\n" + encryptBASE64(encodedData)); +// +// byte[] decodedData = decryptByPrivateKey(encodedData, privateKey); +// String target = new String(decodedData); +// System.out.println("解密后文字: \r\n" + target); + +// System.out.println(v); + +// String s1 = RSA.encrypt("Eshop@2022",publicKey); +// System.out.println(s1); +// String s2 = RSA.encrypt("Eshop@2021",publicKey); +// System.out.println(s2); + + + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * String转私钥PrivateKey + * + * @param key + * @return + * @throws Exception + */ + public static PrivateKey getPrivateKey(String key) throws Exception { + byte[] keyBytes; + keyBytes = org.apache.commons.codec.binary.Base64.decodeBase64(key); + PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(keyBytes); + KeyFactory keyFactory = KeyFactory.getInstance("RSA"); + PrivateKey privateKey = keyFactory.generatePrivate(keySpec); + return privateKey; + } +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/controller/EshopMenuController.java b/src/main/java/com/chinaunicom/mall/ebtp/login/controller/EshopMenuController.java new file mode 100644 index 0000000..3bd86b0 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/controller/EshopMenuController.java @@ -0,0 +1,42 @@ +package com.chinaunicom.mall.ebtp.login.controller; + + +import com.chinaunicom.mall.ebtp.login.entity.EshopMenuConverter; +import com.chinaunicom.mall.ebtp.login.entity.EshopMenuQuery; +import com.chinaunicom.mall.ebtp.login.service.EshopMenuService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 菜单权限表 前端控制器 + * + * @author wangwj + * @since 2020-12-08 + */ +@Api(tags = "菜单权限管理") +@RestController +@RequestMapping("/v1.0/menu") +public class EshopMenuController{ + + @Autowired + private EshopMenuService eshopMenuService; + + /** + * 根据角色查询顶级权限 + * @param body + * @return BasePageResponse + * @author chentao + * @date 2021-1-13 + * @update [序号][日期YYYY-MM-DD] [更改人姓名][变更描述] + */ + @ApiOperation(value = "根据角色查询顶级权限", notes = "根据角色查询顶级权限") + @PostMapping("/findTopMenuList") + public List findTopMenuList(@RequestBody EshopMenuQuery body) { + return this.eshopMenuService.findTopMenuList(body); + } + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/controller/LoginController.java b/src/main/java/com/chinaunicom/mall/ebtp/login/controller/LoginController.java new file mode 100644 index 0000000..f8bc66d --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/controller/LoginController.java @@ -0,0 +1,60 @@ +package com.chinaunicom.mall.ebtp.login.controller; + + +import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.mall.ebtp.common.exception.common.CommonExceptionEnum; +import com.chinaunicom.mall.ebtp.login.common.CaptchaGenerator; +import com.chinaunicom.mall.ebtp.login.entity.BaseSelf; +import com.chinaunicom.mall.ebtp.login.service.BaseUserService; + +import com.chinaunicom.mall.ebtp.login.vo.LoginUserVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.Cookie; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +@Slf4j +@RestController +@Api(tags = "登录") +@RequestMapping("/v1/login") +public class LoginController { + + @Resource + private BaseUserService iBaseUserService; + @Resource + private CaptchaGenerator captchaGenerator; + + /** + * 获取图形验证码 + * @return + */ + @ApiOperation("获取图形验证码") + @GetMapping("/getCaptcha") + public BaseResponse getCaptcha(){ + return BaseResponse.success(captchaGenerator.getCaptcha()); + } + /** + * 账号 密码 图形验证码 + * @param vo + * @return + */ + @ApiOperation("账号登录") + @PostMapping("/accountLogin") + public BaseResponse idcardLogin(HttpServletResponse response,@RequestBody LoginUserVo vo) { + if(true||captchaGenerator.checkCaptcha(vo.getIdentifying(),vo.getEncryptValue())){ + BaseSelf self = iBaseUserService.idcardLogin(vo.getAccount(), vo.getPassword()); + this.iBaseUserService.setCookie(response,"mall3_token",self.getToken()); + return BaseResponse.success(self); + }else{ + CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("验证码无效",true); + return BaseResponse.success(null); + } + } + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/dao/BaseUserMapper.java b/src/main/java/com/chinaunicom/mall/ebtp/login/dao/BaseUserMapper.java new file mode 100644 index 0000000..66156ff --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/dao/BaseUserMapper.java @@ -0,0 +1,21 @@ +package com.chinaunicom.mall.ebtp.login.dao; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.chinaunicom.mall.ebtp.cloud.security.starter.entity.AuthorityEntity; +import com.chinaunicom.mall.ebtp.common.base.dao.IBaseMapper; +import com.chinaunicom.mall.ebtp.login.entity.*; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository +public interface BaseUserMapper extends IBaseMapper { + public IPage selectOrgnUser(IPage page, @Param("vo") BaseUserSelect vo); + public BaseUserSelectVo getUserById(@Param("id") String id, @Param("orgnId") String orgnId); + public List getUserByObject(@Param("vo") BaseUserSelectVo vo); + + public List selectRoleByUserId(@Param("userId") String userId); + public List selectOrgnByUserId(@Param("userId") String userId); +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/dao/BaseUserTokenMapper.java b/src/main/java/com/chinaunicom/mall/ebtp/login/dao/BaseUserTokenMapper.java new file mode 100644 index 0000000..d2e1500 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/dao/BaseUserTokenMapper.java @@ -0,0 +1,10 @@ +package com.chinaunicom.mall.ebtp.login.dao; + + +import com.chinaunicom.mall.ebtp.common.base.dao.IBaseMapper; +import com.chinaunicom.mall.ebtp.login.entity.BaseUserToken; +import org.springframework.stereotype.Repository; + +@Repository +public interface BaseUserTokenMapper extends IBaseMapper { +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/dao/EshopMenuMapper.java b/src/main/java/com/chinaunicom/mall/ebtp/login/dao/EshopMenuMapper.java new file mode 100644 index 0000000..00aef72 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/dao/EshopMenuMapper.java @@ -0,0 +1,15 @@ +package com.chinaunicom.mall.ebtp.login.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.chinaunicom.mall.ebtp.login.entity.EshopMenuConverter; +import com.chinaunicom.mall.ebtp.login.entity.EshopMenuPO; +import org.apache.ibatis.annotations.Param; +import org.mapstruct.Mapper; + +import java.util.List; + +@Mapper +public interface EshopMenuMapper extends BaseMapper { + + List findTopMenuList(@Param("roleId") String roleId); +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/dao/mapper/BaseUserMapper.xml b/src/main/java/com/chinaunicom/mall/ebtp/login/dao/mapper/BaseUserMapper.xml new file mode 100644 index 0000000..a805531 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/dao/mapper/BaseUserMapper.xml @@ -0,0 +1,153 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/dao/mapper/BaseUserTokenMapper.xml b/src/main/java/com/chinaunicom/mall/ebtp/login/dao/mapper/BaseUserTokenMapper.xml new file mode 100644 index 0000000..1bb5ae4 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/dao/mapper/BaseUserTokenMapper.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + update base_user_token + set + delete_flag="1" + where ID=#{id } + + \ No newline at end of file diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/dao/mapper/EshopMenuMapper.xml b/src/main/java/com/chinaunicom/mall/ebtp/login/dao/mapper/EshopMenuMapper.xml new file mode 100644 index 0000000..32e88d4 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/dao/mapper/EshopMenuMapper.xml @@ -0,0 +1,59 @@ + + + + + + + sp.menu_id, + sp.menu_name, + sp.parent_id, + sp.menu_, + sp.menu_order, + sp.menu_url, + sp.componet, + sp.menu_frame, + sp.menu_type, + sp.menu_visible, + sp.menu_status, + sp.menu_perms, + sp.menu_icon, + sp.menu_scope, + sp.menu_ou, + sp.menu_auth, + sp.tenant_id + + + + + + diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseOrgn.java b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseOrgn.java new file mode 100644 index 0000000..035a2e1 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseOrgn.java @@ -0,0 +1,127 @@ +package com.chinaunicom.mall.ebtp.login.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** +* 实体类 BaseOrgn-组织机构信息 +* +* @author yss +*/ +@Data +@Accessors(chain = true) +@TableName(value = "base_orgn", autoResultMap = true) +@ApiModel(value = "BaseOrgn对象", description = "组织机构信息") +public class BaseOrgn implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId + @ApiModelProperty(value = "索引id") + private String id; + + @ApiModelProperty(value = "父id.表内关联") + private String pid; + + @ApiModelProperty(value = "系统编号") + private String code; + + @ApiModelProperty(value = "组织机构名称.如'软件研发部'.是组织树的节点名称") + private String name; + + @ApiModelProperty(value = "组织结构全程.如'产业互联网中心软件研发部'.是选项时的节点名称") + private String fullname; + + @ApiModelProperty(value = "注册地址-三级地址 -分割") + private String registerAddress; + + @ApiModelProperty(value = "详细地址") + private String registerAddress2; + + @ApiModelProperty(value = "企业地址-三级地址 -分割") + private String enterpriseAddress; + + @ApiModelProperty(value = "企业地址") + private String enterpriseAddress2; + + @ApiModelProperty(value = "用户类型 1、招标人,2、代理机构,3、评标专家单位") + private String userType; + + @ApiModelProperty(value = "企业类型 1、国有 2 私营 3合资 4独资 5全民所有制 6集体所有制 8股份制 9有限责任") + private String orgnType; + + @ApiModelProperty(value = "注册资金") + private String registeredCapital; + + @ApiModelProperty(value = "邮编") + private String zipCode; + + @ApiModelProperty(value = "成立时间") + private String foundingTime; + + @ApiModelProperty(value = "联系人") + private String contacts; + + @ApiModelProperty(value = "联系电话") + private String tel; + + @ApiModelProperty(value = "邮箱") + private String email; + + @ApiModelProperty(value = "传真") + private String fax; + + @ApiModelProperty(value = "统一社会信用代码") + private String uscc; + + @ApiModelProperty(value = "统一社会信用代码证") + private String usccFileId; + + @ApiModelProperty(value = "营业执照") + private String businessLicenseFileId; + + @ApiModelProperty(value = "其他资质证明") + private String otherFileId; + + @ApiModelProperty(value = "法人信息 json [{\"name\":\"张三\",“duty”:\"董事长\",\"title\":\"高级工程师\",\"idcard\":\"223323232\"}]") + private String legalRepresentative; + + @ApiModelProperty(value = "负责人信息 json [{\"name\":\"张三\",“duty”:\"董事长\",\"title\":\"高级工程师\",\"idcard\":\"223323232\"}]") + private String head; + + @ApiModelProperty(value = "审批状态 0 未提交 1 待审批 2审批通过 -1 审批未通过") + private String status; + + @ApiModelProperty(value = "申请类型 1、入库 2、变更") + private String submitType; + + @ApiModelProperty(value = "未通过原因") + private String reason; + + @ApiModelProperty(value = "版本号") + private String version; + + @ApiModelProperty(value = "创建人") + private String createby; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "") + private LocalDateTime createtime; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "") + private LocalDateTime updatetime; + + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseOrgnR.java b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseOrgnR.java new file mode 100644 index 0000000..3b21ac7 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseOrgnR.java @@ -0,0 +1,30 @@ +package com.chinaunicom.mall.ebtp.login.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** +* 实体类 BaseOrgn-组织机构信息 +* +* @author yss +*/ +@Data +@Accessors(chain = true) +@ApiModel(value = "BaseOrgn对象", description = "机构列表") +public class BaseOrgnR implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId + @ApiModelProperty(value = "索引id") + private String orgnId; + + @ApiModelProperty(value = "组织机构名称.如'软件研发部'.是组织树的节点名称") + private String orgnName; + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseRole.java b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseRole.java new file mode 100644 index 0000000..46901a5 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseRole.java @@ -0,0 +1,47 @@ +package com.chinaunicom.mall.ebtp.login.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * 功能模块bean + * + * @author zyx + */ +@Data +@Accessors(chain = true) +@ApiModel +@TableName(value = "maint_base_role", autoResultMap = true) +public class BaseRole implements Serializable { + + private static final Long serialVersionUID = 1L; + + /** + * 姓名 + */ + @ApiModelProperty(value = "角色") + private String role; + + /** + * 账号 + */ + @ApiModelProperty(value = "备注") + private String remarks; + + /** + * role_id + */ + @ApiModelProperty(value = "role_id") + private String roleId; + + /** + * 账号 + */ + @ApiModelProperty(value = "状态,0-默认") + private int status; +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseRoleOrgn.java b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseRoleOrgn.java new file mode 100644 index 0000000..7a0e5c7 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseRoleOrgn.java @@ -0,0 +1,36 @@ +package com.chinaunicom.mall.ebtp.login.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.List; + +/** +* 实体类 BaseRole-角色表 +* +* @author yss +*/ +@Data +@Accessors(chain = true) +@ApiModel(value = "BaseRole对象", description = "显示角色表") +public class BaseRoleOrgn implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId + @ApiModelProperty(value = "") + private String roleId; + + @ApiModelProperty(value = "") + private String roleName; + + @ApiModelProperty(value = "") + private String roleCode; + + @ApiModelProperty(value = "机构列表") + private List baseOrgnList; +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseRoleOrgnVo.java b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseRoleOrgnVo.java new file mode 100644 index 0000000..6c7af10 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseRoleOrgnVo.java @@ -0,0 +1,39 @@ +package com.chinaunicom.mall.ebtp.login.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.List; + +/** +* 实体类 BaseRole-角色表 +* +* @author yss +*/ +@Data +@Accessors(chain = true) +@ApiModel(value = "BaseRole对象", description = "显示角色表") +public class BaseRoleOrgnVo implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId + @ApiModelProperty(value = "") + private String roleId; + + @ApiModelProperty(value = "") + private String roleName; + + @ApiModelProperty(value = "") + private String roleCode; + + @ApiModelProperty(value = "") + private String orgnId; + + @ApiModelProperty(value = "") + private String orgnName; +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseSelf.java b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseSelf.java new file mode 100644 index 0000000..69d4d39 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseSelf.java @@ -0,0 +1,41 @@ +package com.chinaunicom.mall.ebtp.login.entity; + + +import lombok.Data; + +import java.util.List; + +/** + * @author ligen + * + */ +@Data +public class BaseSelf { + + /** + * token + */ + private String token; + /** + * previoustoken + */ + private String previoustoken; + + /** + * 登陆ip + */ + private String ip; + + /** + * + */ + private BaseUser user; //user + /** + * 所属机构 + */ + private BaseOrgn orgn; + /** + * 所属机构 + */ + private List orgnList; +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseTelIdcard.java b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseTelIdcard.java new file mode 100644 index 0000000..0f2853e --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseTelIdcard.java @@ -0,0 +1,49 @@ +package com.chinaunicom.mall.ebtp.login.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** +* 实体类 BaseTelIdcard- +* +* @author yss +*/ +@Data +@Accessors(chain = true) +@TableName(value = "base_tel_idcard", autoResultMap = true) +@ApiModel(value = "BaseTelIdcard对象", description = "") +public class BaseTelIdcard implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId + @ApiModelProperty(value = "") + private String id; + + @ApiModelProperty(value = "手机号") + private String tel; + + @ApiModelProperty(value = "验证码") + private String idcard; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "有效时间") + private LocalDateTime effectiveTime; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "发送时间") + private LocalDateTime sendTime; + + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseUser.java b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseUser.java new file mode 100644 index 0000000..d37289a --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseUser.java @@ -0,0 +1,115 @@ +package com.chinaunicom.mall.ebtp.login.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.List; + +/** +* 实体类 BaseUser-用户基本信息表 +* +* @author yss +*/ +@Data +@Accessors(chain = true) +@TableName(value = "base_user", autoResultMap = true) +@ApiModel(value = "BaseUser对象", description = "用户基本信息表") +public class BaseUser implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId + @ApiModelProperty(value = "") + private String id; + + @ApiModelProperty(value = "账号用户名") + private String account; + + @ApiModelProperty(value = "密码") + private String password; + + @ApiModelProperty(value = "RSA") + private String rsa; + + @ApiModelProperty(value = "HR编号") + private String code; + + @ApiModelProperty(value = "姓名") + private String name; + + @ApiModelProperty(value = "") + private String abbr; + + @ApiModelProperty(value = "性别") + private String sex; + + @ApiModelProperty(value = "证件类型") + private String idType; + + @ApiModelProperty(value = "身份证号") + private String idcard; + + @ApiModelProperty(value = "电话号码") + private String phone; + + @ApiModelProperty(value = "邮箱地址") + private String email; + + @ApiModelProperty(value = "地址") + private String address; + + @ApiModelProperty(value = "使能") + private String active; + + @ApiModelProperty(value = "备注") + private String remark; + + @ApiModelProperty(value = "来源:1联通内部员工 2合作方账号/招标代理") + private String sourceType; + @ApiModelProperty(value = "联通邮箱") + private String unicomEmail; + + @ApiModelProperty(value = "合作方账号") + private String cuecpAccount; + + @ApiModelProperty(value = "状态 0冻结 1在用") + private String status; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "") + private LocalDateTime createtime; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "") + private LocalDateTime updatetime; + /** + * 所属机构 + */ + @TableField(exist = false) + private BaseOrgn orgn; + + /** + * 角色 + */ + @TableField(exist = false) + private List roleOrgnList; + + /** + * 权限 + */ + @TableField(exist = false) + private String roleId; + @ApiModelProperty("割接状态;0-割接数据,1-新数据") + private Integer cutoverStatus; +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseUserSelect.java b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseUserSelect.java new file mode 100644 index 0000000..e90108b --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseUserSelect.java @@ -0,0 +1,41 @@ +package com.chinaunicom.mall.ebtp.login.entity; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** +* 实体类 BaseUser-用户基本信息表 +* +* @author yss +*/ +@Data +@Accessors(chain = true) +public class BaseUserSelect implements Serializable { + + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "姓名") + private String name; + + @ApiModelProperty(value = "机构id") + private String orgnId; + + @ApiModelProperty(value = "角色 4、业务经理 3、专家 2、专家管理员") + private String type; + + @ApiModelProperty("当前页") + @NotNull + @Min(0) + private Integer pageNo; + + @ApiModelProperty("每页显示条数") + @NotNull + @Min(0) + private Integer pageSize; +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseUserSelectVo.java b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseUserSelectVo.java new file mode 100644 index 0000000..82d9475 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseUserSelectVo.java @@ -0,0 +1,84 @@ +package com.chinaunicom.mall.ebtp.login.entity; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +/** +* 实体类 BaseUser-用户基本信息表 +* +* @author yss +*/ +@Data +@Accessors(chain = true) +@ApiModel(value = "BaseUser对象", description = "用户基本信息表") +public class BaseUserSelectVo { + + @ApiModelProperty(value = "") + private String id; + + @ApiModelProperty(value = "姓名") + private String name; + + @ApiModelProperty(value = "证件类型") + private String idType; + + @ApiModelProperty(value = "身份证号") + private String idcard; + + @ApiModelProperty(value = "密码") + private String password; + + @ApiModelProperty(value = "RSA") + private String rsa; + + @ApiModelProperty(value = "电话号码") + private String phone; + + @ApiModelProperty(value = "角色") + private String roleId; + + @ApiModelProperty(value = "角色") + private String roleName; + + @ApiModelProperty(value = "所属机构名称") + private String orgnName; + + @ApiModelProperty(value = "角色类型") + private String type; + + @ApiModelProperty(value = "状态 0冻结 1在用") + private String status; + + @ApiModelProperty(value = "来源:1联通内部员工 2合作方账号/招标代理") + private String sourceType; + + @ApiModelProperty(value = "联通邮箱") + private String unicomEmail; + + @ApiModelProperty(value = "合作方账号") + private String cuecpAccount; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "") + private LocalDateTime updatetime; + + + @ApiModelProperty("当前页") + @NotNull + @Min(0) + private Integer pageNo; + + @ApiModelProperty("每页显示条数") + @NotNull + @Min(0) + private Integer pageSize; +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseUserToken.java b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseUserToken.java new file mode 100644 index 0000000..d245310 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BaseUserToken.java @@ -0,0 +1,54 @@ +package com.chinaunicom.mall.ebtp.login.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** +* 实体类 BaseUserToken- +* +* @author yss +*/ +@Data +@Accessors(chain = true) +@TableName(value = "base_user_token", autoResultMap = true) +@ApiModel(value = "BaseUserToken对象", description = "") +public class BaseUserToken implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId + @ApiModelProperty(value = "") + private String id; + + @ApiModelProperty(value = "") + private String userId; + + @ApiModelProperty(value = "") + private String token; + + @ApiModelProperty(value = "1 生效/0 失效") + private Integer state; + + private String userObject; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建时间") + private LocalDateTime createTime; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "有效时间") + private LocalDateTime validTime; + + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BuffeedImageVo.java b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BuffeedImageVo.java new file mode 100644 index 0000000..95cd4ab --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/BuffeedImageVo.java @@ -0,0 +1,12 @@ +package com.chinaunicom.mall.ebtp.login.entity; + +import lombok.Data; + +import java.awt.image.BufferedImage; + +@Data +public class BuffeedImageVo { + + private String code; + private BufferedImage image; +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/entity/EshopMenuConverter.java b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/EshopMenuConverter.java new file mode 100644 index 0000000..0b82edf --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/EshopMenuConverter.java @@ -0,0 +1,29 @@ +package com.chinaunicom.mall.ebtp.login.entity; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class EshopMenuConverter { + private static final long serialVersionUID = 1L; + @ApiModelProperty("主键") + private String menuId; + @ApiModelProperty("路由地址") + private String path; + @ApiModelProperty("菜单名称") + private String name; + @ApiModelProperty("菜单图标") + private String icon; + @ApiModelProperty("系统标识") + private String menuScope; + @ApiModelProperty("地市等级标识") + private String menuOu; + @ApiModelProperty("是否顶级标识:0 是,1 否") + private Integer isTop; + @ApiModelProperty("菜单图标") + private List children; + @ApiModelProperty("feign调用成功或失败的标识 true:为feign调用成功 down:feign调用失败") + private String feignFlag; +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/entity/EshopMenuConverterChildren.java b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/EshopMenuConverterChildren.java new file mode 100644 index 0000000..1cdc4f1 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/EshopMenuConverterChildren.java @@ -0,0 +1,14 @@ +package com.chinaunicom.mall.ebtp.login.entity; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class EshopMenuConverterChildren { + @ApiModelProperty("路由地址") + private String path; + @ApiModelProperty("菜单名称") + private String name; + @ApiModelProperty("外链标识(N-非外链、Y-外链,S-3.0内部外链)") + private String frame; +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/entity/EshopMenuPO.java b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/EshopMenuPO.java new file mode 100644 index 0000000..6d19806 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/EshopMenuPO.java @@ -0,0 +1,79 @@ +package com.chinaunicom.mall.ebtp.login.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + *

+ * 菜单权限表 + *

+ * + * @author zhqbin + * @since 2025-04-10 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("eshop_menu") +@ApiModel(value="EshopMenuPO对象", description="菜单权限表") +public class EshopMenuPO extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId(value = "menu_id") + private String menuId; + + @ApiModelProperty(value = "菜单名称") + private String menuName; + + @ApiModelProperty(value = "父菜单ID") + private String parentId; + + @ApiModelProperty(value = "显示顺序") + private Integer menuOrder; + + @ApiModelProperty(value = "路由地址") + private String menuUrl; + + @ApiModelProperty(value = "组件地址") + private String componet; + + @ApiModelProperty(value = "是否为外链(Y-是 N-否)") + private String menuFrame; + + @ApiModelProperty(value = "菜单类型(menu-菜单 folder-目录 operation-操作)") + private String menuType; + + @ApiModelProperty(value = "显示状态(show-显示 hide-隐藏)") + private String menuVisible; + + @ApiModelProperty(value = "菜单状态(valid-正常 invalid-停用)") + private String menuStatus; + + @ApiModelProperty(value = "权限标识") + private String menuPerms; + + @ApiModelProperty(value = "菜单图标") + private String menuIcon; + + @ApiModelProperty(value = "系统标识") + private String menuScope; + + @ApiModelProperty(value = "地市等级标识") + private String menuOu; + + @ApiModelProperty(value = "是否可授权(Y-是 N-否)") + private String menuAuth; + + @ApiModelProperty(value = "是否悬浮(Y-是 N-否)") + private String menuSuspension; + + @ApiModelProperty(value = "是否默认展示标识 (Y-是 N-否)") + private String menuDefault; + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/entity/EshopMenuQuery.java b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/EshopMenuQuery.java new file mode 100644 index 0000000..7f2cd26 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/entity/EshopMenuQuery.java @@ -0,0 +1,61 @@ +package com.chinaunicom.mall.ebtp.login.entity; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; +import java.util.Map; + +@Data +public class EshopMenuQuery { + @ApiModelProperty("角色ID") + private String roleId; + @ApiModelProperty("主键") + private String menuId; + @ApiModelProperty("菜单名称") + private String menuName; + @ApiModelProperty("父菜单ID") + private String parentId; + @ApiModelProperty("显示顺序") + private Integer menuOrder; + @ApiModelProperty("路由地址") + private String menuUrl; + @ApiModelProperty("组件地址") + private String componet; + @ApiModelProperty("是否为外链(Y-是 N-否)") + private String menuFrame; + @ApiModelProperty("菜单类型(menu-菜单 folder-目录 operation-操作)") + private String menuType; + @ApiModelProperty("显示状态(show-显示 hide-隐藏)") + private String menuVisible; + @ApiModelProperty("菜单状态(valid-正常 invalid-停用)") + private String menuStatus; + @ApiModelProperty("权限标识") + private String menuPerms; + @ApiModelProperty("菜单图标") + private String menuIcon; + @ApiModelProperty("菜单范围") + private String menuScope; + @ApiModelProperty("地市等级标识") + private String menuOu; + @ApiModelProperty("菜单id集合") + private List menuIdList; + @ApiModelProperty("角色ID集合") + private List roleIdList; + @ApiModelProperty("集团、省(市)角色标识 0 集团, 1 省(市)") + private String classFlag; + @ApiModelProperty("角色ID集合 key为角色id value为集团、省(市)标识") + private List> roleMap; + @ApiModelProperty("是否可授权(Y-是 N-否)") + private String menuAuth; + @ApiModelProperty("是否悬浮(Y-是 N-否)") + private String menuSuspension; + @ApiModelProperty("角色范围") + private String roleScope; + @ApiModelProperty("中心编码") + private String centerCode; + @ApiModelProperty("操作标识(add-新增 edit-修改)") + private String operationType; + @ApiModelProperty("是否默认展示标识 (Y-是 N-否)") + private String menuDefault; +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/service/BaseUserService.java b/src/main/java/com/chinaunicom/mall/ebtp/login/service/BaseUserService.java new file mode 100644 index 0000000..3ba711e --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/service/BaseUserService.java @@ -0,0 +1,28 @@ +package com.chinaunicom.mall.ebtp.login.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.chinaunicom.mall.ebtp.cloud.security.starter.entity.SecurityEntity; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser; +import com.chinaunicom.mall.ebtp.common.base.service.IBaseService; +import com.chinaunicom.mall.ebtp.login.entity.BaseSelf; +import com.chinaunicom.mall.ebtp.login.entity.BaseUser; +import com.chinaunicom.mall.ebtp.login.entity.BaseUserSelect; +import com.chinaunicom.mall.ebtp.login.entity.BaseUserSelectVo; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 对数据表 base_user 操作的 service + * @author yss + * + */ +public interface BaseUserService extends IBaseService { + + BaseSelf idcardLogin(String account, String password); + String getUserHost(); + BaseSelf getRequestUser(); + void setCookie(HttpServletResponse response, String name, String value); + + SecurityEntity bdCheckToken(String token); +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/service/BaseUserTokenService.java b/src/main/java/com/chinaunicom/mall/ebtp/login/service/BaseUserTokenService.java new file mode 100644 index 0000000..df1a0cb --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/service/BaseUserTokenService.java @@ -0,0 +1,17 @@ +package com.chinaunicom.mall.ebtp.login.service; + + +import com.chinaunicom.mall.ebtp.common.base.service.IBaseService; +import com.chinaunicom.mall.ebtp.login.entity.BaseUserToken; + +/** + * 对数据表 base_user_token 操作的 service + * @author yss + * + */ +public interface BaseUserTokenService extends IBaseService { + + + boolean refreshToken(BaseUserToken baseUserToken); + boolean saveToken(String id, String userId, String token); +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/service/EshopMenuService.java b/src/main/java/com/chinaunicom/mall/ebtp/login/service/EshopMenuService.java new file mode 100644 index 0000000..5a33d9e --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/service/EshopMenuService.java @@ -0,0 +1,27 @@ +package com.chinaunicom.mall.ebtp.login.service; + + +import com.chinaunicom.mall.ebtp.login.entity.EshopMenuConverter; +import com.chinaunicom.mall.ebtp.login.entity.EshopMenuQuery; + +import java.util.List; + +/** + *

+ * 菜单权限表 服务类 + *

+ * + * @author wangwj + * @since 2020-12-08 + */ +public interface EshopMenuService { + /** + * 根据角色查询顶级权限 + * @param body + * @return BasePageResponse + * @author chentao + * @date 2021-1-13 + * @update [序号][日期YYYY-MM-DD] [更改人姓名][变更描述] + */ + List findTopMenuList(EshopMenuQuery body); +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/service/impl/BaseUserServiceImpl.java b/src/main/java/com/chinaunicom/mall/ebtp/login/service/impl/BaseUserServiceImpl.java new file mode 100644 index 0000000..320fb47 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/service/impl/BaseUserServiceImpl.java @@ -0,0 +1,307 @@ +package com.chinaunicom.mall.ebtp.login.service.impl; + + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.chinaunicom.mall.ebtp.cloud.security.starter.entity.AuthorityEntity; +import com.chinaunicom.mall.ebtp.cloud.security.starter.entity.SecurityEntity; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser; +import com.chinaunicom.mall.ebtp.common.base.service.IBaseCacheUserService; +import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl; +import com.chinaunicom.mall.ebtp.common.exception.common.CommonExceptionEnum; +import com.chinaunicom.mall.ebtp.login.common.Constants; +import com.chinaunicom.mall.ebtp.login.common.RSA; +import com.chinaunicom.mall.ebtp.login.dao.BaseUserMapper; +import com.chinaunicom.mall.ebtp.login.entity.*; +import com.chinaunicom.mall.ebtp.login.service.BaseUserService; +import com.chinaunicom.mall.ebtp.login.service.BaseUserTokenService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.annotation.Resource; +import javax.crypto.BadPaddingException; +import javax.servlet.http.Cookie; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.math.BigInteger; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; + +/** + * 对数据表 base_user 操作的 serviceImpl + * @author yss + * + */ +@Slf4j +@Service +public class BaseUserServiceImpl extends BaseServiceImpl implements BaseUserService { + + @Autowired + private BaseUserMapper baseUserMapper; + + @Value("${login.password.privateKey}") + private String privateKey; + @Value("${login.password.publickey}") + private String publickey; + @Value("${login.token.time_limit}") + private String valid_time_limit; + @Resource + private IBaseCacheUserService iBaseCacheUserService; + @Resource + private BaseUserTokenService baseUserTokenService; + + @Autowired(required = false) + @Qualifier("cacheRedisTemplate") + private RedisTemplate redisTemplate; + + + @Override + public BaseSelf idcardLogin(String account, String password) { + try { + + List userList = this.list(new LambdaQueryWrapper().eq(BaseUser::getAccount, account).eq(BaseUser::getStatus,Constants.USER_STATUS_LIVE)); + if (userList == null||userList.size()==0) { + throw new RuntimeException("无效用户!"); + } + BaseUser user = userList.get(0); + + if(Constants.USER_STATUS_FREEZE.equals(user.getStatus())){ + throw new RuntimeException("账号已冻结!"); + } + + byte[] decode = RSA.decryptByPrivateKey(RSA.decryptBASE64(password), privateKey); + + String pw = new String(decode); + System.out.println("公钥解密结果:" + pw); + + if (!this.encode(pw).equals(user.getPassword())) { + throw new RuntimeException("认证密码错误!"); + } + + return userLogin(user); + }catch (BadPaddingException e){ + log.error("RSA解密异常",e); + CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("认证密码错误",true); + }catch (Exception e){ + log.error("登录异常",e); + CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName(e.getMessage(),true); + } + + return null; + } + + private BaseSelf userLogin(BaseUser user) { + BaseSelf self = new BaseSelf(); + String token = getToken(user.getId()); + user.setPassword("****************************"); + self.setUser(user); + String ip = getUserHost(); + self.setIp(ip); + self.setToken(token); + + return self; + } + + private String getToken(String userId){ + + List tokenList = baseUserTokenService.list((new LambdaQueryWrapper().eq(BaseUserToken::getUserId,userId) + .gt(BaseUserToken::getValidTime, LocalDateTime.now()).eq(BaseUserToken::getState,Constants.USER_TOKEN_STATUS_E).orderByDesc(BaseUserToken::getValidTime))); + String token = UUID.randomUUID().toString(); + BaseUserToken tokenObj = new BaseUserToken(); + if(tokenList!=null&&tokenList.size()>0){ + tokenObj = tokenList.get(0); + token = tokenObj.getToken(); + }else{ + tokenObj.setUserId(userId); + tokenObj.setToken(token); + tokenObj.setState(Constants.USER_TOKEN_STATUS_E); + tokenObj.setCreateTime(LocalDateTime.now()); + } + SecurityEntity securityEntity = getUserObjectByUserId(userId); + + tokenObj.setUserObject(JSONObject.toJSONString(securityEntity)); + baseUserTokenService.refreshToken(tokenObj); + return token; + } + + @Override + public void setCookie(HttpServletResponse response,String name, String value) { + Cookie cookie = new Cookie(name, value); + cookie.setPath("/"); + cookie.setMaxAge(-1); + response.addCookie(cookie); + } + + public String encode(String str) { + // 生成一个MD5加密计算摘要 + try { + MessageDigest md = MessageDigest.getInstance("MD5"); + // 计算md5函数 + md.update(str.getBytes()); + // digest()最后确定返回md5 hash值,返回值为8为字符串。因为md5 hash值是16位的hex值,实际上就是8位的字符 + // BigInteger函数则将8位的字符串转换成16位hex值,用字符串来表示;得到字符串形式的hash值 + return new BigInteger(1, md.digest()).toString(16); + } catch (NoSuchAlgorithmException e) { + + } + return ""; + } + + @Override + public String getUserHost() { + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()) + .getRequest(); + String ip = request.getHeader("x-forwarded-for"); + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("WL-Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getRemoteAddr(); + } + return "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : ip; + } + + @Override + public BaseSelf getRequestUser() { + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + + BaseSelf self = new BaseSelf(); + try { + String token = request.getHeader("Authorization-exper"); + token = token.replaceAll("Bearer ", ""); + + CommonExceptionEnum.LOGIN_EXPIRATION.customValidName("无认证信息","".equals(token)); + if(redisTemplate.hasKey(token)){ + self=(BaseSelf)redisTemplate.opsForValue().get(token); + redisTemplate.expire(token,15, TimeUnit.MINUTES); + }else{ + BaseCacheUser user=iBaseCacheUserService.getCacheUser(); + CommonExceptionEnum.LOGIN_EXPIRATION.customValidName("账号不存在",user==null || StringUtils.isBlank(user.getUserId())); + List baseUserList = this.list((new LambdaQueryWrapper().eq(BaseUser::getAccount,user.getUserId()))); + if(baseUserList!=null&&baseUserList.size()>0){ + self = userLogin(baseUserList.get(0)); + self.setToken(token); + redisTemplate.opsForValue().getAndSet(token,self); + redisTemplate.expire(token,15, TimeUnit.MINUTES); + } + } + }catch (Exception e){ + log.error("用户账号异常:{}",e); + CommonExceptionEnum.LOGIN_EXPIRATION.customValidName("用户账号异常:请重新登陆!",true); + } + return self; + } + + public SecurityEntity getUserObjectByUserId(String userId){ + + SecurityEntity securityEntity = new SecurityEntity(); + + BaseUser baseUser = this.baseUserMapper.selectById(userId); + securityEntity.setUserid(baseUser.getAccount()); + securityEntity.setStaffId(baseUser.getAccount()); + securityEntity.setUsername(baseUser.getName()); + securityEntity.setStaffName(baseUser.getName()); + + List roleOrgnList = new ArrayList<>(); + List roleOrgnVoList = this.baseUserMapper.selectOrgnByUserId(baseUser.getId()); + roleOrgnVoList.forEach(ro->{ + BaseRoleOrgn baseRoleOrgn = new BaseRoleOrgn(); + BeanUtils.copyProperties(ro,baseRoleOrgn); + roleOrgnList.add(baseRoleOrgn); + }); + + List droleOrgnList = roleOrgnList.stream().distinct().collect(Collectors.toList()); + + List list = new ArrayList<>(); + List authorityList = new ArrayList<>(); + + droleOrgnList.forEach(droleOrgn->{ + List ro2List = roleOrgnVoList.stream().filter(ro2->ro2.getRoleId().equals(droleOrgn.getRoleId())).distinct().collect(Collectors.toList()); + List baseOrgnRList = new ArrayList<>(); + BaseRoleOrgnVo orgnVo = ro2List.get(0); + securityEntity.setOu(orgnVo.getOrgnId()); + securityEntity.setOuName(orgnVo.getOrgnName()); + securityEntity.setPartnerId(orgnVo.getOrgnId()); + securityEntity.setPartnerName(orgnVo.getOrgnName()); + + ro2List.forEach(ro3->{ + BaseOrgnR baseOrgnR = new BaseOrgnR(); + BeanUtils.copyProperties(ro3,baseOrgnR); + baseOrgnRList.add(baseOrgnR); + }); + droleOrgn.setBaseOrgnList(baseOrgnRList); + list.add(droleOrgn); + + AuthorityEntity authorityEntity = new AuthorityEntity(); + BeanUtils.copyProperties(droleOrgn,authorityEntity); + authorityEntity.setRoleScope("EBTP"); + authorityList.add(authorityEntity); + }); + + securityEntity.setAuthorityList(authorityList); + // securityEntity.setRoleOrgnList(list); + return securityEntity; + } + + /** + * 本地token换取用户信息 + * @param token + * @return + */ + @Override + public SecurityEntity bdCheckToken(String token){ + List tokenList = baseUserTokenService.list((new LambdaQueryWrapper().eq(BaseUserToken::getToken,token) + .gt(BaseUserToken::getValidTime, LocalDateTime.now()).eq(BaseUserToken::getState,Constants.USER_TOKEN_STATUS_E).orderByDesc(BaseUserToken::getValidTime))); + CommonExceptionEnum.LOGIN_EXPIRATION.assertListNotNullByName("",tokenList); + BaseUserToken userToken = tokenList.get(0); + CommonExceptionEnum.LOGIN_EXPIRATION.assertStringNotNullByKey("",tokenList.get(0).getUserObject()); + SecurityEntity securityEntity = JSON.parseObject(userToken.getUserObject(), SecurityEntity.class); + userToken.setValidTime(LocalDateTime.now().plusMinutes(Long.valueOf(valid_time_limit))); + + this.baseUserTokenService.saveOrUpdate(userToken); + + return securityEntity; + } + + public static void main(String args[]) throws Exception { +// String rsa = "ObMojRm4G31O91lJDyV7rT7fmkJ0x/tMz+t2gZa1M5RtZm6cTiaAT6eblAQzjuMbNNU6DoD/YloITzn2jnQH4g2nMj1Y8TXdSEK/q8QSoLb8QVb26SuMt1xuv1hklU0yzkqCtGW7GnRArMMlgQjh04GwAcj6TikEFjKvEGGETm4="; + String publicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCThndxa2d5wd1XgZw/OoRHyqqhEKn2Vj8esINcPHRDKz/eDxrHT874ssYfRdkQPU4d13yLhywu30D0J/IusB1Aay0Kl7fszYztP1Yg7Y8Gmiwynj4bFooIFZk5l0wJdxciXA4FgjK+oD4Un/LhP20k5OSQ+QLMDBHBJTD/uk9cxQIDAQAB"; + String privateKey = "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAJOGd3FrZ3nB3VeBnD86hEfKqqEQqfZWPx6wg1w8dEMrP94PGsdPzviyxh9F2RA9Th3XfIuHLC7fQPQn8i6wHUBrLQqXt+zNjO0/ViDtjwaaLDKePhsWiggVmTmXTAl3FyJcDgWCMr6gPhSf8uE/bSTk5JD5AswMEcElMP+6T1zFAgMBAAECgYAk2fsuTukbRi03db4FIWX31Q2IjHQYf/TmgqtduBBG0x/yJY3H6gzGnUnWeAlAAEBqPfDzncGQt94u32ek+ANmN161r22eBqoihHJQsCD3n3uFw8fdCRzpP9fiJVUFf3Yf/Di2G6cHKJ1Bs8H2GtmajeUUgjNNvJdQXLsTU2DBoQJBAPV9Luzcb62BO9GsL/C6nrxOEPnfTOvpQpBDjb4JnnS8G4CRoEERB8y0p/npD7wrhwG1aEpOj/6XUUz8yAqrA50CQQCZ139/lX0W6TGxZF5RQu9PlKW5/K74Ysd6tvuom93bwLG4zpCgfIoH3mSkWtKENvob7CV07T/irYppa/bIpRlJAkARnsqfdbMOYRhKFHHcdYivO2s8hCqhRDzi3fZujYIyHs5ajBlUkkRdDRqBdZkLiJRIKx0xODJds77CJ+Kz4VKBAkAUf14Bhc1w7Aku9YyLjzuLgubB7STy+1ZQx2iognwA95+2W+9xMqbBfaQzMdayvxB7/+7NsX69mRnEChqLiVPhAkEA6W9YOoZQlL6yCYE4GE3W38g0m7lq68XuVFgCpULEfR3s5bsPcqxC4xM29Ry80cEv6fAE+jht7JUq0ar/tRqfNA=="; + + // String p = "jxsnmqYTsskthlKdpffZ/q/gKfPp9kQpmiNaLg2LqNvyoTnsm+cu7q1ZhmcuK/QH6BKV38dXFgqw3kmEu4X/CKoMHP83vwBSxZhF/uk0SQixRBtpvIIJ/M7XFzyZnUD1u3beEiwbuoWjhtjqq/ImWn7nB54ldc3T/S/lyMS4+Jc="; +// String p2 ="jxsnmqYTsskthlKdpffZ/q/gKfPp9kQpmiNaLg2LqNvyoTnsm+cu7q1ZhmcuK/QH6BKV38dXFgqw3kmEu4X/CKoMHP83vwBSxZhF/uk0SQixRBtpvIIJ/M7XFzyZnUD1u3beEiwbuoWjhtjqq/ImWn7nB54ldc3T/S/lyMS4+Jc="; +// System.out.println(URLEncoder.encode(p,"utf-8")); +// System.out.println(RSA.decrypt(p2,privateKey)); + + BaseUserServiceImpl baseUserService = new BaseUserServiceImpl(); + String mm = baseUserService.encode("Eshop2022"); + System.out.println(mm); + + String mm2 = RSA.encrypt("Eshop2022",publicKey); + + System.out.println(mm2); + + byte[] decode = RSA.decryptByPrivateKey(RSA.decryptBASE64(mm2), privateKey); + + String pw = new String(decode); + System.out.println(pw); + } +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/service/impl/BaseUserTokenServiceImpl.java b/src/main/java/com/chinaunicom/mall/ebtp/login/service/impl/BaseUserTokenServiceImpl.java new file mode 100644 index 0000000..9d51b32 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/service/impl/BaseUserTokenServiceImpl.java @@ -0,0 +1,45 @@ +package com.chinaunicom.mall.ebtp.login.service.impl; + + +import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl; +import com.chinaunicom.mall.ebtp.login.common.Constants; +import com.chinaunicom.mall.ebtp.login.dao.BaseUserTokenMapper; +import com.chinaunicom.mall.ebtp.login.entity.BaseUserToken; +import com.chinaunicom.mall.ebtp.login.service.BaseUserTokenService; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; + +/** + * 对数据表 base_user_token 操作的 serviceImpl + * @author yss + * + */ +@Service +public class BaseUserTokenServiceImpl extends BaseServiceImpl implements BaseUserTokenService { + + @Value("${login.token.time_limit}") + private String valid_time_limit; + + @Override + public boolean refreshToken(BaseUserToken baseUserToken){ + + baseUserToken.setValidTime(LocalDateTime.now().plusMinutes(Long.valueOf(valid_time_limit))); + return this.saveOrUpdate(baseUserToken); + } + + @Override + public boolean saveToken(String id, String userId, String token){ + BaseUserToken userToken = new BaseUserToken(); + userToken.setId(id); + userToken.setUserId(userId); + userToken.setToken(token); + userToken.setState(Constants.USER_TOKEN_STATUS_E); + if(id==null||"".equals(id)) { + userToken.setCreateTime(LocalDateTime.now()); + } + userToken.setValidTime(LocalDateTime.now().plusMinutes(Long.valueOf(valid_time_limit))); + return this.saveOrUpdate(userToken); + } +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/service/impl/EshopMenuServiceImpl.java b/src/main/java/com/chinaunicom/mall/ebtp/login/service/impl/EshopMenuServiceImpl.java new file mode 100644 index 0000000..5675ee0 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/service/impl/EshopMenuServiceImpl.java @@ -0,0 +1,41 @@ +package com.chinaunicom.mall.ebtp.login.service.impl; + +import com.chinaunicom.mall.ebtp.login.dao.EshopMenuMapper; +import com.chinaunicom.mall.ebtp.login.entity.EshopMenuConverter; +import com.chinaunicom.mall.ebtp.login.entity.EshopMenuQuery; +import com.chinaunicom.mall.ebtp.login.service.EshopMenuService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + *

+ * 菜单权限表 服务实现类 + *

+ * + * @author wangwj + * @since 2020-12-08 + */ +@Slf4j +@Service +public class EshopMenuServiceImpl implements EshopMenuService { + + @Autowired + private EshopMenuMapper eshopMenuMapper; + + /** + * 根据角色查询顶级权限 + * + * @param body + * @return BasePageResponse + * @author chentao + * @date 2021-1-13 + * @update [序号][日期YYYY-MM-DD] [更改人姓名][变更描述] + */ + @Override + public List findTopMenuList(EshopMenuQuery body) { + return this.eshopMenuMapper.findTopMenuList(body.getRoleId()); + } +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/utils/HttpsUtils.java b/src/main/java/com/chinaunicom/mall/ebtp/login/utils/HttpsUtils.java new file mode 100644 index 0000000..694a39c --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/utils/HttpsUtils.java @@ -0,0 +1,129 @@ +package com.chinaunicom.mall.ebtp.login.utils; + +import com.chinaunicom.mall.ebtp.common.exception.common.CommonExceptionEnum; +import lombok.extern.slf4j.Slf4j; + +import java.io.*; +import java.net.HttpURLConnection; +import java.net.URL; +import java.util.HashMap; +import java.util.Map; + +@Slf4j +public class HttpsUtils { + public static String refreshHttpPost(String path, String data,String clientId){ + String str = ""; + try { + log.info("-------path:"+path); + log.info("-------data:"+data); + URL url = new URL(path); + HttpURLConnection conn = (HttpURLConnection)url.openConnection(); + conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); + conn.setRequestProperty("clientId", clientId); + conn.setDoOutput(true); + conn.setDoInput(true); + conn.setRequestMethod("POST"); + OutputStream out = conn.getOutputStream(); + out.write(data.getBytes()); + out.flush(); + out.close(); + InputStream is = conn.getInputStream(); + BufferedReader br = new BufferedReader(new InputStreamReader(is)); + + for(String line = br.readLine(); line != null; line = br.readLine()) { + str = new String(line.getBytes(), "UTF-8"); + System.out.println(str); + } + + is.close(); + conn.disconnect(); + } catch (Exception var9) { + CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("请求code换token接口异常"+var9.getMessage(),true); + log.error("请求code换token接口异常",var9); + } + + return str; + } + public static String authorizationCodeHttpPost(String path){ + String str = ""; + try { + URL url = new URL(path); + HttpURLConnection conn = (HttpURLConnection)url.openConnection(); + PrintWriter out = null; + conn.setRequestProperty("Content-Type", "application/json; charset=UTF-8"); + conn.setDoOutput(true); + conn.setDoInput(true); + conn.setRequestMethod("POST"); + out = new PrintWriter(conn.getOutputStream()); + out.flush(); + InputStream is = conn.getInputStream(); + BufferedReader br = new BufferedReader(new InputStreamReader(is)); + for(String line = br.readLine(); line != null; line = br.readLine()) { + str = new String(line.getBytes(), "UTF-8"); + System.out.println(str); + } + + is.close(); + conn.disconnect(); + } catch (Exception var9) { + CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("请求code换token接口异常"+var9.getMessage(),true); + log.error("请求code换token接口异常",var9); + } + + return str; + } + + public static void main(String args[]){ + Map map = new HashMap(); + map.put("identityCard","331081198909263032"); + map.put("password","041461f3e0621be23917ab9c74294083adb9571b82537bc46a2c553938445870e99905a3bf5507e5be462b403954ea4205c5578e3431dec8e3dd8c71ef3b3f615363fe269dea415186188458bb17e6e0d2a6a2f97c58883fb68839748f465df48fc5d5a1961f68"); + map.put("captcha","WRZN"); + map.put("token","toxc5izzhjnjmgc3"); + + map.put("clientId","KgPEkttG"); + + String url = "http://10.242.31.158:8100/auth/expertLogin";//请求地址 + String json = ""; + for(String key :map.keySet()){ + if(!"".equals(json)){ + json+="&"; + } + json+=key+"="+map.get(key); + } + refreshHttpPost(url,json,"KgPEkttG"); + } + + public static String expertHttpPost(String path, String data,String clientId){ + String str = ""; + try { + log.info("-------path:"+path); + log.info("-------data:"+data); + URL url = new URL(path); + HttpURLConnection conn = (HttpURLConnection)url.openConnection(); + conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); + conn.setRequestProperty("clientId", clientId); + conn.setDoOutput(true); + conn.setDoInput(true); + conn.setRequestMethod("POST"); + OutputStream out = conn.getOutputStream(); + out.write(data.getBytes("utf-8")); + out.flush(); + out.close(); + InputStream is = conn.getInputStream(); + BufferedReader br = new BufferedReader(new InputStreamReader(is)); + + for(String line = br.readLine(); line != null; line = br.readLine()) { + str = new String(line.getBytes(), "UTF-8"); + System.out.println(str); + } + + is.close(); + conn.disconnect(); + } catch (Exception var9) { + CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("专家登录异常"+var9.getMessage(),true); + log.error("专家登录异常",var9); + } + + return str; + } +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/login/vo/LoginUserVo.java b/src/main/java/com/chinaunicom/mall/ebtp/login/vo/LoginUserVo.java new file mode 100644 index 0000000..8a57a5f --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/login/vo/LoginUserVo.java @@ -0,0 +1,14 @@ +package com.chinaunicom.mall.ebtp.login.vo; + +import io.swagger.annotations.ApiModel; +import lombok.Data; + +@Data +@ApiModel("登录用户信息") +public class LoginUserVo { + + private String password; + private String account; + private String identifying; + private String encryptValue; +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/BizSupplierManageApplication.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/BizSupplierManageApplication.java new file mode 100644 index 0000000..32e024c --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/BizSupplierManageApplication.java @@ -0,0 +1,24 @@ +package com.chinaunicom.zyhy.ebtp.supplier; + +import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; +import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.context.annotation.ComponentScan; + +@SpringBootApplication(exclude = { + DataSourceAutoConfiguration.class, + DruidDataSourceAutoConfigure.class +}) +@EnableFeignClients +@ComponentScan("com.chinaunicom.mall.ebtp.common.*,com.chinaunicom.zyhy.ebtp.*") +@MapperScan({"com.chinaunicom.zyhy.ebtp.supplier.**.dao"}) +public class BizSupplierManageApplication { + + public static void main(String[] args) { + SpringApplication.run(BizSupplierManageApplication.class, args); + } + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/constant/SupplierRoleConstant.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/constant/SupplierRoleConstant.java new file mode 100644 index 0000000..a7dec94 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/constant/SupplierRoleConstant.java @@ -0,0 +1,5 @@ +package com.chinaunicom.zyhy.ebtp.supplier.base.constant; + +public interface SupplierRoleConstant { + String SUPPLIER_ROLE_AGENT_ID = "121"; +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/controller/SupplierBaseController.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/controller/SupplierBaseController.java new file mode 100644 index 0000000..d46db83 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/controller/SupplierBaseController.java @@ -0,0 +1,129 @@ +package com.chinaunicom.zyhy.ebtp.supplier.base.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.zyhy.ebtp.supplier.base.dto.ContactDTO; +import com.chinaunicom.zyhy.ebtp.supplier.base.dto.CoscoSupplierBaseDTO; +import com.chinaunicom.zyhy.ebtp.supplier.base.entity.CoscoSupplierBase; +import com.chinaunicom.zyhy.ebtp.supplier.base.service.ISupplierBaseService; +import com.chinaunicom.zyhy.ebtp.supplier.base.vo.ContactSearchVO; +import com.chinaunicom.zyhy.ebtp.supplier.base.vo.SupplierAccessedOfMyOrgVO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + +/** + * 中远海运供应商基本信息Controller + * @author Craft + * @date 2024-01-29 + */ +@Validated +@RestController +@RequestMapping("/supplier/base") +@Api(tags = "中远海运供应商基本信息管理") +public class SupplierBaseController { + + @Resource + private ISupplierBaseService coscoSupplierBaseService; + + /** + * 插入新数据 + * + * @param coscoSupplierBase 实体类 + * @return 返回结果 + */ + @ApiOperation("插入新数据") + @PostMapping("") + public BaseResponse insert(@ApiParam(value = "对象数据", required = true) @RequestBody @Valid CoscoSupplierBase coscoSupplierBase) { + return BaseResponse.success(coscoSupplierBaseService.save(coscoSupplierBase)); + } + + /** + * 修改数据 + * + * @param coscoSupplierBase 实体类 + * @return 返回结果 + */ + @ApiOperation("修改数据") + @PostMapping("/update") + public BaseResponse update(@ApiParam(value = "对象数据", required = true) @RequestBody CoscoSupplierBase coscoSupplierBase) { + return BaseResponse.success(coscoSupplierBaseService.updateById(coscoSupplierBase)); + } + + /** + * 查询数据 + * + * @param id 实体类主键 + * @return 返回结果 + */ + @ApiOperation("查询数据") + @GetMapping("/{id}") + public BaseResponse get(@ApiParam(value = "主键id", required = true) @PathVariable String id) { + return BaseResponse.success(coscoSupplierBaseService.getById(id)); + } + + /** + * 删除数据 + * + * @param id 实体ID + * @return 返回结果 + */ + @ApiOperation("删除数据") + @GetMapping("/delete/{id}") + public BaseResponse delete(@ApiParam(value = "主键id", required = true) @PathVariable String id) { + return BaseResponse.success(coscoSupplierBaseService.removeById(id)); + } + + /** + * 查询分页数据 + * + * @param pageNum 页码 + * @param pageSize 每页数量 + * @param name 供应商名称(可选) + * @return 返回结果 + */ + @ApiOperation("查询分页数据") + @GetMapping("/getPage") + public BaseResponse> getPage( + @ApiParam(value = "页码", required = true) @RequestParam(defaultValue = "1") Integer pageNum, + @ApiParam(value = "每页数量", required = true) @RequestParam(defaultValue = "10") Integer pageSize, + @ApiParam(value = "供应商名称") @RequestParam(required = false) String name) { + + Page page = new Page<>(pageNum, pageSize); + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (name != null && !name.isEmpty()) { + queryWrapper.like("name", name); + } + + return BaseResponse.success(coscoSupplierBaseService.page(page, queryWrapper)); + } + + @ApiOperation("查询ToAgency分页数据") + @PostMapping("/getToAgencyPage") + public BaseResponse> getProviderToAgencyPage(@RequestBody SupplierAccessedOfMyOrgVO coscoSupplierBase) { + + return BaseResponse.success(coscoSupplierBaseService.getAccessedOfMyOrgPage(coscoSupplierBase)); + } + @ApiOperation("getProviderDetail数据") + @GetMapping("/getProviderForAgency") + public BaseResponse getProviderForAgency(@RequestParam("providerId") String providerId) { + + return BaseResponse.success(coscoSupplierBaseService.getProviderForAgency(providerId)); + } + + @ApiOperation("selectByMainContactId") + @PostMapping("/supplierContact/agents") + public BaseResponse> selectByMainContactId(@RequestBody ContactSearchVO searchVO) { + + return BaseResponse.success(coscoSupplierBaseService.selectByMainContactId(searchVO)); + } + + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/dao/SupplierBaseMapper.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/dao/SupplierBaseMapper.java new file mode 100644 index 0000000..c31aaae --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/dao/SupplierBaseMapper.java @@ -0,0 +1,21 @@ +package com.chinaunicom.zyhy.ebtp.supplier.base.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.chinaunicom.zyhy.ebtp.supplier.base.dto.CoscoSupplierBaseDTO; +import com.chinaunicom.zyhy.ebtp.supplier.base.entity.CoscoSupplierBase; +import com.chinaunicom.zyhy.ebtp.supplier.base.vo.SupplierAccessedOfMyOrgVO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 中远海运供应商基本信息Mapper接口 + * @author Craft + * @date 2024-01-29 + */ +@Mapper +public interface SupplierBaseMapper extends BaseMapper { +IPage getAccessedOfMyOrgPage(IPage page,@Param("coscoSupplierBase") SupplierAccessedOfMyOrgVO coscoSupplierBase); + + CoscoSupplierBaseDTO getProviderForAgency(String providerId); +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/dao/SupplierContactMapper.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/dao/SupplierContactMapper.java new file mode 100644 index 0000000..cb4ef26 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/dao/SupplierContactMapper.java @@ -0,0 +1,22 @@ +package com.chinaunicom.zyhy.ebtp.supplier.base.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.chinaunicom.zyhy.ebtp.supplier.base.dto.ContactDTO; +import com.chinaunicom.zyhy.ebtp.supplier.base.entity.SupplierContact; +import com.chinaunicom.zyhy.ebtp.supplier.base.vo.ContactSearchVO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 中远海运供应商联系人Mapper接口 + * @author Craft + * @date 2024-01-29 + */ +@Mapper +public interface SupplierContactMapper extends BaseMapper { + + IPage selectByMainContactId(IPage page, @Param("searchVO") ContactSearchVO searchVO); +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/dto/ContactDTO.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/dto/ContactDTO.java new file mode 100644 index 0000000..4dc478d --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/dto/ContactDTO.java @@ -0,0 +1,16 @@ +package com.chinaunicom.zyhy.ebtp.supplier.base.dto; + +import com.chinaunicom.zyhy.ebtp.supplier.base.constant.SupplierRoleConstant; +import com.chinaunicom.zyhy.ebtp.supplier.base.entity.SupplierContact; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +@ApiModel(description = "中远海运供应商联系人DTO") +public class ContactDTO extends SupplierContact { + private String roleCode= SupplierRoleConstant.SUPPLIER_ROLE_AGENT_ID; + private String roleName; + private Boolean hasAgentRole; +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/dto/CoscoSupplierBaseDTO.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/dto/CoscoSupplierBaseDTO.java new file mode 100644 index 0000000..c691279 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/dto/CoscoSupplierBaseDTO.java @@ -0,0 +1,81 @@ +package com.chinaunicom.zyhy.ebtp.supplier.base.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 中远海运供应商基本信息DTO + * @author Craft + * @date 2024-01-29 + */ +@Data +@Accessors(chain = true) +@ApiModel(description = "中远海运供应商基本信息DTO") +public class CoscoSupplierBaseDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ApiModelProperty(value = "主键ID") + private String id; + + + + /** + * 企业名称 + */ + @ApiModelProperty(value = "企业名称") + private String name; + + + + + /** + * 供应商分类 -- 字典code + */ + @ApiModelProperty(value = "供应商分类 -- 字典code") + private String kindCode; + + /** + * 供应商分类 -- 字典名称 + */ + @ApiModelProperty(value = "供应商分类 -- 字典名称") + private String kindName; + + /** + * 商品类型 + */ + private String goodsTypeName; + + private String goodsTypeCode; + + + + + + + /** + * 是否是代理商 + */ + @ApiModelProperty(value = "是否是代理商,状态(页面显示未合作与失效状态供应商)") + private Integer agent; + + + + + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private LocalDateTime accessTime;//准入时间 + + private String accessUser;//准入人 +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/entity/CoscoSupplierBase.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/entity/CoscoSupplierBase.java new file mode 100644 index 0000000..4ad158f --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/entity/CoscoSupplierBase.java @@ -0,0 +1,314 @@ +package com.chinaunicom.zyhy.ebtp.supplier.base.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 中远海运供应商基本信息实体类 + * @author Craft + * @date 2024-01-29 + */ +@Data +@Accessors(chain = true) +@ApiModel(description = "中远海运供应商基本信息") +@TableName(value = "cosco_supplier_base", autoResultMap = true) +public class CoscoSupplierBase extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ApiModelProperty(value = "主键ID") + private String id; + + /** + * 身份类型 + */ + @ApiModelProperty(value = "身份类型") + private String type; + + /** + * 供应商分类 -- 字典code + */ + @ApiModelProperty(value = "供应商分类 -- 字典code") + private String kindCode; + + /** + * 供应商分类 -- 字典名称 + */ + @ApiModelProperty(value = "供应商分类 -- 字典名称") + private String kindName; + + /** + * 营业执照附件 + */ + @ApiModelProperty(value = "营业执照附件") + private String licenceAccessory; + + /** + * 营业执照有效期 + */ + @ApiModelProperty(value = "营业执照有效期") + private String licenceDate; + + /** + * 企业名称 + */ + @ApiModelProperty(value = "企业名称") + private String name; + + /** + * 英文名称 + */ + @ApiModelProperty(value = "英文名称") + private String engName; + + /** + * 统一社会信用代码 + */ + @ApiModelProperty(value = "统一社会信用代码") + private String socialCreditCode; + + /** + * 经营范围 + */ + @ApiModelProperty(value = "经营范围") + private String range; + + /** + * 注册地址 + */ + @ApiModelProperty(value = "注册地址") + private String regAddress; + + /** + * 办公地址 + */ + @ApiModelProperty(value = "办公地址") + private String workAddress; + + /** + * 母公司出资人信息 + */ + @ApiModelProperty(value = "母公司出资人信息") + private String parentCompanyInvestor; + + /** + * 企业法定代表人 + */ + @ApiModelProperty(value = "企业法定代表人") + private String legalPerson; + + /** + * 身份证 + */ + @ApiModelProperty(value = "身份证") + private String idCard; + + /** + * 企业性质 + */ + @ApiModelProperty(value = "企业性质") + private String nature; + + /** + * 注册资本 + */ + @ApiModelProperty(value = "注册资本") + private BigDecimal capital; + + /** + * 供应商类型 -- 字典 + */ + @ApiModelProperty(value = "供应商类型 -- 字典") + private String categoryTypeCode; + + /** + * 供应商类型 --字典名称 + */ + @ApiModelProperty(value = "供应商类型 --字典名称") + private String categoryTypeName; + + /** + * 联系人姓名 + */ + @ApiModelProperty(value = "联系人姓名") + private String contactsName; + + /** + * 联系人手机 + */ + @ApiModelProperty(value = "联系人手机") + private String contactsPhone; + + /** + * 联系人身份类别 + */ + @ApiModelProperty(value = "联系人身份类别") + private String contactsType; + + /** + * 联系人邮箱 + */ + @ApiModelProperty(value = "联系人邮箱") + private String contactsEmail; + + /** + * 固定电话 + */ + @ApiModelProperty(value = "固定电话") + private String telephone; + + /** + * 境外企业- 国家地区 + */ + @ApiModelProperty(value = "境外企业- 国家地区") + private String nation; + + /** + * 境外企业-增值税号VAT + */ + @ApiModelProperty(value = "境外企业-增值税号VAT") + private String vat; + + /** + * 境外企业-境外纳税人ID号 + */ + @ApiModelProperty(value = "境外企业-境外纳税人ID号") + private String taxpayerId; + + /** + * 境外企业-币种 + */ + @ApiModelProperty(value = "境外企业-币种") + private String currency; + + /** + * 供应商反商业贿赂承诺书 + */ + @ApiModelProperty(value = "供应商反商业贿赂承诺书") + private String commitment; + + /** + * 其他附件 + */ + @ApiModelProperty(value = "其他附件") + private String accessory; + + /** + * 姓名-- 个人 + */ + @ApiModelProperty(value = "姓名-- 个人") + private String personName; + + /** + * 联系电话-- 个人 + */ + @ApiModelProperty(value = "联系电话-- 个人") + private String personPhone; + + /** + * 开户行-- 个人 + */ + @ApiModelProperty(value = "开户行-- 个人") + private String personBank; + + /** + * 银行账号-- 个人 + */ + @ApiModelProperty(value = "银行账号-- 个人") + private String personAccount; + + /** + * 相关证照文件id + */ + @ApiModelProperty(value = "相关证照文件id") + private String licence; + + /** + * 供应商状态 是否合格 + */ + @ApiModelProperty(value = "供应商状态 是否合格") + private Integer status; + + /** + * 审批状态 + */ + @ApiModelProperty(value = "审批状态") + private Integer approveStatus; + + /** + * 创建者 + */ + @ApiModelProperty(value = "创建者") + private String createBy; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + /** + * 更新者 + */ + @ApiModelProperty(value = "更新者") + private String updateBy; + + /** + * 更新时间 + */ + @ApiModelProperty(value = "更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + /** + * 备注 + */ + @ApiModelProperty(value = "备注") + private String remark; + + /** + * 是否在黑名单 + */ + @ApiModelProperty(value = "是否在黑名单") + private Integer inBlacklist; + + /** + * 是否第一次登录 + */ + @ApiModelProperty(value = "是否第一次登录") + private Integer firstLogin; + + /** + * 是否是-退出供应商 + */ + @ApiModelProperty(value = "是否是-退出供应商") + private Integer exit; + + /** + * 是否是代理商 + */ + @ApiModelProperty(value = "是否是代理商") + private Integer agent; + + /** + * sap_code 约束付款编码 + */ + @ApiModelProperty(value = "sap_code 约束付款编码") + private String sapCode; +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/entity/SupplierContact.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/entity/SupplierContact.java new file mode 100644 index 0000000..b8a5da5 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/entity/SupplierContact.java @@ -0,0 +1,31 @@ +package com.chinaunicom.zyhy.ebtp.supplier.base.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +@ApiModel(description = "中远海运供应商基本信息") +@TableName(value = "cosco_supplier_contact", autoResultMap = true) +public class SupplierContact { + @ApiModelProperty(value = "主键ID") + private String id; + @ApiModelProperty(value = "姓名") + private String name; + @ApiModelProperty(value = "电话") + private String phone; + @ApiModelProperty(value = "邮件") + private String email; + @ApiModelProperty(value = "账号") + private String account; + @ApiModelProperty(value = "主联系人") + private String main; + @ApiModelProperty(value = "状态") + private String status; + @ApiModelProperty(value = "供应商基本信息表主键ID") + private String SupplierBaseId; + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/ISupplierBaseService.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/ISupplierBaseService.java new file mode 100644 index 0000000..77ed588 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/ISupplierBaseService.java @@ -0,0 +1,23 @@ +package com.chinaunicom.zyhy.ebtp.supplier.base.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.chinaunicom.zyhy.ebtp.supplier.base.dto.ContactDTO; +import com.chinaunicom.zyhy.ebtp.supplier.base.dto.CoscoSupplierBaseDTO; +import com.chinaunicom.zyhy.ebtp.supplier.base.entity.CoscoSupplierBase; +import com.chinaunicom.zyhy.ebtp.supplier.base.vo.ContactSearchVO; +import com.chinaunicom.zyhy.ebtp.supplier.base.vo.SupplierAccessedOfMyOrgVO; + +/** + * 中远海运供应商基本信息Service接口 + * @author Craft + * @date 2024-01-29 + */ +public interface ISupplierBaseService extends IService { + IPage getAccessedOfMyOrgPage(SupplierAccessedOfMyOrgVO coscoSupplierBase); + + CoscoSupplierBaseDTO getProviderForAgency(String providerId); + + IPage selectByMainContactId(ContactSearchVO searchVO); + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/impl/SupplierBaseServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/impl/SupplierBaseServiceImpl.java new file mode 100644 index 0000000..89178c0 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/impl/SupplierBaseServiceImpl.java @@ -0,0 +1,79 @@ +package com.chinaunicom.zyhy.ebtp.supplier.base.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.mall.ebtp.common.base.service.IBaseCacheUserService; +import com.chinaunicom.zyhy.ebtp.supplier.base.constant.SupplierRoleConstant; +import com.chinaunicom.zyhy.ebtp.supplier.base.dao.SupplierBaseMapper; +import com.chinaunicom.zyhy.ebtp.supplier.base.dao.SupplierContactMapper; +import com.chinaunicom.zyhy.ebtp.supplier.base.dto.ContactDTO; +import com.chinaunicom.zyhy.ebtp.supplier.base.dto.CoscoSupplierBaseDTO; +import com.chinaunicom.zyhy.ebtp.supplier.base.entity.CoscoSupplierBase; +import com.chinaunicom.zyhy.ebtp.supplier.base.service.ISupplierBaseService; +import com.chinaunicom.zyhy.ebtp.supplier.base.vo.ContactSearchVO; +import com.chinaunicom.zyhy.ebtp.supplier.base.vo.SupplierAccessedOfMyOrgVO; +import com.chinaunicom.zyhy.ebtp.supplier.feign.SystemApi; +import com.chinaunicom.zyhy.ebtp.supplier.feign.vo.SysUserRole; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * 中远海运供应商基本信息Service实现类 + * @author Craft + * @date 2024-01-29 + */ +@Service +public class SupplierBaseServiceImpl extends ServiceImpl implements ISupplierBaseService { + @Resource + private SupplierBaseMapper supplierBaseMapper; + @Resource + private IBaseCacheUserService cacheUserService; + @Resource + private SupplierContactMapper supplierContactMapper; + + @Resource + private SystemApi systemApi; + @Override + public IPage getAccessedOfMyOrgPage( SupplierAccessedOfMyOrgVO coscoSupplierBase) { + + IPage page= new Page<>(coscoSupplierBase.getPageNo(),coscoSupplierBase.getPageSize()); + BaseCacheUser cacheUser = cacheUserService.getCacheUser(); + if((cacheUser!=null)&&(cacheUser.getDeptId()!=null)){ + coscoSupplierBase.setDeptId(cacheUser.getDeptId()); + } + + return supplierBaseMapper.getAccessedOfMyOrgPage(page,coscoSupplierBase); + } + + @Override + public CoscoSupplierBaseDTO getProviderForAgency(String providerId) { + return supplierBaseMapper.getProviderForAgency(providerId); + } + + @Override + public IPage selectByMainContactId(ContactSearchVO searchVO) { + BaseCacheUser cacheUser = cacheUserService.getCacheUser(); + if((cacheUser==null)||(cacheUser.getUserId()==null)){ + cacheUser.setUserId("1"); + // throw new RuntimeException("用户未登录"); + } + IPage page= new Page<>(searchVO.getPageNo(),searchVO.getPageSize()); + searchVO.setMainContactAccountId(cacheUser.getUserId()); + page=supplierContactMapper.selectByMainContactId(page,searchVO); + if(page!=null && page.getRecords()!=null && page.getRecords().size()>0){ + for(ContactDTO contactDTO:page.getRecords()){ + SysUserRole userRole = new SysUserRole(contactDTO.getAccount(), SupplierRoleConstant.SUPPLIER_ROLE_AGENT_ID);//(contactDTO.getContactId(),cacheUser.getUserId()); + BaseResponse booleanBaseResponse = systemApi.hasRole(userRole); + contactDTO.setHasAgentRole(booleanBaseResponse.isSuccess()&&(booleanBaseResponse.getData()!=null)?booleanBaseResponse.getData().booleanValue():false); + contactDTO.setRoleCode(SupplierRoleConstant.SUPPLIER_ROLE_AGENT_ID); + } + } + + return page; + + } +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/vo/ContactSearchVO.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/vo/ContactSearchVO.java new file mode 100644 index 0000000..5a9e652 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/vo/ContactSearchVO.java @@ -0,0 +1,12 @@ +package com.chinaunicom.zyhy.ebtp.supplier.base.vo; + +import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +@Data +public class ContactSearchVO extends BasePageRequest { + + private String mainContactAccountId; + private String name; +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/vo/SupplierAccessedOfMyOrgVO.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/vo/SupplierAccessedOfMyOrgVO.java new file mode 100644 index 0000000..5ad5492 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/vo/SupplierAccessedOfMyOrgVO.java @@ -0,0 +1,61 @@ +package com.chinaunicom.zyhy.ebtp.supplier.base.vo; + +import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Data +@Accessors(chain = true) +@ApiModel(description = "本单位所有准入合格供应商信息VO") +@NoArgsConstructor +public class SupplierAccessedOfMyOrgVO extends BasePageRequest { + + + + + + /** + * 企业名称 + */ + @ApiModelProperty(value = "企业名称") + private String name; + + + + + /** + * 供应商分类 -- 字典code + */ + @ApiModelProperty(value = "供应商分类 -- 字典code") + private String kindCode; + + /** + * 供应商分类 -- 字典名称 + */ + @ApiModelProperty(value = "供应商分类 -- 字典名称") + private String kindName; + + /** + * 商品类型 + */ + private String goodsTypeName; + + private String goodsTypeCode; + + + + + + private String deptId="1";//准入部门 + + private LocalDateTime accessTime;//准入时间 + + private LocalDateTime accessTimeEnd; + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/column/CoscoSupplierBankField.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/column/CoscoSupplierBankField.java new file mode 100644 index 0000000..9d6f307 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/column/CoscoSupplierBankField.java @@ -0,0 +1,63 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.column; + + +/** + * 字段常量 CoscoSupplierBank + * @author sunyu + * @date 2025-5-20 + */ +public class CoscoSupplierBankField { + + + /** + * 主键id + */ + public static final String ID = "id"; + + /** + * 供应商id cosco_supplier_base表主键 + */ + public static final String SUPPLIER_ID = "supplier_id"; + + /** + * 开户银行 + */ + public static final String BANK = "bank"; + + /** + * SWIFT CODE + */ + public static final String SWIFT_CODE = "swift_code"; + + /** + * 账户名称 + */ + public static final String ACCOUNT_NAME = "account_name"; + + /** + * 账号 + */ + public static final String ACCOUNT = "account"; + + /** + * 国家 + */ + public static final String NATION = "nation"; + + /** + * 省份 + */ + public static final String PROVINCE = "province"; + + /** + * 地市 + */ + public static final String CITY = "city"; + + /** + * 启用状态 + */ + public static final String STATUS = "status"; + + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/column/CoscoSupplierBaseField.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/column/CoscoSupplierBaseField.java new file mode 100644 index 0000000..c8cc08e --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/column/CoscoSupplierBaseField.java @@ -0,0 +1,228 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.column; + + +/** + * 字段常量 CoscoSupplierBase + * @author sunyu + * @date 2025-5-20 + */ +public class CoscoSupplierBaseField { + + + /** + * 主键ID + */ + public static final String ID = "id"; + + /** + * 身份类型 + */ + public static final String TYPE = "type"; + + /** + * 供应商分类 -- 字典code + */ + public static final String KIND_CODE = "kind_code"; + + /** + * 供应商分类 -- 字典名称 + */ + public static final String KIND_NAME = "kind_name"; + + /** + * 营业执照附件 + */ + public static final String LICENCE_ACCESSORY = "licence_accessory"; + + /** + * 营业执照有效期 + */ + public static final String LICENCE_DATE = "licence_date"; + + /** + * 企业名称 + */ + public static final String NAME = "name"; + + /** + * 英文名称 + */ + public static final String ENG_NAME = "eng_name"; + + /** + * 统一社会信用代码 + */ + public static final String SOCIAL_CREDIT_CODE = "social_credit_code"; + + /** + * 经营范围 + */ + public static final String RANGE = "range"; + + /** + * 注册地址 + */ + public static final String REG_ADDRESS = "reg_address"; + + /** + * 办公地址 + */ + public static final String WORK_ADDRESS = "work_address"; + + /** + * 母公司出资人信息 + */ + public static final String PARENT_COMPANY_INVESTOR = "parent_company_investor"; + + /** + * 企业法定代表人 + */ + public static final String LEGAL_PERSON = "legal_person"; + + /** + * 身份证 + */ + public static final String ID_CARD = "id_card"; + + /** + * 企业性质 + */ + public static final String NATURE = "nature"; + + /** + * 注册资本 + */ + public static final String CAPITAL = "capital"; + + /** + * 供应商类型 -- 字典 + */ + public static final String CATEGORY_TYPE_CODE = "category_type_code"; + + /** + * 供应商类型 --字典名称 + */ + public static final String CATEGORY_TYPE_NAME = "category_type_name"; + + /** + * 联系人姓名 + */ + public static final String CONTACTS_NAME = "contacts_name"; + + /** + * 联系人手机 + */ + public static final String CONTACTS_PHONE = "contacts_phone"; + + /** + * 联系人身份类别 + */ + public static final String CONTACTS_TYPE = "contacts_type"; + + /** + * 联系人邮箱 + */ + public static final String CONTACTS_EMAIL = "contacts_email"; + + /** + * 固定电话 + */ + public static final String TELEPHONE = "telephone"; + + /** + * 境外企业- 国家地区 + */ + public static final String NATION = "nation"; + + /** + * 境外企业-增值税号VAT + */ + public static final String VAT = "vat"; + + /** + * 境外企业-境外纳税人ID号 + */ + public static final String TAXPAYER_ID = "taxpayer_id"; + + /** + * 境外企业-币种 + */ + public static final String CURRENCY = "currency"; + + /** + * 供应商反商业贿赂承诺书 + */ + public static final String COMMITMENT = "commitment"; + + /** + * 其他附件 + */ + public static final String ACCESSORY = "accessory"; + + /** + * 姓名-- 个人 + */ + public static final String PERSON_NAME = "person_name"; + + /** + * 联系电话-- 个人 + */ + public static final String PERSON_PHONE = "person_phone"; + + /** + * 开户行-- 个人 + */ + public static final String PERSON_BANK = "person_bank"; + + /** + * 银行账号-- 个人 + */ + public static final String PERSON_ACCOUNT = "person_account"; + + /** + * 相关证照文件id + */ + public static final String LICENCE = "licence"; + + /** + * 供应商状态 是否合格 + */ + public static final String STATUS = "status"; + + /** + * 审批状态 + */ + public static final String APPROVE_STATUS = "approve_status"; + + + + + + + /** + * 是否在黑名单 + */ + public static final String IN_BLACKLIST = "in_blacklist"; + + /** + * 是否第一次登录 + */ + public static final String FIRST_LOGIN = "first_login"; + + /** + * 是否是-退出供应商 + */ + public static final String EXIT = "exit"; + + /** + * 是否是代理商 + */ + public static final String AGENT = "agent"; + + /** + * sap_code 约束付款编码 + */ + public static final String SAP_CODE = "sap_code"; + + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/column/CoscoSupplierInvoiceField.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/column/CoscoSupplierInvoiceField.java new file mode 100644 index 0000000..e58e725 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/column/CoscoSupplierInvoiceField.java @@ -0,0 +1,78 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.column; + + +/** + * 字段常量 CoscoSupplierInvoice + * @author sunyu + * @date 2025-5-20 + */ +public class CoscoSupplierInvoiceField { + + + /** + * + */ + public static final String ID = "id"; + + /** + * 供应商id + */ + public static final String SUPPLIER_ID = "supplier_id"; + + /** + * 供应商名称 + */ + public static final String SUPPLIER_NAME = "supplier_name"; + + /** + * 纳税人类型 + */ + public static final String TAXPAYER_TYPE = "taxpayer_type"; + + /** + * 纳税人识别号 + */ + public static final String TAXPAYER_CODE = "taxpayer_code"; + + /** + * 开票电话 + */ + public static final String PHONE = "phone"; + + /** + * 开票户行账号 + */ + public static final String ACCOUNT = "account"; + + /** + * 开票抬头 + */ + public static final String HEAD = "head"; + + /** + * 开票地址 + */ + public static final String ADDRESS = "address"; + + /** + * 开票户行 + */ + public static final String BANK = "bank"; + + /** + * 一般纳税人资格证明 + */ + public static final String QUALIFICATION_CERTIFICATE = "qualification_certificate"; + + /** + * 身份类型--境外企业没有此项目 + */ + public static final String TYPE = "type"; + + /** + * 启用状态 + */ + public static final String STATUS = "status"; + + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/column/CoscoSupplierQualificationsField.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/column/CoscoSupplierQualificationsField.java new file mode 100644 index 0000000..68a50e0 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/column/CoscoSupplierQualificationsField.java @@ -0,0 +1,68 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.column; + + +/** + * 字段常量 CoscoSupplierQualifications + * @author sunyu + * @date 2025-5-20 + */ +public class CoscoSupplierQualificationsField { + + + /** + * 资质信息 + */ + public static final String ID = "id"; + + /** + * 供应商id cosco_supplier_base表主键 + */ + public static final String SUPPLIER_ID = "supplier_id"; + + /** + * 资质证书类型 + */ + public static final String CERTIFICATE_TYPE = "certificate_type"; + + /** + * 资质名称 + */ + public static final String NAME = "name"; + + /** + * 资质证书编号 + */ + public static final String CODE = "code"; + + /** + * 资质类别和等级 + */ + public static final String TYPE_LEVEL = "type_level"; + + /** + * 发证机构 + */ + public static final String AUTHORITY = "authority"; + + /** + * 发证日期 + */ + public static final String DATE_TIME = "date_time"; + + /** + * 资质有效期至 + */ + public static final String TERM_OF_VALIDITY = "term_of_validity"; + + /** + * 附件 + */ + public static final String ACCESSORY = "accessory"; + + /** + * 启用状态 + */ + public static final String STATUS = "status"; + + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/column/CoscoSupplierSurveyField.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/column/CoscoSupplierSurveyField.java new file mode 100644 index 0000000..7bd71d9 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/column/CoscoSupplierSurveyField.java @@ -0,0 +1,53 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.column; + + +/** + * 字段常量 CoscoSupplierSurvey + * @author sunyu + * @date 2025-5-20 + */ +public class CoscoSupplierSurveyField { + + + /** + * + */ + public static final String ID = "id"; + + /** + * 供应商id + */ + public static final String SUPPLIER_ID = "supplier_id"; + + /** + * 供应商名称 + */ + public static final String SUPPLIER_NAME = "supplier_name"; + + /** + * 姓名 + */ + public static final String NAME = "name"; + + /** + * 职位 + */ + public static final String POSITION = "position"; + + /** + * 电话号 + */ + public static final String PHONE = "phone"; + + /** + * 邮箱 + */ + public static final String EMAIL = "email"; + + /** + * 日期 + */ + public static final String DATETIME = "dateTime"; + + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/column/CoscoSupplierSurveyQuestionField.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/column/CoscoSupplierSurveyQuestionField.java new file mode 100644 index 0000000..63123d8 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/column/CoscoSupplierSurveyQuestionField.java @@ -0,0 +1,33 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.column; + + +/** + * 字段常量 CoscoSupplierSurveyQuestion + * @author sunyu + * @date 2025-5-20 + */ +public class CoscoSupplierSurveyQuestionField { + + + /** + * + */ + public static final String ID = "id"; + + /** + * 问题 + */ + public static final String QUESTION = "question"; + + /** + * 排序 + */ + public static final String ORDER_BY = "order_by"; + + /** + * 供应商注册问卷id + */ + public static final String SUPPLIER_SURVEY_ID = "supplier_survey_id"; + + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/column/CoscoSupplierexitField.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/column/CoscoSupplierexitField.java new file mode 100644 index 0000000..be7d4ce --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/column/CoscoSupplierexitField.java @@ -0,0 +1,47 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.column; + + +/** + * 字段常量 CoscoSupplierexit + * @author sunyu + * @date 2025-5-20 + */ +public class CoscoSupplierexitField { + + + /** + * + */ + public static final String ID = "id"; + + /** + * 退出主题 + */ + public static final String EXIT_THEME = "exit_theme"; + + /** + * 退出原因 + */ + public static final String EXIT_REASON = "exit_reason"; + + /** + * 发起单位id + */ + public static final String DEPT_ID = "dept_id"; + + /** + * 发起单位名称 + */ + public static final String DEPT_NAME = "dept_name"; + + /** + * 审批状态 0待审批 1审批中 2审批结束 + */ + public static final String STATUS = "status"; + + + + + + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/controller/CoscoSupplierBankController.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/controller/CoscoSupplierBankController.java new file mode 100644 index 0000000..53f7738 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/controller/CoscoSupplierBankController.java @@ -0,0 +1,102 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.controller; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierBank; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierBankVO; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.service.ICoscoSupplierBankService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + + +/** +* 中远海运_供应商_银行账户 Controller +* @author sunyu +* @date 2025-5-20 +*/ +@Validated +@RestController +@Api(tags = "中远海运_供应商_银行账户") +@RequestMapping("/api/coscosupplierbank") +public class CoscoSupplierBankController{ + + @Resource + private ICoscoSupplierBankService coscoSupplierBankService; + + /** + * 插入新数据 + * + * @param coscoSupplierBank 实体类 + * + * @return 返回结果 + */ + @ApiOperation("插入新数据") + @PostMapping("") + public BaseResponse insert(@ApiParam(value = "对象数据", required = true) @RequestBody @Valid CoscoSupplierBank coscoSupplierBank){ + + return BaseResponse.success(coscoSupplierBankService.save(coscoSupplierBank)); + } + + /** + * 修改数据 + * + * @param coscoSupplierBank 实体类 + * + * @return 返回结果 + */ + @ApiOperation("修改数据") + @PostMapping("/update") + public BaseResponse update(@ApiParam(value = "对象数据", required = true) @RequestBody CoscoSupplierBank coscoSupplierBank){ + + return BaseResponse.success(coscoSupplierBankService.updateById(coscoSupplierBank)); + } + + /** + * 查询数据 + * + * @param id 实体类主键 + * + * @return 返回结果 + */ + @ApiOperation("查询数据") + @GetMapping("/{id}") + public BaseResponse get(@ApiParam(value = "主键id", required = true) @PathVariable String id){ + + return BaseResponse.success(coscoSupplierBankService.getById(id)); + } + + /** + * 删除数据 + * + * @param id 实体ID + * + * @return 返回结果 + */ + @ApiOperation("删除数据") + @GetMapping("/delete/{id}") + public BaseResponse delete(@ApiParam(value = "主键id", required = true) @PathVariable String id){ + + return BaseResponse.success(coscoSupplierBankService.removeById(id)); + } + + + /** + * 查询分页数据 + * + * @param coscoSupplierBankVO 分页信息 + * @return 返回结果 + */ + @ApiOperation("查询分页数据") + @PostMapping("/getPage") + public BaseResponse> getPage(@ApiParam(value = "对象数据", required = true) @RequestBody CoscoSupplierBankVO coscoSupplierBankVO) { + + return BaseResponse.success(coscoSupplierBankService.getPage(coscoSupplierBankVO)); + } +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/controller/CoscoSupplierBaseController.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/controller/CoscoSupplierBaseController.java new file mode 100644 index 0000000..fe96342 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/controller/CoscoSupplierBaseController.java @@ -0,0 +1,101 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierBase; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierBaseVO; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.service.ICoscoSupplierBaseService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + + +/** +* 中远海运_供应商_基本信息 Controller +* @author sunyu +* @date 2025-5-20 +*/ +@Validated +@RestController +@Api(tags = "中远海运_供应商_基本信息") +@RequestMapping("/api/coscosupplierbase") +public class CoscoSupplierBaseController{ + + @Resource + private ICoscoSupplierBaseService coscoSupplierBaseService; + + /** + * 插入新数据 + * + * @param coscoSupplierBaseVO 实体类 + * + * @return 返回结果 + */ + @ApiOperation("插入新数据") + @PostMapping("") + public BaseResponse insert(@ApiParam(value = "对象数据", required = true) @RequestBody @Valid CoscoSupplierBaseVO coscoSupplierBaseVO){ + + return BaseResponse.success(coscoSupplierBaseService.saveRegister(coscoSupplierBaseVO)); + } + + /** + * 修改数据 + * + * @param coscoSupplierBase 实体类 + * + * @return 返回结果 + */ + @ApiOperation("修改数据") + @PostMapping("/update") + public BaseResponse update(@ApiParam(value = "对象数据", required = true) @RequestBody CoscoSupplierBase coscoSupplierBase){ + + return BaseResponse.success(coscoSupplierBaseService.updateById(coscoSupplierBase)); + } + + /** + * 查询数据 + * + * @param id 实体类主键 + * + * @return 返回结果 + */ + @ApiOperation("查询数据") + @GetMapping("/{id}") + public BaseResponse get(@ApiParam(value = "主键id", required = true) @PathVariable String id){ + + return BaseResponse.success(coscoSupplierBaseService.getById(id)); + } + + /** + * 删除数据 + * + * @param id 实体ID + * + * @return 返回结果 + */ + @ApiOperation("删除数据") + @GetMapping("/delete/{id}") + public BaseResponse delete(@ApiParam(value = "主键id", required = true) @PathVariable String id){ + + return BaseResponse.success(coscoSupplierBaseService.removeById(id)); + } + + + /** + * 查询分页数据 + * + * @param coscoSupplierBaseVO 分页信息 + * @return 返回结果 + */ + @ApiOperation("查询分页数据") + @PostMapping("/getPage") + public BaseResponse> getPage(@ApiParam(value = "对象数据", required = true) @RequestBody CoscoSupplierBaseVO coscoSupplierBaseVO) { + + return BaseResponse.success(coscoSupplierBaseService.getPage(coscoSupplierBaseVO)); + } +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/controller/CoscoSupplierInvoiceController.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/controller/CoscoSupplierInvoiceController.java new file mode 100644 index 0000000..aa44ea1 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/controller/CoscoSupplierInvoiceController.java @@ -0,0 +1,102 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.controller; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierInvoice; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierInvoiceVO; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.service.ICoscoSupplierInvoiceService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + + +/** +* 中远海运_供应商_开票信息 Controller +* @author sunyu +* @date 2025-5-20 +*/ +@Validated +@RestController +@Api(tags = "中远海运_供应商_开票信息") +@RequestMapping("/api/coscosupplierinvoice") +public class CoscoSupplierInvoiceController{ + + @Resource + private ICoscoSupplierInvoiceService coscoSupplierInvoiceService; + + /** + * 插入新数据 + * + * @param coscoSupplierInvoice 实体类 + * + * @return 返回结果 + */ + @ApiOperation("插入新数据") + @PostMapping("") + public BaseResponse insert(@ApiParam(value = "对象数据", required = true) @RequestBody @Valid CoscoSupplierInvoice coscoSupplierInvoice){ + + return BaseResponse.success(coscoSupplierInvoiceService.save(coscoSupplierInvoice)); + } + + /** + * 修改数据 + * + * @param coscoSupplierInvoice 实体类 + * + * @return 返回结果 + */ + @ApiOperation("修改数据") + @PostMapping("/update") + public BaseResponse update(@ApiParam(value = "对象数据", required = true) @RequestBody CoscoSupplierInvoice coscoSupplierInvoice){ + + return BaseResponse.success(coscoSupplierInvoiceService.updateById(coscoSupplierInvoice)); + } + + /** + * 查询数据 + * + * @param id 实体类主键 + * + * @return 返回结果 + */ + @ApiOperation("查询数据") + @GetMapping("/{id}") + public BaseResponse get(@ApiParam(value = "主键id", required = true) @PathVariable String id){ + + return BaseResponse.success(coscoSupplierInvoiceService.getById(id)); + } + + /** + * 删除数据 + * + * @param id 实体ID + * + * @return 返回结果 + */ + @ApiOperation("删除数据") + @GetMapping("/delete/{id}") + public BaseResponse delete(@ApiParam(value = "主键id", required = true) @PathVariable String id){ + + return BaseResponse.success(coscoSupplierInvoiceService.removeById(id)); + } + + + /** + * 查询分页数据 + * + * @param coscoSupplierInvoiceVO 分页信息 + * @return 返回结果 + */ + @ApiOperation("查询分页数据") + @PostMapping("/getPage") + public BaseResponse> getPage(@ApiParam(value = "对象数据", required = true) @RequestBody CoscoSupplierInvoiceVO coscoSupplierInvoiceVO) { + + return BaseResponse.success(coscoSupplierInvoiceService.getPage(coscoSupplierInvoiceVO)); + } +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/controller/CoscoSupplierQualificationsController.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/controller/CoscoSupplierQualificationsController.java new file mode 100644 index 0000000..85c8344 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/controller/CoscoSupplierQualificationsController.java @@ -0,0 +1,102 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.controller; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierQualifications; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierQualificationsVO; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.service.ICoscoSupplierQualificationsService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + + +/** +* 中远海运_供应商_资质信息 Controller +* @author sunyu +* @date 2025-5-20 +*/ +@Validated +@RestController +@Api(tags = "中远海运_供应商_资质信息") +@RequestMapping("/api/coscosupplierqualifications") +public class CoscoSupplierQualificationsController{ + + @Resource + private ICoscoSupplierQualificationsService coscoSupplierQualificationsService; + + /** + * 插入新数据 + * + * @param coscoSupplierQualifications 实体类 + * + * @return 返回结果 + */ + @ApiOperation("插入新数据") + @PostMapping("") + public BaseResponse insert(@ApiParam(value = "对象数据", required = true) @RequestBody @Valid CoscoSupplierQualifications coscoSupplierQualifications){ + + return BaseResponse.success(coscoSupplierQualificationsService.save(coscoSupplierQualifications)); + } + + /** + * 修改数据 + * + * @param coscoSupplierQualifications 实体类 + * + * @return 返回结果 + */ + @ApiOperation("修改数据") + @PostMapping("/update") + public BaseResponse update(@ApiParam(value = "对象数据", required = true) @RequestBody CoscoSupplierQualifications coscoSupplierQualifications){ + + return BaseResponse.success(coscoSupplierQualificationsService.updateById(coscoSupplierQualifications)); + } + + /** + * 查询数据 + * + * @param id 实体类主键 + * + * @return 返回结果 + */ + @ApiOperation("查询数据") + @GetMapping("/{id}") + public BaseResponse get(@ApiParam(value = "主键id", required = true) @PathVariable String id){ + + return BaseResponse.success(coscoSupplierQualificationsService.getById(id)); + } + + /** + * 删除数据 + * + * @param id 实体ID + * + * @return 返回结果 + */ + @ApiOperation("删除数据") + @GetMapping("/delete/{id}") + public BaseResponse delete(@ApiParam(value = "主键id", required = true) @PathVariable String id){ + + return BaseResponse.success(coscoSupplierQualificationsService.removeById(id)); + } + + + /** + * 查询分页数据 + * + * @param coscoSupplierQualificationsVO 分页信息 + * @return 返回结果 + */ + @ApiOperation("查询分页数据") + @PostMapping("/getPage") + public BaseResponse> getPage(@ApiParam(value = "对象数据", required = true) @RequestBody CoscoSupplierQualificationsVO coscoSupplierQualificationsVO) { + + return BaseResponse.success(coscoSupplierQualificationsService.getPage(coscoSupplierQualificationsVO)); + } +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/controller/CoscoSupplierSurveyController.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/controller/CoscoSupplierSurveyController.java new file mode 100644 index 0000000..8d5ef1d --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/controller/CoscoSupplierSurveyController.java @@ -0,0 +1,102 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.controller; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierSurvey; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierSurveyVO; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.service.ICoscoSupplierSurveyService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + + +/** +* 中远海运_供应商_社会准则符合性自查问卷 Controller +* @author sunyu +* @date 2025-5-20 +*/ +@Validated +@RestController +@Api(tags = "中远海运_供应商_社会准则符合性自查问卷") +@RequestMapping("/api/coscosuppliersurvey") +public class CoscoSupplierSurveyController{ + + @Resource + private ICoscoSupplierSurveyService coscoSupplierSurveyService; + + /** + * 插入新数据 + * + * @param coscoSupplierSurvey 实体类 + * + * @return 返回结果 + */ + @ApiOperation("插入新数据") + @PostMapping("") + public BaseResponse insert(@ApiParam(value = "对象数据", required = true) @RequestBody @Valid CoscoSupplierSurvey coscoSupplierSurvey){ + + return BaseResponse.success(coscoSupplierSurveyService.save(coscoSupplierSurvey)); + } + + /** + * 修改数据 + * + * @param coscoSupplierSurvey 实体类 + * + * @return 返回结果 + */ + @ApiOperation("修改数据") + @PostMapping("/update") + public BaseResponse update(@ApiParam(value = "对象数据", required = true) @RequestBody CoscoSupplierSurvey coscoSupplierSurvey){ + + return BaseResponse.success(coscoSupplierSurveyService.updateById(coscoSupplierSurvey)); + } + + /** + * 查询数据 + * + * @param id 实体类主键 + * + * @return 返回结果 + */ + @ApiOperation("查询数据") + @GetMapping("/{id}") + public BaseResponse get(@ApiParam(value = "主键id", required = true) @PathVariable String id){ + + return BaseResponse.success(coscoSupplierSurveyService.getById(id)); + } + + /** + * 删除数据 + * + * @param id 实体ID + * + * @return 返回结果 + */ + @ApiOperation("删除数据") + @GetMapping("/delete/{id}") + public BaseResponse delete(@ApiParam(value = "主键id", required = true) @PathVariable String id){ + + return BaseResponse.success(coscoSupplierSurveyService.removeById(id)); + } + + + /** + * 查询分页数据 + * + * @param coscoSupplierSurveyVO 分页信息 + * @return 返回结果 + */ + @ApiOperation("查询分页数据") + @PostMapping("/getPage") + public BaseResponse> getPage(@ApiParam(value = "对象数据", required = true) @RequestBody CoscoSupplierSurveyVO coscoSupplierSurveyVO) { + + return BaseResponse.success(coscoSupplierSurveyService.getPage(coscoSupplierSurveyVO)); + } +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/controller/CoscoSupplierSurveyQuestionController.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/controller/CoscoSupplierSurveyQuestionController.java new file mode 100644 index 0000000..52f52c9 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/controller/CoscoSupplierSurveyQuestionController.java @@ -0,0 +1,102 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.controller; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierSurveyQuestion; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierSurveyQuestionVO; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.service.ICoscoSupplierSurveyQuestionService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + + +/** +* 供应商注册 - 问卷 - 问题表 Controller +* @author sunyu +* @date 2025-5-20 +*/ +@Validated +@RestController +@Api(tags = "供应商注册 - 问卷 - 问题表") +@RequestMapping("/api/coscosuppliersurveyquestion") +public class CoscoSupplierSurveyQuestionController{ + + @Resource + private ICoscoSupplierSurveyQuestionService coscoSupplierSurveyQuestionService; + + /** + * 插入新数据 + * + * @param coscoSupplierSurveyQuestion 实体类 + * + * @return 返回结果 + */ + @ApiOperation("插入新数据") + @PostMapping("") + public BaseResponse insert(@ApiParam(value = "对象数据", required = true) @RequestBody @Valid CoscoSupplierSurveyQuestion coscoSupplierSurveyQuestion){ + + return BaseResponse.success(coscoSupplierSurveyQuestionService.save(coscoSupplierSurveyQuestion)); + } + + /** + * 修改数据 + * + * @param coscoSupplierSurveyQuestion 实体类 + * + * @return 返回结果 + */ + @ApiOperation("修改数据") + @PostMapping("/update") + public BaseResponse update(@ApiParam(value = "对象数据", required = true) @RequestBody CoscoSupplierSurveyQuestion coscoSupplierSurveyQuestion){ + + return BaseResponse.success(coscoSupplierSurveyQuestionService.updateById(coscoSupplierSurveyQuestion)); + } + + /** + * 查询数据 + * + * @param id 实体类主键 + * + * @return 返回结果 + */ + @ApiOperation("查询数据") + @GetMapping("/{id}") + public BaseResponse get(@ApiParam(value = "主键id", required = true) @PathVariable String id){ + + return BaseResponse.success(coscoSupplierSurveyQuestionService.getById(id)); + } + + /** + * 删除数据 + * + * @param id 实体ID + * + * @return 返回结果 + */ + @ApiOperation("删除数据") + @GetMapping("/delete/{id}") + public BaseResponse delete(@ApiParam(value = "主键id", required = true) @PathVariable String id){ + + return BaseResponse.success(coscoSupplierSurveyQuestionService.removeById(id)); + } + + + /** + * 查询分页数据 + * + * @param coscoSupplierSurveyQuestionVO 分页信息 + * @return 返回结果 + */ + @ApiOperation("查询分页数据") + @PostMapping("/getPage") + public BaseResponse> getPage(@ApiParam(value = "对象数据", required = true) @RequestBody CoscoSupplierSurveyQuestionVO coscoSupplierSurveyQuestionVO) { + + return BaseResponse.success(coscoSupplierSurveyQuestionService.getPage(coscoSupplierSurveyQuestionVO)); + } +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/controller/CoscoSupplierexitController.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/controller/CoscoSupplierexitController.java new file mode 100644 index 0000000..5faf343 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/controller/CoscoSupplierexitController.java @@ -0,0 +1,102 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.controller; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierexit; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierexitVO; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.service.ICoscoSupplierexitService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + + +/** +* 退出供应商任务 Controller +* @author sunyu +* @date 2025-5-20 +*/ +@Validated +@RestController +@Api(tags = "退出供应商任务") +@RequestMapping("/api/coscosupplierexit") +public class CoscoSupplierexitController{ + + @Resource + private ICoscoSupplierexitService coscoSupplierexitService; + + /** + * 插入新数据 + * + * @param coscoSupplierexit 实体类 + * + * @return 返回结果 + */ + @ApiOperation("插入新数据") + @PostMapping("") + public BaseResponse insert(@ApiParam(value = "对象数据", required = true) @RequestBody @Valid CoscoSupplierexit coscoSupplierexit){ + + return BaseResponse.success(coscoSupplierexitService.save(coscoSupplierexit)); + } + + /** + * 修改数据 + * + * @param coscoSupplierexit 实体类 + * + * @return 返回结果 + */ + @ApiOperation("修改数据") + @PostMapping("/update") + public BaseResponse update(@ApiParam(value = "对象数据", required = true) @RequestBody CoscoSupplierexit coscoSupplierexit){ + + return BaseResponse.success(coscoSupplierexitService.updateById(coscoSupplierexit)); + } + + /** + * 查询数据 + * + * @param id 实体类主键 + * + * @return 返回结果 + */ + @ApiOperation("查询数据") + @GetMapping("/{id}") + public BaseResponse get(@ApiParam(value = "主键id", required = true) @PathVariable String id){ + + return BaseResponse.success(coscoSupplierexitService.getById(id)); + } + + /** + * 删除数据 + * + * @param id 实体ID + * + * @return 返回结果 + */ + @ApiOperation("删除数据") + @GetMapping("/delete/{id}") + public BaseResponse delete(@ApiParam(value = "主键id", required = true) @PathVariable String id){ + + return BaseResponse.success(coscoSupplierexitService.removeById(id)); + } + + + /** + * 查询分页数据 + * + * @param coscoSupplierexitVO 分页信息 + * @return 返回结果 + */ + @ApiOperation("查询分页数据") + @PostMapping("/getPage") + public BaseResponse> getPage(@ApiParam(value = "对象数据", required = true) @RequestBody CoscoSupplierexitVO coscoSupplierexitVO) { + + return BaseResponse.success(coscoSupplierexitService.getPage(coscoSupplierexitVO)); + } +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/CoscoSupplierBankMapper.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/CoscoSupplierBankMapper.java new file mode 100644 index 0000000..d9b682a --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/CoscoSupplierBankMapper.java @@ -0,0 +1,15 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.dao; + + +import com.chinaunicom.mall.ebtp.common.base.dao.IBaseMapper; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierBank; + +/** +* 对数据表 cosco_supplier_bank 操作的 dao +* @author sunyu +* @date 2025-5-20 +*/ +public interface CoscoSupplierBankMapper extends IBaseMapper { + + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/CoscoSupplierBaseMapper.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/CoscoSupplierBaseMapper.java new file mode 100644 index 0000000..c0a09ee --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/CoscoSupplierBaseMapper.java @@ -0,0 +1,15 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.dao; + + +import com.chinaunicom.mall.ebtp.common.base.dao.IBaseMapper; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierBase; + +/** +* 对数据表 cosco_supplier_base 操作的 dao +* @author sunyu +* @date 2025-5-20 +*/ +public interface CoscoSupplierBaseMapper extends IBaseMapper { + + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/CoscoSupplierInvoiceMapper.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/CoscoSupplierInvoiceMapper.java new file mode 100644 index 0000000..6704b92 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/CoscoSupplierInvoiceMapper.java @@ -0,0 +1,16 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.dao; + + +import com.chinaunicom.mall.ebtp.common.base.dao.IBaseMapper; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierInvoice; + +/** + * 对数据表 cosco_supplier_invoice 操作的 dao + * + * @author sunyu + * @date 2025-5-20 + */ +public interface CoscoSupplierInvoiceMapper extends IBaseMapper { + + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/CoscoSupplierQualificationsMapper.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/CoscoSupplierQualificationsMapper.java new file mode 100644 index 0000000..a9ffbc2 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/CoscoSupplierQualificationsMapper.java @@ -0,0 +1,15 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.dao; + + +import com.chinaunicom.mall.ebtp.common.base.dao.IBaseMapper; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierQualifications; + +/** +* 对数据表 cosco_supplier_qualifications 操作的 dao +* @author sunyu +* @date 2025-5-20 +*/ +public interface CoscoSupplierQualificationsMapper extends IBaseMapper { + + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/CoscoSupplierSurveyMapper.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/CoscoSupplierSurveyMapper.java new file mode 100644 index 0000000..f490186 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/CoscoSupplierSurveyMapper.java @@ -0,0 +1,15 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.dao; + + +import com.chinaunicom.mall.ebtp.common.base.dao.IBaseMapper; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierSurvey; + +/** +* 对数据表 cosco_supplier_survey 操作的 dao +* @author sunyu +* @date 2025-5-20 +*/ +public interface CoscoSupplierSurveyMapper extends IBaseMapper { + + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/CoscoSupplierSurveyQuestionMapper.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/CoscoSupplierSurveyQuestionMapper.java new file mode 100644 index 0000000..5884973 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/CoscoSupplierSurveyQuestionMapper.java @@ -0,0 +1,15 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.dao; + + +import com.chinaunicom.mall.ebtp.common.base.dao.IBaseMapper; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierSurveyQuestion; + +/** +* 对数据表 cosco_supplier_survey_question 操作的 dao +* @author sunyu +* @date 2025-5-20 +*/ +public interface CoscoSupplierSurveyQuestionMapper extends IBaseMapper { + + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/CoscoSupplierexitMapper.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/CoscoSupplierexitMapper.java new file mode 100644 index 0000000..554cdf5 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/CoscoSupplierexitMapper.java @@ -0,0 +1,15 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.dao; + + +import com.chinaunicom.mall.ebtp.common.base.dao.IBaseMapper; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierexit; + +/** +* 对数据表 cosco_supplierexit 操作的 dao +* @author sunyu +* @date 2025-5-20 +*/ +public interface CoscoSupplierexitMapper extends IBaseMapper { + + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/mapper/CoscoSupplierBankMapper.xml b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/mapper/CoscoSupplierBankMapper.xml new file mode 100644 index 0000000..3c31da1 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/mapper/CoscoSupplierBankMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + delete from cosco_supplier_bank where id in(${ids}) + + diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/mapper/CoscoSupplierBaseMapper.xml b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/mapper/CoscoSupplierBaseMapper.xml new file mode 100644 index 0000000..5f74d0f --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/mapper/CoscoSupplierBaseMapper.xml @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + delete from cosco_supplier_base where id in(${ids}) + + diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/mapper/CoscoSupplierInvoiceMapper.xml b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/mapper/CoscoSupplierInvoiceMapper.xml new file mode 100644 index 0000000..ba654ea --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/mapper/CoscoSupplierInvoiceMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + delete from cosco_supplier_invoice where id in(${ids}) + + diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/mapper/CoscoSupplierQualificationsMapper.xml b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/mapper/CoscoSupplierQualificationsMapper.xml new file mode 100644 index 0000000..17d3704 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/mapper/CoscoSupplierQualificationsMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + delete from cosco_supplier_qualifications where id in(${ids}) + + diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/mapper/CoscoSupplierSurveyMapper.xml b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/mapper/CoscoSupplierSurveyMapper.xml new file mode 100644 index 0000000..6f24772 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/mapper/CoscoSupplierSurveyMapper.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + delete from cosco_supplier_survey where id in(${ids}) + + diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/mapper/CoscoSupplierSurveyQuestionMapper.xml b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/mapper/CoscoSupplierSurveyQuestionMapper.xml new file mode 100644 index 0000000..29b0947 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/mapper/CoscoSupplierSurveyQuestionMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + delete from cosco_supplier_survey_question where id in(${ids}) + + diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/mapper/CoscoSupplierexitMapper.xml b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/mapper/CoscoSupplierexitMapper.xml new file mode 100644 index 0000000..bac7eaf --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/dao/mapper/CoscoSupplierexitMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + delete from cosco_supplierexit where id in(${ids}) + + diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierBank.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierBank.java new file mode 100644 index 0000000..4a7bd63 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierBank.java @@ -0,0 +1,102 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; + +/** + * 实体类 CoscoSupplierBank + * @author sunyu + * @date 2025-5-20 + */ +@Data +@Accessors(chain = true) +@ApiModel +@TableName(value = "cosco_supplier_bank", autoResultMap = true) +public class CoscoSupplierBank extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @ApiModelProperty(value = "主键id") + private String id; + + /** + * 供应商id cosco_supplier_base表主键 + */ + @ApiModelProperty(value = "供应商id cosco_supplier_base表主键") + private String supplierId; + + /** + * 联行号 + */ + @ApiModelProperty(value = "联行号") + private String interbankNumber; + + /** + * 开户银行 + */ + @ApiModelProperty(value = "开户银行") + private String bank; + + + /** + * SWIFT CODE + */ + @ApiModelProperty(value = "SWIFT CODE") + private String swiftCode; + + /** + * 账户名称 + */ + @ApiModelProperty(value = "账户名称") + private String accountName; + + /** + * 账号 + */ + @ApiModelProperty(value = "账号") + private String account; + + /** + * 币种 + */ + @ApiModelProperty(value = "币种") + private String currency; + + + /** + * 国家 + */ + @ApiModelProperty(value = "国家") + private String nation; + + /** + * 省份 + */ + @ApiModelProperty(value = "省份") + private String province; + + /** + * 地市 + */ + @ApiModelProperty(value = "地市") + private String city; + + /** + * 启用状态 + */ + @ApiModelProperty(value = "启用状态") + private Integer status; + + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierBankVO.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierBankVO.java new file mode 100644 index 0000000..4d2096d --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierBankVO.java @@ -0,0 +1,26 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity; + +import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * 实体类 CoscoSupplierBank + * @author sunyu + * @date 2025-5-20 + */ +@Data +@Accessors(chain = true) +@ApiModel +public class CoscoSupplierBankVO extends CoscoSupplierBank implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "分页对象信息") + private BasePageRequest basePageRequest; + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierBase.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierBase.java new file mode 100644 index 0000000..516c415 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierBase.java @@ -0,0 +1,281 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * 实体类 CoscoSupplierBase + * @author sunyu + * @date 2025-5-20 + */ +@Data +@Accessors(chain = true) +@ApiModel +@TableName(value = "cosco_supplier_base", autoResultMap = true) +public class CoscoSupplierBase extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ApiModelProperty(value = "主键ID") + private String id; + + /** + * 身份类型 + */ + @ApiModelProperty(value = "身份类型") + private String type; + + /** + * 供应商分类 -- 字典code + */ + @ApiModelProperty(value = "供应商分类 -- 字典code") + private String kindCode; + + /** + * 供应商分类 -- 字典名称 + */ + @ApiModelProperty(value = "供应商分类 -- 字典名称") + private String kindName; + + /** + * 营业执照附件 + */ + @ApiModelProperty(value = "营业执照附件") + private String licenceAccessory; + + /** + * 营业执照有效期 + */ + @ApiModelProperty(value = "营业执照有效期") + private String licenceDate; + + /** + * 企业名称 + */ + @ApiModelProperty(value = "企业名称") + private String name; + + /** + * 英文名称 + */ + @ApiModelProperty(value = "英文名称") + private String engName; + + /** + * 统一社会信用代码 + */ + @ApiModelProperty(value = "统一社会信用代码") + private String socialCreditCode; + + /** + * 经营范围 + */ + @ApiModelProperty(value = "经营范围") + private String range; + + /** + * 注册地址 + */ + @ApiModelProperty(value = "注册地址") + private String regAddress; + + /** + * 办公地址 + */ + @ApiModelProperty(value = "办公地址") + private String workAddress; + + /** + * 母公司出资人信息 + */ + @ApiModelProperty(value = "母公司出资人信息") + private String parentCompanyInvestor; + + /** + * 企业法定代表人 + */ + @ApiModelProperty(value = "企业法定代表人") + private String legalPerson; + + /** + * 身份证 + */ + @ApiModelProperty(value = "身份证") + private String idCard; + + /** + * 企业性质 + */ + @ApiModelProperty(value = "企业性质") + private String nature; + + /** + * 注册资本 + */ + @ApiModelProperty(value = "注册资本") + private BigDecimal capital; + + /** + * 供应商类型 -- 字典 + */ + @ApiModelProperty(value = "供应商类型 -- 字典") + private String categoryTypeCode; + + /** + * 供应商类型 --字典名称 + */ + @ApiModelProperty(value = "供应商类型 --字典名称") + private String categoryTypeName; + + /** + * 联系人姓名 + */ + @ApiModelProperty(value = "联系人姓名") + private String contactsName; + + /** + * 联系人手机 + */ + @ApiModelProperty(value = "联系人手机") + private String contactsPhone; + + /** + * 联系人身份类别 + */ + @ApiModelProperty(value = "联系人身份类别") + private String contactsType; + + /** + * 联系人邮箱 + */ + @ApiModelProperty(value = "联系人邮箱") + private String contactsEmail; + + /** + * 固定电话 + */ + @ApiModelProperty(value = "固定电话") + private String telephone; + + /** + * 境外企业- 国家地区 + */ + @ApiModelProperty(value = "境外企业- 国家地区") + private String nation; + + /** + * 境外企业-增值税号VAT + */ + @ApiModelProperty(value = "境外企业-增值税号VAT") + private String vat; + + /** + * 境外企业-境外纳税人ID号 + */ + @ApiModelProperty(value = "境外企业-境外纳税人ID号") + private String taxpayerId; + + /** + * 境外企业-币种 + */ + @ApiModelProperty(value = "境外企业-币种") + private String currency; + + /** + * 供应商反商业贿赂承诺书 + */ + @ApiModelProperty(value = "供应商反商业贿赂承诺书") + private String commitment; + + /** + * 其他附件 + */ + @ApiModelProperty(value = "其他附件") + private String accessory; + + /** + * 姓名-- 个人 + */ + @ApiModelProperty(value = "姓名-- 个人") + private String personName; + + /** + * 联系电话-- 个人 + */ + @ApiModelProperty(value = "联系电话-- 个人") + private String personPhone; + + /** + * 开户行-- 个人 + */ + @ApiModelProperty(value = "开户行-- 个人") + private String personBank; + + /** + * 银行账号-- 个人 + */ + @ApiModelProperty(value = "银行账号-- 个人") + private String personAccount; + + /** + * 相关证照文件id + */ + @ApiModelProperty(value = "相关证照文件id") + private String licence; + + /** + * 供应商状态 是否合格 + */ + @ApiModelProperty(value = "供应商状态 是否合格") + private Integer status; + + /** + * 审批状态 + */ + @ApiModelProperty(value = "审批状态") + private Integer approveStatus; + + /** + * 是否在黑名单 + */ + @ApiModelProperty(value = "是否在黑名单") + private Integer inBlacklist; + + /** + * 是否第一次登录 + */ + @ApiModelProperty(value = "是否第一次登录") + private Integer firstLogin; + + /** + * 是否是-退出供应商 + */ + @ApiModelProperty(value = "是否是-退出供应商") + private Integer exit; + + /** + * 是否是代理商 + */ + @ApiModelProperty(value = "是否是代理商") + private Integer agent; + + /** + * sap_code 约束付款编码 + */ + @ApiModelProperty(value = "sap_code 约束付款编码") + private String sapCode; + + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierBaseVO.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierBaseVO.java new file mode 100644 index 0000000..ce69f4d --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierBaseVO.java @@ -0,0 +1,167 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity; + +import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.List; + +/** + * 实体类 CoscoSupplierBase + * @author sunyu + * @date 2025-5-20 + */ +@Data +@Accessors(chain = true) +@ApiModel +public class CoscoSupplierBaseVO extends CoscoSupplierBase implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "分页对象信息") + private BasePageRequest basePageRequest; + + @ApiModelProperty(value = "主键ID") + private String id; + + @ApiModelProperty(value = "身份类型") + private String type; + + @ApiModelProperty(value = "供应商分类 -- 字典code") + private String kindCode; + + @ApiModelProperty(value = "供应商分类 -- 字典名称") + private String kindName; + + @ApiModelProperty(value = "营业执照附件") + private String licenceAccessory; + + @ApiModelProperty(value = "营业执照有效期") + private String licenceDate; + + @ApiModelProperty(value = "企业名称") + private String name; + + @ApiModelProperty(value = "英文名称") + private String engName; + + @ApiModelProperty(value = "统一社会信用代码") + private String socialCreditCode; + + @ApiModelProperty(value = "经营范围") + private String range; + + @ApiModelProperty(value = "注册地址") + private String regAddress; + + @ApiModelProperty(value = "办公地址") + private String workAddress; + + @ApiModelProperty(value = "母公司出资人信息") + private String parentCompanyInvestor; + + @ApiModelProperty(value = "企业法定代表人") + private String legalPerson; + + @ApiModelProperty(value = "身份证") + private String idCard; + + @ApiModelProperty(value = "企业性质") + private String nature; + + @ApiModelProperty(value = "注册资本") + private BigDecimal capital; + + @ApiModelProperty(value = "供应商类型 -- 字典") + private String categoryTypeCode; + + @ApiModelProperty(value = "供应商类型 --字典名称") + private String categoryTypeName; + + @ApiModelProperty(value = "联系人姓名") + private String contactsName; + + @ApiModelProperty(value = "联系人手机") + private String contactsPhone; + + @ApiModelProperty(value = "联系人身份类别") + private String contactsType; + + @ApiModelProperty(value = "联系人邮箱") + private String contactsEmail; + + @ApiModelProperty(value = "固定电话") + private String telephone; + + @ApiModelProperty(value = "境外企业- 国家地区") + private String nation; + + @ApiModelProperty(value = "境外企业-增值税号VAT") + private String vat; + + @ApiModelProperty(value = "境外企业-境外纳税人ID号") + private String taxpayerId; + + @ApiModelProperty(value = "境外企业-币种") + private String currency; + + @ApiModelProperty(value = "供应商反商业贿赂承诺书") + private String commitment; + + @ApiModelProperty(value = "其他附件") + private String accessory; + + @ApiModelProperty(value = "姓名-- 个人") + private String personName; + + @ApiModelProperty(value = "联系电话-- 个人") + private String personPhone; + + @ApiModelProperty(value = "开户行-- 个人") + private String personBank; + + @ApiModelProperty(value = "银行账号-- 个人") + private String personAccount; + + @ApiModelProperty(value = "相关证照文件id") + private String licence; + + @ApiModelProperty(value = "供应商状态 是否合格") + private Integer status; + + @ApiModelProperty(value = "审批状态") + private Integer approveStatus; + + @ApiModelProperty(value = "是否在黑名单") + private Integer inBlacklist; + + @ApiModelProperty(value = "是否第一次登录") + private Integer firstLogin; + + @ApiModelProperty(value = "是否是-退出供应商") + private Integer exit; + + @ApiModelProperty(value = "是否是代理商") + private Integer agent; + + @ApiModelProperty(value = "sap_code 约束付款编码") + private String sapCode; + + @ApiModelProperty(value = "资质信息对象列表") + private List qualifications; + + @ApiModelProperty(value = "开票信息对象") + private CoscoSupplierInvoice invoiceInformation; + + @ApiModelProperty(value = "银行账户信息列表") + private List bankAccounts; + + @ApiModelProperty(value = "社会准则符合性自查问卷对象") + private CoscoSupplierSurvey questionnaire; + + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierInvoice.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierInvoice.java new file mode 100644 index 0000000..cec270f --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierInvoice.java @@ -0,0 +1,104 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * 实体类 CoscoSupplierInvoice + * @author sunyu + * @date 2025-5-20 + */ +@Data +@Accessors(chain = true) +@ApiModel +@TableName(value = "cosco_supplier_invoice", autoResultMap = true) +public class CoscoSupplierInvoice extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ApiModelProperty(value = "主键ID") + private String id; + + /** + * 供应商id + */ + @ApiModelProperty(value = "供应商id") + private String supplierId; + + /** + * 供应商名称 + */ + @ApiModelProperty(value = "供应商名称") + private String supplierName; + + /** + * 纳税人类型 + */ + @ApiModelProperty(value = "纳税人类型") + private String taxpayerType; + + /** + * 纳税人识别号 + */ + @ApiModelProperty(value = "纳税人识别号") + private String taxpayerCode; + + /** + * 开票电话 + */ + @ApiModelProperty(value = "开票电话") + private String phone; + + /** + * 开票户行账号 + */ + @ApiModelProperty(value = "开票户行账号") + private String account; + + /** + * 开票抬头 + */ + @ApiModelProperty(value = "开票抬头") + private String head; + + /** + * 开票地址 + */ + @ApiModelProperty(value = "开票地址") + private String address; + + /** + * 开票户行 + */ + @ApiModelProperty(value = "开票户行") + private String bank; + + /** + * 一般纳税人资格证明 + */ + @ApiModelProperty(value = "一般纳税人资格证明") + private String qualificationCertificate; + + /** + * 身份类型--境外企业没有此项目 + */ + @ApiModelProperty(value = "身份类型--境外企业没有此项目") + private String type; + + /** + * 启用状态 + */ + @ApiModelProperty(value = "启用状态") + private Integer status; + + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierInvoiceVO.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierInvoiceVO.java new file mode 100644 index 0000000..cc0f176 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierInvoiceVO.java @@ -0,0 +1,26 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity; + +import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * 实体类 CoscoSupplierInvoice + * @author sunyu + * @date 2025-5-20 + */ +@Data +@Accessors(chain = true) +@ApiModel +public class CoscoSupplierInvoiceVO extends CoscoSupplierInvoice implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "分页对象信息") + private BasePageRequest basePageRequest; + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierQualifications.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierQualifications.java new file mode 100644 index 0000000..6d49a49 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierQualifications.java @@ -0,0 +1,98 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; + +/** + * 实体类 CoscoSupplierQualifications + * @author sunyu + * @date 2025-5-20 + */ +@Data +@Accessors(chain = true) +@ApiModel +@TableName(value = "cosco_supplier_qualifications", autoResultMap = true) +public class CoscoSupplierQualifications extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 资质信息 + */ + @ApiModelProperty(value = "资质信息") + private String id; + + /** + * 供应商id cosco_supplier_base表主键 + */ + @ApiModelProperty(value = "供应商id cosco_supplier_base表主键") + private String supplierId; + + /** + * 资质证书类型 + */ + @ApiModelProperty(value = "资质证书类型") + private String certificateType; + + /** + * 资质名称 + */ + @ApiModelProperty(value = "资质名称") + private String name; + + /** + * 资质证书编号 + */ + @ApiModelProperty(value = "资质证书编号") + private String code; + + /** + * 资质类别和等级 + */ + @ApiModelProperty(value = "资质类别和等级") + private String typeLevel; + + /** + * 发证机构 + */ + @ApiModelProperty(value = "发证机构") + private String authority; + + /** + * 发证日期 + */ + @ApiModelProperty(value = "发证日期") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private java.time.LocalDateTime dateTime; + + /** + * 资质有效期至 + */ + @ApiModelProperty(value = "资质有效期至") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private java.time.LocalDateTime termOfValidity; + + /** + * 附件 + */ + @ApiModelProperty(value = "附件") + private String accessory; + + /** + * 启用状态 + */ + @ApiModelProperty(value = "启用状态") + private Integer status; + + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierQualificationsVO.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierQualificationsVO.java new file mode 100644 index 0000000..13a164a --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierQualificationsVO.java @@ -0,0 +1,27 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity; + +import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * 实体类 CoscoSupplierQualifications + * + * @author sunyu + * @date 2025-5-20 + */ +@Data +@Accessors(chain = true) +@ApiModel +public class CoscoSupplierQualificationsVO extends CoscoSupplierQualifications implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "分页对象信息") + private BasePageRequest basePageRequest; + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierSurvey.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierSurvey.java new file mode 100644 index 0000000..8b68718 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierSurvey.java @@ -0,0 +1,78 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; + +/** + * 实体类 CoscoSupplierSurvey + * @author sunyu + * @date 2025-5-20 + */ +@Data +@Accessors(chain = true) +@ApiModel +@TableName(value = "cosco_supplier_survey", autoResultMap = true) +public class CoscoSupplierSurvey extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * + */ + @ApiModelProperty(value = "") + private String id; + + /** + * 供应商id + */ + @ApiModelProperty(value = "供应商id") + private String supplierId; + + /** + * 供应商名称 + */ + @ApiModelProperty(value = "供应商名称") + private String supplierName; + + /** + * 姓名 + */ + @ApiModelProperty(value = "姓名") + private String name; + + /** + * 职位 + */ + @ApiModelProperty(value = "职位") + private String position; + + /** + * 电话号 + */ + @ApiModelProperty(value = "电话号") + private String phone; + + /** + * 邮箱 + */ + @ApiModelProperty(value = "邮箱") + private String email; + + /** + * 日期 + */ + @ApiModelProperty(value = "日期") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private java.time.LocalDateTime datetime; + + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierSurveyQuestion.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierSurveyQuestion.java new file mode 100644 index 0000000..00e4f9e --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierSurveyQuestion.java @@ -0,0 +1,56 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * 实体类 CoscoSupplierSurveyQuestion + * @author sunyu + * @date 2025-5-20 + */ +@Data +@Accessors(chain = true) +@ApiModel +@TableName(value = "cosco_supplier_survey_question", autoResultMap = true) +public class CoscoSupplierSurveyQuestion extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * + */ + @ApiModelProperty(value = "") + private String id; + + /** + * 问题 + */ + @ApiModelProperty(value = "问题") + private String question; + + /** + * 回复 + */ + @ApiModelProperty(value = "回复") + private String reply; + + /** + * 排序 + */ + @ApiModelProperty(value = "排序") + private Integer orderBy; + + /** + * 供应商注册问卷id + */ + @ApiModelProperty(value = "供应商注册问卷id") + private String supplierSurveyId; + + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierSurveyQuestionVO.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierSurveyQuestionVO.java new file mode 100644 index 0000000..cd4afa0 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierSurveyQuestionVO.java @@ -0,0 +1,26 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity; + +import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * 实体类 CoscoSupplierSurveyQuestion + * @author sunyu + * @date 2025-5-20 + */ +@Data +@Accessors(chain = true) +@ApiModel +public class CoscoSupplierSurveyQuestionVO extends CoscoSupplierSurveyQuestion implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "分页对象信息") + private BasePageRequest basePageRequest; + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierSurveyVO.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierSurveyVO.java new file mode 100644 index 0000000..415f9d9 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierSurveyVO.java @@ -0,0 +1,26 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity; + +import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * 实体类 CoscoSupplierSurvey + * @author sunyu + * @date 2025-5-20 + */ +@Data +@Accessors(chain = true) +@ApiModel +public class CoscoSupplierSurveyVO extends CoscoSupplierSurvey implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "分页对象信息") + private BasePageRequest basePageRequest; + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierexit.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierexit.java new file mode 100644 index 0000000..c943730 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierexit.java @@ -0,0 +1,68 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; + +/** + * 实体类 CoscoSupplierexit + * @author sunyu + * @date 2025-5-20 + */ +@Data +@Accessors(chain = true) +@ApiModel +@TableName(value = "cosco_supplierexit", autoResultMap = true) +public class CoscoSupplierexit extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * + */ + @ApiModelProperty(value = "") + private String id; + + /** + * 退出主题 + */ + @ApiModelProperty(value = "退出主题") + private String exitTheme; + + /** + * 退出原因 + */ + @ApiModelProperty(value = "退出原因") + private String exitReason; + + /** + * 发起单位id + */ + @ApiModelProperty(value = "发起单位id") + private String deptId; + + /** + * 发起单位名称 + */ + @ApiModelProperty(value = "发起单位名称") + private String deptName; + + /** + * 审批状态 0待审批 1审批中 2审批结束 + */ + @ApiModelProperty(value = "审批状态 0待审批 1审批中 2审批结束") + private String status; + + + + + + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierexitVO.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierexitVO.java new file mode 100644 index 0000000..1ee5f97 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/entity/CoscoSupplierexitVO.java @@ -0,0 +1,26 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity; + +import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * 实体类 CoscoSupplierexit + * @author sunyu + * @date 2025-5-20 + */ +@Data +@Accessors(chain = true) +@ApiModel +public class CoscoSupplierexitVO extends CoscoSupplierexit implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "分页对象信息") + private BasePageRequest basePageRequest; + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/ICoscoSupplierBankService.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/ICoscoSupplierBankService.java new file mode 100644 index 0000000..e44940f --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/ICoscoSupplierBankService.java @@ -0,0 +1,24 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.service; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.chinaunicom.mall.ebtp.common.base.service.IBaseService; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierBank; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierBankVO; + +/** + * 对数据表 cosco_supplier_bank 操作的 service + * @author sunyu + * @date 2025-5-20 + */ +public interface ICoscoSupplierBankService extends IBaseService { + + /** + * 分页查询 + * + * @param coscoSupplierBankVO 分页数据 + * @return 返回结果 + */ + IPage getPage(CoscoSupplierBankVO coscoSupplierBankVO); + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/ICoscoSupplierBaseService.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/ICoscoSupplierBaseService.java new file mode 100644 index 0000000..7f3343a --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/ICoscoSupplierBaseService.java @@ -0,0 +1,26 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.service; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.chinaunicom.mall.ebtp.common.base.service.IBaseService; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierBase; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierBaseVO; + +/** + * 对数据表 cosco_supplier_base 操作的 service + * + * @author sunyu + * @date 2025-5-20 + */ +public interface ICoscoSupplierBaseService extends IBaseService { + + /** + * 分页查询 + * + * @param coscoSupplierBaseVO 分页数据 + * @return 返回结果 + */ + IPage getPage(CoscoSupplierBaseVO coscoSupplierBaseVO); + + Boolean saveRegister(CoscoSupplierBaseVO coscoSupplierBaseVO); +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/ICoscoSupplierInvoiceService.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/ICoscoSupplierInvoiceService.java new file mode 100644 index 0000000..e70f498 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/ICoscoSupplierInvoiceService.java @@ -0,0 +1,24 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.service; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.chinaunicom.mall.ebtp.common.base.service.IBaseService; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierInvoice; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierInvoiceVO; + +/** + * 对数据表 cosco_supplier_invoice 操作的 service + * @author sunyu + * @date 2025-5-20 + */ +public interface ICoscoSupplierInvoiceService extends IBaseService { + + /** + * 分页查询 + * + * @param coscoSupplierInvoiceVO 分页数据 + * @return 返回结果 + */ + IPage getPage(CoscoSupplierInvoiceVO coscoSupplierInvoiceVO); + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/ICoscoSupplierQualificationsService.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/ICoscoSupplierQualificationsService.java new file mode 100644 index 0000000..dac8003 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/ICoscoSupplierQualificationsService.java @@ -0,0 +1,24 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.service; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.chinaunicom.mall.ebtp.common.base.service.IBaseService; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierQualifications; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierQualificationsVO; + +/** + * 对数据表 cosco_supplier_qualifications 操作的 service + * @author sunyu + * @date 2025-5-20 + */ +public interface ICoscoSupplierQualificationsService extends IBaseService { + + /** + * 分页查询 + * + * @param coscoSupplierQualificationsVO 分页数据 + * @return 返回结果 + */ + IPage getPage(CoscoSupplierQualificationsVO coscoSupplierQualificationsVO); + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/ICoscoSupplierSurveyQuestionService.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/ICoscoSupplierSurveyQuestionService.java new file mode 100644 index 0000000..7a664de --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/ICoscoSupplierSurveyQuestionService.java @@ -0,0 +1,24 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.service; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.chinaunicom.mall.ebtp.common.base.service.IBaseService; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierSurveyQuestion; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierSurveyQuestionVO; + +/** + * 对数据表 cosco_supplier_survey_question 操作的 service + * @author sunyu + * @date 2025-5-20 + */ +public interface ICoscoSupplierSurveyQuestionService extends IBaseService { + + /** + * 分页查询 + * + * @param coscoSupplierSurveyQuestionVO 分页数据 + * @return 返回结果 + */ + IPage getPage(CoscoSupplierSurveyQuestionVO coscoSupplierSurveyQuestionVO); + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/ICoscoSupplierSurveyService.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/ICoscoSupplierSurveyService.java new file mode 100644 index 0000000..e0c71b8 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/ICoscoSupplierSurveyService.java @@ -0,0 +1,24 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.service; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.chinaunicom.mall.ebtp.common.base.service.IBaseService; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierSurvey; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierSurveyVO; + +/** + * 对数据表 cosco_supplier_survey 操作的 service + * @author sunyu + * @date 2025-5-20 + */ +public interface ICoscoSupplierSurveyService extends IBaseService { + + /** + * 分页查询 + * + * @param coscoSupplierSurveyVO 分页数据 + * @return 返回结果 + */ + IPage getPage(CoscoSupplierSurveyVO coscoSupplierSurveyVO); + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/ICoscoSupplierexitService.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/ICoscoSupplierexitService.java new file mode 100644 index 0000000..d7700d4 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/ICoscoSupplierexitService.java @@ -0,0 +1,24 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.service; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.chinaunicom.mall.ebtp.common.base.service.IBaseService; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierexit; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierexitVO; + +/** + * 对数据表 cosco_supplierexit 操作的 service + * @author sunyu + * @date 2025-5-20 + */ +public interface ICoscoSupplierexitService extends IBaseService { + + /** + * 分页查询 + * + * @param coscoSupplierexitVO 分页数据 + * @return 返回结果 + */ + IPage getPage(CoscoSupplierexitVO coscoSupplierexitVO); + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/impl/CoscoSupplierBankServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/impl/CoscoSupplierBankServiceImpl.java new file mode 100644 index 0000000..c452fe4 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/impl/CoscoSupplierBankServiceImpl.java @@ -0,0 +1,53 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.service.impl; + + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest; +import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.dao.CoscoSupplierBankMapper; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierBank; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierBankVO; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.service.ICoscoSupplierBankService; +import org.springframework.stereotype.Service; + +/** +* 对数据表 cosco_supplier_bank 操作的 serviceImpl +* @author sunyu +* @date 2025-5-20 +*/ +@Service +public class CoscoSupplierBankServiceImpl extends BaseServiceImpl implements ICoscoSupplierBankService { + + /** + * 生成查询数据 + * + * @param coscoSupplierBankVO 查询条件 + * @return 返回结果 + */ + + private LambdaQueryWrapper getCoscoSupplierBankQueryWrapper(CoscoSupplierBankVO coscoSupplierBankVO) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + + return queryWrapper; + } + + @Override + public IPage getPage(CoscoSupplierBankVO coscoSupplierBankVO) { + LambdaQueryWrapper queryWrapper = getCoscoSupplierBankQueryWrapper(coscoSupplierBankVO); + queryWrapper.orderByDesc(CoscoSupplierBank::getId); + + if (null == coscoSupplierBankVO.getBasePageRequest()) { + coscoSupplierBankVO.setBasePageRequest(new BasePageRequest()); + } + + //查询 + IPage p = new Page<>(coscoSupplierBankVO.getBasePageRequest().getPageNo(), coscoSupplierBankVO.getBasePageRequest().getPageSize()); + IPage result = this.page(p, queryWrapper); + + return result.convert(c -> BeanUtil.toBean(c, CoscoSupplierBankVO.class)); + } +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/impl/CoscoSupplierBaseServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/impl/CoscoSupplierBaseServiceImpl.java new file mode 100644 index 0000000..869248f --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/impl/CoscoSupplierBaseServiceImpl.java @@ -0,0 +1,101 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.service.impl; + + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest; +import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.dao.*; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.*; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.service.ICoscoSupplierBaseService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Objects; + +/** +* 对数据表 cosco_supplier_base 操作的 serviceImpl +* @author sunyu +* @date 2025-5-20 +*/ +@Service +public class CoscoSupplierBaseServiceImpl extends BaseServiceImpl implements ICoscoSupplierBaseService { + + @Resource + private CoscoSupplierQualificationsMapper coscoSupplierQualificationsMapper; + @Resource + private CoscoSupplierBankMapper coscoSupplierBankMapper; + @Resource + private CoscoSupplierInvoiceMapper coscoSupplierInvoiceMapper; + @Resource + private CoscoSupplierSurveyMapper coscoSupplierSurveyMapper; + + /** + * 生成查询数据 + * + * @param coscoSupplierBaseVO 查询条件 + * @return 返回结果 + */ + + private LambdaQueryWrapper getCoscoSupplierBaseQueryWrapper(CoscoSupplierBaseVO coscoSupplierBaseVO) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + + return queryWrapper; + } + + @Override + public IPage getPage(CoscoSupplierBaseVO coscoSupplierBaseVO) { + LambdaQueryWrapper queryWrapper = getCoscoSupplierBaseQueryWrapper(coscoSupplierBaseVO); + queryWrapper.orderByDesc(CoscoSupplierBase::getId); + + if (null == coscoSupplierBaseVO.getBasePageRequest()) { + coscoSupplierBaseVO.setBasePageRequest(new BasePageRequest()); + } + + //查询 + IPage p = new Page<>(coscoSupplierBaseVO.getBasePageRequest().getPageNo(), coscoSupplierBaseVO.getBasePageRequest().getPageSize()); + IPage result = this.page(p, queryWrapper); + + return result.convert(c -> BeanUtil.toBean(c, CoscoSupplierBaseVO.class)); + } + + @Override + public Boolean saveRegister(CoscoSupplierBaseVO coscoSupplierBaseVO) { + //todo 校验验证码 + + //供应商基础信息新增 + CoscoSupplierBase coscoSupplierBase = new CoscoSupplierBase(); + BeanUtil.copyProperties(coscoSupplierBase,coscoSupplierBaseVO); + baseMapper.insert(coscoSupplierBase); + //供应商资质信息新增 + List qualifications = coscoSupplierBaseVO.getQualifications(); + for (CoscoSupplierQualifications qualification : qualifications) { + CoscoSupplierQualifications coscoSupplierQualifications = new CoscoSupplierQualifications(); + BeanUtil.copyProperties(coscoSupplierQualifications,qualification); + coscoSupplierQualificationsMapper.insert(coscoSupplierQualifications); + } + //供应商银行账户信息新增 + List bankAccounts = coscoSupplierBaseVO.getBankAccounts(); + for (CoscoSupplierBank bankAccount : bankAccounts) { + CoscoSupplierBank coscoSupplierBank = new CoscoSupplierBank(); + BeanUtil.copyProperties(coscoSupplierBank,bankAccount); + coscoSupplierBankMapper.insert(coscoSupplierBank); + } + //供应商开票信息新增 + CoscoSupplierInvoice invoiceInformation = coscoSupplierBaseVO.getInvoiceInformation(); + if (Objects.nonNull(invoiceInformation)) { + CoscoSupplierInvoice coscoSupplierInvoice = new CoscoSupplierInvoice(); + BeanUtil.copyProperties(coscoSupplierInvoice,invoiceInformation); + coscoSupplierInvoiceMapper.insert(coscoSupplierInvoice); + } + // 供应商 社会准则符合性自查问卷 新增 + CoscoSupplierSurvey questionnaire = coscoSupplierBaseVO.getQuestionnaire(); + coscoSupplierSurveyMapper.insert(questionnaire); + + return true; + } +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/impl/CoscoSupplierInvoiceServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/impl/CoscoSupplierInvoiceServiceImpl.java new file mode 100644 index 0000000..b22a43c --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/impl/CoscoSupplierInvoiceServiceImpl.java @@ -0,0 +1,53 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.service.impl; + + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest; +import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.dao.CoscoSupplierInvoiceMapper; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierInvoice; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierInvoiceVO; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.service.ICoscoSupplierInvoiceService; +import org.springframework.stereotype.Service; + +/** +* 对数据表 cosco_supplier_invoice 操作的 serviceImpl +* @author sunyu +* @date 2025-5-20 +*/ +@Service +public class CoscoSupplierInvoiceServiceImpl extends BaseServiceImpl implements ICoscoSupplierInvoiceService { + + /** + * 生成查询数据 + * + * @param coscoSupplierInvoiceVO 查询条件 + * @return 返回结果 + */ + + private LambdaQueryWrapper getCoscoSupplierInvoiceQueryWrapper(CoscoSupplierInvoiceVO coscoSupplierInvoiceVO) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + + return queryWrapper; + } + + @Override + public IPage getPage(CoscoSupplierInvoiceVO coscoSupplierInvoiceVO) { + LambdaQueryWrapper queryWrapper = getCoscoSupplierInvoiceQueryWrapper(coscoSupplierInvoiceVO); + queryWrapper.orderByDesc(CoscoSupplierInvoice::getId); + + if (null == coscoSupplierInvoiceVO.getBasePageRequest()) { + coscoSupplierInvoiceVO.setBasePageRequest(new BasePageRequest()); + } + + //查询 + IPage p = new Page<>(coscoSupplierInvoiceVO.getBasePageRequest().getPageNo(), coscoSupplierInvoiceVO.getBasePageRequest().getPageSize()); + IPage result = this.page(p, queryWrapper); + + return result.convert(c -> BeanUtil.toBean(c, CoscoSupplierInvoiceVO.class)); + } +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/impl/CoscoSupplierQualificationsServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/impl/CoscoSupplierQualificationsServiceImpl.java new file mode 100644 index 0000000..171adaf --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/impl/CoscoSupplierQualificationsServiceImpl.java @@ -0,0 +1,53 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.service.impl; + + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest; +import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.dao.CoscoSupplierQualificationsMapper; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierQualifications; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierQualificationsVO; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.service.ICoscoSupplierQualificationsService; +import org.springframework.stereotype.Service; + +/** +* 对数据表 cosco_supplier_qualifications 操作的 serviceImpl +* @author sunyu +* @date 2025-5-20 +*/ +@Service +public class CoscoSupplierQualificationsServiceImpl extends BaseServiceImpl implements ICoscoSupplierQualificationsService { + + /** + * 生成查询数据 + * + * @param coscoSupplierQualificationsVO 查询条件 + * @return 返回结果 + */ + + private LambdaQueryWrapper getCoscoSupplierQualificationsQueryWrapper(CoscoSupplierQualificationsVO coscoSupplierQualificationsVO) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + + return queryWrapper; + } + + @Override + public IPage getPage(CoscoSupplierQualificationsVO coscoSupplierQualificationsVO) { + LambdaQueryWrapper queryWrapper = getCoscoSupplierQualificationsQueryWrapper(coscoSupplierQualificationsVO); + queryWrapper.orderByDesc(CoscoSupplierQualifications::getId); + + if (null == coscoSupplierQualificationsVO.getBasePageRequest()) { + coscoSupplierQualificationsVO.setBasePageRequest(new BasePageRequest()); + } + + //查询 + IPage p = new Page<>(coscoSupplierQualificationsVO.getBasePageRequest().getPageNo(), coscoSupplierQualificationsVO.getBasePageRequest().getPageSize()); + IPage result = this.page(p, queryWrapper); + + return result.convert(c -> BeanUtil.toBean(c, CoscoSupplierQualificationsVO.class)); + } +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/impl/CoscoSupplierSurveyQuestionServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/impl/CoscoSupplierSurveyQuestionServiceImpl.java new file mode 100644 index 0000000..7e7453a --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/impl/CoscoSupplierSurveyQuestionServiceImpl.java @@ -0,0 +1,53 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.service.impl; + + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest; +import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.dao.CoscoSupplierSurveyQuestionMapper; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierSurveyQuestion; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierSurveyQuestionVO; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.service.ICoscoSupplierSurveyQuestionService; +import org.springframework.stereotype.Service; + +/** +* 对数据表 cosco_supplier_survey_question 操作的 serviceImpl +* @author sunyu +* @date 2025-5-20 +*/ +@Service +public class CoscoSupplierSurveyQuestionServiceImpl extends BaseServiceImpl implements ICoscoSupplierSurveyQuestionService { + + /** + * 生成查询数据 + * + * @param coscoSupplierSurveyQuestionVO 查询条件 + * @return 返回结果 + */ + + private LambdaQueryWrapper getCoscoSupplierSurveyQuestionQueryWrapper(CoscoSupplierSurveyQuestionVO coscoSupplierSurveyQuestionVO) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + + return queryWrapper; + } + + @Override + public IPage getPage(CoscoSupplierSurveyQuestionVO coscoSupplierSurveyQuestionVO) { + LambdaQueryWrapper queryWrapper = getCoscoSupplierSurveyQuestionQueryWrapper(coscoSupplierSurveyQuestionVO); + queryWrapper.orderByDesc(CoscoSupplierSurveyQuestion::getId); + + if (null == coscoSupplierSurveyQuestionVO.getBasePageRequest()) { + coscoSupplierSurveyQuestionVO.setBasePageRequest(new BasePageRequest()); + } + + //查询 + IPage p = new Page<>(coscoSupplierSurveyQuestionVO.getBasePageRequest().getPageNo(), coscoSupplierSurveyQuestionVO.getBasePageRequest().getPageSize()); + IPage result = this.page(p, queryWrapper); + + return result.convert(c -> BeanUtil.toBean(c, CoscoSupplierSurveyQuestionVO.class)); + } +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/impl/CoscoSupplierSurveyServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/impl/CoscoSupplierSurveyServiceImpl.java new file mode 100644 index 0000000..6414516 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/impl/CoscoSupplierSurveyServiceImpl.java @@ -0,0 +1,53 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.service.impl; + + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest; +import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.dao.CoscoSupplierSurveyMapper; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierSurvey; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierSurveyVO; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.service.ICoscoSupplierSurveyService; +import org.springframework.stereotype.Service; + +/** +* 对数据表 cosco_supplier_survey 操作的 serviceImpl +* @author sunyu +* @date 2025-5-20 +*/ +@Service +public class CoscoSupplierSurveyServiceImpl extends BaseServiceImpl implements ICoscoSupplierSurveyService { + + /** + * 生成查询数据 + * + * @param coscoSupplierSurveyVO 查询条件 + * @return 返回结果 + */ + + private LambdaQueryWrapper getCoscoSupplierSurveyQueryWrapper(CoscoSupplierSurveyVO coscoSupplierSurveyVO) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + + return queryWrapper; + } + + @Override + public IPage getPage(CoscoSupplierSurveyVO coscoSupplierSurveyVO) { + LambdaQueryWrapper queryWrapper = getCoscoSupplierSurveyQueryWrapper(coscoSupplierSurveyVO); + queryWrapper.orderByDesc(CoscoSupplierSurvey::getId); + + if (null == coscoSupplierSurveyVO.getBasePageRequest()) { + coscoSupplierSurveyVO.setBasePageRequest(new BasePageRequest()); + } + + //查询 + IPage p = new Page<>(coscoSupplierSurveyVO.getBasePageRequest().getPageNo(), coscoSupplierSurveyVO.getBasePageRequest().getPageSize()); + IPage result = this.page(p, queryWrapper); + + return result.convert(c -> BeanUtil.toBean(c, CoscoSupplierSurveyVO.class)); + } +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/impl/CoscoSupplierexitServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/impl/CoscoSupplierexitServiceImpl.java new file mode 100644 index 0000000..085f901 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/bizsupplierregister/service/impl/CoscoSupplierexitServiceImpl.java @@ -0,0 +1,53 @@ +package com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.service.impl; + + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest; +import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.dao.CoscoSupplierexitMapper; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierexit; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.entity.CoscoSupplierexitVO; +import com.chinaunicom.zyhy.ebtp.supplier.bizsupplierregister.service.ICoscoSupplierexitService; +import org.springframework.stereotype.Service; + +/** +* 对数据表 cosco_supplierexit 操作的 serviceImpl +* @author sunyu +* @date 2025-5-20 +*/ +@Service +public class CoscoSupplierexitServiceImpl extends BaseServiceImpl implements ICoscoSupplierexitService { + + /** + * 生成查询数据 + * + * @param coscoSupplierexitVO 查询条件 + * @return 返回结果 + */ + + private LambdaQueryWrapper getCoscoSupplierexitQueryWrapper(CoscoSupplierexitVO coscoSupplierexitVO) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + + return queryWrapper; + } + + @Override + public IPage getPage(CoscoSupplierexitVO coscoSupplierexitVO) { + LambdaQueryWrapper queryWrapper = getCoscoSupplierexitQueryWrapper(coscoSupplierexitVO); + queryWrapper.orderByDesc(CoscoSupplierexit::getId); + + if (null == coscoSupplierexitVO.getBasePageRequest()) { + coscoSupplierexitVO.setBasePageRequest(new BasePageRequest()); + } + + //查询 + IPage p = new Page<>(coscoSupplierexitVO.getBasePageRequest().getPageNo(), coscoSupplierexitVO.getBasePageRequest().getPageSize()); + IPage result = this.page(p, queryWrapper); + + return result.convert(c -> BeanUtil.toBean(c, CoscoSupplierexitVO.class)); + } +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/feign/SystemApi.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/feign/SystemApi.java new file mode 100644 index 0000000..7a0eb21 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/feign/SystemApi.java @@ -0,0 +1,16 @@ +package com.chinaunicom.zyhy.ebtp.supplier.feign; + +import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.zyhy.ebtp.supplier.feign.vo.SysUserRole; +import io.swagger.annotations.ApiParam; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import javax.validation.Valid; + +@FeignClient(value = "${mconfig.service-name-system}") +public interface SystemApi { + @PostMapping("/v1/sysuserrole/hasRole") + public BaseResponse hasRole (@Valid @RequestBody SysUserRole sysUserRole); +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/feign/vo/SysUserRole.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/feign/vo/SysUserRole.java new file mode 100644 index 0000000..6bc9334 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/feign/vo/SysUserRole.java @@ -0,0 +1,36 @@ +package com.chinaunicom.zyhy.ebtp.supplier.feign.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotEmpty; +import java.io.Serializable; + +/** +* 实体类 SysUserRole-用户与角色关系表 +* +* @author yss +*/ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Accessors(chain = true) +@ApiModel(value = "SysUserRole对象", description = "用户与角色关系表") +public class SysUserRole implements Serializable { + + private static final long serialVersionUID = 1L; + @NotEmpty + @ApiModelProperty(value = "用户ID") + private String userId; + @NotEmpty + @ApiModelProperty(value = "角色ID") + private String roleId; + + + + +} diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml new file mode 100644 index 0000000..c7c7c00 --- /dev/null +++ b/src/main/resources/application-dev.yml @@ -0,0 +1,185 @@ +server: + port: 18013 + servlet: + context-path: / + +seata: + service: + vgroup-mapping: + biz-service-ebtp-project-service-group: default + grouplist: + default: 10.242.37.148:18035 + +# 对应 apollo 配置中心的应用名 +app: + id: biz-service-ebtp-project + +# Apollo 配置信息 +apollo: + meta: http://10.242.37.148:6001/ + bootstrap: + namespace: application + enabled: true + eagerLoad: + enabled: true + +spring: + cloud: + nacos: + discovery: + server-addr: 127.0.0.1:8848 + aop: + auto: true #开启spring的aop配置 + proxy-target-class: true + + application: + name: biz-service-ebtp-project + + shardingsphere: + datasource: + names: ds0 + ds0: + type: com.alibaba.druid.pool.DruidDataSource + driver-class-name: com.mysql.cj.jdbc.Driver + username: root + password: Unicom@2024 + jdbc-url: jdbc:mysql://59.110.10.99:53306/cosco_portal_manager?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true + url: jdbc:mysql://59.110.10.99:53306/cosco_portal_manager?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true + filters: stat,wall,log4j + maxActive: 20 + initialSize: 1 + maxWait: 60000 + minIdle: 1 + timeBetweenEvictionRunsMillis: 60000 + minEvictableIdleTimeMillis: 300000 + validationQuery: select 'x' + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + poolPreparedStatements: true + maxOpenPreparedStatements: 20 + connection-properties: druid.stat.merggSql=ture;druid.stat.slowSqlMillis=5000 + props: + sql: + show: true + + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + serialization: + write-dates-as-timestamps: false + + # 天宫Kafka增加了安全认证,需要配置安全属性 + kafka: + bootstrap-servers: 10.125.164.192:32005,10.125.164.193:32005,10.125.164.194:32005 + template: + default-topic: jl_test + + # 生产者配置参数 + producer: + client-id: core-service-ebtp-crypt + properties: + security.protocol: SASL_PLAINTEXT + sasl.mechanism: SCRAM-SHA-256 + sasl.jaas.config: org.apache.kafka.common.security.scram.ScramLoginModule required username="jltest" password="Unicom#123"; + + # 消费者配置参数 + consumer: + group-id: core-service-ebtp-crypt-consumer + auto-offset-reset: latest + properties: + security.protocol: SASL_PLAINTEXT + sasl.mechanism: SCRAM-SHA-256 + sasl.jaas.config: org.apache.kafka.common.security.scram.ScramLoginModule required username="jltest" password="Unicom#123"; + + # 天宫 redis 需要使用哨兵进行访问 + redis: + sentinel: + master: eshop-redis + nodes: 10.125.164.124:32718, 10.125.164.118:32716, 10.125.164.121:32716 + password: Unicom#135 + +# 天宫Eureka配置 +eureka: + client: + service-url: + defaultZone: http://eureka-1-svc:8080/eureka, http://eureka-2-svc:8080/eureka, http://eureka-3-svc:8080/eureka + instance: + prefer-ip-address: true + instance-id: http://10.242.37.148:${server.port} + # 这是客户端的注册地址, eureka 会通过这个地址建立管道 + ip-address: 10.242.37.148 + +mybatis-plus: + configuration: + # 是否开启自动驼峰命名规则映射:从数据库列名到Java属性驼峰命名的类似映射 + map-underscore-to-camel-case: true + auto-mapping-behavior: full + # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用 + # log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + mapper-locations: classpath*:com/chinaunicom/mall/ebtp/**/mapper/*Mapper.xml + global-config: + # 逻辑删除配置 + db-config: + # logic-delete-field: flag # 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2) @TableLogic + logic-not-delete-value: normal # 逻辑删除标记:正常数据 + logic-delete-value: deleted # 逻辑删除标记:已删除的数据 + type-aliases-package: com.chinaunicom.mall.ebtp.project + +hystrix: + command: + default: + execution: + timeout: + enabled: true + isolation: + strategy: SEMAPHORE + thread: + timeoutInMilliseconds: 200000 #熔断超时时间 + circuitBreaker: + sleepWindowInMilliseconds: 20000 + forceClosed: true + +ribbon: + ReadTimeout: 20000 #请求处理的超时时间 + ConnectTimeout: 20000 #请求连接超时时间 + MaxAutoRetries: 0 #对当前实例的重试次数 + MaxAutoRetriesNextServer: 1 #切换实例的重试次数 1 + +mconfig: + swagger-ui-open: true + exception-handle-enabled: true + # seata-open-enabled: false + # work-id: 1 #终端ID + # datacenter-id: 1 #数据中心ID + # host-name: http://10.238.25.112/ + service-name-purp: mall-purp #采购系统委托项目微服务 + service-name-wfap: mall-wfap #重新评审 流程微服务 + service-name-resu: mall-resu #重新评审 项目中心查询服务 + service-price-query: biz-service-price-query #商城询价服务 + service-price-usercenter: core-service-usercenter-public #用户中心服务 + #内部服务 + service-name-archive: biz-service-ebtp-archive #归档服务 + service-name-auction: biz-service-ebtp-auction #竞拍服务API + service-name-calibration: biz-service-ebtp-calibration #标段定标接口 + service-name-bid: biz-service-ebtp-bid #标段出始化流程 + service-name-process: biz-service-ebtp-process #标段出始化流程 + service-name-resps: biz-service-ebtp-resps #标段应答文件 + service-name-rsms: biz-service-ebtp-rsms #评审微服务 + service-name-tender: biz-service-ebtp-tender #标段投标微服务 + service-name-agency: biz-service-ebtp-agency #招标代理库微服务 + service-name-provider: biz-supplier-manage #供应商微服务 + service-name-project: biz-service-ebtp-project #项目微服务 + service-name-system: sys-manager-ebtp-project + wfSectionNo: '080' + wfSectionName: 标段重新评审审批单 + +# 用户暴露给 prometheus 的健康数据 +management: + endpoints: + web: + exposure: + include: "*" + cors: + allowed-origins: "*" + allowed-methods: "*" \ No newline at end of file diff --git a/src/main/resources/application-local.yml b/src/main/resources/application-local.yml new file mode 100644 index 0000000..bc899d7 --- /dev/null +++ b/src/main/resources/application-local.yml @@ -0,0 +1,203 @@ +server: + port: 18012 + servlet: + context-path: / + +seata: + service: + vgroup-mapping: + biz-service-ebtp-project-ceshi-service-group: seata-server-jl + grouplist: + default: 10.242.37.148:18035 + +spring: + aop: + auto: true #开启spring的aop配置 + proxy-target-class: true + + application: + name: biz-service-ebtp-project + + shardingsphere: + datasource: + names: ds0 + ds0: + type: com.alibaba.druid.pool.DruidDataSource + driver-class-name: com.mysql.cj.jdbc.Driver + username: mall + password: Unicom160_30 + jdbc-url: jdbc:mysql://10.125.160.30:3306/ebtp_mall_project?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true&rewriteBatchedStatements=true + url: jdbc:mysql://10.125.160.30:3306/ebtp_mall_project?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true&rewriteBatchedStatements=true + filters: stat,wall,log4j + maxActive: 20 + initialSize: 1 + maxWait: 60000 + minIdle: 1 + timeBetweenEvictionRunsMillis: 60000 + minEvictableIdleTimeMillis: 300000 + validationQuery: select 'x' + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + poolPreparedStatements: true + maxOpenPreparedStatements: 20 + connection-properties: druid.stat.merggSql=ture;druid.stat.slowSqlMillis=5000 + props: + sql: + show: true + + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + serialization: + write-dates-as-timestamps: false + + # 天宫Kafka增加了安全认证,需要配置安全属性 + kafka: + bootstrap-servers: 10.125.164.192:32005,10.125.164.193:32005,10.125.164.194:32005 + template: + default-topic: jl_test + + # 生产者配置参数 + producer: + client-id: core-service-ebtp-crypt + properties: + security.protocol: SASL_PLAINTEXT + sasl.mechanism: SCRAM-SHA-256 + sasl.jaas.config: org.apache.kafka.common.security.scram.ScramLoginModule required username="jltest" password="Unicom#123"; + + # 消费者配置参数 + consumer: + group-id: core-service-ebtp-crypt-consumer + auto-offset-reset: latest + properties: + security.protocol: SASL_PLAINTEXT + sasl.mechanism: SCRAM-SHA-256 + sasl.jaas.config: org.apache.kafka.common.security.scram.ScramLoginModule required username="jltest" password="Unicom#123"; + + # 天宫 redis 需要使用哨兵进行访问 + redis: + sentinel: + master: eshop-redis + nodes: 10.125.164.124:32718, 10.125.164.118:32716, 10.125.164.121:32716 + password: Unicom#135 + database: + idempotent: 0 + sharding: 1 + cache: 2 + backup: 3 + +# 天宫Eureka配置 +eureka: + client: + service-url: + defaultZone: http://10.242.31.158:5002/eureka,http://10.242.31.158:5003/eureka + instance: + prefer-ip-address: true + ip-address: 125.32.114.204 + hostname: 125.32.114.204 + instance-id: 125.32.114.204:${server.port} + + +mybatis-plus: + configuration: + # 是否开启自动驼峰命名规则映射:从数据库列名到Java属性驼峰命名的类似映射 + map-underscore-to-camel-case: true + auto-mapping-behavior: full + # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用 + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + mapper-locations: classpath*:com/chinaunicom/mall/ebtp/**/mapper/*Mapper.xml + global-config: + # 逻辑删除配置 + db-config: + # logic-delete-field: flag # 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2) @TableLogic + logic-delete-value: 0 # 逻辑已删除值 + logic-not-delete-value: 1 # 逻辑未删除值 + + +check: + porject: + name-value: 33333 + num-value: 33333 + length: 2000 + checkBoolen: false + tokentime: + timeLimit: 5000 + onof: 0 + checkprivateKey : MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAk7N3OeQS9WJa/v5dX/s9/DCKpJ8kOjR1Zrh1X+TF98udqGbGBWmiyVk2SqGPA4Q9kUCWw46CocjE047gx5AFrQIDAQABAkAIHG/stvCvlxImNLPOBI8X3VaPycmEhML5vCF9/aM9g1SuFa298Q5W8FqAmm8SE5lRpw2yyToWtLbufJtAa7wFAiEAxViJBkLU4wfPCwiPiAn17owXbocC9rj3fAzEH9DYDdcCIQC/mZp4ujO035Qqw2QQeFWpDc/vITx1OTWaxq6/LvvwGwIgXTZLSmzItw9aKOD7QotJ4UnES41zxetp4er5u/leA3MCIGcRw2ZEjII1b+hdOdweT75kfsId9/77apm7Xc/c/4yXAiEAnBrCiVXRNN+slO0MYaxynr4eIiPG/EjYBYxXlwBpeOc= + checkpublicKey: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJOzdznkEvViWv7+XV/7PfwwiqSfJDo0dWa4dV/kxffLnahmxgVposlZNkqhjwOEPZFAlsOOgqHIxNOO4MeQBa0CAwEAAQ== + +hystrix: + command: + default: + execution: + timeout: + enabled: true + isolation: + strategy: SEMAPHORE + thread: + timeoutInMilliseconds: 600000 #熔断超时时间 + circuitBreaker: + sleepWindowInMilliseconds: 20000 + forceClosed: true + +ribbon: + ReadTimeout: 60000 #请求处理的超时时间 + ConnectTimeout: 20000 #请求连接超时时间 + MaxAutoRetries: 0 #对当前实例的重试次数 + MaxAutoRetriesNextServer: 1 #切换实例的重试次数 1 + +mconfig: + swagger-ui-open: true + exception-handle-enabled: true + seata-open-enabled: false + work-id: 1 + datacenter-id: 5 + + host-name: http://10.242.37.148/ + service-name-purp: mall-purp #采购系统委托项目微服务 + service-name-wfap: mall-wfap #重新评审 流程微服务 + service-name-resu: mall-resu #重新评审 项目中心查询服务 + service-price-query : biz-service-price-query #商城询价服务 + service-price-usercenter: core-service-usercenter-public #用户中心服务 + #内部服务 + service-name-archive: biz-service-ebtp-archive #归档服务 + service-name-auction: biz-service-ebtp-auction #竞拍服务API + service-name-calibration: biz-service-ebtp-calibration #标段定标接口 + service-name-bid: biz-service-ebtp-bid #标段出始化流程 + service-name-process: biz-service-ebtp-process #标段出始化流程 + service-name-resps : biz-service-ebtp-resps #标段应答文件 + service-name-rsms : biz-service-ebtp-rsms #评审微服务 + service-name-tender : biz-service-ebtp-tender #标段投标微服务 + service-name-evaluation : biz-service-ebtp-evaluation + service-name-open : biz-service-ebtp-opening + service-name-notification : core-service-notification-center + wfSectionNo: '080' + wfSectionName: 标段重新评审审批单 + rsa: + field: + pivate_key: MIICeQIBADANBgkqhkiG9w0BAQEFAASCAmMwggJfAgEAAoGBALYmN7QH5Bh3mjeeNOZzvhvgXJq3PKteb5vO7EtyM7C1IGg60CLePc1zISF5m48F7VIORtj48w4Ci0S/5oYxkjv2GTIhiPHD9GV1HsakpNTl475VZiVIfuDsTujghUZH9CW0UZB37yTI0njQBhsyjpTswKaUGb1LRZoqUcj1w4mFAgMBAAECgYEAmG93YoTQEOHXAAC4iLwIN1AWb6w1a70GbkBHZARY2eNbEZ9WnDedRRi6e0dINfNh3q/v/pio3+qlHo3yoA9QLs68YW8yy1xgGqTBsFMhn8Zh1KQ7Alle0+KJdytvpfvf6/YwW6oUk2Y44vm6nVa8EjXKYqloV/PROMa0uTYWUQECQQDvMk/XJ1wjG42IoyLxVSfsMfSCelJvYBYxaFfNPxOYWdOfSSEnAj7QNkDnhuDrLbbsnyy3KvLnUqkILU8fuZLhAkEAwvH5MRwSXpjwZY8xFCLv4YShDB6pG8l4rScjzV5B8SL2DhE/evha5obMO5d+iB73JBP03W6juSCilksy5zovJQJBAI+/Q54ASG3MzCTWLVStIV3fs5qKGmpWa1/r3gA5rPP836G1GBhSUB9ey2iYdSjAg1L2Ya/+PpXn5i9E0200X+ECQQCCQ05QEoHz1B5Ovq/81JuWBhnXD2XQu393tH+n6yQFDWd9XukcMngLMmemKkTSkF50LSGiFRwxyCzcYMNS3v5BAkEA5t2hOtPieYU9SrFENtgQTvtU7WmUumS0mTsDnnGUKsx2hMn8acKPVOskT+VzGg4A2kDoKo+5C9LQp1lc/RkI6A== + + +# 用户暴露给 prometheus 的健康数据 +management: + endpoints: + web: + exposure: + include: "*" + cors: + allowed-origins: "*" + allowed-methods: "*" + health: + mongo: + enabled: false + +client: + notification-url: http://10.242.31.158:8806/auth/sso/cloudPortal?return=https://uat-uscm.chinaunicom.cn:18022/redirect?page=subscription?id={{id}}&source=supplier + clientHttpUrl: http://10.242.31.158:8100/auth/oauth/token?grant_type=client_credentials&client_id=bVS46ElU&client_secret=58ea04ba02475c8da2321cc99849d2a10f15b749 +allow: + apis: + - ^POST\./?v1/.*$ + - ^GET\./?v1/.*$ + + diff --git a/src/main/resources/application-master.yml b/src/main/resources/application-master.yml new file mode 100644 index 0000000..2f4c4ee --- /dev/null +++ b/src/main/resources/application-master.yml @@ -0,0 +1,156 @@ +server: + port: 18096 + servlet: + context-path: / +spring: + cloud: + nacos: + discovery: + server-addr: 127.0.0.1:8848 + group: EBTP_GROUP # 例如:EBTP_GROUP + aop: + auto: true #开启spring的aop配置 + proxy-target-class: true + application: + name: biz-supplier-manage + + shardingsphere: + datasource: + names: ds0 + ds0: + type: com.alibaba.druid.pool.DruidDataSource + driver-class-name: com.mysql.cj.jdbc.Driver + username: root + password: Unicom@2024 + jdbc-url: jdbc:mysql://59.110.10.99:53306/cosco_supplier_manager?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true + url: jdbc:mysql://59.110.10.99:53306/cosco_supplier_manager?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true + filters: stat,wall,log4j + maxActive: 20 + initialSize: 1 + maxWait: 60000 + minIdle: 1 + timeBetweenEvictionRunsMillis: 60000 + minEvictableIdleTimeMillis: 300000 + validationQuery: select 'x' + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + poolPreparedStatements: true + maxOpenPreparedStatements: 20 + connection-properties: druid.stat.merggSql=ture;druid.stat.slowSqlMillis=5000 + props: + sql: + show: false + + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + serialization: + write-dates-as-timestamps: false + + # 天宫Kafka增加了安全认证,需要配置安全属性 +# kafka: +# bootstrap-servers: 10.172.48.110:32050,10.172.48.109:32050,10.172.48.111:32050 +# template: +# default-topic: jl_eshop +# +# # 生产者配置参数 +# producer: +# client-id: core-service-ebtp-crypt +# properties: +# security.protocol: SASL_PLAINTEXT +# sasl.mechanism: SCRAM-SHA-256 +# sasl.jaas.config: org.apache.kafka.common.security.scram.ScramLoginModule required username="eshop-kafka" password="Unicom#135"; +# +# # 消费者配置参数 +# consumer: +# group-id: core-service-ebtp-crypt-consumer +# auto-offset-reset: latest +# properties: +# security.protocol: SASL_PLAINTEXT +# sasl.mechanism: SCRAM-SHA-256 +# sasl.jaas.config: org.apache.kafka.common.security.scram.ScramLoginModule required username="eshop-kafka" password="Unicom#135"; + + # 生产区 redis 配置 + redis: + host: localhost # Redis 服务器地址,默认本地:ml-citation{ref="1,4" data="citationList"} + port: 6379 # 监听端口,默认 6379:ml-citation{ref="1,4" data="citationList"} + # password: Yhblsqt%21 # 访问密码(若无密码可省略):ml-citation{ref="1,4" data="citationList"} + # database: 4 # 选择数据库编号,默认 0:ml-citation{ref="1,6" data="citationList"} + timeout: 3000 # 连接超时时间(单位:毫秒):ml-citation{ref="4,6" data="citationList"} + + + + +mybatis-plus: + configuration: + # 是否开启自动驼峰命名规则映射:从数据库列名到Java属性驼峰命名的类似映射 + map-underscore-to-camel-case: true + auto-mapping-behavior: full + # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用 + #log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + mapper-locations: classpath*:com/chinaunicom/zyhy/ebtp/supplier/**/mapper/*Mapper.xml + global-config: + # 逻辑删除配置 + db-config: + logic-not-delete-value: normal # 逻辑删除标记:正常数据 + logic-delete-value: deleted # 逻辑删除标记:已删除的数据 + type-aliases-package: com.chinaunicom.mall.ebtp.supplier + +hystrix: + command: + default: + execution: + timeout: + enabled: true + isolation: + strategy: SEMAPHORE + thread: + timeoutInMilliseconds: 200000 #熔断超时时间 + circuitBreaker: + sleepWindowInMilliseconds: 20000 + forceClosed: true + +ribbon: + ReadTimeout: 20000 #请求处理的超时时间 + ConnectTimeout: 20000 #请求连接超时时间 + MaxAutoRetries: 0 #对当前实例的重试次数 + MaxAutoRetriesNextServer: 1 #切换实例的重试次数 1 + +mconfig: + swagger-ui-open: true + exception-handle-enabled: true +# seata-open-enabled: false +# work-id: 1 #终端ID +# datacenter-id: 1 #数据中心ID +# host-name: http://10.238.25.112/ + service-name-purp: mall-purp #采购系统委托项目微服务 + service-name-wfap: mall-wfap #重新评审 流程微服务 + service-name-resu: mall-resu #重新评审 项目中心查询服务 + service-price-query: biz-service-price-query #商城询价服务 + service-price-usercenter: core-service-usercenter-public #用户中心服务 + #内部服务 + service-name-archive: biz-service-ebtp-archive #归档服务 + service-name-auction: biz-service-ebtp-auction #竞拍服务API + service-name-calibration: biz-service-ebtp-calibration #标段定标接口 + service-name-bid: biz-service-ebtp-bid #标段出始化流程 + service-name-process: biz-service-ebtp-process #标段出始化流程 + service-name-resps: biz-service-ebtp-resps #标段应答文件 + service-name-rsms: biz-service-ebtp-rsms #评审微服务 + service-name-tender: biz-service-ebtp-tender #标段投标微服务 + service-name-agency: biz-service-ebtp-agency #招标代理库微服务 + service-name-provider: biz-supplier-manage #供应商微服务 + service-name-project: biz-service-ebtp-project #项目微服务 + service-name-system: sys-manager-ebtp-project + wfSectionNo: '080' + wfSectionName: 标段重新评审审批单 + +# 用户暴露给 prometheus 的健康数据 +management: + endpoints: + web: + exposure: + include: "*" + cors: + allowed-origins: "*" + allowed-methods: "*" diff --git a/src/main/resources/application-sim.yml b/src/main/resources/application-sim.yml new file mode 100644 index 0000000..6c11231 --- /dev/null +++ b/src/main/resources/application-sim.yml @@ -0,0 +1,176 @@ +server: + port: 18012 + servlet: + context-path: / + +seata: + service: + vgroup-mapping: + biz-service-ebtp-project-service-group: seata-server-jl + registry: + type: eureka + eureka: + serviceUrl: http://eureka-1-svc:8080/eureka,http://eureka-2-svc:8080/eureka,http://eureka-3-svc:8080/eureka + +# 对应 apollo 配置中心的应用名 +app: + id: biz-service-ebtp-project + +# Apollo 配置信息 +apollo: + meta: http://10.242.31.54:6001 + bootstrap: + namespace: application + enabled: true + eagerLoad: + enabled: true + +spring: + aop: + auto: true #开启spring的aop配置 + proxy-target-class: true + + application: + name: biz-service-ebtp-project + + shardingsphere: + datasource: + names: ds0 + ds0: + type: com.alibaba.druid.pool.DruidDataSource + driver-class-name: com.mysql.cj.jdbc.Driver + username: mall + password: unicom + jdbc-url: jdbc:mysql://10.125.160.37:3306/ebtp_mall_project?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true&rewriteBatchedStatements=true + url: jdbc:mysql://10.125.160.37:3306/ebtp_mall_project?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true&rewriteBatchedStatements=true + filters: stat,wall,log4j + maxActive: 20 + initialSize: 1 + maxWait: 60000 + minIdle: 1 + timeBetweenEvictionRunsMillis: 60000 + minEvictableIdleTimeMillis: 300000 + validationQuery: select 'x' + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + poolPreparedStatements: true + maxOpenPreparedStatements: 20 + connection-properties: druid.stat.merggSql=ture;druid.stat.slowSqlMillis=5000 + props: + sql: + show: false + + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + serialization: + write-dates-as-timestamps: false + + # 天宫Kafka增加了安全认证,需要配置安全属性 + kafka: + bootstrap-servers: 10.125.164.24:32002,10.125.164.192:32096,10.125.164.89:32002 + template: + default-topic: jl_eshop + + # 生产者配置参数 + producer: + client-id: core-service-ebtp-crypt + properties: + security.protocol: SASL_PLAINTEXT + sasl.mechanism: SCRAM-SHA-256 + sasl.jaas.config: org.apache.kafka.common.security.scram.ScramLoginModule required username="eshop-kafka-sim" password="Unicom#135"; + + # 消费者配置参数 + consumer: + group-id: core-service-ebtp-crypt-consumer + auto-offset-reset: latest + properties: + security.protocol: SASL_PLAINTEXT + sasl.mechanism: SCRAM-SHA-256 + sasl.jaas.config: org.apache.kafka.common.security.scram.ScramLoginModule required username="eshop-kafka-sim" password="Unicom#135"; + + # 生产区 redis 配置 + redis: + sentinel: + master: eshop-redis-sim + nodes: 10.125.164.24:32510,10.125.164.90:32515,10.125.164.89:32516 + password: Unicom#135 + +# 天宫Eureka配置 +eureka: + client: + service-url: + defaultZone: http://eureka-1-svc:8080/eureka,http://eureka-2-svc:8080/eureka,http://eureka-3-svc:8080/eureka + instance: + prefer-ip-address: true + instance-ip: ${spring.cloud.client.ip-address}:${server.port} + +mybatis-plus: + configuration: + # 是否开启自动驼峰命名规则映射:从数据库列名到Java属性驼峰命名的类似映射 + map-underscore-to-camel-case: true + auto-mapping-behavior: full + # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用 + #log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + mapper-locations: classpath*:com/chinaunicom/mall/ebtp/**/mapper/*Mapper.xml + global-config: + # 逻辑删除配置 + db-config: + logic-not-delete-value: normal # 逻辑删除标记:正常数据 + logic-delete-value: deleted # 逻辑删除标记:已删除的数据 + type-aliases-package: com.chinaunicom.mall.ebtp.project + +hystrix: + command: + default: + execution: + timeout: + enabled: true + isolation: + strategy: SEMAPHORE + thread: + timeoutInMilliseconds: 200000 #熔断超时时间 + circuitBreaker: + sleepWindowInMilliseconds: 20000 + forceClosed: true + +ribbon: + ReadTimeout: 20000 #请求处理的超时时间 + ConnectTimeout: 20000 #请求连接超时时间 + MaxAutoRetries: 0 #对当前实例的重试次数 + MaxAutoRetriesNextServer: 1 #切换实例的重试次数 1 + +mconfig: + swagger-ui-open: true + exception-handle-enabled: true + seata-open-enabled: false + work-id: 1 #终端ID + datacenter-id: 1 #数据中心ID + host-name: http://10.242.31.54/ + service-name-purp: mall-purp #采购系统委托项目微服务 + service-name-wfap: mall-wfap #重新评审 流程微服务 + service-name-resu: mall-resu #重新评审 项目中心查询服务 + service-price-query: biz-service-price-query #商城询价服务 + service-price-usercenter: core-service-usercenter-public #用户中心服务 + #内部服务 + service-name-archive: biz-service-ebtp-archive #归档服务 + service-name-auction: biz-service-ebtp-auction #竞拍服务API + service-name-calibration: biz-service-ebtp-calibration #标段定标接口 + service-name-bid: biz-service-ebtp-bid #标段出始化流程 + service-name-process: biz-service-ebtp-process #标段出始化流程 + service-name-resps: biz-service-ebtp-resps #标段应答文件 + service-name-rsms: biz-service-ebtp-rsms #评审微服务 + service-name-tender: biz-service-ebtp-tender #标段投标微服务 + wfSectionNo: '080' + wfSectionName: 标段重新评审审批单 + +# 用户暴露给 prometheus 的健康数据 +management: + endpoints: + web: + exposure: + include: "*" + cors: + allowed-origins: "*" + allowed-methods: "*" \ No newline at end of file diff --git a/src/main/resources/application-uat.yml b/src/main/resources/application-uat.yml new file mode 100644 index 0000000..80afb70 --- /dev/null +++ b/src/main/resources/application-uat.yml @@ -0,0 +1,177 @@ +server: + port: 18012 + servlet: + context-path: / + +seata: + service: + vgroup-mapping: + biz-service-ebtp-project-service-group: seata-server-jl + registry: + type: eureka + eureka: + serviceUrl: http://eureka-1:8080/eureka,http://eureka-2:8080/eureka,http://eureka-3:8080/eureka + +# 对应 apollo 配置中心的应用名 +app: + id: biz-service-ebtp-project + +# Apollo 配置信息 +apollo: + meta: http://apollo-configservice:8080/ + bootstrap: + namespace: application + enabled: true + eagerLoad: + enabled: true + +spring: + aop: + auto: true #开启spring的aop配置 + proxy-target-class: true + + application: + name: biz-service-ebtp-project + + shardingsphere: + datasource: + names: ds0 + ds0: + type: com.alibaba.druid.pool.DruidDataSource + driver-class-name: com.mysql.cj.jdbc.Driver + username: mall + password: unicom + jdbc-url: jdbc:mysql://10.125.160.30:3306/ebtp_mall_project?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true&rewriteBatchedStatements=true + url: jdbc:mysql://10.125.160.30:3306/ebtp_mall_project?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true&rewriteBatchedStatements=true + filters: stat,wall,log4j + maxActive: 20 + initialSize: 1 + maxWait: 60000 + minIdle: 1 + timeBetweenEvictionRunsMillis: 60000 + minEvictableIdleTimeMillis: 300000 + validationQuery: select 'x' + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + poolPreparedStatements: true + maxOpenPreparedStatements: 20 + connection-properties: druid.stat.merggSql=ture;druid.stat.slowSqlMillis=5000 + props: + sql: + show: false + + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + serialization: + write-dates-as-timestamps: false + + # 天宫Kafka增加了安全认证,需要配置安全属性 + kafka: + bootstrap-servers: 10.125.164.192:32005,10.125.164.193:32005,10.125.164.194:32005 + template: + default-topic: jl_test + + # 生产者配置参数 + producer: + client-id: core-service-ebtp-crypt + properties: + security.protocol: SASL_PLAINTEXT + sasl.mechanism: SCRAM-SHA-256 + sasl.jaas.config: org.apache.kafka.common.security.scram.ScramLoginModule required username="jltest" password="Unicom#123"; + + # 消费者配置参数 + consumer: + group-id: core-service-ebtp-crypt-consumer + auto-offset-reset: latest + properties: + security.protocol: SASL_PLAINTEXT + sasl.mechanism: SCRAM-SHA-256 + sasl.jaas.config: org.apache.kafka.common.security.scram.ScramLoginModule required username="jltest" password="Unicom#123"; + + # 天宫 redis 需要使用哨兵进行访问 + redis: + sentinel: + master: eshop-redis + nodes: 10.125.164.124:32718, 10.125.164.118:32716, 10.125.164.121:32716 + password: Unicom#135 + +# 天宫Eureka配置 +eureka: + client: + service-url: + defaultZone: http://eureka-1:8080/eureka,http://eureka-2:8080/eureka,http://eureka-3:8080/eureka + instance: + prefer-ip-address: true + instance-ip: ${spring.cloud.client.ip-address}:${server.port} + +mybatis-plus: + configuration: + # 是否开启自动驼峰命名规则映射:从数据库列名到Java属性驼峰命名的类似映射 + map-underscore-to-camel-case: true + auto-mapping-behavior: full + # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用 + #log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + mapper-locations: classpath*:com/chinaunicom/mall/ebtp/**/mapper/*Mapper.xml + global-config: + # 逻辑删除配置 + db-config: + # logic-delete-field: flag # 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2) @TableLogic + logic-not-delete-value: normal # 逻辑删除标记:正常数据 + logic-delete-value: deleted # 逻辑删除标记:已删除的数据 + type-aliases-package: com.chinaunicom.mall.ebtp.project + +hystrix: + command: + default: + execution: + timeout: + enabled: true + isolation: + strategy: SEMAPHORE + thread: + timeoutInMilliseconds: 200000 #熔断超时时间 + circuitBreaker: + sleepWindowInMilliseconds: 200000 + forceClosed: true + +ribbon: + ReadTimeout: 200000 #请求处理的超时时间 + ConnectTimeout: 200000 #请求连接超时时间 + MaxAutoRetries: 0 #对当前实例的重试次数 + MaxAutoRetriesNextServer: 1 #切换实例的重试次数 1 + +mconfig: + swagger-ui-open: true + exception-handle-enabled: true + seata-open-enabled: false + work-id: 1 #终端ID + datacenter-id: 1 #数据中心ID + host-name: http://10.242.31.158/ + service-name-purp: mall-purp #采购系统委托项目微服务 + service-name-wfap: mall-wfap #重新评审 流程微服务 + service-name-resu: mall-resu #重新评审 项目中心查询服务 + service-price-query: biz-service-price-query #商城询价服务 + service-price-usercenter: core-service-usercenter-public #用户中心服务 + #内部服务 + service-name-archive: biz-service-ebtp-archive #归档服务 + service-name-auction: biz-service-ebtp-auction #竞拍服务API + service-name-calibration: biz-service-ebtp-calibration #标段定标接口 + service-name-bid: biz-service-ebtp-bid #标段出始化流程 + service-name-process: biz-service-ebtp-process #标段出始化流程 + service-name-resps: biz-service-ebtp-resps #标段应答文件 + service-name-rsms: biz-service-ebtp-rsms #评审微服务 + service-name-tender: biz-service-ebtp-tender #标段投标微服务 + wfSectionNo: '080' + wfSectionName: 标段重新评审审批单 + +# 用户暴露给 prometheus 的健康数据 +management: + endpoints: + web: + exposure: + include: "*" + cors: + allowed-origins: "*" + allowed-methods: "*" \ No newline at end of file diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml new file mode 100644 index 0000000..6b6965b --- /dev/null +++ b/src/main/resources/application.yml @@ -0,0 +1,8 @@ +# 对应 apollo 配置中心的应用名 +app: + id: biz-portal-manage + + +spring: + profiles: + active: dev diff --git a/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/SupplierBaseMapper.xml b/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/SupplierBaseMapper.xml new file mode 100644 index 0000000..524bdcf --- /dev/null +++ b/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/SupplierBaseMapper.xml @@ -0,0 +1,171 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, type, kind_code, kind_name, licence_accessory, licence_date, name, eng_name, social_credit_code, + range, reg_address, work_address, parent_company_investor, legal_person, id_card, nature, capital, + category_type_code, category_type_name, contacts_name, contacts_phone, contacts_type, contacts_email, + telephone, nation, vat, taxpayer_id, currency, commitment, accessory, person_name, person_phone, + person_bank, person_account, licence, status, approve_status, create_by, create_time, update_by, + update_time, remark, in_blacklist, first_login, exit, agent, sap_code + + + + + + + + + + id, type, kind_code, kind_name, licence_accessory, licence_date, name, eng_name, social_credit_code, + range, reg_address, work_address, parent_company_investor, legal_person, id_card, nature, capital, + category_type_code, category_type_name, contacts_name, contacts_phone, contacts_type, contacts_email, + telephone, nation, vat, taxpayer_id, currency, commitment, accessory, person_name, person_phone, + person_bank, person_account, licence, status, approve_status, create_by, create_time, update_by, + update_time, remark, in_blacklist, first_login, exit, agent, sap_code + + + + + + \ No newline at end of file diff --git a/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/SupplierContactMapper.xml b/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/SupplierContactMapper.xml new file mode 100644 index 0000000..7bab47c --- /dev/null +++ b/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/SupplierContactMapper.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + id, name, phone, email, acount, main, status, supplier_base_id + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/swagger-configuration.properties b/src/main/resources/swagger-configuration.properties new file mode 100644 index 0000000..18fa96b --- /dev/null +++ b/src/main/resources/swagger-configuration.properties @@ -0,0 +1,7 @@ +unifast.swagger.basePackage=com.chinaunicom.mall.ebtp.project +unifast.swagger.title=\u6D4B\u8BD5\u63A5\u53E3\u6587\u6863 +unifast.swagger.contactName=\u5409\u6797\u9879\u76EE\u7EC4 +unifast.swagger.contactUrl=http://chinaunicom.com +unifast.swagger.contactEmail=chinaunicom@chinaunicom.com +unifast.swagger.version=0.0.1 +unifast.swagger.description=\u8BC4\u5BA1\u7ED3\u6784\u5316\u670D\u52A1 \ No newline at end of file