├── .idea ├── compiler.xml ├── encodings.xml ├── libraries │ ├── Maven__ch_qos_logback_logback_classic_1_1_7.xml │ ├── Maven__ch_qos_logback_logback_core_1_1_7.xml │ ├── Maven__com_alibaba_druid_1_0_11.xml │ ├── Maven__com_alibaba_fastjson_1_2_12.xml │ ├── Maven__com_fasterxml_classmate_1_3_1.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_3.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_8_3.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_8_3.xml │ ├── Maven__com_github_jsqlparser_jsqlparser_0_9_5.xml │ ├── Maven__com_github_pagehelper_pagehelper_5_0_1.xml │ ├── Maven__com_github_pagehelper_pagehelper_spring_boot_autoconfigure_1_1_1.xml │ ├── Maven__com_github_pagehelper_pagehelper_spring_boot_starter_1_1_1.xml │ ├── Maven__com_google_guava_guava_19_0.xml │ ├── Maven__com_jayway_jsonpath_json_path_2_2_0.xml │ ├── Maven__com_jolbox_bonecp_0_8_0_RELEASE.xml │ ├── Maven__commons_codec_commons_codec_1_10.xml │ ├── Maven__commons_dbcp_commons_dbcp_1_4.xml │ ├── Maven__commons_logging_commons_logging_1_1_1.xml │ ├── Maven__commons_net_commons_net_3_5.xml │ ├── Maven__commons_pool_commons_pool_1_3.xml │ ├── Maven__dom4j_dom4j_1_6_1.xml │ ├── Maven__io_springfox_springfox_core_2_2_2.xml │ ├── Maven__io_springfox_springfox_schema_2_2_2.xml │ ├── Maven__io_springfox_springfox_spi_2_2_2.xml │ ├── Maven__io_springfox_springfox_spring_web_2_2_2.xml │ ├── Maven__io_springfox_springfox_swagger2_2_2_2.xml │ ├── Maven__io_springfox_springfox_swagger_common_2_2_2.xml │ ├── Maven__io_springfox_springfox_swagger_ui_2_2_2.xml │ ├── Maven__io_swagger_swagger_annotations_1_5_3.xml │ ├── Maven__io_swagger_swagger_models_1_5_3.xml │ ├── Maven__io_undertow_undertow_core_1_3_25_Final.xml │ ├── Maven__io_undertow_undertow_servlet_1_3_25_Final.xml │ ├── Maven__io_undertow_undertow_websockets_jsr_1_3_25_Final.xml │ ├── Maven__javax_persistence_persistence_api_1_0.xml │ ├── Maven__javax_servlet_javax_servlet_api_3_1_0.xml │ ├── Maven__javax_validation_validation_api_1_1_0_Final.xml │ ├── Maven__junit_junit_4_12.xml │ ├── Maven__mysql_mysql_connector_java_5_1_39.xml │ ├── Maven__net_lingala_zip4j_zip4j_1_3_2.xml │ ├── Maven__net_minidev_accessors_smart_1_1.xml │ ├── Maven__net_minidev_json_smart_2_2_1.xml │ ├── Maven__org_apache_commons_commons_compress_1_9.xml │ ├── Maven__org_apache_commons_commons_lang3_3_4.xml │ ├── Maven__org_apache_commons_commons_pool2_2_4_2.xml │ ├── Maven__org_apache_httpcomponents_httpclient_4_5_2.xml │ ├── Maven__org_apache_httpcomponents_httpcore_4_4_5.xml │ ├── Maven__org_apache_httpcomponents_httpmime_4_5_2.xml │ ├── Maven__org_apache_poi_poi_3_10_1.xml │ ├── Maven__org_apache_poi_poi_ooxml_3_10_1.xml │ ├── Maven__org_apache_poi_poi_ooxml_schemas_3_10_1.xml │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_5.xml │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_5.xml │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_5.xml │ ├── Maven__org_apache_tomcat_tomcat_jdbc_8_5_5.xml │ ├── Maven__org_apache_tomcat_tomcat_juli_8_5_5.xml │ ├── Maven__org_apache_xmlbeans_xmlbeans_2_6_0.xml │ ├── Maven__org_aspectj_aspectjrt_1_8_9.xml │ ├── Maven__org_aspectj_aspectjweaver_1_8_9.xml │ ├── Maven__org_assertj_assertj_core_2_5_0.xml │ ├── Maven__org_glassfish_javax_el_3_0_0.xml │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ ├── Maven__org_hamcrest_hamcrest_library_1_3.xml │ ├── Maven__org_hibernate_hibernate_validator_5_2_4_Final.xml │ ├── Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml │ ├── Maven__org_jboss_spec_javax_annotation_jboss_annotations_api_1_2_spec_1_0_0_Final.xml │ ├── Maven__org_jboss_spec_javax_websocket_jboss_websocket_api_1_1_spec_1_1_0_Final.xml │ ├── Maven__org_jboss_xnio_xnio_api_3_3_6_Final.xml │ ├── Maven__org_jboss_xnio_xnio_nio_3_3_6_Final.xml │ ├── Maven__org_json_json_20140107.xml │ ├── Maven__org_mapstruct_mapstruct_1_0_0_CR1.xml │ ├── Maven__org_mockito_mockito_core_1_10_19.xml │ ├── Maven__org_mybatis_mybatis_3_4_2.xml │ ├── Maven__org_mybatis_mybatis_spring_1_3_1.xml │ ├── Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_1_2_0.xml │ ├── Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_1_2_0.xml │ ├── Maven__org_objenesis_objenesis_2_4.xml │ ├── Maven__org_ow2_asm_asm_5_0_3.xml │ ├── Maven__org_projectlombok_lombok_1_16_10.xml │ ├── Maven__org_skyscreamer_jsonassert_1_3_0.xml │ ├── Maven__org_slf4j_jcl_over_slf4j_1_7_21.xml │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_21.xml │ ├── Maven__org_slf4j_log4j_over_slf4j_1_7_21.xml │ ├── Maven__org_slf4j_slf4j_api_1_7_21.xml │ ├── Maven__org_springframework_boot_spring_boot_1_4_1_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_actuator_1_4_1_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_1_4_1_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_configuration_processor_1_4_1_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_1_4_1_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_aop_1_4_1_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_cache_1_4_1_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_data_redis_1_4_1_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_jdbc_1_4_1_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_1_4_1_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_test_1_4_1_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_1_4_1_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_undertow_1_4_1_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_validation_1_4_1_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_web_1_4_1_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_test_1_4_1_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_1_4_1_RELEASE.xml │ ├── Maven__org_springframework_data_spring_data_commons_1_12_3_RELEASE.xml │ ├── Maven__org_springframework_data_spring_data_keyvalue_1_1_3_RELEASE.xml │ ├── Maven__org_springframework_data_spring_data_redis_1_7_3_RELEASE.xml │ ├── Maven__org_springframework_hateoas_spring_hateoas_0_20_0_RELEASE.xml │ ├── Maven__org_springframework_plugin_spring_plugin_core_1_2_0_RELEASE.xml │ ├── Maven__org_springframework_plugin_spring_plugin_metadata_1_2_0_RELEASE.xml │ ├── Maven__org_springframework_session_spring_session_1_3_0_RELEASE.xml │ ├── Maven__org_springframework_session_spring_session_data_redis_1_3_0_RELEASE.xml │ ├── Maven__org_springframework_spring_aop_4_3_3_RELEASE.xml │ ├── Maven__org_springframework_spring_beans_4_3_3_RELEASE.xml │ ├── Maven__org_springframework_spring_context_4_3_3_RELEASE.xml │ ├── Maven__org_springframework_spring_context_support_4_3_3_RELEASE.xml │ ├── Maven__org_springframework_spring_core_4_3_3_RELEASE.xml │ ├── Maven__org_springframework_spring_expression_4_3_3_RELEASE.xml │ ├── Maven__org_springframework_spring_jdbc_4_3_3_RELEASE.xml │ ├── Maven__org_springframework_spring_oxm_4_3_3_RELEASE.xml │ ├── Maven__org_springframework_spring_test_4_3_3_RELEASE.xml │ ├── Maven__org_springframework_spring_tx_4_3_3_RELEASE.xml │ ├── Maven__org_springframework_spring_web_4_3_3_RELEASE.xml │ ├── Maven__org_springframework_spring_webmvc_4_3_3_RELEASE.xml │ ├── Maven__org_webjars_webjars_locator_0_32.xml │ ├── Maven__org_webjars_webjars_locator_core_0_30.xml │ ├── Maven__org_yaml_snakeyaml_1_17.xml │ ├── Maven__redis_clients_jedis_2_8_1.xml │ ├── Maven__stax_stax_api_1_0_1.xml │ ├── Maven__tk_mybatis_mapper_3_4_0.xml │ ├── Maven__tk_mybatis_mapper_spring_boot_autoconfigure_1_1_1.xml │ ├── Maven__tk_mybatis_mapper_spring_boot_starter_1_1_1.xml │ └── Maven__xml_apis_xml_apis_1_4_01.xml ├── misc.xml ├── modules.xml ├── vcs.xml └── workspace.xml ├── README.md ├── Summary.md ├── docs ├── code.specification.md ├── core.design.md ├── deploy.profiles.md └── svn.specification.md ├── platform-dependencies ├── platform-dependencies.iml └── pom.xml ├── platform-modules ├── platform-modules.iml ├── platform-utils │ ├── platform-utils.iml │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── yingfeng │ │ └── modules │ │ ├── excel │ │ └── ExportExcelUtil.java │ │ ├── expression │ │ └── RegExpressionUtil.java │ │ ├── weixin │ │ ├── MyX509TrustManager.java │ │ ├── UserInfoUtil.java │ │ └── WeixinUtil.java │ │ └── zip │ │ └── ZipUtil.java └── pom.xml ├── platform-sdk ├── platform-sdk.iml ├── platform-web │ ├── platform-web.iml │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── yingfeng │ │ └── commons │ │ └── web │ │ ├── config │ │ ├── CustomCORSConfiguration.java │ │ ├── Swagger2.java │ │ ├── WebConfig.java │ │ └── fastdfs │ │ │ └── ComponetImport.java │ │ ├── constants │ │ ├── ExceptionCodeInfo.java │ │ └── LoginAndOtherInfo.java │ │ ├── exception │ │ ├── ApiException.java │ │ ├── CustomResponseEntityExceptionHandler.java │ │ ├── ExceptionErrorCodeProvider.java │ │ ├── JSONResponseWrapper.java │ │ ├── ResultMessage.java │ │ ├── SessionTimeOutException.java │ │ └── SimpleException.java │ │ └── support │ │ └── session │ │ ├── DefaultSessionService.java │ │ └── SessionService.java └── pom.xml ├── platform-servers ├── platform-cms-server │ ├── platform-cms-server.iml │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── yingfeng │ │ │ └── cms │ │ │ ├── PlatformCmsApplication.java │ │ │ ├── commons │ │ │ ├── constants │ │ │ │ └── PlatformCmsConstants.java │ │ │ └── domain │ │ │ │ └── BaseBean.java │ │ │ ├── config │ │ │ ├── MyMapper.java │ │ │ ├── ServletInitializer.java │ │ │ ├── druid │ │ │ │ ├── DruidAutoConfiguration.java │ │ │ │ └── DruidProperties.java │ │ │ ├── filter │ │ │ │ └── CmsHttpMethodFilter.java │ │ │ ├── listerner │ │ │ │ ├── MyHttpSessionListener.java │ │ │ │ └── MyServletContextListener.java │ │ │ ├── redis │ │ │ │ └── RedisAutoConfiguration.java │ │ │ └── servlet │ │ │ │ └── MyServlet.java │ │ │ └── modules │ │ │ ├── fastdfs │ │ │ └── controller │ │ │ │ └── FastDfsController.java │ │ │ ├── user │ │ │ ├── controller │ │ │ │ └── UserController.java │ │ │ ├── domain │ │ │ │ └── UserBean.java │ │ │ ├── mapper │ │ │ │ └── UserMapper.java │ │ │ └── service │ │ │ │ ├── UserService.java │ │ │ │ └── impl │ │ │ │ └── UserServiceImpl.java │ │ │ └── weixin │ │ │ ├── controller │ │ │ └── AuthorizedLoginController.java │ │ │ └── domain │ │ │ └── AuthorizedUsersBean.java │ │ └── resources │ │ ├── Banner.txt │ │ ├── META-INF │ │ └── spring-devtools.properties │ │ ├── application-dev.properties │ │ ├── application-prod.properties │ │ ├── application-test.properties │ │ ├── application.properties │ │ ├── generator │ │ └── generatorConfig.xml │ │ ├── logback.xml │ │ ├── mapper │ │ └── user │ │ │ └── UserMapper.xml │ │ └── messages.properties ├── platform-servers.iml └── pom.xml ├── platform.iml ├── pom.xml └── sql └── t_user.sql /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__ch_qos_logback_logback_classic_1_1_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__ch_qos_logback_logback_core_1_1_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_alibaba_druid_1_0_11.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_alibaba_fastjson_1_2_12.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_classmate_1_3_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_8_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_8_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_0_9_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_github_pagehelper_pagehelper_5_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_github_pagehelper_pagehelper_spring_boot_autoconfigure_1_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_github_pagehelper_pagehelper_spring_boot_starter_1_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_google_guava_guava_19_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_2_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_jolbox_bonecp_0_8_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_codec_commons_codec_1_10.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_dbcp_commons_dbcp_1_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_logging_commons_logging_1_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_net_commons_net_3_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_pool_commons_pool_1_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__dom4j_dom4j_1_6_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_springfox_springfox_core_2_2_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_springfox_springfox_schema_2_2_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_springfox_springfox_spi_2_2_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_springfox_springfox_spring_web_2_2_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_springfox_springfox_swagger2_2_2_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_springfox_springfox_swagger_common_2_2_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_springfox_springfox_swagger_ui_2_2_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_swagger_swagger_annotations_1_5_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_swagger_swagger_models_1_5_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_undertow_undertow_core_1_3_25_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_undertow_undertow_servlet_1_3_25_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_undertow_undertow_websockets_jsr_1_3_25_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__javax_persistence_persistence_api_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__javax_validation_validation_api_1_1_0_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__junit_junit_4_12.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__mysql_mysql_connector_java_5_1_39.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__net_lingala_zip4j_zip4j_1_3_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__net_minidev_accessors_smart_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__net_minidev_json_smart_2_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_commons_commons_compress_1_9.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_commons_commons_lang3_3_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_commons_commons_pool2_2_4_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_httpcomponents_httpmime_4_5_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_poi_poi_3_10_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_poi_poi_ooxml_3_10_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_poi_poi_ooxml_schemas_3_10_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_tomcat_tomcat_jdbc_8_5_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_tomcat_tomcat_juli_8_5_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_xmlbeans_xmlbeans_2_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_aspectj_aspectjrt_1_8_9.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_9.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_assertj_assertj_core_2_5_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_glassfish_javax_el_3_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_hamcrest_hamcrest_library_1_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_hibernate_hibernate_validator_5_2_4_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_jboss_spec_javax_annotation_jboss_annotations_api_1_2_spec_1_0_0_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_jboss_spec_javax_websocket_jboss_websocket_api_1_1_spec_1_1_0_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_jboss_xnio_xnio_api_3_3_6_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_jboss_xnio_xnio_nio_3_3_6_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_json_json_20140107.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_mapstruct_mapstruct_1_0_0_CR1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_mockito_mockito_core_1_10_19.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_mybatis_mybatis_3_4_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_mybatis_mybatis_spring_1_3_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_1_2_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_1_2_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_objenesis_objenesis_2_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_ow2_asm_asm_5_0_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_projectlombok_lombok_1_16_10.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_skyscreamer_jsonassert_1_3_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_21.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_21.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_slf4j_log4j_over_slf4j_1_7_21.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_21.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_1_4_1_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_1_4_1_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_1_4_1_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_configuration_processor_1_4_1_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_1_4_1_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_1_4_1_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_cache_1_4_1_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_redis_1_4_1_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_1_4_1_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_1_4_1_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_1_4_1_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_1_4_1_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_undertow_1_4_1_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_validation_1_4_1_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_1_4_1_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_test_1_4_1_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_1_4_1_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_data_spring_data_commons_1_12_3_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_data_spring_data_keyvalue_1_1_3_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_data_spring_data_redis_1_7_3_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_hateoas_spring_hateoas_0_20_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_plugin_spring_plugin_core_1_2_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_plugin_spring_plugin_metadata_1_2_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_session_spring_session_1_3_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_session_spring_session_data_redis_1_3_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_aop_4_3_3_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_beans_4_3_3_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_context_4_3_3_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_context_support_4_3_3_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_core_4_3_3_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_expression_4_3_3_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_jdbc_4_3_3_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_oxm_4_3_3_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_test_4_3_3_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_tx_4_3_3_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_web_4_3_3_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_webmvc_4_3_3_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_webjars_webjars_locator_0_32.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_webjars_webjars_locator_core_0_30.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_yaml_snakeyaml_1_17.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__redis_clients_jedis_2_8_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__stax_stax_api_1_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__tk_mybatis_mapper_3_4_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__tk_mybatis_mapper_spring_boot_autoconfigure_1_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__tk_mybatis_mapper_spring_boot_starter_1_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__xml_apis_xml_apis_1_4_01.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # platform-springBoot项目说明 2 | 3 | ## 简介 4 | 5 | platform-springBoot以CMS项目为基准构建的,为了前后端分离提供解决方案。 6 | 7 | 8 | ## 模块介绍及目录结构 9 | 10 | ##### platform-dependencies | 依赖包,版本控制 11 | 12 | ##### platform-sdk | 基础 13 | * platform-web | SpringWeb相关 14 | 15 | ##### platform-modules | 独立模块 16 | * platform-utils | 基础工具类 17 | 18 | ##### platform-servers | 服务 19 | * platform-cms-server | 消息发布系统 20 | 21 | ##### docs | platform文档 22 | 23 | ##### sql | platform 依赖sql 24 | 25 | 26 | ## 技术说明 27 | 28 | - springBoot 1.4.1 29 | - swagger 30 | - redis [安装](https://github.com/pengcgithub/java-development-environment/blob/master/redis/redis%E5%AE%89%E8%A3%85.md) 31 | - mybatis、pageHelper、mapper 32 | - druid 33 | - lombok 34 | - 统一异常管理 35 | - spring-data-redis整合 36 | - logback记录日志 37 | - FastDFS [安装](https://github.com/pengcgithub/java-development-environment/blob/master/fastDFS/fastdfs.md) 38 | - mysql [安装](https://github.com/pengcgithub/java-development-environment/blob/master/mysql/mysql%E5%AE%89%E8%A3%85.md) 39 | 40 | ## 修改配置运行 41 | 42 | 配置文件如下:`application.properties`、`application-dev.properties`、`application-test.properties`、`application-prod.properties` 分别表示`主配置`、`开发环境`、`测试环境`、`生产环境`四个,如果是公共的配置,那么可以在`主配置`中添加(例如:pageHelper、mapper),如果是涉及不同环境的配置,则需要根据不同的环境进行配置(例如:mysql、redis)。 43 | 44 | - redis配置 45 | 46 | ![redis](https://i.imgur.com/hwnAl0Z.png) 47 | 48 | - mysql数据库连接配置 49 | 50 | ![mysql](https://i.imgur.com/4m4DQNR.png) 51 | 52 | - fastDFS配置 53 | 54 | ![fastDFS](https://i.imgur.com/V7rCby9.png) 55 | 56 | ## 联系(Contact) 57 | 58 | - [pengcheng3211@163.com](https://github.com/pengcgithub) 59 | 60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /Summary.md: -------------------------------------------------------------------------------- 1 | # Summary 2 | 3 | * [首页](README.md) 4 | * [部署配置说明](docs/deploy.profiles.md) 5 | * [编码规范说明](docs/core.specification.md) 6 | * [SVN规范说明](docs/svn.specification.md) 7 | -------------------------------------------------------------------------------- /docs/code.specification.md: -------------------------------------------------------------------------------- 1 | # 编码规范 2 | 3 | [Java 开发手册](https://img.hacpai.com/file/2017/1/eb0998bac7664496b2f1af98e07b08e5-Java.pdf) -------------------------------------------------------------------------------- /docs/core.design.md: -------------------------------------------------------------------------------- 1 | ###框架、核心业务流设计 2 | 3 | ####基础业务层接口封装 4 | -------------------------------------------------------------------------------- /docs/deploy.profiles.md: -------------------------------------------------------------------------------- 1 | # 部署配置说明 2 | 3 | -------------------------------------------------------------------------------- /docs/svn.specification.md: -------------------------------------------------------------------------------- 1 | # **SVN管理规范** 2 | 3 | ## 分支说明: 4 | * 1: master: 产品主干代码 5 | 6 | 7 | ## 定制项目建立规范 8 | * 1:platform-cms项目位于master: platform 9 | * 2:各自创建项目,名称规范: 分支名称由定制的项目名称+时间组成 10 | 11 | ## 提交基本规范 12 | * 1:要求:提交代码前,先从服务器更新代码。确保解决所有冲突并编译通过后再提交代码。 13 | * 2:要求:提交代码时,需要采用原子提交的方式进行提交。(原子提交指:任务或问题单所涉及的所有文件,包括java文件、配置文件等,在一次提交动作中全部提交到远程仓库。) 14 | * 3:要求:每次提交代码需要写comment。 15 | * 4:建议:提交代码时,一次仅提交一个完成的任务或一次仅修改一个问题。 16 | 17 | ## 合并规范(pull requests) 18 | * 19 | * 20 | 21 | ## 分支测试规范 22 | * 23 | * 24 | 25 | -------------------------------------------------------------------------------- /platform-dependencies/platform-dependencies.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /platform-modules/platform-modules.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /platform-modules/platform-utils/platform-utils.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /platform-modules/platform-utils/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | platform-modules 7 | com.yingfeng.platform 8 | 1.0-SNAPSHOT 9 | 10 | 11 | 4.0.0 12 | platform-utils 13 | 14 | 15 | 16 | 17 | org.apache.poi 18 | poi-ooxml 19 | 20 | 21 | org.apache.poi 22 | poi 23 | 24 | 25 | 26 | 27 | net.lingala.zip4j 28 | zip4j 29 | 1.3.2 30 | 31 | 32 | 33 | 34 | org.projectlombok 35 | lombok 36 | 37 | 38 | 39 | org.slf4j 40 | slf4j-api 41 | 42 | 43 | org.springframework 44 | spring-core 45 | 46 | 47 | org.apache.httpcomponents 48 | httpclient 49 | 50 | 51 | org.apache.httpcomponents 52 | httpmime 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /platform-modules/platform-utils/src/main/java/com/yingfeng/modules/expression/RegExpressionUtil.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.modules.expression; 2 | 3 | import java.util.regex.Matcher; 4 | import java.util.regex.Pattern; 5 | 6 | /** 7 | * 正则表达式验证 8 | * @author pengc 9 | * @see com.yingfeng.modules.expression 10 | */ 11 | public class RegExpressionUtil { 12 | 13 | /** 14 | * ip检查 15 | * @param ipAddress 16 | * IP地址 17 | * @return 检查是否为IP 18 | */ 19 | public static boolean isboolIp(String ipAddress) { 20 | String num = "(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)"; 21 | String regex = "^" + num + "\\." + num + "\\." + num + "\\." + num + "$"; 22 | return match(regex, ipAddress); 23 | } 24 | 25 | /** 26 | * @param regex 27 | * 正则表达式字符串 28 | * @param str 29 | * 要匹配的字符串 30 | * @return 如果str 符合 regex的正则表达式格式,返回true, 否则返回 false; 31 | */ 32 | private static boolean match(String regex, String str) { 33 | Pattern pattern = Pattern.compile(regex); 34 | Matcher matcher = pattern.matcher(str); 35 | return matcher.matches(); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /platform-modules/platform-utils/src/main/java/com/yingfeng/modules/weixin/MyX509TrustManager.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.modules.weixin; 2 | 3 | import javax.net.ssl.X509TrustManager; 4 | import java.security.cert.CertificateException; 5 | import java.security.cert.X509Certificate; 6 | 7 | public class MyX509TrustManager implements X509TrustManager { 8 | @Override 9 | public void checkClientTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {} 10 | 11 | @Override 12 | public void checkServerTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {} 13 | 14 | @Override 15 | public X509Certificate[] getAcceptedIssuers() { 16 | return new X509Certificate[0]; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /platform-modules/platform-utils/src/main/java/com/yingfeng/modules/weixin/UserInfoUtil.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.modules.weixin; 2 | 3 | 4 | /** 5 | * 获取用户信息工具类
6 | * @author pengc 7 | * @see com.yingfeng.modules.weixin 8 | * @since 2017/10/10 9 | */ 10 | public class UserInfoUtil { 11 | 12 | // 1.获取code的请求地址 13 | public static String Get_Code = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=%s&redirect_uri=%s&response_type=code&scope=%s&state=state#wechat_redirect"; 14 | 15 | // 替换字符串 16 | public static String getCode(String APPID, String REDIRECT_URI, String SCOPE) { 17 | return String.format(Get_Code, APPID, REDIRECT_URI, SCOPE); 18 | } 19 | 20 | // 2.获取Web_access_tokenhttps的请求地址 21 | public static String Web_access_tokenhttps = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=%s&secret=%s&code=%s&grant_type=authorization_code"; 22 | 23 | // 替换字符串 24 | public static String getWebAccess(String APPID, String SECRET, String CODE) { 25 | return String.format(Web_access_tokenhttps, APPID, SECRET, CODE); 26 | } 27 | 28 | // 3.拉取用户信息的请求地址 29 | public static String User_Message = "https://api.weixin.qq.com/sns/userinfo?access_token=%s&openid=%s&lang=zh_CN"; 30 | 31 | // 替换字符串 32 | public static String getUserMessage(String access_token, String openid) { 33 | return String.format(User_Message, access_token, openid); 34 | } 35 | 36 | // 4.订阅号拉去用户信息的请求地址,涉及订阅号是否关注的字段属性 37 | public static String User_Message_Subscribe = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=%s&openid=%s&lang=zh_CN"; 38 | 39 | public static String getUserMessageSubscribe(String access_token, String openid) { 40 | return String.format(User_Message_Subscribe, access_token, openid); 41 | } 42 | 43 | } 44 | -------------------------------------------------------------------------------- /platform-modules/platform-utils/src/main/java/com/yingfeng/modules/weixin/WeixinUtil.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.modules.weixin; 2 | 3 | import javax.net.ssl.HttpsURLConnection; 4 | import javax.net.ssl.SSLContext; 5 | import javax.net.ssl.SSLSocketFactory; 6 | import javax.net.ssl.TrustManager; 7 | import java.io.BufferedReader; 8 | import java.io.InputStream; 9 | import java.io.InputStreamReader; 10 | import java.io.OutputStream; 11 | import java.net.ConnectException; 12 | import java.net.URL; 13 | 14 | /** 15 | * 微信工具类
16 | * @author pengc 17 | * @see com.yingfeng.modules.weixin 18 | * @since 2017/10/10 19 | */ 20 | public class WeixinUtil { 21 | 22 | /** 23 | * 发起https请求并获取结果 24 | * 25 | * @param requestUrl 请求地址 26 | * @param requestMethod 请求方式(GET、POST) 27 | * @param outputStr 提交的数据 28 | * @return JSONObject(通过JSONObject.get(key)的方式获取json对象的属性值) 29 | */ 30 | public static String httpRequest(String requestUrl, String requestMethod, String outputStr) { 31 | 32 | StringBuffer buffer = new StringBuffer(); 33 | try { 34 | // 创建SSLContext对象,并使用我们指定的信任管理器初始化 35 | TrustManager[] tm = {new MyX509TrustManager()}; 36 | SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE"); 37 | sslContext.init(null, tm, new java.security.SecureRandom()); 38 | // 从上述SSLContext对象中得到SSLSocketFactory对象 39 | SSLSocketFactory ssf = sslContext.getSocketFactory(); 40 | 41 | URL url = new URL(requestUrl); 42 | HttpsURLConnection httpUrlConn = (HttpsURLConnection) url.openConnection(); 43 | httpUrlConn.setSSLSocketFactory(ssf); 44 | 45 | httpUrlConn.setDoOutput(true); 46 | httpUrlConn.setDoInput(true); 47 | httpUrlConn.setUseCaches(false); 48 | // 设置请求方式(GET/POST) 49 | httpUrlConn.setRequestMethod(requestMethod); 50 | 51 | if ("GET".equalsIgnoreCase(requestMethod)) 52 | httpUrlConn.connect(); 53 | 54 | // 当有数据需要提交时 55 | if (null != outputStr) { 56 | OutputStream outputStream = httpUrlConn.getOutputStream(); 57 | // 注意编码格式,防止中文乱码 58 | outputStream.write(outputStr.getBytes("UTF-8")); 59 | outputStream.close(); 60 | } 61 | 62 | // 将返回的输入流转换成字符串 63 | InputStream inputStream = httpUrlConn.getInputStream(); 64 | InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8"); 65 | BufferedReader bufferedReader = new BufferedReader(inputStreamReader); 66 | 67 | String str; 68 | while ((str = bufferedReader.readLine()) != null) { 69 | buffer.append(str); 70 | } 71 | bufferedReader.close(); 72 | inputStreamReader.close(); 73 | // 释放资源 74 | inputStream.close(); 75 | httpUrlConn.disconnect(); 76 | return buffer.toString(); 77 | } catch (ConnectException ce) { 78 | ce.printStackTrace(); 79 | } catch (Exception e) { 80 | e.printStackTrace(); 81 | } 82 | return ""; 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /platform-modules/platform-utils/src/main/java/com/yingfeng/modules/zip/ZipUtil.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.modules.zip; 2 | 3 | import net.lingala.zip4j.core.ZipFile; 4 | import net.lingala.zip4j.exception.ZipException; 5 | import net.lingala.zip4j.model.ZipParameters; 6 | import net.lingala.zip4j.util.Zip4jConstants; 7 | import java.io.File; 8 | 9 | /** 10 | * 文件压缩包处理 11 | */ 12 | public class ZipUtil { 13 | 14 | /** 15 | * 压缩包解压 16 | * 解密 17 | * @param fileDeCompressionUrl 解压输出路径 18 | * zipFilePath 压缩包文件路径 19 | * @return [返回类型说明] 20 | * @since FABLE_DSSG_V1.0.0 21 | * @author lz 22 | * @create 2017/3/13 0013 11:42 23 | **/ 24 | public static void DeCompression(String fileDeCompressionUrl,String zipFilePath,String filePass) throws ZipException { 25 | ZipFile zipFile = new ZipFile(zipFilePath); 26 | if (zipFile.isEncrypted()) { 27 | 28 | zipFile.setPassword(filePass); 29 | } 30 | zipFile.extractAll(fileDeCompressionUrl); 31 | 32 | } 33 | 34 | /** 35 | * 文件压缩 36 | * 加密 37 | * @param fileExportUrl 输出路径 38 | * zipFilePath 文件路径 39 | * @return [返回类型说明] 40 | * @since FABLE_DSSG_V1.0.0 41 | * @author lz 42 | * @create 2017/3/13 0013 11:42 43 | **/ 44 | public static void Compressing(String fileExportUrl,String zipFilePath,String filePass) throws ZipException { 45 | 46 | File filepath=new File(fileExportUrl); 47 | ZipFile zipFile = new ZipFile(zipFilePath); 48 | ZipParameters params=new ZipParameters(); 49 | params.setCompressionMethod(Zip4jConstants.COMP_DEFLATE); 50 | params.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL); 51 | params.setEncryptFiles(true); 52 | params.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES); 53 | params.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256); 54 | params.setPassword(filePass); 55 | zipFile.addFolder(filepath,params); 56 | 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /platform-modules/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | platform-dependencies 7 | com.yingfeng.platform 8 | 1.0-SNAPSHOT 9 | 10 | 11 | 4.0.0 12 | platform-modules 13 | pom 14 | 15 | 16 | platform-utils 17 | 18 | 19 | -------------------------------------------------------------------------------- /platform-sdk/platform-sdk.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /platform-sdk/platform-web/platform-web.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | -------------------------------------------------------------------------------- /platform-sdk/platform-web/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | platform-sdk 7 | com.yingfeng.platform 8 | 1.0-SNAPSHOT 9 | 10 | 11 | 4.0.0 12 | platform-web 13 | 14 | 15 | ${basedir}/.. 16 | 1.0.0-SNAPSHOT 17 | 18 | 19 | 20 | 21 | org.springframework.boot 22 | spring-boot-autoconfigure 23 | 24 | 25 | org.springframework.boot 26 | spring-boot-configuration-processor 27 | 28 | 29 | org.springframework.boot 30 | spring-boot-starter-aop 31 | 32 | 33 | org.springframework.boot 34 | spring-boot-starter-cache 35 | 36 | 37 | 38 | 39 | 40 | 41 | org.springframework.boot 42 | spring-boot-starter-web 43 | 44 | 45 | spring-boot-starter-tomcat 46 | org.springframework.boot 47 | 48 | 49 | 50 | 51 | org.springframework.boot 52 | spring-boot-actuator 53 | 54 | 55 | org.springframework.boot 56 | spring-boot-starter-undertow 57 | 58 | 59 | org.springframework.session 60 | spring-session-data-redis 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | org.webjars 77 | webjars-locator 78 | 79 | 80 | org.projectlombok 81 | lombok 82 | 83 | 84 | com.alibaba 85 | fastjson 86 | 87 | 88 | 89 | 90 | io.springfox 91 | springfox-swagger2 92 | 2.2.2 93 | 94 | 95 | io.springfox 96 | springfox-swagger-ui 97 | 2.2.2 98 | 99 | 100 | 101 | commons-net 102 | commons-net 103 | 104 | 105 | 106 | com.jolbox 107 | bonecp 108 | 0.8.0.RELEASE 109 | 110 | 111 | commons-dbcp 112 | commons-dbcp 113 | 114 | 115 | 116 | org.apache.commons 117 | commons-lang3 118 | 119 | 120 | 121 | 122 | com.github.tobato 123 | fastdfs-client 124 | 125 | 126 | 127 | 128 | -------------------------------------------------------------------------------- /platform-sdk/platform-web/src/main/java/com/yingfeng/commons/web/config/CustomCORSConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.commons.web.config; 2 | 3 | import org.springframework.context.annotation.Bean; 4 | import org.springframework.context.annotation.Configuration; 5 | import org.springframework.web.cors.CorsConfiguration; 6 | import org.springframework.web.cors.UrlBasedCorsConfigurationSource; 7 | import org.springframework.web.filter.CorsFilter; 8 | 9 | /** 10 | * 自定义跨域配置
11 | * 12 | * @author pengc 13 | * @see com.yingfeng.commons.web.config 14 | * @since 2017/9/26 15 | */ 16 | @Configuration 17 | public class CustomCORSConfiguration { 18 | 19 | private CorsConfiguration buildConfig() { 20 | CorsConfiguration corsConfiguration = new CorsConfiguration(); 21 | corsConfiguration.addAllowedOrigin("*"); 22 | corsConfiguration.addAllowedHeader("*"); 23 | corsConfiguration.addAllowedMethod("*"); 24 | return corsConfiguration; 25 | } 26 | 27 | @Bean 28 | public CorsFilter corsFilter() { 29 | UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); 30 | source.registerCorsConfiguration("/**", buildConfig()); 31 | return new CorsFilter(source); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /platform-sdk/platform-web/src/main/java/com/yingfeng/commons/web/config/Swagger2.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.commons.web.config; 2 | 3 | import org.springframework.context.annotation.Bean; 4 | import org.springframework.context.annotation.Configuration; 5 | import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; 6 | import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; 7 | import springfox.documentation.builders.ApiInfoBuilder; 8 | import springfox.documentation.builders.PathSelectors; 9 | import springfox.documentation.builders.RequestHandlerSelectors; 10 | import springfox.documentation.service.ApiInfo; 11 | import springfox.documentation.spi.DocumentationType; 12 | import springfox.documentation.spring.web.plugins.Docket; 13 | import springfox.documentation.swagger2.annotations.EnableSwagger2; 14 | 15 | @Configuration 16 | @EnableSwagger2 17 | public class Swagger2 extends WebMvcConfigurationSupport { 18 | @Bean 19 | public Docket createRestApi() { 20 | return new Docket(DocumentationType.SWAGGER_2) 21 | .apiInfo(apiInfo()) 22 | .select() 23 | .apis(RequestHandlerSelectors.basePackage("com.yingfeng.cms")) 24 | .paths(PathSelectors.any()) 25 | .build(); 26 | } 27 | 28 | /** 29 | * swagger-ui 头文件注释信息,可以添加说明、作者、版本号等基本信息 30 | * @return {@link ApiInfo} 31 | */ 32 | private ApiInfo apiInfo() { 33 | return new ApiInfoBuilder() 34 | .title("Spring Boot中使用Swagger2构建RESTful APIs") 35 | .description("更多Spring Boot相关文章请关注:http://my.csdn.net/u012682683") 36 | .termsOfServiceUrl("http://my.csdn.net/u012682683") 37 | .contact("pengcheng3211@gmail.com") 38 | .version("1.0") 39 | .build(); 40 | } 41 | 42 | /** 43 | * 继承WebMvcConfigurationSupport类,重写addResourceHandlers方法,为了解决直接访问swagger出现404的问题 44 | * @param registry 45 | */ 46 | @Override 47 | protected void addResourceHandlers(ResourceHandlerRegistry registry) { 48 | registry.addResourceHandler("/swagger-ui.html").addResourceLocations( 49 | "classpath:/META-INF/resources/"); 50 | registry.addResourceHandler("/**").addResourceLocations( 51 | "classpath:/META-INF/resources/"); 52 | } 53 | 54 | } 55 | -------------------------------------------------------------------------------- /platform-sdk/platform-web/src/main/java/com/yingfeng/commons/web/config/WebConfig.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.commons.web.config; 2 | 3 | import com.fasterxml.jackson.core.JsonGenerator; 4 | import com.fasterxml.jackson.databind.DeserializationFeature; 5 | import com.fasterxml.jackson.databind.ObjectMapper; 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.boot.autoconfigure.web.ServerProperties; 8 | import org.springframework.boot.context.properties.EnableConfigurationProperties; 9 | import org.springframework.context.ApplicationContext; 10 | import org.springframework.context.annotation.Bean; 11 | import org.springframework.context.annotation.Configuration; 12 | import org.springframework.http.converter.HttpMessageConverter; 13 | import org.springframework.http.converter.StringHttpMessageConverter; 14 | import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; 15 | import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; 16 | import org.springframework.http.converter.json.MappingJacksonValue; 17 | import org.springframework.web.servlet.config.annotation.*; 18 | import java.io.IOException; 19 | import java.nio.charset.StandardCharsets; 20 | import java.util.List; 21 | 22 | /** 23 | * 自定义web配置项
24 | * 25 | * @author pengc 26 | * @see com.yingfeng.commons.web.config 27 | * @since 2017/9/26 28 | */ 29 | @Configuration 30 | @EnableConfigurationProperties({ ServerProperties.class}) 31 | public class WebConfig extends WebMvcConfigurerAdapter { 32 | 33 | @Autowired 34 | private ApplicationContext applicationContext; 35 | 36 | @Override 37 | public void addResourceHandlers(ResourceHandlerRegistry registry) { 38 | // registry.addResourceHandler("/static/**") 39 | // .addResourceLocations("classpath:/static/"); 40 | // registry.addResourceHandler("/resources/**").addResourceLocations("classpath:/resources/"); 41 | } 42 | 43 | @Override 44 | public void configureMessageConverters(List> converters) { 45 | StringHttpMessageConverter stringHttpMessageConverter = new StringHttpMessageConverter( 46 | StandardCharsets.UTF_8); 47 | //optimize AcceptCharset 48 | stringHttpMessageConverter.setWriteAcceptCharset(false); 49 | converters.add(stringHttpMessageConverter); 50 | converters.add(customJackson2HttpMessageConverter()); 51 | } 52 | 53 | @Bean 54 | public MappingJackson2HttpMessageConverter customJackson2HttpMessageConverter() { 55 | ObjectMapper objectMapper = Jackson2ObjectMapperBuilder.json().applicationContext(applicationContext).build(); 56 | MappingJackson2HttpMessageConverter jsonConverter = new MappingJackson2HttpMessageConverter(objectMapper) { 57 | @Override 58 | protected void writePrefix(JsonGenerator generator, Object object) throws IOException { 59 | String jsonpFunction = 60 | (object instanceof MappingJacksonValue ? 61 | ((MappingJacksonValue) object).getJsonpFunction() : 62 | null); 63 | if (jsonpFunction != null) { 64 | generator.writeRaw(jsonpFunction + "("); 65 | } 66 | } 67 | 68 | }; 69 | objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); 70 | objectMapper.configure(JsonGenerator.Feature.WRITE_NUMBERS_AS_STRINGS, true); 71 | jsonConverter.setObjectMapper(objectMapper); 72 | return jsonConverter; 73 | } 74 | } -------------------------------------------------------------------------------- /platform-sdk/platform-web/src/main/java/com/yingfeng/commons/web/config/fastdfs/ComponetImport.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.commons.web.config.fastdfs; 2 | 3 | import com.github.tobato.fastdfs.FdfsClientConfig; 4 | import com.github.tobato.fastdfs.service.DefaultFastFileStorageClient; 5 | import org.springframework.context.annotation.*; 6 | import org.springframework.jmx.support.RegistrationPolicy; 7 | 8 | /** 9 | * FastDFS配置项
10 | * 11 | * @author pengc 12 | * @see com.yingfeng.cms.config.fastdfs 13 | * @since 2017/10/26 14 | */ 15 | @Configuration 16 | @Import(FdfsClientConfig.class) 17 | @EnableMBeanExport(registration = RegistrationPolicy.IGNORE_EXISTING) 18 | public class ComponetImport { 19 | 20 | @Scope("prototype") 21 | @Bean 22 | public DefaultFastFileStorageClient defaultFastFileStorageClient(){ 23 | DefaultFastFileStorageClient defaultFastFileStorageClient = new DefaultFastFileStorageClient(); 24 | return defaultFastFileStorageClient; 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /platform-sdk/platform-web/src/main/java/com/yingfeng/commons/web/constants/ExceptionCodeInfo.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.commons.web.constants; 2 | 3 | /** 4 | * 异常码常量 5 | * @author pengc 6 | * @since 2017/09/05 7 | */ 8 | public class ExceptionCodeInfo { 9 | 10 | //用户名或者密码错误 11 | public static String LOGIN_INFO = "10001"; 12 | 13 | //验证码错误,请重新输入 14 | public static String VERIFICATE_CODE = "10002"; 15 | 16 | //该账户已经被禁用 17 | public static String USER_DISABLE = "10004"; 18 | 19 | //session失效 20 | public static String SESSION_FAILURE = "20004"; 21 | 22 | //保存异常 23 | public static String SAVE_ERROR = "20006"; 24 | 25 | //文件处理方面 26 | public static String FILE_NOT_FOUND = "30001"; 27 | 28 | //网络配置信息设置失败 29 | public static String NETWORK_ERR = "30002"; 30 | 31 | //文件导出失败 32 | public static String EXPERT_FILE_ERROR = "30006"; 33 | 34 | //文件太大不符合要求 35 | public static String FILE_SIZE_ERROR = "30007"; 36 | 37 | //上传的文件名称不正确 38 | public static String FILE_NAME_ERROR = "30008"; 39 | 40 | } 41 | -------------------------------------------------------------------------------- /platform-sdk/platform-web/src/main/java/com/yingfeng/commons/web/constants/LoginAndOtherInfo.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.commons.web.constants; 2 | 3 | /** 4 | * 常量信息设置 5 | * @author pengc 6 | */ 7 | public class LoginAndOtherInfo { 8 | 9 | public final static String LOING_CACHE_NAME="logingname"; 10 | 11 | //登录key 12 | public final static String LOING_KEY = "login_info"; 13 | 14 | } 15 | -------------------------------------------------------------------------------- /platform-sdk/platform-web/src/main/java/com/yingfeng/commons/web/exception/ApiException.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.commons.web.exception; 2 | 3 | import org.springframework.core.ErrorCoded; 4 | 5 | public abstract class ApiException extends RuntimeException implements ErrorCoded { 6 | 7 | public static final String DEFAULT_ERROR_CODE = "serverEx"; 8 | 9 | private Object[] args; 10 | 11 | public ApiException(Object... args) { 12 | this.args = args; 13 | } 14 | 15 | public Object[] getArgs() { 16 | return args; 17 | } 18 | 19 | @Override 20 | public String getMessage() { 21 | String customMessage = getCustomMessage(); 22 | return customMessage == null ? super.getMessage() : customMessage; 23 | } 24 | 25 | protected String getCustomMessage() { 26 | return null; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /platform-sdk/platform-web/src/main/java/com/yingfeng/commons/web/exception/CustomResponseEntityExceptionHandler.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.commons.web.exception; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.apache.commons.lang3.exception.ExceptionUtils; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.context.MessageSource; 7 | import org.springframework.context.NoSuchMessageException; 8 | import org.springframework.http.HttpHeaders; 9 | import org.springframework.http.HttpStatus; 10 | import org.springframework.http.ResponseEntity; 11 | import org.springframework.util.CollectionUtils; 12 | import org.springframework.validation.BindingResult; 13 | import org.springframework.validation.FieldError; 14 | import org.springframework.web.bind.MethodArgumentNotValidException; 15 | import org.springframework.web.bind.annotation.ControllerAdvice; 16 | import org.springframework.web.bind.annotation.ExceptionHandler; 17 | import org.springframework.web.bind.annotation.RestController; 18 | import org.springframework.web.context.request.WebRequest; 19 | import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler; 20 | import java.util.List; 21 | import static com.yingfeng.commons.web.exception.ApiException.DEFAULT_ERROR_CODE; 22 | 23 | /** 24 | * customize the JSON document to return for a particular controller and/or exception type. 25 | * 26 | * @author pengc on 2016/10/18. 27 | */ 28 | @ControllerAdvice(annotations = RestController.class) 29 | @Slf4j 30 | public class CustomResponseEntityExceptionHandler extends ResponseEntityExceptionHandler { 31 | 32 | @Autowired 33 | private MessageSource messageSource; 34 | 35 | @Autowired(required = false) 36 | private List errorCodeProviders; 37 | 38 | @Override 39 | protected ResponseEntity handleExceptionInternal(Exception ex, Object body, HttpHeaders headers, 40 | HttpStatus status, WebRequest request) { 41 | String message = null, errorCode = DEFAULT_ERROR_CODE; 42 | Object[] args = null; 43 | boolean handled = false; 44 | if (ex instanceof ApiException) { 45 | ApiException ae = (ApiException) ex; 46 | errorCode = ae.getErrorCode(); 47 | args = ae.getArgs(); 48 | if (ae instanceof SimpleException) { 49 | message = ExceptionUtils.getMessage(ex); 50 | handled = true; 51 | } 52 | } 53 | //for bean validation 54 | else if (ex instanceof MethodArgumentNotValidException) { 55 | MethodArgumentNotValidException mae = (MethodArgumentNotValidException) ex; 56 | BindingResult bindingResult = mae.getBindingResult(); 57 | if (bindingResult != null) { 58 | List fieldErrors = bindingResult.getFieldErrors(); 59 | StringBuilder sb = new StringBuilder(); 60 | for (FieldError fieldError : fieldErrors) { 61 | String field = fieldError.getField(); 62 | sb.append(field).append(fieldError.getDefaultMessage()).append(";"); 63 | } 64 | message = sb.toString(); 65 | errorCode = "argumentEx"; 66 | handled = true; 67 | } 68 | } 69 | else { 70 | boolean needLog = true; 71 | //customize other exceptions 72 | if (!CollectionUtils.isEmpty(errorCodeProviders)) { 73 | for (ExceptionErrorCodeProvider codeProvider : errorCodeProviders) { 74 | if (codeProvider.support(ex)) { 75 | errorCode = codeProvider.getErrorCode(); 76 | needLog = false; 77 | break; 78 | } 79 | } 80 | } 81 | if (needLog) { 82 | //log unexpected exception 83 | log.error("Unexpected exception occurred", ex); 84 | } 85 | } 86 | 87 | if (!handled) { 88 | //find message from message source 89 | String messageCode = toMessageCode(errorCode); 90 | try { 91 | message = messageSource.getMessage(messageCode, args, request.getLocale()); 92 | } 93 | catch (NoSuchMessageException e) { 94 | log.warn("Message not found for message code : {} ", messageCode); 95 | //root cause for mention 96 | message = ExceptionUtils.getRootCauseMessage(ex); 97 | } 98 | } 99 | 100 | //server error 101 | return super.handleExceptionInternal(ex, 102 | new ResultMessage(false, errorCode, message, null), headers, HttpStatus.OK, 103 | request); 104 | 105 | } 106 | 107 | private String toMessageCode(String errorCode) { 108 | return "error." + errorCode; 109 | } 110 | 111 | @ExceptionHandler(Exception.class) 112 | protected ResponseEntity handleAllException(Exception ex, WebRequest request) { 113 | return handleExceptionInternal(ex, null, new HttpHeaders(), HttpStatus.INTERNAL_SERVER_ERROR, request); 114 | } 115 | } 116 | -------------------------------------------------------------------------------- /platform-sdk/platform-web/src/main/java/com/yingfeng/commons/web/exception/ExceptionErrorCodeProvider.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.commons.web.exception; 2 | 3 | import org.springframework.core.ErrorCoded; 4 | 5 | 6 | public interface ExceptionErrorCodeProvider extends ErrorCoded { 7 | boolean support(Exception e); 8 | } 9 | -------------------------------------------------------------------------------- /platform-sdk/platform-web/src/main/java/com/yingfeng/commons/web/exception/JSONResponseWrapper.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.commons.web.exception; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import org.springframework.core.MethodParameter; 5 | import org.springframework.core.Ordered; 6 | import org.springframework.core.annotation.Order; 7 | import org.springframework.http.MediaType; 8 | import org.springframework.http.converter.HttpMessageConverter; 9 | import org.springframework.http.converter.json.MappingJacksonValue; 10 | import org.springframework.http.server.ServerHttpRequest; 11 | import org.springframework.http.server.ServerHttpResponse; 12 | import org.springframework.util.ObjectUtils; 13 | import org.springframework.web.bind.annotation.ControllerAdvice; 14 | import org.springframework.web.bind.annotation.RestController; 15 | import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice; 16 | 17 | /** 18 | * json请求异常
19 | * 20 | * @author pengc 21 | * @since 2017/09/05 22 | */ 23 | @ControllerAdvice(annotations = RestController.class) 24 | @Order(value = Ordered.LOWEST_PRECEDENCE) 25 | public class JSONResponseWrapper implements ResponseBodyAdvice { 26 | @Override 27 | public boolean supports(MethodParameter returnType, Class> converterType) { 28 | return true; 29 | } 30 | 31 | @Override 32 | public Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType, 33 | Class> selectedConverterType, ServerHttpRequest request, 34 | ServerHttpResponse response) { 35 | ResultMessage.ResultMessageBuilder builder = ResultMessage.builder().success(true).code("0").message("success"); 36 | if (body instanceof MappingJacksonValue) { 37 | MappingJacksonValue jacksonValue = (MappingJacksonValue) body; 38 | jacksonValue.setValue(builder.data(jacksonValue.getValue()).build()); 39 | return jacksonValue; 40 | } 41 | else { 42 | Object data; 43 | try { 44 | //try to revert json style 45 | data = JSON.parse(ObjectUtils.getDisplayString(body)); 46 | } 47 | catch (Exception e) { 48 | //if failed use normal 49 | data = body; 50 | } 51 | return JSON.toJSONString(builder.data(data).build()); 52 | } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /platform-sdk/platform-web/src/main/java/com/yingfeng/commons/web/exception/ResultMessage.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.commons.web.exception; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @AllArgsConstructor 10 | @NoArgsConstructor 11 | @Builder 12 | public class ResultMessage { 13 | boolean success = true; 14 | String code; 15 | String message; 16 | Object data; 17 | } 18 | -------------------------------------------------------------------------------- /platform-sdk/platform-web/src/main/java/com/yingfeng/commons/web/exception/SessionTimeOutException.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.commons.web.exception; 2 | 3 | /** 4 | * 业务模块自定义异常 5 | * @author pengc 6 | */ 7 | public class SessionTimeOutException extends ApiException{ 8 | 9 | @Override 10 | public String getErrorCode() { 11 | return "20004"; 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /platform-sdk/platform-web/src/main/java/com/yingfeng/commons/web/exception/SimpleException.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.commons.web.exception; 2 | 3 | public class SimpleException extends ApiException { 4 | 5 | private final String message; 6 | 7 | private final String code; 8 | 9 | public SimpleException(String message, String code) { 10 | this.message = message; 11 | this.code = code; 12 | } 13 | 14 | @Override 15 | public String getErrorCode() { 16 | return code; 17 | } 18 | 19 | @Override 20 | protected String getCustomMessage() { 21 | return message; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /platform-sdk/platform-web/src/main/java/com/yingfeng/commons/web/support/session/DefaultSessionService.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.commons.web.support.session; 2 | 3 | import com.yingfeng.commons.web.exception.SessionTimeOutException; 4 | import org.springframework.beans.factory.annotation.Autowired; 5 | import org.springframework.session.Session; 6 | import org.springframework.session.SessionRepository; 7 | import org.springframework.stereotype.Service; 8 | import org.springframework.util.Assert; 9 | import org.springframework.web.context.request.RequestAttributes; 10 | import org.springframework.web.context.request.RequestContextHolder; 11 | 12 | @Service 13 | public class DefaultSessionService implements SessionService { 14 | 15 | @Autowired 16 | private SessionRepository sessionRepository; 17 | 18 | @Override 19 | public String getSessionId() { 20 | return getCurrentRequestAttributes().getSessionId(); 21 | } 22 | 23 | @Override 24 | public void setAttribute(String key, T attr) { 25 | Session session = getCurrentSession(); 26 | if (session != null) { 27 | session.setAttribute(key, attr); 28 | sessionRepository.save(session); 29 | } 30 | } 31 | 32 | @Override 33 | public T getAttribute(String key) { 34 | Session session = getCurrentSession(); 35 | if (session != null) { 36 | return session.getAttribute(key); 37 | } 38 | return null; 39 | } 40 | 41 | @Override 42 | public void removeAttribute(String key) { 43 | Session session = getCurrentSession(); 44 | if (session != null) { 45 | session.removeAttribute(key); 46 | sessionRepository.save(session); 47 | } 48 | } 49 | 50 | @Override 51 | public void delete() { 52 | sessionRepository.delete(getSessionId()); 53 | } 54 | 55 | @Override 56 | public T getSession(String key) { 57 | Session session = getCurrentSession(); 58 | if (session != null) { 59 | return session.getAttribute(key); 60 | } 61 | throw new SessionTimeOutException(); 62 | } 63 | 64 | private Session getCurrentSession() { 65 | return sessionRepository.getSession(getSessionId()); 66 | } 67 | 68 | private RequestAttributes getCurrentRequestAttributes() { 69 | RequestAttributes attributes = RequestContextHolder.currentRequestAttributes(); 70 | Assert.notNull(attributes, "RequestAttributes must not be null"); 71 | return attributes; 72 | } 73 | 74 | } -------------------------------------------------------------------------------- /platform-sdk/platform-web/src/main/java/com/yingfeng/commons/web/support/session/SessionService.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.commons.web.support.session; 2 | 3 | /** 4 | * 会话服务. 5 | * 6 | * @author pengc on 2016/11/7. 7 | */ 8 | public interface SessionService { 9 | 10 | String getSessionId(); 11 | 12 | void setAttribute(String key, T attr); 13 | 14 | T getAttribute(String key); 15 | 16 | void removeAttribute(String key); 17 | 18 | void delete(); 19 | 20 | /** 21 | * 获取Session 22 | * @param key 23 | * @param 24 | * @return 25 | */ 26 | T getSession(String key); 27 | } 28 | -------------------------------------------------------------------------------- /platform-sdk/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | platform-dependencies 7 | com.yingfeng.platform 8 | 1.0-SNAPSHOT 9 | ../platform-dependencies 10 | 11 | 12 | 4.0.0 13 | platform-sdk 14 | pom 15 | 16 | 17 | 18 | platform-web 19 | 20 | 21 | -------------------------------------------------------------------------------- /platform-servers/platform-cms-server/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | platform-servers 7 | com.yingfeng.platform 8 | 1.0-SNAPSHOT 9 | 10 | 11 | 4.0.0 12 | platform-cms-server 13 | 14 | 15 | UTF-8 16 | UTF-8 17 | 1.8 18 | 19 | 20 | 21 | 22 | com.yingfeng.platform 23 | platform-web 24 | 1.0-SNAPSHOT 25 | 26 | 27 | com.yingfeng.platform 28 | platform-utils 29 | 1.0-SNAPSHOT 30 | 31 | 32 | 33 | org.springframework.boot 34 | spring-boot-starter-tomcat 35 | provided 36 | 37 | 38 | 39 | junit 40 | junit 41 | test 42 | 43 | 44 | org.springframework.boot 45 | spring-boot-starter-test 46 | test 47 | 48 | 49 | 50 | org.springframework.boot 51 | spring-boot-starter-data-redis 52 | 53 | 54 | org.springframework.session 55 | spring-session 56 | 57 | 58 | 59 | org.springframework.boot 60 | spring-boot-starter-validation 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | org.springframework.boot 74 | spring-boot-starter-logging 75 | 76 | 77 | 78 | mysql 79 | mysql-connector-java 80 | runtime 81 | 82 | 83 | 84 | 85 | com.alibaba 86 | druid 87 | 1.0.11 88 | 89 | 90 | 91 | org.apache.commons 92 | commons-lang3 93 | 94 | 95 | 96 | 97 | com.alibaba 98 | fastjson 99 | 100 | 101 | 102 | 103 | tk.mybatis 104 | mapper-spring-boot-starter 105 | 1.1.1 106 | 107 | 108 | 109 | 110 | com.github.pagehelper 111 | pagehelper-spring-boot-starter 112 | 1.1.1 113 | 114 | 115 | 116 | 117 | com.google.code.gson 118 | gson 119 | 2.2.4 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | org.springframework.boot 128 | spring-boot-maven-plugin 129 | 130 | 131 | org.apache.maven.plugins 132 | maven-war-plugin 133 | 134 | 135 | 136 | 137 | 138 | -------------------------------------------------------------------------------- /platform-servers/platform-cms-server/src/main/java/com/yingfeng/cms/PlatformCmsApplication.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.cms; 2 | 3 | import org.mybatis.spring.annotation.MapperScan; 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | import org.springframework.boot.web.servlet.ServletComponentScan; 7 | import org.springframework.cache.annotation.EnableCaching; 8 | import org.springframework.context.annotation.ComponentScan; 9 | import org.springframework.scheduling.annotation.EnableScheduling; 10 | import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession; 11 | import org.springframework.transaction.annotation.EnableTransactionManagement; 12 | import org.springframework.web.servlet.config.annotation.EnableWebMvc; 13 | 14 | @EnableWebMvc 15 | @EnableCaching 16 | @EnableScheduling 17 | @EnableTransactionManagement 18 | @ComponentScan(basePackages = "com.yingfeng") 19 | @SpringBootApplication 20 | @MapperScan(basePackages = "com.yingfeng.cms.modules.**.mapper") 21 | @ServletComponentScan 22 | @EnableRedisHttpSession 23 | public class PlatformCmsApplication { 24 | 25 | public static void main(String[] args) { 26 | SpringApplication.run(PlatformCmsApplication.class, args); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /platform-servers/platform-cms-server/src/main/java/com/yingfeng/cms/commons/constants/PlatformCmsConstants.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.cms.commons.constants; 2 | 3 | /** 4 | * PlatformCms 通用常量类
5 | * 6 | * @author pengc 7 | * @see com.yingfeng.cms.commons.constants 8 | * @since 2017/9/10 9 | */ 10 | public class PlatformCmsConstants { 11 | 12 | //是否删除-删除 13 | public static String DELETE_YES = "1"; 14 | 15 | //是否删除-未删除 16 | public static String DELETE_NO = "0"; 17 | 18 | } 19 | -------------------------------------------------------------------------------- /platform-servers/platform-cms-server/src/main/java/com/yingfeng/cms/commons/domain/BaseBean.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.cms.commons.domain; 2 | 3 | import lombok.Data; 4 | 5 | import javax.persistence.*; 6 | 7 | /** 8 | * 基础对象 9 | * 10 | * @author pengc 11 | * @since 2017/09/05 12 | */ 13 | @Data 14 | public class BaseBean { 15 | @Id 16 | @Column(name = "Id") 17 | @GeneratedValue(strategy = GenerationType.IDENTITY) 18 | private String id; 19 | 20 | @Transient 21 | private Integer page = 1; 22 | 23 | @Transient 24 | private Integer rows = 10; 25 | 26 | } 27 | -------------------------------------------------------------------------------- /platform-servers/platform-cms-server/src/main/java/com/yingfeng/cms/config/MyMapper.java: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2014-2016 abel533@gmail.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | */ 24 | 25 | package com.yingfeng.cms.config; 26 | 27 | import tk.mybatis.mapper.common.Mapper; 28 | import tk.mybatis.mapper.common.MySqlMapper; 29 | 30 | /** 31 | * 继承自己的MyMapper 32 | * 33 | * @author pengc 34 | * @since 2017/9/4 35 | */ 36 | public interface MyMapper extends Mapper, MySqlMapper { 37 | //TODO 38 | //FIXME 特别注意,该接口不能被扫描到,否则会出错 39 | } 40 | -------------------------------------------------------------------------------- /platform-servers/platform-cms-server/src/main/java/com/yingfeng/cms/config/ServletInitializer.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.cms.config; 2 | 3 | 4 | import com.yingfeng.cms.PlatformCmsApplication; 5 | import org.springframework.boot.builder.SpringApplicationBuilder; 6 | import org.springframework.boot.web.support.SpringBootServletInitializer; 7 | 8 | /** 9 | * 配置jar转war
10 | * 11 | * @author pengc 12 | * @see com.yingfeng.cms.config 13 | * @since 2017/9/6 14 | */ 15 | public class ServletInitializer extends SpringBootServletInitializer { 16 | 17 | @Override 18 | protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { 19 | return application.sources(PlatformCmsApplication.class); 20 | } 21 | 22 | } -------------------------------------------------------------------------------- /platform-servers/platform-cms-server/src/main/java/com/yingfeng/cms/config/druid/DruidAutoConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.cms.config.druid; 2 | 3 | import com.alibaba.druid.pool.DruidDataSource; 4 | import com.alibaba.druid.support.http.WebStatFilter; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.boot.autoconfigure.AutoConfigureBefore; 7 | import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; 8 | import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; 9 | import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; 10 | import org.springframework.boot.context.properties.EnableConfigurationProperties; 11 | import org.springframework.boot.web.servlet.FilterRegistrationBean; 12 | import org.springframework.context.annotation.Bean; 13 | import org.springframework.context.annotation.Configuration; 14 | import javax.sql.DataSource; 15 | import java.sql.SQLException; 16 | 17 | @Configuration 18 | @EnableConfigurationProperties(DruidProperties.class) 19 | @ConditionalOnClass(DruidDataSource.class) 20 | @ConditionalOnProperty(prefix = "druid", name = "url") 21 | @AutoConfigureBefore(DataSourceAutoConfiguration.class) 22 | public class DruidAutoConfiguration { 23 | 24 | @Autowired 25 | private DruidProperties properties; 26 | 27 | @Bean 28 | public DataSource dataSource() { 29 | DruidDataSource dataSource = new DruidDataSource(); 30 | dataSource.setUrl(properties.getUrl()); 31 | dataSource.setUsername(properties.getUsername()); 32 | dataSource.setPassword(properties.getPassword()); 33 | if (properties.getInitialSize() > 0) { 34 | dataSource.setInitialSize(properties.getInitialSize()); 35 | } 36 | if (properties.getMinIdle() > 0) { 37 | dataSource.setMinIdle(properties.getMinIdle()); 38 | } 39 | if (properties.getMaxActive() > 0) { 40 | dataSource.setMaxActive(properties.getMaxActive()); 41 | } 42 | dataSource.setTestOnBorrow(properties.isTestOnBorrow()); 43 | try { 44 | dataSource.init(); 45 | } catch (SQLException e) { 46 | throw new RuntimeException(e); 47 | } 48 | return dataSource; 49 | } 50 | 51 | @Bean 52 | public FilterRegistrationBean filterRegistrationBean() { 53 | FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(); 54 | filterRegistrationBean.setFilter(new WebStatFilter()); 55 | filterRegistrationBean.addUrlPatterns("/*"); 56 | filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"); 57 | return filterRegistrationBean; 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /platform-servers/platform-cms-server/src/main/java/com/yingfeng/cms/config/druid/DruidProperties.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.cms.config.druid; 2 | 3 | import org.springframework.boot.context.properties.ConfigurationProperties; 4 | 5 | /** 6 | * 只提供了常用的属性,如果有需要,自己添加
7 | * @author pengc 8 | * @since 2017/9/4 9 | */ 10 | @ConfigurationProperties(prefix = "druid") 11 | public class DruidProperties { 12 | private String url; 13 | private String username; 14 | private String password; 15 | private String driverClass; 16 | 17 | private int maxActive; 18 | private int minIdle; 19 | private int initialSize; 20 | private boolean testOnBorrow; 21 | 22 | public String getUrl() { 23 | return url; 24 | } 25 | 26 | public void setUrl(String url) { 27 | this.url = url; 28 | } 29 | 30 | public String getUsername() { 31 | return username; 32 | } 33 | 34 | public void setUsername(String username) { 35 | this.username = username; 36 | } 37 | 38 | public String getPassword() { 39 | return password; 40 | } 41 | 42 | public void setPassword(String password) { 43 | this.password = password; 44 | } 45 | 46 | public String getDriverClass() { 47 | return driverClass; 48 | } 49 | 50 | public void setDriverClass(String driverClass) { 51 | this.driverClass = driverClass; 52 | } 53 | 54 | public int getMaxActive() { 55 | return maxActive; 56 | } 57 | 58 | public void setMaxActive(int maxActive) { 59 | this.maxActive = maxActive; 60 | } 61 | 62 | public int getMinIdle() { 63 | return minIdle; 64 | } 65 | 66 | public void setMinIdle(int minIdle) { 67 | this.minIdle = minIdle; 68 | } 69 | 70 | public int getInitialSize() { 71 | return initialSize; 72 | } 73 | 74 | public void setInitialSize(int initialSize) { 75 | this.initialSize = initialSize; 76 | } 77 | 78 | public boolean isTestOnBorrow() { 79 | return testOnBorrow; 80 | } 81 | 82 | public void setTestOnBorrow(boolean testOnBorrow) { 83 | this.testOnBorrow = testOnBorrow; 84 | } 85 | } 86 | -------------------------------------------------------------------------------- /platform-servers/platform-cms-server/src/main/java/com/yingfeng/cms/config/filter/CmsHttpMethodFilter.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.cms.config.filter; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import javax.servlet.*; 5 | import javax.servlet.annotation.WebFilter; 6 | import javax.servlet.http.HttpServletRequest; 7 | import javax.servlet.http.HttpServletResponse; 8 | import java.io.IOException; 9 | 10 | /** 11 | * CMS基本拦截器
12 | * 13 | * @author pengc 14 | * @see com.yingfeng.cms.config.filter 15 | * @since 2017/8/7 16 | */ 17 | @Slf4j 18 | @WebFilter(filterName="cmsHttpMethodFilter", urlPatterns="/*") 19 | public class CmsHttpMethodFilter implements Filter { 20 | 21 | @Override 22 | public void init(FilterConfig filterConfig) throws ServletException { 23 | log.info("init filter"); 24 | } 25 | 26 | @Override 27 | public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { 28 | HttpServletRequest request = (HttpServletRequest)servletRequest; 29 | HttpServletResponse response = (HttpServletResponse) servletResponse; 30 | 31 | String requestUrl = request.getRequestURL().toString(); 32 | // response.sendRedirect(request.getContextPath() + "/session/fail"); 33 | 34 | filterChain.doFilter(servletRequest, servletResponse); 35 | 36 | log.info("URL>>"+requestUrl); 37 | 38 | } 39 | 40 | @Override 41 | public void destroy() { 42 | log.info("Destruction filter"); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /platform-servers/platform-cms-server/src/main/java/com/yingfeng/cms/config/listerner/MyHttpSessionListener.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.cms.config.listerner; 2 | 3 | import javax.servlet.annotation.WebListener; 4 | import javax.servlet.http.HttpSessionEvent; 5 | import javax.servlet.http.HttpSessionListener; 6 | 7 | /** 8 | * HttpSessionListener
9 | * 10 | * @author pengc 11 | * @see com.yingfeng.cms.config.listerner 12 | * @since 2017/8/7 13 | */ 14 | @WebListener 15 | public class MyHttpSessionListener implements HttpSessionListener { 16 | 17 | @Override 18 | public void sessionCreated(HttpSessionEvent httpSessionEvent) { 19 | System.out.println("Session 被创建"); 20 | } 21 | 22 | @Override 23 | public void sessionDestroyed(HttpSessionEvent httpSessionEvent) { 24 | System.out.println("ServletContext 初始化"); 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /platform-servers/platform-cms-server/src/main/java/com/yingfeng/cms/config/listerner/MyServletContextListener.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.cms.config.listerner; 2 | 3 | import javax.servlet.ServletContextEvent; 4 | import javax.servlet.ServletContextListener; 5 | import javax.servlet.annotation.WebListener; 6 | 7 | /** 8 | * ServletContextListener
9 | * 10 | * @author pengc 11 | * @see com.yingfeng.cms.config.listerner 12 | * @since 2017/8/7 13 | */ 14 | @WebListener 15 | public class MyServletContextListener implements ServletContextListener { 16 | 17 | @Override 18 | public void contextInitialized(ServletContextEvent servletContextEvent) { 19 | System.out.println("ServletContext 初始化"); 20 | System.out.println(servletContextEvent.getServletContext().getServerInfo()); 21 | } 22 | 23 | @Override 24 | public void contextDestroyed(ServletContextEvent servletContextEvent) { 25 | System.out.println("ServletContext 销毁"); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /platform-servers/platform-cms-server/src/main/java/com/yingfeng/cms/config/redis/RedisAutoConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.cms.config.redis; 2 | 3 | import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; 4 | import org.springframework.context.annotation.Bean; 5 | import org.springframework.context.annotation.Configuration; 6 | import org.springframework.data.redis.connection.RedisConnectionFactory; 7 | import org.springframework.data.redis.core.RedisTemplate; 8 | import org.springframework.data.redis.serializer.StringRedisSerializer; 9 | import redis.clients.jedis.Jedis; 10 | 11 | @Configuration 12 | @ConditionalOnClass(Jedis.class) 13 | public class RedisAutoConfiguration { 14 | 15 | @Bean(name = "redisTemplate") 16 | public RedisTemplate redisTemplate(RedisConnectionFactory connectionFactory) { 17 | RedisTemplate template = new RedisTemplate<>(); 18 | template.setKeySerializer(new StringRedisSerializer()); 19 | template.setHashKeySerializer(new StringRedisSerializer()); 20 | template.setConnectionFactory(connectionFactory); 21 | return template; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /platform-servers/platform-cms-server/src/main/java/com/yingfeng/cms/config/servlet/MyServlet.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.cms.config.servlet; 2 | 3 | import javax.servlet.annotation.WebServlet; 4 | import javax.servlet.http.HttpServlet; 5 | import javax.servlet.http.HttpServletRequest; 6 | import javax.servlet.http.HttpServletResponse; 7 | import java.io.IOException; 8 | 9 | /** 10 | * Servlet
11 | * 12 | * @author pengc 13 | * @since 2017/8/7 14 | * @see com.yingfeng.cms.config.servlet 15 | */ 16 | @WebServlet(name = "myServlet", urlPatterns = "/example") 17 | public class MyServlet extends HttpServlet { 18 | 19 | @Override 20 | protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { 21 | System.out.println(">>>>>>>>>>doGet<<<<<<<<<<<"); 22 | doPost(req, resp); 23 | } 24 | 25 | @Override 26 | protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException { 27 | System.out.println(">>>>>>>>>>doPost<<<<<<<<<<<"); 28 | resp.getWriter().write("hello world"); 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /platform-servers/platform-cms-server/src/main/java/com/yingfeng/cms/modules/fastdfs/controller/FastDfsController.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.cms.modules.fastdfs.controller; 2 | 3 | import com.github.tobato.fastdfs.domain.StorePath; 4 | import com.github.tobato.fastdfs.service.FastFileStorageClient; 5 | import org.apache.commons.io.FilenameUtils; 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.web.bind.annotation.PostMapping; 8 | import org.springframework.web.bind.annotation.RestController; 9 | import org.springframework.web.multipart.MultipartFile; 10 | import javax.servlet.http.HttpServletResponse; 11 | import java.io.IOException; 12 | 13 | /** 14 | * FastDfs测试类
15 | * 16 | * @author pengc 17 | * @see com.yingfeng.cms.modules.fastdfs.controller 18 | * @since 2017/12/4 19 | */ 20 | @RestController 21 | public class FastDfsController { 22 | 23 | @Autowired 24 | private FastFileStorageClient storageClient; 25 | 26 | /** 27 | * 上传文件
28 | * @author pengc 29 | * @param file 文件流对象 30 | * @return FastDFS 文件路径 31 | * @since 2017/12/4 32 | */ 33 | @PostMapping("/FastDfs/uploadFile") 34 | public String uploadFile(MultipartFile file) throws IOException { 35 | StorePath storePath; 36 | synchronized (storageClient) { 37 | storePath = storageClient.uploadFile( 38 | file.getInputStream(), 39 | file.getSize(), 40 | FilenameUtils.getExtension(file.getOriginalFilename()), 41 | null); 42 | } 43 | return storePath.getFullPath(); 44 | } 45 | 46 | /** 47 | * 下载文件
48 | * @author pengc 49 | * @param response 50 | * @return FastDFS 文件路径 51 | * @since 2017/12/4 52 | */ 53 | @PostMapping("/FastDfs/downloadFile") 54 | public void downloadFile(HttpServletResponse response) { 55 | // storageClient.downloadFile(); 56 | } 57 | 58 | } 59 | -------------------------------------------------------------------------------- /platform-servers/platform-cms-server/src/main/java/com/yingfeng/cms/modules/user/controller/UserController.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.cms.modules.user.controller; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.github.pagehelper.PageInfo; 5 | import com.yingfeng.cms.modules.user.domain.UserBean; 6 | import com.yingfeng.cms.modules.user.service.UserService; 7 | import com.yingfeng.commons.web.constants.ExceptionCodeInfo; 8 | import com.yingfeng.commons.web.exception.SimpleException; 9 | import io.swagger.annotations.ApiOperation; 10 | import org.springframework.beans.factory.annotation.Autowired; 11 | import org.springframework.validation.annotation.Validated; 12 | import org.springframework.web.bind.annotation.*; 13 | import java.util.List; 14 | 15 | /** 16 | * 用户
17 | * 18 | * @author pengc 19 | * @see com.yingfeng.cms.modules.user.controller 20 | * @since 2017/9/4 21 | */ 22 | @RestController 23 | public class UserController { 24 | 25 | @Autowired 26 | private UserService userService; 27 | 28 | @PostMapping("/user/save") 29 | public int saveUser(@RequestBody @Validated UserBean userBean) { 30 | return userService.saveUser(userBean); 31 | } 32 | 33 | @GetMapping("/user/by/{id}") 34 | public UserBean queryUserById(@PathVariable String id) { 35 | return userService.findById(id); 36 | } 37 | 38 | @GetMapping("/user/all") 39 | public List queryUserAll() { 40 | return userService.findUser(); 41 | } 42 | 43 | @GetMapping("/user/cors") 44 | public String corsTest() { 45 | String jsonstr = JSON.toJSONString(userService.findUser()); 46 | return jsonstr; 47 | } 48 | 49 | @DeleteMapping("/user/delete/by/{id}") 50 | public boolean deleteUserById(@PathVariable String id) { 51 | return userService.deleteUserById(id); 52 | } 53 | 54 | @GetMapping("/user/exception") 55 | public String queryUserException() { 56 | throw new SimpleException("查询用户异常", ExceptionCodeInfo.NETWORK_ERR); 57 | } 58 | 59 | @PostMapping("/user/page") 60 | public PageInfo queryUserPage(@RequestBody UserBean userBean) { 61 | List userBeanList = userService.findUserPage(userBean); 62 | return new PageInfo<>(userBeanList); 63 | } 64 | 65 | @ApiOperation(value = "session fail 验证", notes = "session失效异常") 66 | @GetMapping("/session/fail") 67 | public void sessionFail() { 68 | throw new SimpleException("session失效异常", ExceptionCodeInfo.NETWORK_ERR); 69 | } 70 | 71 | 72 | } 73 | -------------------------------------------------------------------------------- /platform-servers/platform-cms-server/src/main/java/com/yingfeng/cms/modules/user/domain/UserBean.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.cms.modules.user.domain; 2 | 3 | import com.yingfeng.cms.commons.domain.BaseBean; 4 | import lombok.Data; 5 | import javax.persistence.Table; 6 | import javax.validation.constraints.Size; 7 | import java.io.Serializable; 8 | 9 | /** 10 | * 用户对象
11 | * 12 | * @author pengc 13 | * @see com.yingfeng.cms.modules.user.domain 14 | * @since 2017/9/4 15 | */ 16 | @Data 17 | @Table(name = "t_user") 18 | public class UserBean extends BaseBean implements Serializable { 19 | 20 | private String name; 21 | 22 | @Size(min = 3, max = 20, message="用户名长度只能在3-20之间") 23 | private String password; 24 | 25 | 26 | } 27 | -------------------------------------------------------------------------------- /platform-servers/platform-cms-server/src/main/java/com/yingfeng/cms/modules/user/mapper/UserMapper.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.cms.modules.user.mapper; 2 | 3 | import com.yingfeng.cms.config.MyMapper; 4 | import com.yingfeng.cms.modules.user.domain.UserBean; 5 | import org.apache.ibatis.annotations.Param; 6 | import org.apache.ibatis.annotations.Select; 7 | import java.util.List; 8 | 9 | /** 10 | * UserMapper接口文件
11 | * 12 | * @author pengc 13 | * @date 2017/6/30 14 | * @see com.yingfeng.cms.modules.user.mapper 15 | */ 16 | public interface UserMapper extends MyMapper { 17 | 18 | @Select("select * from t_user where id = #{id}") 19 | UserBean findById(@Param("id") String id); 20 | 21 | List queryUserAll(); 22 | 23 | } 24 | -------------------------------------------------------------------------------- /platform-servers/platform-cms-server/src/main/java/com/yingfeng/cms/modules/user/service/UserService.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.cms.modules.user.service; 2 | 3 | import com.yingfeng.cms.modules.user.domain.UserBean; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * 用户业务逻辑接口
9 | * 10 | * @author pengc 11 | * @see com.yingfeng.cms.modules.user.service 12 | * @since 2017/9/4 13 | */ 14 | public interface UserService { 15 | 16 | UserBean findById(String id); 17 | 18 | int saveUser(UserBean userBean); 19 | 20 | List findUser(); 21 | 22 | boolean deleteUserById(String Id); 23 | 24 | List findUserPage(UserBean userBean); 25 | 26 | } 27 | -------------------------------------------------------------------------------- /platform-servers/platform-cms-server/src/main/java/com/yingfeng/cms/modules/user/service/impl/UserServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.cms.modules.user.service.impl; 2 | 3 | import com.github.pagehelper.PageHelper; 4 | import com.yingfeng.cms.modules.user.domain.UserBean; 5 | import com.yingfeng.cms.modules.user.mapper.UserMapper; 6 | import com.yingfeng.cms.modules.user.service.UserService; 7 | import com.yingfeng.commons.web.exception.SimpleException; 8 | import com.yingfeng.commons.web.support.session.DefaultSessionService; 9 | import lombok.extern.slf4j.Slf4j; 10 | import org.springframework.beans.factory.annotation.Autowired; 11 | import org.springframework.beans.factory.annotation.Qualifier; 12 | import org.springframework.data.redis.core.RedisTemplate; 13 | import org.springframework.data.redis.core.ValueOperations; 14 | import org.springframework.stereotype.Service; 15 | import org.springframework.transaction.annotation.Transactional; 16 | import java.util.List; 17 | 18 | /** 19 | * 用户业务逻辑实现
20 | * 21 | * @author pengc 22 | * @see com.yingfeng.cms.modules.user.service.impl 23 | * @since 2017/9/4 24 | */ 25 | @Slf4j 26 | @Service 27 | public class UserServiceImpl implements UserService { 28 | 29 | @Autowired 30 | private UserMapper userMapper; 31 | 32 | @Autowired 33 | private DefaultSessionService sessionService; 34 | 35 | @Autowired 36 | @Qualifier("redisTemplate") 37 | private RedisTemplate redisTemplate; 38 | 39 | @Transactional(readOnly = true) 40 | @Override 41 | public UserBean findById(String id) { 42 | ValueOperations ops = redisTemplate.opsForValue(); 43 | ops.set("id", id); 44 | log.info("findById>>id>>"+ops.get("id")); 45 | return userMapper.selectByPrimaryKey(id); 46 | } 47 | 48 | @Override 49 | public int saveUser(UserBean userBean) { 50 | return userMapper.insert(userBean); 51 | } 52 | 53 | @Override 54 | public List findUser() { 55 | return userMapper.selectAll(); 56 | } 57 | 58 | @Override 59 | public boolean deleteUserById(String Id) { 60 | try { 61 | userMapper.deleteByPrimaryKey(Id); 62 | } catch (Exception e) { 63 | throw new SimpleException("删除异常", null); 64 | } 65 | return true; 66 | } 67 | 68 | @Override 69 | public List findUserPage(UserBean userBean) { 70 | if (userBean.getPage() != null && userBean.getRows() != null) { 71 | PageHelper.startPage(userBean.getPage(), userBean.getRows()); 72 | } 73 | return userMapper.queryUserAll(); 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /platform-servers/platform-cms-server/src/main/java/com/yingfeng/cms/modules/weixin/controller/AuthorizedLoginController.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.cms.modules.weixin.controller; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.alibaba.fastjson.JSONException; 5 | import com.alibaba.fastjson.JSONObject; 6 | import com.yingfeng.cms.modules.weixin.domain.AuthorizedUsersBean; 7 | import com.yingfeng.modules.weixin.UserInfoUtil; 8 | import com.yingfeng.modules.weixin.WeixinUtil; 9 | import lombok.extern.slf4j.Slf4j; 10 | import org.springframework.stereotype.Controller; 11 | import org.springframework.web.bind.annotation.*; 12 | import java.io.UnsupportedEncodingException; 13 | 14 | 15 | /** 16 | * 微信重定向相关方法
17 | * 18 | * @author pengc 19 | * @see com.yingfeng.cms.modules.weixin.controller 20 | * @since 2017/9/27 21 | */ 22 | @Slf4j 23 | @Controller 24 | @RequestMapping("/authorized") 25 | public class AuthorizedLoginController { 26 | 27 | private static final String WX_APPID = "服务号APPID"; 28 | private static final String SCOPE_BASE = "snsapi_base"; //静默授权 29 | private static final String SCOPE_USERINFO = "snsapi_userinfo"; //获取用户信息会提示确认授权 30 | private static final String WX_APPSECRET = "服务号APPSECRET"; 31 | 32 | /** 33 | * 授权登录URL地址
34 | * 35 | * @return String 36 | * 微信授权的URL路径 37 | */ 38 | @ResponseBody 39 | @GetMapping("/redirectUrl") 40 | public String authorizedLoginUrl(){ 41 | String redirect_uri = ""; 42 | 43 | try { 44 | String backUrl ="http://m.ershouhui.com/yf/201710/finger/activity/"; //拼接微信回调地址 45 | redirect_uri = java.net.URLEncoder.encode(backUrl, "utf-8"); 46 | } catch (UnsupportedEncodingException e) { 47 | e.printStackTrace(); 48 | log.error("authorizedLoginWoman>>error>>"+e.getMessage()); 49 | } 50 | 51 | String oauth2Url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + WX_APPID + "&redirect_uri=" + redirect_uri 52 | + "&response_type=code&scope=" + SCOPE_USERINFO + "&state=STATE#wechat_redirect"; 53 | log.info("authorizedLoginWomanUrl>>"+ oauth2Url); 54 | 55 | return oauth2Url; 56 | } 57 | 58 | /** 59 | * 获取用户授权
60 | * 61 | * @param code 62 | * 微信授权之后返回的code 63 | * @param state 64 | * 微信授权之后返回的state 65 | * @return 授权用户信息 66 | */ 67 | @GetMapping("/userInfo") 68 | @ResponseBody 69 | public AuthorizedUsersBean getWxAuthorizedUser( 70 | @RequestParam(name = "code") String code, @RequestParam(name = "state") String state) { 71 | 72 | AuthorizedUsersBean authorizedUsersBean = new AuthorizedUsersBean(); 73 | 74 | // 1. 用户同意授权,获取code 75 | log.info("用户同意授权,获取code:{} , state:{}", code, state); 76 | 77 | // 2. 通过code换取网页授权access_token 78 | if (code != null || !(code.equals(""))) { 79 | 80 | // 替换字符串,获得请求access token URL 81 | String tokenUrl = UserInfoUtil.getWebAccess(WX_APPID, WX_APPSECRET, code); 82 | log.info("第二步:get Access Token URL:{}", tokenUrl); 83 | 84 | // 通过https方式请求获得web_access_token 85 | String response = WeixinUtil.httpRequest(tokenUrl, "GET", null); 86 | 87 | JSONObject jsonObject = JSON.parseObject(response); 88 | log.info("请求到的Access Token:{}", jsonObject.toJSONString()); 89 | 90 | if (null != jsonObject) { 91 | try { 92 | String WebAccessToken = jsonObject.getString("access_token"); 93 | String openId = jsonObject.getString("openid"); 94 | log.info("获取access_token成功!"); 95 | log.info("WebAccessToken:{} , openId:{}", WebAccessToken, openId); 96 | 97 | // 3. 使用获取到的 Access_token 和 openid 拉取用户信息 98 | String userMessageUrl = UserInfoUtil.getUserMessage(WebAccessToken, openId); 99 | log.info("第三步:获取用户信息的URL:{}", userMessageUrl); 100 | 101 | // 通过https方式请求获得用户信息响应 102 | String userMessageResponse = WeixinUtil.httpRequest(userMessageUrl, "GET", null); 103 | 104 | authorizedUsersBean = convertUserInfo(userMessageResponse); 105 | } catch (JSONException e) { 106 | log.error("获取Web Access Token失败"); 107 | } 108 | } 109 | } 110 | 111 | return authorizedUsersBean; 112 | } 113 | 114 | /** 115 | * 组装用户授权信息
116 | * 117 | * @param userMessageResponse 授权用户响应数据 118 | * @return authorizedUsersBean {@link AuthorizedUsersBean 授权用户对象} 119 | * @since 2017/10/10 120 | * @throws JSONException json转换异常 121 | */ 122 | private AuthorizedUsersBean convertUserInfo(String userMessageResponse) { 123 | AuthorizedUsersBean authorizedUsersBean = new AuthorizedUsersBean(); 124 | 125 | JSONObject userMessageJsonObject = JSON.parseObject(userMessageResponse); 126 | 127 | log.info("用户信息:{}", userMessageJsonObject.toJSONString()); 128 | 129 | if (userMessageJsonObject != null) { 130 | try { 131 | //用户昵称 132 | String nickName = userMessageJsonObject.getString("nickname"); 133 | //用户性别 134 | String sex = userMessageJsonObject.getString("sex"); 135 | sex = (sex.equals("1")) ? "男" : "女"; 136 | //用户唯一标识 137 | String openid = userMessageJsonObject.getString("openid"); 138 | 139 | authorizedUsersBean.setName(nickName); 140 | authorizedUsersBean.setSex(sex); 141 | authorizedUsersBean.setOpenId(openid); 142 | 143 | log.info("用户昵称:{}", nickName, "用户性别:{}", sex, "OpenId:{}", openid); 144 | } catch (JSONException e) { 145 | log.error("获取用户信息失败"); 146 | } 147 | } 148 | 149 | return authorizedUsersBean; 150 | } 151 | 152 | } 153 | -------------------------------------------------------------------------------- /platform-servers/platform-cms-server/src/main/java/com/yingfeng/cms/modules/weixin/domain/AuthorizedUsersBean.java: -------------------------------------------------------------------------------- 1 | package com.yingfeng.cms.modules.weixin.domain; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * 授权用户对象
7 | * 8 | * @author pengc 9 | * @see com.yingfeng.cms.modules.weixin.domain 10 | * @since 2017/10/10 11 | */ 12 | @Data 13 | public class AuthorizedUsersBean { 14 | 15 | private String name; 16 | 17 | private String sex; 18 | 19 | private String openId; 20 | 21 | private String province; 22 | 23 | private String city; 24 | 25 | private String country; 26 | 27 | private String headImgUrl; 28 | 29 | } 30 | -------------------------------------------------------------------------------- /platform-servers/platform-cms-server/src/main/resources/Banner.txt: -------------------------------------------------------------------------------- 1 | ${AnsiColor.BRIGHT_GREEN} 2 | .__ _____ 3 | ___.__.|__| ____ ____ _/ ____\____ ____ ____ ____ _____ ______ 4 | < | || |/ \ / ___\ \ __\/ __ \ / \ / ___\ ______ _/ ___\ / \ / ___/ 5 | \___ || | | \/ /_/ > | | \ ___/| | \/ /_/ > /_____/ \ \___| Y Y \\___ \ 6 | / ____||__|___| /\___ / |__| \___ >___| /\___ / \___ >__|_| /____ > 7 | \/ \//_____/ \/ \//_____/ \/ \/ \/ 8 | 9 | ${AnsiColor.BRIGHT_RED} 10 | Application Version: ${application.version}${application.formatted-version} 11 | Spring Boot Version: ${spring-boot.version}${spring-boot.formatted-version} -------------------------------------------------------------------------------- /platform-servers/platform-cms-server/src/main/resources/META-INF/spring-devtools.properties: -------------------------------------------------------------------------------- 1 | restart.include.mapper=/mapper-[\\w-\\.]+jar 2 | restart.include.pagehelper=/pagehelper-[\\w-\\.]+jar -------------------------------------------------------------------------------- /platform-servers/platform-cms-server/src/main/resources/application-dev.properties: -------------------------------------------------------------------------------- 1 | spring.profiles=dev 2 | 3 | #server 4 | server.port=8888 5 | server.address= 6 | server.session-timeout=30 7 | server.context-path=/cms-dev 8 | 9 | #database 10 | druid.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false 11 | druid.driver-class=com.mysql.jdbc.Driver 12 | druid.username=root 13 | druid.password=123456 14 | druid.initial-size=1 15 | druid.min-idle=1 16 | druid.max-active=20 17 | druid.test-on-borrow=true 18 | 19 | # Redis数据库索引(默认为0) 20 | spring.redis.database=0 21 | # Redis服务器地址 22 | spring.redis.host=127.0.0.1 23 | # Redis服务器连接端口 24 | spring.redis.port=6379 25 | # Redis服务器连接密码(默认为空) 26 | spring.redis.password=123456 27 | # 连接池最大连接数(使用负值表示没有限制) 28 | spring.redis.pool.max-active=8 29 | # 连接池最大阻塞等待时间(使用负值表示没有限制) 30 | spring.redis.pool.max-wait=-1 31 | # 连接池中的最大空闲连接 32 | spring.redis.pool.max-idle=8 33 | # 连接池中的最小空闲连接 34 | spring.redis.pool.min-idle=0 35 | # 连接超时时间(毫秒) 36 | spring.redis.timeout=0 -------------------------------------------------------------------------------- /platform-servers/platform-cms-server/src/main/resources/application-prod.properties: -------------------------------------------------------------------------------- 1 | spring.profiles=prod 2 | 3 | #server 4 | server.port=8080 5 | server.address= 6 | server.session-timeout=30 7 | server.context-path=/cms 8 | 9 | #database 10 | druid.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false 11 | druid.driver-class=com.mysql.jdbc.Driver 12 | druid.username=root 13 | druid.password=123456 14 | druid.initial-size=1 15 | druid.min-idle=1 16 | druid.max-active=20 17 | druid.test-on-borrow=true 18 | 19 | # Redis数据库索引(默认为0) 20 | spring.redis.database=0 21 | # Redis服务器地址 22 | spring.redis.host=127.0.0.1 23 | # Redis服务器连接端口 24 | spring.redis.port=6379 25 | # Redis服务器连接密码(默认为空) 26 | spring.redis.password=123456 27 | # 连接池最大连接数(使用负值表示没有限制) 28 | spring.redis.pool.max-active=8 29 | # 连接池最大阻塞等待时间(使用负值表示没有限制) 30 | spring.redis.pool.max-wait=-1 31 | # 连接池中的最大空闲连接 32 | spring.redis.pool.max-idle=8 33 | # 连接池中的最小空闲连接 34 | spring.redis.pool.min-idle=0 35 | # 连接超时时间(毫秒) 36 | spring.redis.timeout=0 -------------------------------------------------------------------------------- /platform-servers/platform-cms-server/src/main/resources/application-test.properties: -------------------------------------------------------------------------------- 1 | spring.profiles=test 2 | 3 | #server 4 | server.port=9999 5 | server.address= 6 | server.session-timeout=30 7 | server.context-path=/cms-test 8 | 9 | #database 10 | druid.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false 11 | druid.driver-class=com.mysql.jdbc.Driver 12 | druid.username=root 13 | druid.password=123456 14 | druid.initial-size=1 15 | druid.min-idle=1 16 | druid.max-active=20 17 | druid.test-on-borrow=true 18 | 19 | # Redis数据库索引(默认为0) 20 | spring.redis.database=0 21 | # Redis服务器地址 22 | spring.redis.host=127.0.0.1 23 | # Redis服务器连接端口 24 | spring.redis.port=6379 25 | # Redis服务器连接密码(默认为空) 26 | spring.redis.password=123456 27 | # 连接池最大连接数(使用负值表示没有限制) 28 | spring.redis.pool.max-active=8 29 | # 连接池最大阻塞等待时间(使用负值表示没有限制) 30 | spring.redis.pool.max-wait=-1 31 | # 连接池中的最大空闲连接 32 | spring.redis.pool.max-idle=8 33 | # 连接池中的最小空闲连接 34 | spring.redis.pool.min-idle=0 35 | # 连接超时时间(毫秒) 36 | spring.redis.timeout=0 -------------------------------------------------------------------------------- /platform-servers/platform-cms-server/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.profiles.active=dev 2 | 3 | #spring 4 | server.tomcat.uri-encoding=UTF-8 5 | spring.http.encoding.charset=UTF-8 6 | spring.resources.chain.strategy.content.enabled=true 7 | spring.resources.chain.strategy.content.paths=/** 8 | 9 | #静态文件映射 10 | spring.mvc.static-path-pattern=/** 11 | spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/ 12 | 13 | #上传图片大小 14 | spring.http.multipart.maxFileSize=1024Mb 15 | spring.http.multipart.maxRequestSize=1024Mb 16 | 17 | #mybatis 18 | mybatis.type-aliases-package=com.yinfeng.cms.modules 19 | mybatis.mapper-locations=classpath:mapper/**/*.xml 20 | 21 | #mapper 22 | #mappers 多个接口时逗号隔开 23 | mapper.mappers=com.yingfeng.cms.config.MyMapper 24 | mapper.not-empty=false 25 | mapper.identity=MYSQL 26 | 27 | #pagehelper 28 | pagehelper.helperDialect=mysql 29 | pagehelper.reasonable=true 30 | pagehelper.supportMethodsArguments=true 31 | pagehelper.params=count=countSql 32 | 33 | # Redis数据库索引(默认为0) 34 | spring.redis.database=0 35 | # Redis服务器地址 36 | spring.redis.host=127.0.0.1 37 | # Redis服务器连接端口 38 | spring.redis.port=6379 39 | # Redis服务器连接密码(默认为空) 40 | spring.redis.password=123456 41 | # 连接池最大连接数(使用负值表示没有限制) 42 | spring.redis.pool.max-active=8 43 | # 连接池最大阻塞等待时间(使用负值表示没有限制) 44 | spring.redis.pool.max-wait=-1 45 | # 连接池中的最大空闲连接 46 | spring.redis.pool.max-idle=8 47 | # 连接池中的最小空闲连接 48 | spring.redis.pool.min-idle=0 49 | # 连接超时时间(毫秒) 50 | spring.redis.timeout=0 51 | 52 | #cache 53 | spring.cache.type=redis 54 | 55 | #logging.level.root=warn 56 | logging.level.org.springframework.web=ERROR 57 | logging.level.org.apache.cxf=OFF 58 | logging.level.com.yingfeng.cms=debug 59 | 60 | #ueditor-host 61 | ueditor.upload.host=47.93.160.233 62 | 63 | ## fastDFS配置 64 | fdfs.soTimeout=1500 65 | fdfs.connect-timeout=600 66 | ## 缩略图 67 | fdfs.thumbImage.height=150 68 | fdfs.thumbImage.width=150 69 | ## TrackerList参数,支持多个(tracker_server:用于上传) 70 | fdfs.trackerList[0]=127.0.0.1:22123 71 | ##fdfs.trackerList[1]=127.0.0.1:8888 72 | -------------------------------------------------------------------------------- /platform-servers/platform-cms-server/src/main/resources/generator/generatorConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 29 | 30 | 31 | 32 | 33 | 34 | 35 |
36 |
37 |
-------------------------------------------------------------------------------- /platform-servers/platform-cms-server/src/main/resources/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /platform-servers/platform-cms-server/src/main/resources/mapper/user/UserMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | -------------------------------------------------------------------------------- /platform-servers/platform-cms-server/src/main/resources/messages.properties: -------------------------------------------------------------------------------- 1 | error.serverEx=服务器内部异常 2 | 3 | #登录模块错误码及描述 4 | error.403=没有访问权限 5 | error.10001=用户名或者密码错误 6 | error.10002=验证码错误,请重新输入 7 | error.10003=您的账户已经被锁定,请{0}分钟后再试。 8 | error.10004=该账户已经被禁用 9 | error.10005=获取客户端证书失败 10 | error.10006=证书内容格式错误 11 | error.10007=证书错误,没有用户与该证书匹配 12 | error.10008=用户名或者密码不能为空 13 | error.20001=资源已暂停,请稍后订阅 14 | error.20002=资源已发布,请勿重复发布 15 | error.20003=撤销订阅用户不可为空 16 | error.20004=session超时 17 | error.20005={0}不可为空 18 | error.20006=保存失败,{0} 19 | error.20007=只能撤销发布状态的资源 20 | error.20008=只能发布一条资源 21 | 22 | error.30001=文件导出失败,请稍后再试 23 | error.30002="文件写入数据时出现错误" 24 | error.30008="上传的证书压缩包不正确,请重新上传" -------------------------------------------------------------------------------- /platform-servers/platform-servers.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /platform-servers/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | platform-dependencies 7 | com.yingfeng.platform 8 | 1.0-SNAPSHOT 9 | 10 | 11 | 4.0.0 12 | platform-servers 13 | pom 14 | 15 | 16 | platform-cms-server 17 | 18 | 19 | -------------------------------------------------------------------------------- /platform.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | io.spring.platform 7 | platform-bom 8 | Athens-RELEASE 9 | 10 | 11 | 12 | 4.0.0 13 | com.yingfeng.platform 14 | platform 15 | pom 16 | 1.0-SNAPSHOT 17 | 18 | 19 | platform-dependencies 20 | platform-sdk 21 | platform-modules 22 | platform-servers 23 | 24 | 25 | PLATFORM 26 | PLATFORM 27 | 28 | yingFeng soft, Inc. 29 | http://www.yingfeng365.cn 30 | 31 | 32 | 33 | 3.2.1 34 | 35 | 36 | ${basedir} 37 | UTF-8 38 | UTF-8 39 | 1.8 40 | 41 | 42 | 43 | 44 | org.apache.maven.plugins 45 | maven-compiler-plugin 46 | 47 | 48 | 49 | 50 | 51 | 52 | releases 53 | yingFeng Release Repository 54 | 55 | http://59.110.160.88:8081/nexus/content/repositories/releases/ 56 | 57 | 58 | 59 | 60 | 61 | 62 | fable-public 63 | yingFeng Public Repository 64 | http://59.110.160.88:8081/nexus/content/repositories/public/ 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /sql/t_user.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE `t_user` ( 2 | `id` varchar(32) DEFAULT NULL, 3 | `name` varchar(255) DEFAULT NULL, 4 | `password` varchar(255) DEFAULT NULL COMMENT '用户表' 5 | ) ENGINE=InnoDB DEFAULT CHARSET=gbk; 6 | --------------------------------------------------------------------------------