├── src └── main │ ├── resources │ ├── static │ │ ├── swagger │ │ │ ├── css │ │ │ │ ├── typography.css │ │ │ │ ├── reset.css │ │ │ │ └── style.css │ │ │ ├── fonts │ │ │ │ ├── DroidSans.ttf │ │ │ │ └── DroidSans-Bold.ttf │ │ │ ├── images │ │ │ │ ├── collapse.gif │ │ │ │ ├── expand.gif │ │ │ │ ├── favicon.ico │ │ │ │ ├── throbber.gif │ │ │ │ ├── logo_small.png │ │ │ │ ├── favicon-16x16.png │ │ │ │ ├── favicon-32x32.png │ │ │ │ ├── pet_store_api.png │ │ │ │ ├── wordnik_api.png │ │ │ │ └── explorer_icons.png │ │ │ ├── lib │ │ │ │ ├── highlight.9.1.0.pack_extended.js │ │ │ │ ├── object-assign-pollyfill.js │ │ │ │ ├── jquery.slideto.min.js │ │ │ │ ├── jquery.wiggle.min.js │ │ │ │ └── jquery.ba-bbq.min.js │ │ │ └── lang │ │ │ │ ├── translator.js │ │ │ │ ├── ko-kr.js │ │ │ │ ├── zh-cn.js │ │ │ │ ├── ja.js │ │ │ │ ├── tr.js │ │ │ │ ├── pl.js │ │ │ │ ├── pt.js │ │ │ │ ├── en.js │ │ │ │ ├── ru.js │ │ │ │ ├── geo.js │ │ │ │ ├── it.js │ │ │ │ ├── es.js │ │ │ │ ├── fr.js │ │ │ │ └── el.js │ │ └── assets │ │ │ ├── images │ │ │ ├── fail.png │ │ │ ├── logo.png │ │ │ ├── pay.png │ │ │ ├── qr.png │ │ │ ├── red.png │ │ │ ├── sun1.png │ │ │ ├── bodybg.png │ │ │ ├── cloud1.png │ │ │ ├── homebg.png │ │ │ ├── icon1.png │ │ │ ├── icon2.png │ │ │ ├── icon3.png │ │ │ ├── order.png │ │ │ ├── qq-qr.png │ │ │ ├── qqpay.png │ │ │ ├── rainy1.png │ │ │ ├── 500_icon.png │ │ │ ├── alipay@2x.png │ │ │ ├── appstor.png │ │ │ ├── confirm.png │ │ │ ├── sort_asc.png │ │ │ ├── sort_both.png │ │ │ ├── sort_desc.png │ │ │ ├── success.png │ │ │ ├── downloadbg.png │ │ │ ├── footer-logo.png │ │ │ ├── googleplay.png │ │ │ ├── Sorting icons.psd │ │ │ ├── appdownload1.png │ │ │ ├── wechat-explain.png │ │ │ ├── weixinpay@2x.png │ │ │ ├── sort_asc_disabled.png │ │ │ └── sort_desc_disabled.png │ │ │ ├── qr │ │ │ ├── qqpay │ │ │ │ ├── 0.10.png │ │ │ │ ├── 1.00.png │ │ │ │ ├── 5.00.png │ │ │ │ ├── 10.00.png │ │ │ │ └── custom.png │ │ │ ├── alipay │ │ │ │ ├── 0.10.png │ │ │ │ ├── 1.00.png │ │ │ │ ├── 10.00.png │ │ │ │ ├── 5.00.png │ │ │ │ └── custom.png │ │ │ └── wechat │ │ │ │ ├── 0.10.png │ │ │ │ ├── 1.00.png │ │ │ │ ├── 10.00.png │ │ │ │ ├── 5.00.png │ │ │ │ └── custom.png │ │ │ ├── css │ │ │ ├── fonts │ │ │ │ ├── slick.eot │ │ │ │ ├── slick.ttf │ │ │ │ ├── slick.woff │ │ │ │ ├── Chinese.json │ │ │ │ └── slick.svg │ │ │ ├── mui.dtpicker.css │ │ │ └── responsive.css │ │ │ ├── fonts │ │ │ ├── FontAwesome.otf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.ttf │ │ │ ├── fontawesome-webfont.woff │ │ │ └── fontawesome-webfont.woff2 │ │ │ └── js │ │ │ ├── vendor │ │ │ └── npm.js │ │ │ ├── main.js │ │ │ ├── jquery.cookie.js │ │ │ ├── jquery.countdown.js │ │ │ └── jquery.easypiechart.min.js │ ├── favicon.ico │ ├── application.properties │ ├── banner.txt │ ├── templates │ │ ├── o2c.html │ │ ├── success.html │ │ ├── pay-fail.html │ │ ├── 500.html │ │ ├── pay-notshow.html │ │ ├── pay-success.html │ │ ├── pay-del.html │ │ └── error.html │ └── rebel.xml │ └── java │ └── cn │ └── exrick │ ├── dao │ └── PayDao.java │ ├── XpayApplication.java │ ├── common │ ├── utils │ │ ├── ResultUtil.java │ │ ├── RedisUtils.java │ │ ├── IpInfoUtils.java │ │ ├── StringUtils.java │ │ └── EmailUtils.java │ └── task │ │ └── Jobs.java │ ├── controller │ └── PageController.java │ ├── service │ ├── PayService.java │ └── impl │ │ └── PayServiceImpl.java │ ├── bean │ ├── dto │ │ ├── Result.java │ │ └── DataTablesResult.java │ └── Pay.java │ └── config │ └── Swagger2Config.java ├── .gitignore ├── screenshot ├── 小程序.png ├── xboot.png ├── drag1min.png ├── drag2min.png ├── mobiletest.png ├── QQ截图20171022183906.jpg ├── QQ截图20171230234533.png └── QQ截图20171230234548.png ├── .gitattributes ├── .idea ├── encodings.xml ├── vcs.xml ├── modules.xml ├── misc.xml ├── libraries │ ├── Maven__ognl_ognl_3_0_8.xml │ ├── Maven__junit_junit_4_12.xml │ ├── Maven__antlr_antlr_2_7_7.xml │ ├── Maven__dom4j_dom4j_1_6_1.xml │ ├── Maven__org_ow2_asm_asm_5_0_3.xml │ ├── Maven__com_alibaba_druid_1_1_4.xml │ ├── Maven__org_yaml_snakeyaml_1_17.xml │ ├── Maven__redis_clients_jedis_2_9_0.xml │ ├── Maven__com_google_guava_guava_18_0.xml │ ├── Maven__xml_apis_xml_apis_1_4_01.xml │ ├── Maven__xerces_xercesImpl_2_11_0.xml │ ├── Maven__org_objenesis_objenesis_2_1.xml │ ├── Maven__org_slf4j_slf4j_api_1_7_25.xml │ ├── Maven__com_google_code_gson_gson_2_8_2.xml │ ├── Maven__com_fasterxml_classmate_1_3_4.xml │ ├── Maven__net_minidev_json_smart_2_2_1.xml │ ├── Maven__com_sun_mail_javax_mail_1_5_6.xml │ ├── Maven__org_jboss_jandex_2_0_0_Final.xml │ ├── Maven__javax_activation_activation_1_1.xml │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ ├── Maven__net_bytebuddy_byte_buddy_1_6_14.xml │ ├── Maven__org_assertj_assertj_core_2_6_0.xml │ ├── Maven__org_codehaus_groovy_groovy_2_4_13.xml │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_25.xml │ ├── Maven__org_skyscreamer_jsonassert_1_4_0.xml │ ├── Maven__net_minidev_accessors_smart_1_1.xml │ ├── Maven__com_jayway_jsonpath_json_path_2_2_0.xml │ ├── Maven__io_springfox_springfox_spi_2_7_0.xml │ ├── Maven__org_aspectj_aspectjweaver_1_8_13.xml │ ├── Maven__org_mockito_mockito_core_1_10_19.xml │ ├── Maven__org_slf4j_jcl_over_slf4j_1_7_25.xml │ ├── Maven__io_springfox_springfox_core_2_7_0.xml │ ├── Maven__io_swagger_swagger_models_1_5_13.xml │ ├── Maven__org_hamcrest_hamcrest_library_1_3.xml │ ├── Maven__org_javassist_javassist_3_21_0_GA.xml │ ├── Maven__org_reflections_reflections_0_9_11.xml │ ├── Maven__ch_qos_logback_logback_core_1_1_11.xml │ ├── Maven__org_apache_tomcat_tomcat_jdbc_8_5_23.xml │ ├── Maven__org_apache_tomcat_tomcat_juli_8_5_23.xml │ ├── Maven__org_slf4j_log4j_over_slf4j_1_7_25.xml │ ├── Maven__io_springfox_springfox_schema_2_7_0.xml │ ├── Maven__org_mapstruct_mapstruct_1_1_0_Final.xml │ ├── Maven__mysql_mysql_connector_java_5_1_44.xml │ ├── Maven__net_sourceforge_nekohtml_nekohtml_1_9_22.xml │ ├── Maven__ch_qos_logback_logback_classic_1_1_11.xml │ ├── Maven__org_apache_commons_commons_pool2_2_4_3.xml │ ├── Maven__org_thymeleaf_thymeleaf_2_1_6_RELEASE.xml │ ├── Maven__org_unbescape_unbescape_1_1_0_RELEASE.xml │ ├── Maven__io_springfox_springfox_swagger2_2_7_0.xml │ ├── Maven__io_swagger_swagger_annotations_1_5_13.xml │ ├── Maven__io_springfox_springfox_spring_web_2_7_0.xml │ ├── Maven__io_springfox_springfox_swagger_ui_2_7_0.xml │ ├── Maven__org_hibernate_hibernate_core_5_0_12_Final.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_8_10.xml │ ├── Maven__javax_transaction_javax_transaction_api_1_2.xml │ ├── Maven__org_jboss_logging_jboss_logging_3_3_1_Final.xml │ ├── Maven__javax_validation_validation_api_1_1_0_Final.xml │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_23.xml │ ├── Maven__org_springframework_spring_tx_4_3_13_RELEASE.xml │ ├── Maven__org_springframework_spring_aop_4_3_13_RELEASE.xml │ ├── Maven__org_springframework_spring_orm_4_3_13_RELEASE.xml │ ├── Maven__org_springframework_spring_oxm_4_3_13_RELEASE.xml │ ├── Maven__org_springframework_spring_web_4_3_13_RELEASE.xml │ ├── Maven__io_springfox_springfox_swagger_common_2_7_0.xml │ ├── Maven__org_springframework_spring_core_4_3_13_RELEASE.xml │ ├── Maven__org_springframework_spring_jdbc_4_3_13_RELEASE.xml │ ├── Maven__org_springframework_spring_test_4_3_13_RELEASE.xml │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_23.xml │ ├── Maven__org_springframework_spring_beans_4_3_13_RELEASE.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_8_10.xml │ ├── Maven__org_hibernate_hibernate_validator_5_3_6_Final.xml │ ├── Maven__org_thymeleaf_thymeleaf_spring4_2_1_6_RELEASE.xml │ ├── Maven__org_apache_tomcat_tomcat_annotations_api_8_5_23.xml │ ├── Maven__org_springframework_boot_spring_boot_1_5_9_RELEASE.xml │ ├── Maven__org_springframework_spring_webmvc_4_3_13_RELEASE.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml │ ├── Maven__org_springframework_spring_aspects_4_3_13_RELEASE.xml │ ├── Maven__org_springframework_spring_context_4_3_13_RELEASE.xml │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_23.xml │ ├── Maven__org_springframework_spring_expression_4_3_13_RELEASE.xml │ ├── Maven__nz_net_ultraq_thymeleaf_thymeleaf_layout_dialect_1_4_0.xml │ ├── Maven__org_hibernate_hibernate_entitymanager_5_0_12_Final.xml │ ├── Maven__org_springframework_boot_spring_boot_test_1_5_9_RELEASE.xml │ ├── Maven__org_springframework_data_spring_data_jpa_1_11_9_RELEASE.xml │ ├── Maven__org_springframework_data_spring_data_redis_1_8_9_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_1_5_9_RELEASE.xml │ ├── Maven__org_springframework_plugin_spring_plugin_core_1_2_0_RELEASE.xml │ ├── Maven__org_springframework_spring_context_support_4_3_13_RELEASE.xml │ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml │ ├── Maven__org_springframework_data_spring_data_commons_1_13_9_RELEASE.xml │ ├── Maven__org_springframework_data_spring_data_keyvalue_1_2_9_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_aop_1_5_9_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_web_1_5_9_RELEASE.xml │ ├── Maven__org_hibernate_javax_persistence_hibernate_jpa_2_1_api_1_0_0_Final.xml │ ├── Maven__org_springframework_plugin_spring_plugin_metadata_1_2_0_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_jdbc_1_5_9_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_mail_1_5_9_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_test_1_5_9_RELEASE.xml │ ├── Maven__org_hibernate_common_hibernate_commons_annotations_5_0_1_Final.xml │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_9_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_cache_1_5_9_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_redis_1_4_7_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_9_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_1_5_9_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_data_jpa_1_5_9_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_thymeleaf_1_5_9_RELEASE.xml │ └── Maven__org_springframework_boot_spring_boot_test_autoconfigure_1_5_9_RELEASE.xml └── compiler.xml └── xpay.sql /src/main/resources/static/swagger/css/typography.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | #.idea/ 2 | 3 | target/ 4 | 5 | *.iml 6 | 7 | *.bak 8 | -------------------------------------------------------------------------------- /screenshot/小程序.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/screenshot/小程序.png -------------------------------------------------------------------------------- /screenshot/xboot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/screenshot/xboot.png -------------------------------------------------------------------------------- /screenshot/drag1min.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/screenshot/drag1min.png -------------------------------------------------------------------------------- /screenshot/drag2min.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/screenshot/drag2min.png -------------------------------------------------------------------------------- /screenshot/mobiletest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/screenshot/mobiletest.png -------------------------------------------------------------------------------- /src/main/resources/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/favicon.ico -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.js linguist-language=Java 2 | *.css linguist-language=Java 3 | *.vm linguist-language=Java 4 | -------------------------------------------------------------------------------- /screenshot/QQ截图20171022183906.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/screenshot/QQ截图20171022183906.jpg -------------------------------------------------------------------------------- /screenshot/QQ截图20171230234533.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/screenshot/QQ截图20171230234533.png -------------------------------------------------------------------------------- /screenshot/QQ截图20171230234548.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/screenshot/QQ截图20171230234548.png -------------------------------------------------------------------------------- /src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/application.properties -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/fail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/fail.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/logo.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/pay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/pay.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/qr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/qr.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/red.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/sun1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/sun1.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/bodybg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/bodybg.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/cloud1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/cloud1.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/homebg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/homebg.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/icon1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/icon1.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/icon2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/icon2.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/icon3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/icon3.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/order.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/order.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/qq-qr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/qq-qr.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/qqpay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/qqpay.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/rainy1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/rainy1.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/qr/qqpay/0.10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/qr/qqpay/0.10.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/qr/qqpay/1.00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/qr/qqpay/1.00.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/qr/qqpay/5.00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/qr/qqpay/5.00.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/css/fonts/slick.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/css/fonts/slick.eot -------------------------------------------------------------------------------- /src/main/resources/static/assets/css/fonts/slick.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/css/fonts/slick.ttf -------------------------------------------------------------------------------- /src/main/resources/static/assets/css/fonts/slick.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/css/fonts/slick.woff -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/500_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/500_icon.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/alipay@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/alipay@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/appstor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/appstor.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/confirm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/confirm.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/sort_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/sort_asc.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/sort_both.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/sort_both.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/sort_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/sort_desc.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/success.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/qr/alipay/0.10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/qr/alipay/0.10.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/qr/alipay/1.00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/qr/alipay/1.00.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/qr/alipay/10.00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/qr/alipay/10.00.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/qr/alipay/5.00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/qr/alipay/5.00.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/qr/alipay/custom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/qr/alipay/custom.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/qr/qqpay/10.00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/qr/qqpay/10.00.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/qr/qqpay/custom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/qr/qqpay/custom.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/qr/wechat/0.10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/qr/wechat/0.10.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/qr/wechat/1.00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/qr/wechat/1.00.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/qr/wechat/10.00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/qr/wechat/10.00.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/qr/wechat/5.00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/qr/wechat/5.00.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/qr/wechat/custom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/qr/wechat/custom.png -------------------------------------------------------------------------------- /src/main/resources/static/swagger/fonts/DroidSans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/swagger/fonts/DroidSans.ttf -------------------------------------------------------------------------------- /src/main/resources/static/swagger/images/collapse.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/swagger/images/collapse.gif -------------------------------------------------------------------------------- /src/main/resources/static/swagger/images/expand.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/swagger/images/expand.gif -------------------------------------------------------------------------------- /src/main/resources/static/swagger/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/swagger/images/favicon.ico -------------------------------------------------------------------------------- /src/main/resources/static/swagger/images/throbber.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/swagger/images/throbber.gif -------------------------------------------------------------------------------- /src/main/resources/static/assets/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/downloadbg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/downloadbg.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/footer-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/footer-logo.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/googleplay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/googleplay.png -------------------------------------------------------------------------------- /src/main/resources/static/swagger/images/logo_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/swagger/images/logo_small.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/Sorting icons.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/Sorting icons.psd -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/appdownload1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/appdownload1.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/wechat-explain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/wechat-explain.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/weixinpay@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/weixinpay@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/swagger/fonts/DroidSans-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/swagger/fonts/DroidSans-Bold.ttf -------------------------------------------------------------------------------- /src/main/resources/static/swagger/images/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/swagger/images/favicon-16x16.png -------------------------------------------------------------------------------- /src/main/resources/static/swagger/images/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/swagger/images/favicon-32x32.png -------------------------------------------------------------------------------- /src/main/resources/static/swagger/images/pet_store_api.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/swagger/images/pet_store_api.png -------------------------------------------------------------------------------- /src/main/resources/static/swagger/images/wordnik_api.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/swagger/images/wordnik_api.png -------------------------------------------------------------------------------- /src/main/resources/static/swagger/images/explorer_icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/swagger/images/explorer_icons.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /src/main/resources/static/assets/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /src/main/resources/static/assets/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/sort_asc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/sort_asc_disabled.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/images/sort_desc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/images/sort_desc_disabled.png -------------------------------------------------------------------------------- /src/main/resources/static/assets/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hubs/xpay/master/src/main/resources/static/assets/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | ___________ .__ __ 2 | \_ _____/__ __________|__| ____ | | __ 3 | | __)_\ \/ /\_ __ \ |/ ___\| |/ / 4 | | \> < | | \/ \ \___| < 5 | /_______ /__/\_ \ |__| |__|\___ >__|_ \ 6 | \/ \/ \/ \/ -------------------------------------------------------------------------------- /src/main/resources/static/swagger/lib/highlight.9.1.0.pack_extended.js: -------------------------------------------------------------------------------- 1 | "use strict";!function(){var h,l;h=hljs.configure,hljs.configure=function(l){var i=l.highlightSizeThreshold;hljs.highlightSizeThreshold=i===+i?i:null,h.call(this,l)},l=hljs.highlightBlock,hljs.highlightBlock=function(h){var i=h.innerHTML,g=hljs.highlightSizeThreshold;(null==g||g>i.length)&&l.call(hljs,h)}}(); -------------------------------------------------------------------------------- /src/main/resources/static/swagger/lib/object-assign-pollyfill.js: -------------------------------------------------------------------------------- 1 | "function"!=typeof Object.assign&&!function(){Object.assign=function(n){"use strict";if(void 0===n||null===n)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(n),o=1;o { 12 | 13 | List getByStateIs(Integer state); 14 | 15 | List getByStateIsNotAndStateIsNot(Integer state1,Integer state2); 16 | } 17 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__ognl_ognl_3_0_8.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__antlr_antlr_2_7_7.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__org_ow2_asm_asm_5_0_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_alibaba_druid_1_1_4.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_9_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/main/resources/static/assets/js/vendor/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /src/main/resources/static/swagger/lib/jquery.wiggle.min.js: -------------------------------------------------------------------------------- 1 | jQuery.fn.wiggle=function(e){var a={speed:50,wiggles:3,travel:5,callback:null},e=jQuery.extend(a,e);return this.each(function(){var a=this,l=(jQuery(this).wrap('
').css("position","relative"),0);for(i=1;i<=e.wiggles;i++)jQuery(this).animate({left:"-="+e.travel},e.speed).animate({left:"+="+2*e.travel},2*e.speed).animate({left:"-="+e.travel},e.speed,function(){l++,jQuery(a).parent().hasClass("wiggle-wrap")&&jQuery(a).parent().replaceWith(a),l==e.wiggles&&jQuery.isFunction(e.callback)&&e.callback()})})}; -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_google_guava_guava_18_0.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/libraries/Maven__xerces_xercesImpl_2_11_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_objenesis_objenesis_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_25.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/main/resources/templates/o2c.html: -------------------------------------------------------------------------------- 1 | 21 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_google_code_gson_gson_2_8_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_classmate_1_3_4.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__com_sun_mail_javax_mail_1_5_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_jboss_jandex_2_0_0_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__javax_activation_activation_1_1.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__net_bytebuddy_byte_buddy_1_6_14.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_assertj_assertj_core_2_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_codehaus_groovy_groovy_2_4_13.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_25.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_skyscreamer_jsonassert_1_4_0.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__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__io_springfox_springfox_spi_2_7_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_13.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_slf4j_jcl_over_slf4j_1_7_25.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_springfox_springfox_core_2_7_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_swagger_swagger_models_1_5_13.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_javassist_javassist_3_21_0_GA.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_reflections_reflections_0_9_11.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__ch_qos_logback_logback_core_1_1_11.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_tomcat_tomcat_jdbc_8_5_23.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_tomcat_tomcat_juli_8_5_23.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_slf4j_log4j_over_slf4j_1_7_25.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_springfox_springfox_schema_2_7_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_mapstruct_mapstruct_1_1_0_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__mysql_mysql_connector_java_5_1_44.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__net_sourceforge_nekohtml_nekohtml_1_9_22.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__ch_qos_logback_logback_classic_1_1_11.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_commons_commons_pool2_2_4_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_thymeleaf_thymeleaf_2_1_6_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_unbescape_unbescape_1_1_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_springfox_springfox_swagger2_2_7_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_swagger_swagger_annotations_1_5_13.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_springfox_springfox_spring_web_2_7_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_springfox_springfox_swagger_ui_2_7_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/main/resources/rebel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_hibernate_hibernate_core_5_0_12_Final.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_10.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__javax_transaction_javax_transaction_api_1_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_3_1_Final.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__org_apache_tomcat_embed_tomcat_embed_el_8_5_23.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_tx_4_3_13_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_aop_4_3_13_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_orm_4_3_13_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_oxm_4_3_13_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_web_4_3_13_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_springfox_springfox_swagger_common_2_7_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_core_4_3_13_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_jdbc_4_3_13_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_test_4_3_13_RELEASE.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_23.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_beans_4_3_13_RELEASE.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_10.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_hibernate_hibernate_validator_5_3_6_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_thymeleaf_thymeleaf_spring4_2_1_6_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/main/java/cn/exrick/XpayApplication.java: -------------------------------------------------------------------------------- 1 | package cn.exrick; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | import org.springframework.cache.annotation.EnableCaching; 6 | import org.springframework.scheduling.annotation.EnableAsync; 7 | import org.springframework.scheduling.annotation.EnableScheduling; 8 | 9 | /** 10 | * @author Exrickx 11 | */ 12 | @SpringBootApplication 13 | //启用缓存 14 | @EnableCaching 15 | //启用异步 16 | @EnableAsync 17 | //定时任务 18 | @EnableScheduling 19 | public class XpayApplication { 20 | 21 | public static void main(String[] args) { 22 | SpringApplication.run(XpayApplication.class, args); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_tomcat_tomcat_annotations_api_8_5_23.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_1_5_9_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_webmvc_4_3_13_RELEASE.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_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_aspects_4_3_13_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_context_4_3_13_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/main/resources/static/assets/css/fonts/Chinese.json: -------------------------------------------------------------------------------- 1 | { 2 | "sProcessing": "   处理中...", 3 | "sLengthMenu": "显示 _MENU_ 条", 4 | "sZeroRecords": "没有找到匹配的记录", 5 | "sInfo": "显示 _START_ 到 _END_ ,共 _TOTAL_ 条", 6 | "sInfoEmpty": "没有数据", 7 | "sInfoFiltered": "(从 _MAX_ 条中过滤)", 8 | "sInfoPostFix": "", 9 | "sSearch": "从所有数据中检索:", 10 | "sUrl": "", 11 | "sEmptyTable": "没有数据", 12 | "sLoadingRecords": "载入中...", 13 | "sInfoThousands": ",", 14 | "oPaginate": { 15 | "sFirst": "首页", 16 | "sPrevious": "上一页", 17 | "sNext": "下一页", 18 | "sLast": "末页" 19 | }, 20 | "oAria": { 21 | "sSortAscending": ": 以升序排列此列", 22 | "sSortDescending": ": 以降序排列此列" 23 | } 24 | } -------------------------------------------------------------------------------- /src/main/java/cn/exrick/common/utils/ResultUtil.java: -------------------------------------------------------------------------------- 1 | package cn.exrick.common.utils; 2 | 3 | 4 | import cn.exrick.bean.dto.Result; 5 | 6 | /** 7 | * @author Exrick 8 | * @date 2017/8/20 9 | */ 10 | public class ResultUtil { 11 | 12 | private Result result; 13 | 14 | public ResultUtil(){ 15 | result=new Result<>(); 16 | result.setSuccess(true); 17 | result.setMessage("success"); 18 | } 19 | 20 | public Result setData(T t){ 21 | this.result.setResult(t); 22 | return this.result; 23 | } 24 | 25 | public Result setErrorMsg(String msg){ 26 | this.result.setSuccess(false); 27 | this.result.setMessage(msg); 28 | return this.result; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_23.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_expression_4_3_13_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__nz_net_ultraq_thymeleaf_thymeleaf_layout_dialect_1_4_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_hibernate_hibernate_entitymanager_5_0_12_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_test_1_5_9_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_data_spring_data_jpa_1_11_9_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_8_9_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/main/resources/static/swagger/css/reset.css: -------------------------------------------------------------------------------- 1 | a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}table{border-collapse:collapse;border-spacing:0} -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_1_5_9_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_spring_context_support_4_3_13_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_data_spring_data_commons_1_13_9_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_2_9_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/main/resources/templates/success.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 操作成功 6 | 7 | 8 | 17 | 18 | 19 | 20 | 21 |
22 | 23 |
操作成功
24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_1_5_9_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_5_9_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_hibernate_javax_persistence_hibernate_jpa_2_1_api_1_0_0_Final.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_boot_spring_boot_starter_jdbc_1_5_9_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_mail_1_5_9_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_5_9_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_5_0_1_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_9_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_5_9_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_redis_1_4_7_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/main/resources/templates/pay-fail.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 支付失败 6 | 7 | 8 | 17 | 18 | 19 | 20 | 21 |
22 | 23 |
由于您支付不起或其他原因,您的订单支付失败
24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_9_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_5_9_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_jpa_1_5_9_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_thymeleaf_1_5_9_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_5_9_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/main/resources/templates/500.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 操作失败 6 | 7 | 8 | 17 | 18 | 19 | 20 | 21 |
22 | 23 |
操作失败
24 |
25 |
26 | 27 | 28 | -------------------------------------------------------------------------------- /src/main/resources/templates/pay-notshow.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 操作成功 6 | 7 | 8 | 17 | 18 | 19 | 20 | 21 |
22 | 23 |
恭喜您,支付成功!
24 |
但由于您支付过少或仅为测试数据等原因,无法将您的数据加入至捐赠表,抱歉!
25 |
26 | 27 | 28 | -------------------------------------------------------------------------------- /src/main/resources/templates/pay-success.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 操作成功 6 | 7 | 8 | 17 | 18 | 19 | 20 | 21 |
22 | 23 |
恭喜您,支付成功!
24 |
十分感谢您的捐赠,您可以到这里查看到您的捐赠数据: 25 | http://xpay.exrick.cn/thanks
26 |
27 | 28 | 29 | -------------------------------------------------------------------------------- /src/main/java/cn/exrick/controller/PageController.java: -------------------------------------------------------------------------------- 1 | package cn.exrick.controller; 2 | 3 | import io.swagger.annotations.Api; 4 | import io.swagger.annotations.ApiOperation; 5 | import org.slf4j.Logger; 6 | import org.slf4j.LoggerFactory; 7 | import org.springframework.stereotype.Controller; 8 | import org.springframework.web.bind.annotation.PathVariable; 9 | import org.springframework.web.bind.annotation.RequestMapping; 10 | import org.springframework.web.bind.annotation.RequestMethod; 11 | 12 | import java.util.Date; 13 | import java.util.concurrent.TimeUnit; 14 | 15 | 16 | /** 17 | * @author Exrickx 18 | */ 19 | @Controller 20 | public class PageController { 21 | 22 | private static final Logger log= LoggerFactory.getLogger(PageController.class); 23 | 24 | @RequestMapping("/") 25 | public String index(){ 26 | 27 | return "index"; 28 | } 29 | 30 | @RequestMapping("/{page}") 31 | public String showPage(@PathVariable String page){ 32 | 33 | return page; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/cn/exrick/service/PayService.java: -------------------------------------------------------------------------------- 1 | package cn.exrick.service; 2 | 3 | import cn.exrick.bean.Pay; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * @author Exrickx 9 | */ 10 | public interface PayService { 11 | 12 | /** 13 | * 获得支付表 14 | * @param state 15 | * @return 16 | */ 17 | List getPayList(Integer state); 18 | 19 | /** 20 | * 获得未支付表 21 | * @return 22 | */ 23 | List getNotPayList(); 24 | 25 | /** 26 | * 获得支付 27 | * @param id 28 | * @return 29 | */ 30 | Pay getPay(String id); 31 | 32 | /** 33 | * 添加支付 34 | * @param pay 35 | * @return 36 | */ 37 | int addPay(Pay pay); 38 | 39 | /** 40 | * 编辑支付 41 | * @param pay 42 | * @return 43 | */ 44 | int updatePay(Pay pay); 45 | 46 | /** 47 | * 状态改变 48 | * @param id 49 | * @param state 50 | * @return 51 | */ 52 | int changePayState(String id,Integer state); 53 | 54 | /** 55 | * 删除除捐赠和审核中以外的数据支付 56 | * @param id 57 | * @return 58 | */ 59 | int delPay(String id); 60 | } 61 | -------------------------------------------------------------------------------- /src/main/java/cn/exrick/bean/dto/Result.java: -------------------------------------------------------------------------------- 1 | package cn.exrick.bean.dto; 2 | 3 | 4 | import java.io.Serializable; 5 | 6 | /** 7 | * 前后端交互数据标准 8 | * @author Exrick 9 | * @date 2017/8/20 10 | */ 11 | public class Result implements Serializable{ 12 | 13 | //成功标志 14 | private boolean success; 15 | 16 | //失败消息 17 | private String message; 18 | 19 | //时间撮 20 | private long dateline=System.currentTimeMillis(); 21 | 22 | //结果对象 23 | private T result; 24 | 25 | public boolean isSuccess() { 26 | return success; 27 | } 28 | 29 | public void setSuccess(boolean success) { 30 | this.success = success; 31 | } 32 | 33 | public String getMessage() { 34 | return message; 35 | } 36 | 37 | public void setMessage(String message) { 38 | this.message = message; 39 | } 40 | 41 | public long getDateline() { 42 | return dateline; 43 | } 44 | 45 | public void setDateline(long dateline) { 46 | this.dateline = dateline; 47 | } 48 | 49 | public T getResult() { 50 | return result; 51 | } 52 | 53 | public void setResult(T result) { 54 | this.result = result; 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /src/main/java/cn/exrick/common/utils/RedisUtils.java: -------------------------------------------------------------------------------- 1 | package cn.exrick.common.utils; 2 | 3 | import org.slf4j.Logger; 4 | import org.slf4j.LoggerFactory; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.data.redis.core.StringRedisTemplate; 7 | import org.springframework.stereotype.Component; 8 | 9 | import java.util.concurrent.TimeUnit; 10 | 11 | /** 12 | * @author Exrickx 13 | */ 14 | @Component 15 | public class RedisUtils { 16 | 17 | @Autowired 18 | private StringRedisTemplate stringRedisTemplate; 19 | 20 | private static final Logger log= LoggerFactory.getLogger(RedisUtils.class); 21 | 22 | public String get(String key){ 23 | 24 | String temp=null; 25 | try { 26 | temp=stringRedisTemplate.opsForValue().get(key); 27 | }catch (Exception e){ 28 | e.printStackTrace(); 29 | } 30 | return temp; 31 | } 32 | 33 | public void set(String key,String value,Long time,TimeUnit timeUnit){ 34 | 35 | try { 36 | stringRedisTemplate.opsForValue().set(key,value,time, timeUnit); 37 | }catch (Exception e){ 38 | e.printStackTrace(); 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /xpay.sql: -------------------------------------------------------------------------------- 1 | /* 2 | Navicat MySQL Data Transfer 3 | 4 | Source Server : Ali_112.74.63.151 5 | Source Server Version : 50556 6 | Source Host : 112.74.63.151:3306 7 | Source Database : xpay 8 | 9 | Target Server Type : MYSQL 10 | Target Server Version : 50556 11 | File Encoding : 65001 12 | 13 | Date: 2018-01-09 16:22:21 14 | */ 15 | 16 | SET FOREIGN_KEY_CHECKS=0; 17 | 18 | -- ---------------------------- 19 | -- Table structure for t_pay 20 | -- ---------------------------- 21 | DROP TABLE IF EXISTS `t_pay`; 22 | CREATE TABLE `t_pay` ( 23 | `id` varchar(255) CHARACTER SET utf8 NOT NULL, 24 | `nick_name` varchar(255) CHARACTER SET utf8 DEFAULT NULL, 25 | `info` varchar(255) CHARACTER SET utf8 DEFAULT NULL, 26 | `money` decimal(10,2) DEFAULT NULL, 27 | `email` varchar(255) CHARACTER SET utf8 DEFAULT NULL, 28 | `state` int(2) DEFAULT NULL COMMENT '显示状态 0待审核 1确认显示 2驳回 3通过不展示', 29 | `pay_type` varchar(255) CHARACTER SET utf8 DEFAULT NULL, 30 | `create_time` datetime DEFAULT NULL, 31 | `update_time` datetime DEFAULT NULL, 32 | `test_email` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT '假管理邮箱', 33 | `username` varchar(255) CHARACTER SET utf8 DEFAULT NULL, 34 | PRIMARY KEY (`id`) 35 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1; 36 | -------------------------------------------------------------------------------- /src/main/java/cn/exrick/bean/dto/DataTablesResult.java: -------------------------------------------------------------------------------- 1 | package cn.exrick.bean.dto; 2 | 3 | import java.io.Serializable; 4 | import java.util.List; 5 | 6 | /** 7 | * @author Exrick 8 | * @date 2017/8/1 9 | */ 10 | public class DataTablesResult implements Serializable{ 11 | 12 | private Boolean success; 13 | 14 | private int draw; 15 | 16 | private int recordsTotal; 17 | 18 | private int recordsFiltered; 19 | 20 | private String error; 21 | 22 | private List data; 23 | 24 | public int getRecordsTotal() { 25 | return recordsTotal; 26 | } 27 | 28 | public Boolean getSuccess() { 29 | return success; 30 | } 31 | 32 | public void setSuccess(Boolean success) { 33 | this.success = success; 34 | } 35 | 36 | public void setRecordsTotal(int recordsTotal) { 37 | this.recordsTotal = recordsTotal; 38 | } 39 | 40 | public int getRecordsFiltered() { 41 | return recordsFiltered; 42 | } 43 | 44 | public void setRecordsFiltered(int recordsFiltered) { 45 | this.recordsFiltered = recordsFiltered; 46 | } 47 | 48 | public int getDraw() { 49 | return draw; 50 | } 51 | 52 | public void setDraw(int draw) { 53 | this.draw = draw; 54 | } 55 | 56 | public String getError() { 57 | return error; 58 | } 59 | 60 | public void setError(String error) { 61 | this.error = error; 62 | } 63 | 64 | public List getData() { 65 | return data; 66 | } 67 | 68 | public void setData(List data) { 69 | this.data = data; 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /src/main/resources/static/swagger/lang/translator.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Translator for documentation pages. 5 | * 6 | * To enable translation you should include one of language-files in your index.html 7 | * after . 8 | * For example - 9 | * 10 | * If you wish to translate some new texts you should do two things: 11 | * 1. Add a new phrase pair ("New Phrase": "New Translation") into your language file (for example lang/ru.js). It will be great if you add it in other language files too. 12 | * 2. Mark that text it templates this way New Phrase or . 13 | * The main thing here is attribute data-sw-translate. Only inner html, title-attribute and value-attribute are going to translate. 14 | * 15 | */ 16 | window.SwaggerTranslator = { 17 | 18 | _words:[], 19 | 20 | translate: function(sel) { 21 | var $this = this; 22 | sel = sel || '[data-sw-translate]'; 23 | 24 | $(sel).each(function() { 25 | $(this).html($this._tryTranslate($(this).html())); 26 | 27 | $(this).val($this._tryTranslate($(this).val())); 28 | $(this).attr('title', $this._tryTranslate($(this).attr('title'))); 29 | }); 30 | }, 31 | 32 | _tryTranslate: function(word) { 33 | return this._words[$.trim(word)] !== undefined ? this._words[$.trim(word)] : word; 34 | }, 35 | 36 | learn: function(wordsMap) { 37 | this._words = wordsMap; 38 | } 39 | }; 40 | -------------------------------------------------------------------------------- /src/main/java/cn/exrick/common/task/Jobs.java: -------------------------------------------------------------------------------- 1 | package cn.exrick.common.task; 2 | 3 | import cn.exrick.bean.Pay; 4 | import cn.exrick.dao.PayDao; 5 | import cn.exrick.service.PayService; 6 | import org.slf4j.Logger; 7 | import org.slf4j.LoggerFactory; 8 | import org.springframework.beans.factory.annotation.Autowired; 9 | import org.springframework.scheduling.annotation.Scheduled; 10 | import org.springframework.stereotype.Component; 11 | 12 | import java.util.Date; 13 | import java.util.List; 14 | 15 | /** 16 | * @author Exrickx 17 | */ 18 | @Component 19 | public class Jobs { 20 | 21 | final static Logger log= LoggerFactory.getLogger(Jobs.class); 22 | 23 | @Autowired 24 | private PayService payService; 25 | 26 | @Autowired 27 | private PayDao payDao; 28 | 29 | /** 30 | * 每日凌晨清空除捐赠和审核中以外的数据 31 | */ 32 | @Scheduled(cron="0 0 0 * * ?") 33 | public void cronJob(){ 34 | 35 | List list=payDao.getByStateIsNotAndStateIsNot(0,1); 36 | for(Pay p:list){ 37 | try { 38 | payService.delPay(p.getId()); 39 | }catch (Exception e){ 40 | log.error("定时删除数据"+p.getId()+"失败"); 41 | e.printStackTrace(); 42 | } 43 | } 44 | 45 | log.info("定时执行清空除捐赠和审核中的数据完毕"); 46 | 47 | //设置未审核数据为支付失败 48 | List list1=payDao.getByStateIs(0); 49 | for(Pay p:list1){ 50 | p.setState(2); 51 | p.setUpdateTime(new Date()); 52 | try { 53 | payService.updatePay(p); 54 | }catch (Exception e){ 55 | log.error("设置未审核数据"+p.getId()+"为支付失败"); 56 | e.printStackTrace(); 57 | } 58 | } 59 | 60 | log.info("定时执行设置未审核数据为支付失败完毕"); 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /src/main/java/cn/exrick/common/utils/IpInfoUtils.java: -------------------------------------------------------------------------------- 1 | package cn.exrick.common.utils; 2 | 3 | import org.slf4j.Logger; 4 | import org.slf4j.LoggerFactory; 5 | 6 | import javax.servlet.http.HttpServletRequest; 7 | import java.net.InetAddress; 8 | import java.net.UnknownHostException; 9 | 10 | 11 | /** 12 | * @author Exrickx 13 | */ 14 | public class IpInfoUtils { 15 | 16 | private static final Logger log = LoggerFactory.getLogger(IpInfoUtils.class); 17 | 18 | /** 19 | * 获取客户端IP地址 20 | * @param request 请求 21 | * @return 22 | */ 23 | public static String getIpAddr(HttpServletRequest request) { 24 | String ip = request.getHeader("x-forwarded-for"); 25 | if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 26 | ip = request.getHeader("Proxy-Client-IP"); 27 | } 28 | if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 29 | ip = request.getHeader("WL-Proxy-Client-IP"); 30 | } 31 | if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 32 | ip = request.getRemoteAddr(); 33 | if (ip.equals("127.0.0.1")) { 34 | //根据网卡取本机配置的IP 35 | InetAddress inet = null; 36 | try { 37 | inet = InetAddress.getLocalHost(); 38 | } catch (UnknownHostException e) { 39 | e.printStackTrace(); 40 | } 41 | ip = inet.getHostAddress(); 42 | } 43 | } 44 | // 对于通过多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割 45 | if (ip != null && ip.length() > 15) { 46 | if (ip.indexOf(",") > 0) { 47 | ip = ip.substring(0, ip.indexOf(",")); 48 | } 49 | } 50 | return ip; 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/main/java/cn/exrick/config/Swagger2Config.java: -------------------------------------------------------------------------------- 1 | package cn.exrick.config; 2 | 3 | import io.swagger.annotations.ApiOperation; 4 | import org.slf4j.Logger; 5 | import org.slf4j.LoggerFactory; 6 | import org.springframework.context.annotation.Bean; 7 | import org.springframework.context.annotation.Configuration; 8 | import springfox.documentation.builders.ApiInfoBuilder; 9 | import springfox.documentation.builders.PathSelectors; 10 | import springfox.documentation.builders.RequestHandlerSelectors; 11 | import springfox.documentation.service.ApiInfo; 12 | import springfox.documentation.service.Contact; 13 | import springfox.documentation.spi.DocumentationType; 14 | import springfox.documentation.spring.web.plugins.Docket; 15 | import springfox.documentation.swagger2.annotations.EnableSwagger2; 16 | 17 | /** 18 | * @author Exrickx 19 | */ 20 | @Configuration 21 | @EnableSwagger2 22 | public class Swagger2Config { 23 | 24 | private Logger log = LoggerFactory.getLogger(Swagger2Config.class); 25 | 26 | @Bean 27 | public Docket createRestApi() { 28 | 29 | log.info("开始加载Swagger2..."); 30 | 31 | return new Docket(DocumentationType.SWAGGER_2) 32 | .apiInfo(apiInfo()).select() 33 | //扫描所有有注解的api,用这种方式更灵活 34 | .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) 35 | .paths(PathSelectors.any()) 36 | .build(); 37 | } 38 | 39 | private ApiInfo apiInfo() { 40 | return new ApiInfoBuilder() 41 | .title("XPay Api Documentation") 42 | .description("XPay个人支付收款系统API接口文档") 43 | .termsOfServiceUrl("http://xpay.exrick.cn/") 44 | .contact(new Contact("Exrick", "http://blog.exrick.cn", "1012139570@qq.com")) 45 | .version("1.0.0") 46 | .build(); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/main/resources/static/swagger/lang/ko-kr.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"경고:폐기예정됨", 6 | "Implementation Notes":"구현 노트", 7 | "Response Class":"응답 클래스", 8 | "Status":"상태", 9 | "Parameters":"매개변수들", 10 | "Parameter":"매개변수", 11 | "Value":"값", 12 | "Description":"설명", 13 | "Parameter Type":"매개변수 타입", 14 | "Data Type":"데이터 타입", 15 | "Response Messages":"응답 메세지", 16 | "HTTP Status Code":"HTTP 상태 코드", 17 | "Reason":"원인", 18 | "Response Model":"응답 모델", 19 | "Request URL":"요청 URL", 20 | "Response Body":"응답 본문", 21 | "Response Code":"응답 코드", 22 | "Response Headers":"응답 헤더", 23 | "Hide Response":"응답 숨기기", 24 | "Headers":"헤더", 25 | "Try it out!":"써보기!", 26 | "Show/Hide":"보이기/숨기기", 27 | "List Operations":"목록 작업", 28 | "Expand Operations":"전개 작업", 29 | "Raw":"원본", 30 | "can't parse JSON. Raw result":"JSON을 파싱할수 없음. 원본결과:", 31 | "Model Schema":"모델 스키마", 32 | "Model":"모델", 33 | "apply":"적용", 34 | "Username":"사용자 이름", 35 | "Password":"암호", 36 | "Terms of service":"이용약관", 37 | "Created by":"작성자", 38 | "See more at":"추가정보:", 39 | "Contact the developer":"개발자에게 문의", 40 | "api version":"api버전", 41 | "Response Content Type":"응답Content Type", 42 | "fetching resource":"리소스 가져오기", 43 | "fetching resource list":"리소스 목록 가져오기", 44 | "Explore":"탐색", 45 | "Show Swagger Petstore Example Apis":"Swagger Petstore 예제 보기", 46 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"서버로부터 읽어들일수 없습니다. access-control-origin 설정이 올바르지 않을수 있습니다.", 47 | "Please specify the protocol for":"다음을 위한 프로토콜을 정하세요", 48 | "Can't read swagger JSON from":"swagger JSON 을 다음으로 부터 읽을수 없습니다", 49 | "Finished Loading Resource Information. Rendering Swagger UI":"리소스 정보 불러오기 완료. Swagger UI 랜더링", 50 | "Unable to read api":"api를 읽을 수 없습니다.", 51 | "from path":"다음 경로로 부터", 52 | "server returned":"서버 응답함." 53 | }); 54 | -------------------------------------------------------------------------------- /src/main/resources/static/swagger/lang/zh-cn.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"警告:已过时", 6 | "Implementation Notes":"实现备注", 7 | "Response Class":"响应类", 8 | "Status":"状态", 9 | "Parameters":"参数", 10 | "Parameter":"参数", 11 | "Value":"值", 12 | "Description":"描述", 13 | "Parameter Type":"参数类型", 14 | "Data Type":"数据类型", 15 | "Response Messages":"响应消息", 16 | "HTTP Status Code":"HTTP状态码", 17 | "Reason":"原因", 18 | "Response Model":"响应模型", 19 | "Request URL":"请求URL", 20 | "Response Body":"响应体", 21 | "Response Code":"响应码", 22 | "Response Headers":"响应头", 23 | "Hide Response":"隐藏响应", 24 | "Headers":"头", 25 | "Try it out!":"试一下!", 26 | "Show/Hide":"显示/隐藏", 27 | "List Operations":"显示操作", 28 | "Expand Operations":"展开操作", 29 | "Raw":"原始", 30 | "can't parse JSON. Raw result":"无法解析JSON. 原始结果", 31 | "Example Value":"示例", 32 | "Click to set as parameter value":"点击设置参数", 33 | "Model Schema":"模型架构", 34 | "Model":"模型", 35 | "apply":"应用", 36 | "Username":"用户名", 37 | "Password":"密码", 38 | "Terms of service":"服务条款", 39 | "Created by":"创建者", 40 | "See more at":"查看更多:", 41 | "Contact the developer":"联系开发者", 42 | "api version":"api版本", 43 | "Response Content Type":"响应Content Type", 44 | "Parameter content type:":"参数类型:", 45 | "fetching resource":"正在获取资源", 46 | "fetching resource list":"正在获取资源列表", 47 | "Explore":"浏览", 48 | "Show Swagger Petstore Example Apis":"显示 Swagger Petstore 示例 Apis", 49 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"无法从服务器读取。可能没有正确设置access-control-origin。", 50 | "Please specify the protocol for":"请指定协议:", 51 | "Can't read swagger JSON from":"无法读取swagger JSON于", 52 | "Finished Loading Resource Information. Rendering Swagger UI":"已加载资源信息。正在渲染Swagger UI", 53 | "Unable to read api":"无法读取api", 54 | "from path":"从路径", 55 | "server returned":"服务器返回" 56 | }); 57 | -------------------------------------------------------------------------------- /src/main/resources/static/assets/css/fonts/slick.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Generated by Fontastic.me 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/main/resources/static/swagger/lang/ja.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"警告: 廃止予定", 6 | "Implementation Notes":"実装メモ", 7 | "Response Class":"レスポンスクラス", 8 | "Status":"ステータス", 9 | "Parameters":"パラメータ群", 10 | "Parameter":"パラメータ", 11 | "Value":"値", 12 | "Description":"説明", 13 | "Parameter Type":"パラメータタイプ", 14 | "Data Type":"データタイプ", 15 | "Response Messages":"レスポンスメッセージ", 16 | "HTTP Status Code":"HTTPステータスコード", 17 | "Reason":"理由", 18 | "Response Model":"レスポンスモデル", 19 | "Request URL":"リクエストURL", 20 | "Response Body":"レスポンスボディ", 21 | "Response Code":"レスポンスコード", 22 | "Response Headers":"レスポンスヘッダ", 23 | "Hide Response":"レスポンスを隠す", 24 | "Headers":"ヘッダ", 25 | "Try it out!":"実際に実行!", 26 | "Show/Hide":"表示/非表示", 27 | "List Operations":"操作一覧", 28 | "Expand Operations":"操作の展開", 29 | "Raw":"未加工", 30 | "can't parse JSON. Raw result":"JSONへ解釈できません. 未加工の結果", 31 | "Example Value":"値の例", 32 | "Model Schema":"モデルスキーマ", 33 | "Model":"モデル", 34 | "Click to set as parameter value":"パラメータ値と設定するにはクリック", 35 | "apply":"実行", 36 | "Username":"ユーザ名", 37 | "Password":"パスワード", 38 | "Terms of service":"サービス利用規約", 39 | "Created by":"Created by", 40 | "See more at":"詳細を見る", 41 | "Contact the developer":"開発者に連絡", 42 | "api version":"APIバージョン", 43 | "Response Content Type":"レスポンス コンテンツタイプ", 44 | "Parameter content type:":"パラメータコンテンツタイプ:", 45 | "fetching resource":"リソースの取得", 46 | "fetching resource list":"リソース一覧の取得", 47 | "Explore":"調査", 48 | "Show Swagger Petstore Example Apis":"SwaggerペットストアAPIの表示", 49 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"サーバから読み込めません. 適切なaccess-control-origin設定を持っていない可能性があります.", 50 | "Please specify the protocol for":"プロトコルを指定してください", 51 | "Can't read swagger JSON from":"次からswagger JSONを読み込めません", 52 | "Finished Loading Resource Information. Rendering Swagger UI":"リソース情報の読み込みが完了しました. Swagger UIを描画しています", 53 | "Unable to read api":"APIを読み込めません", 54 | "from path":"次のパスから", 55 | "server returned":"サーバからの返答" 56 | }); 57 | -------------------------------------------------------------------------------- /src/main/resources/static/swagger/lang/tr.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"Uyarı: Deprecated", 6 | "Implementation Notes":"Gerçekleştirim Notları", 7 | "Response Class":"Dönen Sınıf", 8 | "Status":"Statü", 9 | "Parameters":"Parametreler", 10 | "Parameter":"Parametre", 11 | "Value":"Değer", 12 | "Description":"Açıklama", 13 | "Parameter Type":"Parametre Tipi", 14 | "Data Type":"Veri Tipi", 15 | "Response Messages":"Dönüş Mesajı", 16 | "HTTP Status Code":"HTTP Statü Kodu", 17 | "Reason":"Gerekçe", 18 | "Response Model":"Dönüş Modeli", 19 | "Request URL":"İstek URL", 20 | "Response Body":"Dönüş İçeriği", 21 | "Response Code":"Dönüş Kodu", 22 | "Response Headers":"Dönüş Üst Bilgileri", 23 | "Hide Response":"Dönüşü Gizle", 24 | "Headers":"Üst Bilgiler", 25 | "Try it out!":"Dene!", 26 | "Show/Hide":"Göster/Gizle", 27 | "List Operations":"Operasyonları Listele", 28 | "Expand Operations":"Operasyonları Aç", 29 | "Raw":"Ham", 30 | "can't parse JSON. Raw result":"JSON çözümlenemiyor. Ham sonuç", 31 | "Model Schema":"Model Şema", 32 | "Model":"Model", 33 | "apply":"uygula", 34 | "Username":"Kullanıcı Adı", 35 | "Password":"Parola", 36 | "Terms of service":"Servis şartları", 37 | "Created by":"Oluşturan", 38 | "See more at":"Daha fazlası için", 39 | "Contact the developer":"Geliştirici ile İletişime Geçin", 40 | "api version":"api versiyon", 41 | "Response Content Type":"Dönüş İçerik Tipi", 42 | "fetching resource":"kaynak getiriliyor", 43 | "fetching resource list":"kaynak listesi getiriliyor", 44 | "Explore":"Keşfet", 45 | "Show Swagger Petstore Example Apis":"Swagger Petstore Örnek Api'yi Gör", 46 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"Sunucudan okuma yapılamıyor. Sunucu access-control-origin ayarlarınızı kontrol edin.", 47 | "Please specify the protocol for":"Lütfen istenen adres için protokol belirtiniz", 48 | "Can't read swagger JSON from":"Swagger JSON bu kaynaktan okunamıyor", 49 | "Finished Loading Resource Information. Rendering Swagger UI":"Kaynak baglantısı tamamlandı. Swagger UI gösterime hazırlanıyor", 50 | "Unable to read api":"api okunamadı", 51 | "from path":"yoldan", 52 | "server returned":"sunucuya dönüldü" 53 | }); 54 | -------------------------------------------------------------------------------- /src/main/java/cn/exrick/common/utils/StringUtils.java: -------------------------------------------------------------------------------- 1 | package cn.exrick.common.utils; 2 | 3 | import com.google.common.collect.Maps; 4 | import org.springframework.cglib.beans.BeanMap; 5 | 6 | import java.text.ParseException; 7 | import java.text.SimpleDateFormat; 8 | import java.util.Date; 9 | import java.util.Map; 10 | 11 | /** 12 | * @author Exrickx 13 | */ 14 | public class StringUtils { 15 | 16 | private static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 17 | 18 | /** 19 | * 格式化 日期 yyyy-MM-dd HH:mm:ss 20 | * @param date 21 | * @return 22 | */ 23 | public static String getTimeStamp(Date date){ 24 | if(date == null){ 25 | return dateFormat.format(new Date()); 26 | } else { 27 | return dateFormat.format(date); 28 | } 29 | } 30 | 31 | /** 32 | * 格式化 日期 yyyy-MM-dd HH:mm:ss 33 | * @param time 34 | * @return 35 | */ 36 | public static Date getDate(String time){ 37 | 38 | try { 39 | return dateFormat.parse(time); 40 | } catch (ParseException e) { 41 | e.printStackTrace(); 42 | } 43 | return new Date(); 44 | } 45 | 46 | /** 47 | * 判断字符创是否为空 48 | * @param str 49 | * @return 50 | */ 51 | public static boolean isBlank(String str) { 52 | int strLen; 53 | if (str != null && (strLen = str.length()) != 0) { 54 | for(int i = 0; i < strLen; ++i) { 55 | if (!Character.isWhitespace(str.charAt(i))) { 56 | return false; 57 | } 58 | } 59 | 60 | return true; 61 | } else { 62 | return true; 63 | } 64 | } 65 | 66 | /** 67 | * 判断字符创是否为空 68 | * @param str 69 | * @return 70 | */ 71 | public static boolean isNotBlank(String str) { 72 | return !isBlank(str); 73 | } 74 | 75 | /** 76 | * Bean 转 Map 77 | * @param bean 78 | * @param 79 | * @return 80 | */ 81 | public static Map beanToMap(T bean) { 82 | Map map = Maps.newHashMap(); 83 | if (bean != null) { 84 | BeanMap beanMap = BeanMap.create(bean); 85 | for (Object key : beanMap.keySet()) { 86 | map.put(key+"", beanMap.get(key)); 87 | } 88 | } 89 | return map; 90 | } 91 | 92 | } 93 | -------------------------------------------------------------------------------- /src/main/resources/static/swagger/lang/pl.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"Uwaga: Wycofane", 6 | "Implementation Notes":"Uwagi Implementacji", 7 | "Response Class":"Klasa Odpowiedzi", 8 | "Status":"Status", 9 | "Parameters":"Parametry", 10 | "Parameter":"Parametr", 11 | "Value":"Wartość", 12 | "Description":"Opis", 13 | "Parameter Type":"Typ Parametru", 14 | "Data Type":"Typ Danych", 15 | "Response Messages":"Wiadomości Odpowiedzi", 16 | "HTTP Status Code":"Kod Statusu HTTP", 17 | "Reason":"Przyczyna", 18 | "Response Model":"Model Odpowiedzi", 19 | "Request URL":"URL Wywołania", 20 | "Response Body":"Treść Odpowiedzi", 21 | "Response Code":"Kod Odpowiedzi", 22 | "Response Headers":"Nagłówki Odpowiedzi", 23 | "Hide Response":"Ukryj Odpowiedź", 24 | "Headers":"Nagłówki", 25 | "Try it out!":"Wypróbuj!", 26 | "Show/Hide":"Pokaż/Ukryj", 27 | "List Operations":"Lista Operacji", 28 | "Expand Operations":"Rozwiń Operacje", 29 | "Raw":"Nieprzetworzone", 30 | "can't parse JSON. Raw result":"nie można przetworzyć pliku JSON. Nieprzetworzone dane", 31 | "Model Schema":"Schemat Modelu", 32 | "Model":"Model", 33 | "apply":"użyj", 34 | "Username":"Nazwa użytkownika", 35 | "Password":"Hasło", 36 | "Terms of service":"Warunki używania", 37 | "Created by":"Utworzone przez", 38 | "See more at":"Zobacz więcej na", 39 | "Contact the developer":"Kontakt z deweloperem", 40 | "api version":"wersja api", 41 | "Response Content Type":"Typ Zasobu Odpowiedzi", 42 | "fetching resource":"ładowanie zasobu", 43 | "fetching resource list":"ładowanie listy zasobów", 44 | "Explore":"Eksploruj", 45 | "Show Swagger Petstore Example Apis":"Pokaż Przykładowe Api Swagger Petstore", 46 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"Brak połączenia z serwerem. Może on nie mieć odpowiednich ustawień access-control-origin.", 47 | "Please specify the protocol for":"Proszę podać protokół dla", 48 | "Can't read swagger JSON from":"Nie można odczytać swagger JSON z", 49 | "Finished Loading Resource Information. Rendering Swagger UI":"Ukończono Ładowanie Informacji o Zasobie. Renderowanie Swagger UI", 50 | "Unable to read api":"Nie można odczytać api", 51 | "from path":"ze ścieżki", 52 | "server returned":"serwer zwrócił" 53 | }); 54 | -------------------------------------------------------------------------------- /src/main/resources/static/swagger/lang/pt.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"Aviso: Depreciado", 6 | "Implementation Notes":"Notas de Implementação", 7 | "Response Class":"Classe de resposta", 8 | "Status":"Status", 9 | "Parameters":"Parâmetros", 10 | "Parameter":"Parâmetro", 11 | "Value":"Valor", 12 | "Description":"Descrição", 13 | "Parameter Type":"Tipo de parâmetro", 14 | "Data Type":"Tipo de dados", 15 | "Response Messages":"Mensagens de resposta", 16 | "HTTP Status Code":"Código de status HTTP", 17 | "Reason":"Razão", 18 | "Response Model":"Modelo resposta", 19 | "Request URL":"URL requisição", 20 | "Response Body":"Corpo da resposta", 21 | "Response Code":"Código da resposta", 22 | "Response Headers":"Cabeçalho da resposta", 23 | "Headers":"Cabeçalhos", 24 | "Hide Response":"Esconder resposta", 25 | "Try it out!":"Tente agora!", 26 | "Show/Hide":"Mostrar/Esconder", 27 | "List Operations":"Listar operações", 28 | "Expand Operations":"Expandir operações", 29 | "Raw":"Cru", 30 | "can't parse JSON. Raw result":"Falha ao analisar JSON. Resulto cru", 31 | "Model Schema":"Modelo esquema", 32 | "Model":"Modelo", 33 | "apply":"Aplicar", 34 | "Username":"Usuário", 35 | "Password":"Senha", 36 | "Terms of service":"Termos do serviço", 37 | "Created by":"Criado por", 38 | "See more at":"Veja mais em", 39 | "Contact the developer":"Contate o desenvolvedor", 40 | "api version":"Versão api", 41 | "Response Content Type":"Tipo de conteúdo da resposta", 42 | "fetching resource":"busca recurso", 43 | "fetching resource list":"buscando lista de recursos", 44 | "Explore":"Explorar", 45 | "Show Swagger Petstore Example Apis":"Show Swagger Petstore Example Apis", 46 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"Não é possível ler do servidor. Pode não ter as apropriadas configurações access-control-origin", 47 | "Please specify the protocol for":"Por favor especifique o protocolo", 48 | "Can't read swagger JSON from":"Não é possível ler o JSON Swagger de", 49 | "Finished Loading Resource Information. Rendering Swagger UI":"Carregar informação de recurso finalizada. Renderizando Swagger UI", 50 | "Unable to read api":"Não foi possível ler api", 51 | "from path":"do caminho", 52 | "server returned":"servidor retornou" 53 | }); 54 | -------------------------------------------------------------------------------- /src/main/resources/static/swagger/lang/en.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"Warning: Deprecated", 6 | "Implementation Notes":"Implementation Notes", 7 | "Response Class":"Response Class", 8 | "Status":"Status", 9 | "Parameters":"Parameters", 10 | "Parameter":"Parameter", 11 | "Value":"Value", 12 | "Description":"Description", 13 | "Parameter Type":"Parameter Type", 14 | "Data Type":"Data Type", 15 | "Response Messages":"Response Messages", 16 | "HTTP Status Code":"HTTP Status Code", 17 | "Reason":"Reason", 18 | "Response Model":"Response Model", 19 | "Request URL":"Request URL", 20 | "Response Body":"Response Body", 21 | "Response Code":"Response Code", 22 | "Response Headers":"Response Headers", 23 | "Hide Response":"Hide Response", 24 | "Headers":"Headers", 25 | "Try it out!":"Try it out!", 26 | "Show/Hide":"Show/Hide", 27 | "List Operations":"List Operations", 28 | "Expand Operations":"Expand Operations", 29 | "Raw":"Raw", 30 | "can't parse JSON. Raw result":"can't parse JSON. Raw result", 31 | "Example Value":"Example Value", 32 | "Model Schema":"Model Schema", 33 | "Model":"Model", 34 | "Click to set as parameter value":"Click to set as parameter value", 35 | "apply":"apply", 36 | "Username":"Username", 37 | "Password":"Password", 38 | "Terms of service":"Terms of service", 39 | "Created by":"Created by", 40 | "See more at":"See more at", 41 | "Contact the developer":"Contact the developer", 42 | "api version":"api version", 43 | "Response Content Type":"Response Content Type", 44 | "Parameter content type:":"Parameter content type:", 45 | "fetching resource":"fetching resource", 46 | "fetching resource list":"fetching resource list", 47 | "Explore":"Explore", 48 | "Show Swagger Petstore Example Apis":"Show Swagger Petstore Example Apis", 49 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"Can't read from server. It may not have the appropriate access-control-origin settings.", 50 | "Please specify the protocol for":"Please specify the protocol for", 51 | "Can't read swagger JSON from":"Can't read swagger JSON from", 52 | "Finished Loading Resource Information. Rendering Swagger UI":"Finished Loading Resource Information. Rendering Swagger UI", 53 | "Unable to read api":"Unable to read api", 54 | "from path":"from path", 55 | "server returned":"server returned" 56 | }); 57 | -------------------------------------------------------------------------------- /src/main/resources/static/swagger/lang/ru.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"Предупреждение: Устарело", 6 | "Implementation Notes":"Заметки", 7 | "Response Class":"Пример ответа", 8 | "Status":"Статус", 9 | "Parameters":"Параметры", 10 | "Parameter":"Параметр", 11 | "Value":"Значение", 12 | "Description":"Описание", 13 | "Parameter Type":"Тип параметра", 14 | "Data Type":"Тип данных", 15 | "HTTP Status Code":"HTTP код", 16 | "Reason":"Причина", 17 | "Response Model":"Структура ответа", 18 | "Request URL":"URL запроса", 19 | "Response Body":"Тело ответа", 20 | "Response Code":"HTTP код ответа", 21 | "Response Headers":"Заголовки ответа", 22 | "Hide Response":"Спрятать ответ", 23 | "Headers":"Заголовки", 24 | "Response Messages":"Что может прийти в ответ", 25 | "Try it out!":"Попробовать!", 26 | "Show/Hide":"Показать/Скрыть", 27 | "List Operations":"Операции кратко", 28 | "Expand Operations":"Операции подробно", 29 | "Raw":"В сыром виде", 30 | "can't parse JSON. Raw result":"Не удается распарсить ответ:", 31 | "Example Value":"Пример", 32 | "Model Schema":"Структура", 33 | "Model":"Описание", 34 | "Click to set as parameter value":"Нажмите, чтобы испльзовать в качестве значения параметра", 35 | "apply":"применить", 36 | "Username":"Имя пользователя", 37 | "Password":"Пароль", 38 | "Terms of service":"Условия использования", 39 | "Created by":"Разработано", 40 | "See more at":"Еще тут", 41 | "Contact the developer":"Связаться с разработчиком", 42 | "api version":"Версия API", 43 | "Response Content Type":"Content Type ответа", 44 | "Parameter content type:":"Content Type параметра:", 45 | "fetching resource":"Получение ресурса", 46 | "fetching resource list":"Получение ресурсов", 47 | "Explore":"Показать", 48 | "Show Swagger Petstore Example Apis":"Показать примеры АПИ", 49 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"Не удается получить ответ от сервера. Возможно, проблема с настройками доступа", 50 | "Please specify the protocol for":"Пожалуйста, укажите протокол для", 51 | "Can't read swagger JSON from":"Не получается прочитать swagger json из", 52 | "Finished Loading Resource Information. Rendering Swagger UI":"Загрузка информации о ресурсах завершена. Рендерим", 53 | "Unable to read api":"Не удалось прочитать api", 54 | "from path":"по адресу", 55 | "server returned":"сервер сказал" 56 | }); 57 | -------------------------------------------------------------------------------- /src/main/java/cn/exrick/service/impl/PayServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.exrick.service.impl; 2 | 3 | import cn.exrick.bean.Pay; 4 | import cn.exrick.common.utils.StringUtils; 5 | import cn.exrick.dao.PayDao; 6 | import cn.exrick.service.PayService; 7 | import org.slf4j.Logger; 8 | import org.slf4j.LoggerFactory; 9 | import org.springframework.beans.factory.annotation.Autowired; 10 | import org.springframework.stereotype.Service; 11 | 12 | import java.util.Date; 13 | import java.util.List; 14 | import java.util.UUID; 15 | 16 | /** 17 | * @author Exrickx 18 | */ 19 | @Service 20 | public class PayServiceImpl implements PayService { 21 | 22 | private static final Logger log = LoggerFactory.getLogger(PayServiceImpl.class); 23 | 24 | @Autowired 25 | private PayDao payDao; 26 | 27 | @Override 28 | public List getPayList(Integer state) { 29 | 30 | List list=payDao.getByStateIs(state); 31 | for(Pay pay:list){ 32 | //屏蔽隐私数据 33 | pay.setId(""); 34 | pay.setEmail(""); 35 | pay.setTestEmail(""); 36 | pay.setUsername(""); 37 | } 38 | return list; 39 | } 40 | 41 | @Override 42 | public List getNotPayList() { 43 | 44 | List list=payDao.getByStateIsNotAndStateIsNot(0,1); 45 | for(Pay pay:list){ 46 | //屏蔽隐私数据 47 | pay.setId(""); 48 | pay.setEmail(""); 49 | pay.setTestEmail(""); 50 | pay.setUsername(""); 51 | } 52 | return list; 53 | } 54 | 55 | @Override 56 | public Pay getPay(String id) { 57 | 58 | Pay pay=payDao.findOne(id); 59 | pay.setTime(StringUtils.getTimeStamp(pay.getCreateTime())); 60 | return pay; 61 | } 62 | 63 | @Override 64 | public int addPay(Pay pay) { 65 | 66 | pay.setId(UUID.randomUUID().toString()); 67 | pay.setCreateTime(new Date()); 68 | pay.setState(0); 69 | payDao.save(pay); 70 | return 1; 71 | } 72 | 73 | @Override 74 | public int updatePay(Pay pay) { 75 | 76 | pay.setUpdateTime(new Date()); 77 | payDao.saveAndFlush(pay); 78 | return 1; 79 | } 80 | 81 | @Override 82 | public int changePayState(String id, Integer state) { 83 | 84 | Pay pay=getPay(id); 85 | pay.setState(state); 86 | pay.setUpdateTime(new Date()); 87 | payDao.saveAndFlush(pay); 88 | return 1; 89 | } 90 | 91 | @Override 92 | public int delPay(String id) { 93 | 94 | payDao.delete(id); 95 | return 1; 96 | } 97 | } 98 | -------------------------------------------------------------------------------- /src/main/resources/static/swagger/lang/geo.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"ყურადღება: აღარ გამოიყენება", 6 | "Implementation Notes":"იმპლემენტაციის აღწერა", 7 | "Response Class":"რესპონს კლასი", 8 | "Status":"სტატუსი", 9 | "Parameters":"პარამეტრები", 10 | "Parameter":"პარამეტრი", 11 | "Value":"მნიშვნელობა", 12 | "Description":"აღწერა", 13 | "Parameter Type":"პარამეტრის ტიპი", 14 | "Data Type":"მონაცემის ტიპი", 15 | "Response Messages":"პასუხი", 16 | "HTTP Status Code":"HTTP სტატუსი", 17 | "Reason":"მიზეზი", 18 | "Response Model":"რესპონს მოდელი", 19 | "Request URL":"მოთხოვნის URL", 20 | "Response Body":"პასუხის სხეული", 21 | "Response Code":"პასუხის კოდი", 22 | "Response Headers":"პასუხის ჰედერები", 23 | "Hide Response":"დამალე პასუხი", 24 | "Headers":"ჰედერები", 25 | "Try it out!":"ცადე !", 26 | "Show/Hide":"გამოჩენა/დამალვა", 27 | "List Operations":"ოპერაციების სია", 28 | "Expand Operations":"ოპერაციები ვრცლად", 29 | "Raw":"ნედლი", 30 | "can't parse JSON. Raw result":"JSON-ის დამუშავება ვერ მოხერხდა. ნედლი პასუხი", 31 | "Example Value":"მაგალითი", 32 | "Model Schema":"მოდელის სტრუქტურა", 33 | "Model":"მოდელი", 34 | "Click to set as parameter value":"პარამეტრისთვის მნიშვნელობის მისანიჭებლად, დააკლიკე", 35 | "apply":"გამოყენება", 36 | "Username":"მოხმარებელი", 37 | "Password":"პაროლი", 38 | "Terms of service":"მომსახურების პირობები", 39 | "Created by":"შექმნა", 40 | "See more at":"ნახე ვრცლად", 41 | "Contact the developer":"დაუკავშირდი დეველოპერს", 42 | "api version":"api ვერსია", 43 | "Response Content Type":"პასუხის კონტენტის ტიპი", 44 | "Parameter content type:":"პარამეტრის კონტენტის ტიპი:", 45 | "fetching resource":"რესურსების მიღება", 46 | "fetching resource list":"რესურსების სიის მიღება", 47 | "Explore":"ნახვა", 48 | "Show Swagger Petstore Example Apis":"ნახე Swagger Petstore სამაგალითო Api", 49 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"სერვერთან დაკავშირება ვერ ხერხდება. შეამოწმეთ access-control-origin.", 50 | "Please specify the protocol for":"მიუთითეთ პროტოკოლი", 51 | "Can't read swagger JSON from":"swagger JSON წაკითხვა ვერ მოხერხდა", 52 | "Finished Loading Resource Information. Rendering Swagger UI":"რესურსების ჩატვირთვა სრულდება. Swagger UI რენდერდება", 53 | "Unable to read api":"api წაკითხვა ვერ მოხერხდა", 54 | "from path":"მისამართიდან", 55 | "server returned":"სერვერმა დააბრუნა" 56 | }); 57 | -------------------------------------------------------------------------------- /src/main/resources/static/swagger/lang/it.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"Attenzione: Deprecato", 6 | "Implementation Notes":"Note di implementazione", 7 | "Response Class":"Classe della risposta", 8 | "Status":"Stato", 9 | "Parameters":"Parametri", 10 | "Parameter":"Parametro", 11 | "Value":"Valore", 12 | "Description":"Descrizione", 13 | "Parameter Type":"Tipo di parametro", 14 | "Data Type":"Tipo di dato", 15 | "Response Messages":"Messaggi della risposta", 16 | "HTTP Status Code":"Codice stato HTTP", 17 | "Reason":"Motivo", 18 | "Response Model":"Modello di risposta", 19 | "Request URL":"URL della richiesta", 20 | "Response Body":"Corpo della risposta", 21 | "Response Code":"Oggetto della risposta", 22 | "Response Headers":"Intestazioni della risposta", 23 | "Hide Response":"Nascondi risposta", 24 | "Try it out!":"Provalo!", 25 | "Show/Hide":"Mostra/Nascondi", 26 | "List Operations":"Mostra operazioni", 27 | "Expand Operations":"Espandi operazioni", 28 | "Raw":"Grezzo (raw)", 29 | "can't parse JSON. Raw result":"non è possibile parsare il JSON. Risultato grezzo (raw).", 30 | "Model Schema":"Schema del modello", 31 | "Model":"Modello", 32 | "apply":"applica", 33 | "Username":"Nome utente", 34 | "Password":"Password", 35 | "Terms of service":"Condizioni del servizio", 36 | "Created by":"Creato da", 37 | "See more at":"Informazioni aggiuntive:", 38 | "Contact the developer":"Contatta lo sviluppatore", 39 | "api version":"versione api", 40 | "Response Content Type":"Tipo di contenuto (content type) della risposta", 41 | "fetching resource":"recuperando la risorsa", 42 | "fetching resource list":"recuperando lista risorse", 43 | "Explore":"Esplora", 44 | "Show Swagger Petstore Example Apis":"Mostra le api di esempio di Swagger Petstore", 45 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"Non è possibile leggere dal server. Potrebbe non avere le impostazioni di controllo accesso origine (access-control-origin) appropriate.", 46 | "Please specify the protocol for":"Si prega di specificare il protocollo per", 47 | "Can't read swagger JSON from":"Impossibile leggere JSON swagger da:", 48 | "Finished Loading Resource Information. Rendering Swagger UI":"Lettura informazioni risorse termianta. Swagger UI viene mostrata", 49 | "Unable to read api":"Impossibile leggere la api", 50 | "from path":"da cartella", 51 | "server returned":"il server ha restituito" 52 | }); 53 | -------------------------------------------------------------------------------- /src/main/resources/static/swagger/lang/es.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"Advertencia: Obsoleto", 6 | "Implementation Notes":"Notas de implementación", 7 | "Response Class":"Clase de la Respuesta", 8 | "Status":"Status", 9 | "Parameters":"Parámetros", 10 | "Parameter":"Parámetro", 11 | "Value":"Valor", 12 | "Description":"Descripción", 13 | "Parameter Type":"Tipo del Parámetro", 14 | "Data Type":"Tipo del Dato", 15 | "Response Messages":"Mensajes de la Respuesta", 16 | "HTTP Status Code":"Código de Status HTTP", 17 | "Reason":"Razón", 18 | "Response Model":"Modelo de la Respuesta", 19 | "Request URL":"URL de la Solicitud", 20 | "Response Body":"Cuerpo de la Respuesta", 21 | "Response Code":"Código de la Respuesta", 22 | "Response Headers":"Encabezados de la Respuesta", 23 | "Hide Response":"Ocultar Respuesta", 24 | "Try it out!":"Pruébalo!", 25 | "Show/Hide":"Mostrar/Ocultar", 26 | "List Operations":"Listar Operaciones", 27 | "Expand Operations":"Expandir Operaciones", 28 | "Raw":"Crudo", 29 | "can't parse JSON. Raw result":"no puede parsear el JSON. Resultado crudo", 30 | "Example Value":"Valor de Ejemplo", 31 | "Model Schema":"Esquema del Modelo", 32 | "Model":"Modelo", 33 | "apply":"aplicar", 34 | "Username":"Nombre de usuario", 35 | "Password":"Contraseña", 36 | "Terms of service":"Términos de Servicio", 37 | "Created by":"Creado por", 38 | "See more at":"Ver más en", 39 | "Contact the developer":"Contactar al desarrollador", 40 | "api version":"versión de la api", 41 | "Response Content Type":"Tipo de Contenido (Content Type) de la Respuesta", 42 | "fetching resource":"buscando recurso", 43 | "fetching resource list":"buscando lista del recurso", 44 | "Explore":"Explorar", 45 | "Show Swagger Petstore Example Apis":"Mostrar Api Ejemplo de Swagger Petstore", 46 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"No se puede leer del servidor. Tal vez no tiene la configuración de control de acceso de origen (access-control-origin) apropiado.", 47 | "Please specify the protocol for":"Por favor, especificar el protocola para", 48 | "Can't read swagger JSON from":"No se puede leer el JSON de swagger desde", 49 | "Finished Loading Resource Information. Rendering Swagger UI":"Finalizada la carga del recurso de Información. Mostrando Swagger UI", 50 | "Unable to read api":"No se puede leer la api", 51 | "from path":"desde ruta", 52 | "server returned":"el servidor retornó" 53 | }); 54 | -------------------------------------------------------------------------------- /src/main/resources/static/swagger/lang/fr.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"Avertissement : Obsolète", 6 | "Implementation Notes":"Notes d'implémentation", 7 | "Response Class":"Classe de la réponse", 8 | "Status":"Statut", 9 | "Parameters":"Paramètres", 10 | "Parameter":"Paramètre", 11 | "Value":"Valeur", 12 | "Description":"Description", 13 | "Parameter Type":"Type du paramètre", 14 | "Data Type":"Type de données", 15 | "Response Messages":"Messages de la réponse", 16 | "HTTP Status Code":"Code de statut HTTP", 17 | "Reason":"Raison", 18 | "Response Model":"Modèle de réponse", 19 | "Request URL":"URL appelée", 20 | "Response Body":"Corps de la réponse", 21 | "Response Code":"Code de la réponse", 22 | "Response Headers":"En-têtes de la réponse", 23 | "Hide Response":"Cacher la réponse", 24 | "Headers":"En-têtes", 25 | "Try it out!":"Testez !", 26 | "Show/Hide":"Afficher/Masquer", 27 | "List Operations":"Liste des opérations", 28 | "Expand Operations":"Développer les opérations", 29 | "Raw":"Brut", 30 | "can't parse JSON. Raw result":"impossible de décoder le JSON. Résultat brut", 31 | "Example Value":"Exemple la valeur", 32 | "Model Schema":"Définition du modèle", 33 | "Model":"Modèle", 34 | "apply":"appliquer", 35 | "Username":"Nom d'utilisateur", 36 | "Password":"Mot de passe", 37 | "Terms of service":"Conditions de service", 38 | "Created by":"Créé par", 39 | "See more at":"Voir plus sur", 40 | "Contact the developer":"Contacter le développeur", 41 | "api version":"version de l'api", 42 | "Response Content Type":"Content Type de la réponse", 43 | "fetching resource":"récupération de la ressource", 44 | "fetching resource list":"récupération de la liste de ressources", 45 | "Explore":"Explorer", 46 | "Show Swagger Petstore Example Apis":"Montrer les Apis de l'exemple Petstore de Swagger", 47 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"Impossible de lire à partir du serveur. Il se peut que les réglages access-control-origin ne soient pas appropriés.", 48 | "Please specify the protocol for":"Veuillez spécifier un protocole pour", 49 | "Can't read swagger JSON from":"Impossible de lire le JSON swagger à partir de", 50 | "Finished Loading Resource Information. Rendering Swagger UI":"Chargement des informations terminé. Affichage de Swagger UI", 51 | "Unable to read api":"Impossible de lire l'api", 52 | "from path":"à partir du chemin", 53 | "server returned":"réponse du serveur" 54 | }); 55 | -------------------------------------------------------------------------------- /src/main/java/cn/exrick/common/utils/EmailUtils.java: -------------------------------------------------------------------------------- 1 | package cn.exrick.common.utils; 2 | 3 | import org.slf4j.Logger; 4 | import org.slf4j.LoggerFactory; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.mail.javamail.JavaMailSender; 7 | import org.springframework.mail.javamail.MimeMessageHelper; 8 | import org.springframework.scheduling.annotation.Async; 9 | import org.springframework.stereotype.Component; 10 | import org.thymeleaf.TemplateEngine; 11 | import org.thymeleaf.context.Context; 12 | 13 | import javax.mail.internet.MimeMessage; 14 | import java.util.regex.Matcher; 15 | import java.util.regex.Pattern; 16 | 17 | /** 18 | * @author Exrickx 19 | */ 20 | @Component 21 | public class EmailUtils { 22 | 23 | private static final Logger log = LoggerFactory.getLogger(EmailUtils.class); 24 | 25 | @Autowired 26 | private JavaMailSender mailSender; 27 | 28 | @Autowired 29 | private TemplateEngine templateEngine; 30 | 31 | /** 32 | * 发送模版邮件 33 | * @param sender 34 | * @param sendto 35 | * @param templateName 36 | * @param o 37 | */ 38 | @Async 39 | public void sendTemplateMail(String sender, String sendto,String title, String templateName,Object o) { 40 | 41 | log.info("开始给"+sendto+"发送邮件"); 42 | MimeMessage message = mailSender.createMimeMessage(); 43 | try { 44 | //true表示需要创建一个multipart message html内容 45 | MimeMessageHelper helper = new MimeMessageHelper(message, true); 46 | helper.setFrom(sender); 47 | helper.setTo(sendto); 48 | helper.setSubject(title); 49 | 50 | Context context = new Context(); 51 | context.setVariable("title",title); 52 | context.setVariables(StringUtils.beanToMap(o)); 53 | //获取模板html代码 54 | String content = templateEngine.process(templateName, context); 55 | 56 | helper.setText(content, true); 57 | 58 | mailSender.send(message); 59 | log.info("给"+sendto+"发送邮件成功"); 60 | }catch (Exception e){ 61 | e.printStackTrace(); 62 | } 63 | } 64 | 65 | /** 66 | * 验证邮箱 67 | * @param email 68 | * @return 69 | */ 70 | public static boolean checkEmail(String email) { 71 | boolean flag = false; 72 | try { 73 | String check = "^([a-z0-9A-Z]+[-|_|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$"; 74 | Pattern regex = Pattern.compile(check); 75 | Matcher matcher = regex.matcher(email); 76 | flag = matcher.matches(); 77 | } catch (Exception e) { 78 | flag = false; 79 | } 80 | return flag; 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /src/main/resources/static/swagger/lang/el.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"Προειδοποίηση: Έχει αποσυρθεί", 6 | "Implementation Notes":"Σημειώσεις Υλοποίησης", 7 | "Response Class":"Απόκριση", 8 | "Status":"Κατάσταση", 9 | "Parameters":"Παράμετροι", 10 | "Parameter":"Παράμετρος", 11 | "Value":"Τιμή", 12 | "Description":"Περιγραφή", 13 | "Parameter Type":"Τύπος Παραμέτρου", 14 | "Data Type":"Τύπος Δεδομένων", 15 | "Response Messages":"Μηνύματα Απόκρισης", 16 | "HTTP Status Code":"Κωδικός Κατάστασης HTTP", 17 | "Reason":"Αιτιολογία", 18 | "Response Model":"Μοντέλο Απόκρισης", 19 | "Request URL":"URL Αιτήματος", 20 | "Response Body":"Σώμα Απόκρισης", 21 | "Response Code":"Κωδικός Απόκρισης", 22 | "Response Headers":"Επικεφαλίδες Απόκρισης", 23 | "Hide Response":"Απόκρυψη Απόκρισης", 24 | "Headers":"Επικεφαλίδες", 25 | "Try it out!":"Δοκιμάστε το!", 26 | "Show/Hide":"Εμφάνιση/Απόκρυψη", 27 | "List Operations":"Λίστα Λειτουργιών", 28 | "Expand Operations":"Ανάπτυξη Λειτουργιών", 29 | "Raw":"Ακατέργαστο", 30 | "can't parse JSON. Raw result":"αδυναμία ανάλυσης JSON. Ακατέργαστο αποτέλεσμα", 31 | "Example Value":"Παράδειγμα Τιμής", 32 | "Model Schema":"Σχήμα Μοντέλου", 33 | "Model":"Μοντέλο", 34 | "Click to set as parameter value":"Πατήστε για να θέσετε τιμή παραμέτρου", 35 | "apply":"εφαρμογή", 36 | "Username":"Όνομα χρήση", 37 | "Password":"Κωδικός πρόσβασης", 38 | "Terms of service":"Όροι χρήσης", 39 | "Created by":"Δημιουργήθηκε από", 40 | "See more at":"Δείτε περισσότερα στο", 41 | "Contact the developer":"Επικοινωνήστε με τον προγραμματιστή", 42 | "api version":"έκδοση api", 43 | "Response Content Type":"Τύπος Περιεχομένου Απόκρισης", 44 | "Parameter content type:":"Τύπος περιεχομένου παραμέτρου:", 45 | "fetching resource":"παραλαβή πόρου", 46 | "fetching resource list":"παραλαβή λίστας πόρων", 47 | "Explore":"Εξερεύνηση", 48 | "Show Swagger Petstore Example Apis":"Εμφάνιση Api Δειγμάτων Petstore του Swagger", 49 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"Αδυναμία ανάγνωσης από τον εξυπηρετητή. Μπορεί να μην έχει κατάλληλες ρυθμίσεις για access-control-origin.", 50 | "Please specify the protocol for":"Παρακαλώ προσδιορίστε το πρωτόκολλο για", 51 | "Can't read swagger JSON from":"Αδυναμία ανάγνωσης swagger JSON από", 52 | "Finished Loading Resource Information. Rendering Swagger UI":"Ολοκλήρωση Φόρτωσης Πληροφορικών Πόρου. Παρουσίαση Swagger UI", 53 | "Unable to read api":"Αδυναμία ανάγνωσης api", 54 | "from path":"από το μονοπάτι", 55 | "server returned":"ο εξυπηρετηρής επέστρεψε" 56 | }); 57 | -------------------------------------------------------------------------------- /src/main/resources/templates/pay-del.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 删除支付订单 6 | 7 | 8 | 9 | 10 | 31 | 32 | 33 | 34 |
35 | 36 |
37 | 38 | 39 | 40 | 41 | 42 | 82 | 83 | -------------------------------------------------------------------------------- /src/main/resources/templates/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 500 12 | 13 | 96 | 97 | 98 | 99 | 100 |
101 | 102 |
103 | 104 |

Ouch!

105 |

500 Page Error

106 |

服务器内部错误. 107 | 返回首页 108 |

109 |
110 | 111 |
112 | 113 | 114 | 115 | 116 | -------------------------------------------------------------------------------- /src/main/resources/static/assets/js/main.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | jQuery(document).ready(function ($) { 3 | 4 | //for Preloader 5 | 6 | $(window).load(function () { 7 | $("#loading").fadeOut(500); 8 | }); 9 | 10 | 11 | /*---------------------------------------------* 12 | * Mobile menu 13 | ---------------------------------------------*/ 14 | $('#navbar-menu').find('a[href*=#]:not([href=#])').click(function () { 15 | if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) { 16 | var target = $(this.hash); 17 | target = target.length ? target : $('[name=' + this.hash.slice(1) + ']'); 18 | if (target.length) { 19 | $('html,body').animate({ 20 | scrollTop: (target.offset().top - 80) 21 | }, 1000); 22 | if ($('.navbar-toggle').css('display') != 'none') { 23 | $(this).parents('.container').find(".navbar-toggle").trigger("click"); 24 | } 25 | return false; 26 | } 27 | } 28 | }); 29 | 30 | 31 | 32 | /*---------------------------------------------* 33 | * WOW 34 | ---------------------------------------------*/ 35 | 36 | var wow = new WOW({ 37 | mobile: false // trigger animations on mobile devices (default is true) 38 | }); 39 | wow.init(); 40 | 41 | // magnificPopup 42 | 43 | $('.popup-img').magnificPopup({ 44 | type: 'image', 45 | gallery: { 46 | enabled: true 47 | } 48 | }); 49 | 50 | $('.video-link').magnificPopup({ 51 | type: 'iframe' 52 | }); 53 | 54 | 55 | 56 | 57 | // featured slider 58 | var swiper = new Swiper('.swiper-container', { 59 | // pagination: '.swiper-pagination', 60 | loop: true, 61 | slidesPerView: 'auto', 62 | effect: 'coverflow', 63 | grabCursor: true, 64 | centeredSlides: true, 65 | nextButton: '.swiper-button-next', 66 | prevButton: '.swiper-button-prev', 67 | spaceBetween: 30, 68 | coverflow: { 69 | rotate: 5, 70 | stretch: 0, 71 | depth: 100, 72 | modifier: 3, 73 | slideShadows: false 74 | } 75 | }); 76 | 77 | 78 | 79 | //--------------------------------------------- 80 | // Scroll Up 81 | //--------------------------------------------- 82 | 83 | $(window).scroll(function () { 84 | if ($(this).scrollTop() > 600) { 85 | $('.scrollup').fadeIn('slow'); 86 | } else { 87 | $('.scrollup').fadeOut('slow'); 88 | } 89 | }); 90 | $('.scrollup').click(function () { 91 | $("html, body").animate({scrollTop: 0}, 1000); 92 | return false; 93 | }); 94 | 95 | 96 | 97 | //End 98 | 99 | }); 100 | 101 | 102 | // scrool Down 103 | 104 | $('.scrooldown a').bind('click', function () { 105 | $('html , body').stop().animate({ 106 | scrollTop: $($(this).attr('href')).offset().top - 160 107 | }, 1500, 'easeInOutExpo'); 108 | event.preventDefault(); 109 | }); 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | -------------------------------------------------------------------------------- /src/main/resources/static/swagger/css/style.css: -------------------------------------------------------------------------------- 1 | .swagger-section #header a#logo{font-size:1.5em;font-weight:700;text-decoration:none;padding:20px 0 20px 40px}#text-head{font-size:80px;font-family:Roboto,sans-serif;color:#fff;float:right;margin-right:20%}.navbar-fixed-top .navbar-brand,.navbar-fixed-top .navbar-nav,.navbar-header{height:auto}.navbar-inverse{background-color:#000;border-color:#000}#navbar-brand{margin-left:20%}.navtext{font-size:10px}.h1,h1{font-size:60px}.navbar-default .navbar-header .navbar-brand{color:#a2dfee}.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2 a{color:#393939;font-family:Arvo,serif;font-size:1.5em}.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2 a:hover{color:#000}.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2{color:#525252;padding-left:0;display:block;clear:none;float:left;font-family:Arvo,serif;font-weight:700}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#0a0a0a}.container1{width:1500px;margin:auto;margin-top:0;background-repeat:no-repeat;background-position:-40px -20px;margin-bottom:210px}.container-inner{width:1200px;margin:auto;background-color:hsla(192,8%,88%,.75);padding-bottom:40px;padding-top:40px;border-radius:15px}.header-content{padding:0;width:1000px}.title1{font-size:80px;font-family:Vollkorn,serif;color:#404040;text-align:center;padding-top:40px;padding-bottom:100px}#icon{margin-top:-18px}.subtext{font-size:25px;font-style:italic;color:#08b;text-align:right;padding-right:250px}.bg-primary{background-color:#00468b}.navbar-default .nav>li>a,.navbar-default .nav>li>a:focus,.navbar-default .nav>li>a:focus:hover,.navbar-default .nav>li>a:hover{color:#08b}.text-faded{font-size:25px;font-family:Vollkorn,serif}.section-heading{font-family:Vollkorn,serif;font-size:45px;padding-bottom:10px}hr{border-color:#00468b;padding-bottom:10px}.description{margin-top:20px;padding-bottom:200px}.description li{font-family:Vollkorn,serif;font-size:25px;color:#525252;margin-left:28%;padding-top:5px}.gap{margin-top:200px}.troubleshootingtext{color:hsla(0,0%,100%,.7);padding-left:30%}.troubleshootingtext li{list-style-type:circle;font-size:25px;padding-bottom:5px}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.block.response_body.json:hover{cursor:pointer}.backdrop{color:blue}#myModal{height:100%}.modal-backdrop{bottom:0;position:fixed}.curl{padding:10px;font-family:Anonymous Pro,Menlo,Consolas,Bitstream Vera Sans Mono,Courier New,monospace;font-size:.9em;max-height:400px;margin-top:5px;overflow-y:auto;background-color:#fcf6db;border:1px solid #e5e0c6;border-radius:4px}.curl_title{font-size:1.1em;margin:0;padding:15px 0 5px;font-family:Open Sans,Helvetica Neue,Arial,sans-serif;font-weight:500;line-height:1.1}.footer{display:none}.swagger-section .swagger-ui-wrap h2{padding:0}h2{margin:0;margin-bottom:5px}.markdown p,.swagger-section .swagger-ui-wrap .code{font-size:15px;font-family:Arvo,serif}.swagger-section .swagger-ui-wrap b{font-family:Arvo,serif}#signin:hover{cursor:pointer}.dropdown-menu{padding:15px}.navbar-right .dropdown-menu{left:0;right:auto}#signinbutton{width:100%;height:32px;font-size:13px;font-weight:700;color:#08b}.navbar-default .nav>li .details{color:#000;text-transform:none;font-size:15px;font-weight:400;font-family:Open Sans,sans-serif;font-style:italic;line-height:20px;top:-2px}.navbar-default .nav>li .details:hover{color:#000}#signout{width:100%;height:32px;font-size:13px;font-weight:700;color:#08b} -------------------------------------------------------------------------------- /src/main/resources/static/swagger/lib/jquery.ba-bbq.min.js: -------------------------------------------------------------------------------- 1 | !function(e,t){function n(e){return"string"==typeof e}function r(e){var t=g.call(arguments,1);return function(){return e.apply(this,t.concat(g.call(arguments)))}}function o(e){return e.replace(/^[^#]*#?(.*)$/,"$1")}function a(e){return e.replace(/(?:^[^?#]*\?([^#]*).*$)?.*/,"$1")}function i(r,o,a,i,c){var u,s,p,h,d;return i!==f?(p=a.match(r?/^([^#]*)\#?(.*)$/:/^([^#?]*)\??([^#]*)(#?.*)/),d=p[3]||"",2===c&&n(i)?s=i.replace(r?R:E,""):(h=l(p[2]),i=n(i)?l[r?A:w](i):i,s=2===c?i:1===c?e.extend({},i,h):e.extend({},h,i),s=b(s),r&&(s=s.replace(m,y))),u=p[1]+(r?"#":s||!p[1]?"?":"")+s+d):u=o(a!==f?a:t[S][q]),u}function c(e,t,r){return t===f||"boolean"==typeof t?(r=t,t=b[e?A:w]()):t=n(t)?t.replace(e?R:E,""):t,l(t,r)}function u(t,r,o,a){return n(o)||"object"==typeof o||(a=o,o=r,r=f),this.each(function(){var n=e(this),i=r||v()[(this.nodeName||"").toLowerCase()]||"",c=i&&n.attr(i)||"";n.attr(i,b[t](c,o,a))})}var f,s,l,p,h,d,v,m,g=Array.prototype.slice,y=decodeURIComponent,b=e.param,$=e.bbq=e.bbq||{},x=e.event.special,j="hashchange",w="querystring",A="fragment",N="elemUrlAttr",S="location",q="href",C="src",E=/^.*\?|#.*$/g,R=/^.*\#/,U={};b[w]=r(i,0,a),b[A]=s=r(i,1,o),s.noEscape=function(t){t=t||"";var n=e.map(t.split(""),encodeURIComponent);m=new RegExp(n.join("|"),"g")},s.noEscape(",/"),e.deparam=l=function(t,n){var r={},o={"true":!0,"false":!1,"null":null};return e.each(t.replace(/\+/g," ").split("&"),function(t,a){var i,c=a.split("="),u=y(c[0]),s=r,l=0,p=u.split("]["),h=p.length-1;if(/\[/.test(p[0])&&/\]$/.test(p[h])?(p[h]=p[h].replace(/\]$/,""),p=p.shift().split("[").concat(p),h=p.length-1):h=0,2===c.length)if(i=y(c[1]),n&&(i=i&&!isNaN(i)?+i:"undefined"===i?f:o[i]!==f?o[i]:i),h)for(;l<=h;l++)u=""===p[l]?s.length:p[l],s=s[u]=l').hide().insertAfter("body")[0].contentWindow,s=function(){return r(a.document[i][u])},(f=function(e,t){if(e!==t){var n=a.document;n.open().close(),n[i].hash="#"+e}})(r()))}var o,a,f,s,p={};return p.start=function(){if(!o){var a=r();f||n(),function l(){var n=r(),p=s(a);n!==a?(f(a=n,p),e(t).trigger(c)):p!==a&&(t[i][u]=t[i][u].replace(/#.*/,"")+"#"+p),o=setTimeout(l,e[c+"Delay"])}()}},p.stop=function(){a||(o&&clearTimeout(o),o=0)},p}()}(jQuery,this); -------------------------------------------------------------------------------- /src/main/resources/static/assets/css/mui.dtpicker.css: -------------------------------------------------------------------------------- 1 | .mui-dtpicker { 2 | position: fixed; 3 | left: 0px; 4 | width: 100%; 5 | z-index: 999999; 6 | background-color: #eee; 7 | border-top: solid 1px #ccc; 8 | box-shadow: 0px -5px 7px 0px rgba(0, 0, 0, 0.1); 9 | -webkit-transition: .3s; 10 | bottom: 0px; 11 | -webkit-transform: translateY(300px); 12 | } 13 | .mui-dtpicker.mui-active { 14 | -webkit-transform: translateY(0px); 15 | } 16 | /*用于将 html body 禁止滚动条*/ 17 | 18 | .mui-dtpicker-active-for-page { 19 | overflow: hidden !important; 20 | } 21 | .mui-android-5-1 .mui-dtpicker { 22 | bottom: -300px; 23 | -webkit-transition-property: bottom; 24 | -webkit-transform: none; 25 | } 26 | .mui-android-5-1 .mui-dtpicker.mui-active { 27 | bottom: 0px; 28 | -webkit-transition-property: bottom; 29 | -webkit-transform: none; 30 | } 31 | .mui-dtpicker-header { 32 | padding: 6px; 33 | font-size: 14px; 34 | color: #888; 35 | } 36 | .mui-dtpicker-header button { 37 | font-size: 12px; 38 | padding: 5px 10px; 39 | } 40 | .mui-dtpicker-header button:last-child { 41 | float: right; 42 | } 43 | .mui-dtpicker-body { 44 | position: relative; 45 | width: 100%; 46 | height: 200px; 47 | /*border-top: solid 1px #eee; 48 | background-color: #fff;*/ 49 | } 50 | .mui-ios .mui-dtpicker-body { 51 | -webkit-perspective: 1200px; 52 | perspective: 1200px; 53 | -webkit-transform-style: preserve-3d; 54 | transform-style: preserve-3d; 55 | } 56 | .mui-dtpicker-title h5 { 57 | display: inline-block; 58 | width: 20%; 59 | margin: 0px; 60 | padding: 8px; 61 | text-align: center; 62 | border-top: solid 1px #ddd; 63 | background-color: #f0f0f0; 64 | border-bottom: solid 1px #ccc; 65 | } 66 | .mui-dtpicker .mui-picker { 67 | width: 20%; 68 | height: 100%; 69 | margin: 0px; 70 | float: left; 71 | border: none; 72 | } 73 | /*年月日时分*/ 74 | 75 | [data-type="datetime"] .mui-picker, 76 | [data-type="time"] .mui-dtpicker-title h5 { 77 | width: 20%; 78 | } 79 | [data-type="datetime"] [data-id="picker-h"], 80 | [data-type="datetime"] [data-id="title-h"] { 81 | border-left: dotted 1px #ccc; 82 | } 83 | /*年月日*/ 84 | 85 | [data-type="date"] .mui-picker, 86 | [data-type="date"] .mui-dtpicker-title h5 { 87 | width: 33.3%; 88 | } 89 | [data-type="date"] [data-id="picker-h"], 90 | [data-type="date"] [data-id="picker-i"], 91 | [data-type="date"] [data-id="title-h"], 92 | [data-type="date"] [data-id="title-i"] { 93 | display: none; 94 | } 95 | /*年月日时*/ 96 | 97 | [data-type="hour"] .mui-picker, 98 | [data-type="hour"] .mui-dtpicker-title h5 { 99 | width: 25%; 100 | } 101 | [data-type="hour"] [data-id="picker-i"], 102 | [data-type="hour"] [data-id="title-i"] { 103 | display: none; 104 | } 105 | [data-type="hour"] [data-id="picker-h"], 106 | [data-type="hour"] [data-id="title-h"] { 107 | border-left: dotted 1px #ccc; 108 | } 109 | /*时分*/ 110 | 111 | [data-type="time"] .mui-picker, 112 | [data-type="time"] .mui-dtpicker-title h5 { 113 | width: 50%; 114 | } 115 | [data-type="time"] [data-id="picker-y"], 116 | [data-type="time"] [data-id="picker-m"], 117 | [data-type="time"] [data-id="picker-d"], 118 | [data-type="time"] [data-id="title-y"], 119 | [data-type="time"] [data-id="title-m"], 120 | [data-type="time"] [data-id="title-d"] { 121 | display: none; 122 | } 123 | /*年月*/ 124 | 125 | [data-type="month"] .mui-picker, 126 | [data-type="month"] .mui-dtpicker-title h5 { 127 | width: 50%; 128 | } 129 | [data-type="month"] [data-id="picker-d"], 130 | [data-type="month"] [data-id="picker-h"], 131 | [data-type="month"] [data-id="picker-i"], 132 | [data-type="month"] [data-id="title-d"], 133 | [data-type="month"] [data-id="title-h"], 134 | [data-type="month"] [data-id="title-i"] { 135 | display: none; 136 | } -------------------------------------------------------------------------------- /src/main/resources/static/assets/js/jquery.cookie.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery Cookie Plugin v1.4.1 3 | * https://github.com/carhartl/jquery-cookie 4 | * 5 | * Copyright 2013 Klaus Hartl 6 | * Released under the MIT license 7 | */ 8 | (function (factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD 11 | define(['jquery'], factory); 12 | } else if (typeof exports === 'object') { 13 | // CommonJS 14 | factory(require('jquery')); 15 | } else { 16 | // Browser globals 17 | factory(jQuery); 18 | } 19 | }(function ($) { 20 | 21 | var pluses = /\+/g; 22 | 23 | function encode(s) { 24 | return config.raw ? s : encodeURIComponent(s); 25 | } 26 | 27 | function decode(s) { 28 | return config.raw ? s : decodeURIComponent(s); 29 | } 30 | 31 | function stringifyCookieValue(value) { 32 | return encode(config.json ? JSON.stringify(value) : String(value)); 33 | } 34 | 35 | function parseCookieValue(s) { 36 | if (s.indexOf('"') === 0) { 37 | // This is a quoted cookie as according to RFC2068, unescape... 38 | s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\'); 39 | } 40 | 41 | try { 42 | // Replace server-side written pluses with spaces. 43 | // If we can't decode the cookie, ignore it, it's unusable. 44 | // If we can't parse the cookie, ignore it, it's unusable. 45 | s = decodeURIComponent(s.replace(pluses, ' ')); 46 | return config.json ? JSON.parse(s) : s; 47 | } catch(e) {} 48 | } 49 | 50 | function read(s, converter) { 51 | var value = config.raw ? s : parseCookieValue(s); 52 | return $.isFunction(converter) ? converter(value) : value; 53 | } 54 | 55 | var config = $.cookie = function (key, value, options) { 56 | 57 | // Write 58 | 59 | if (value !== undefined && !$.isFunction(value)) { 60 | options = $.extend({}, config.defaults, options); 61 | 62 | if (typeof options.expires === 'number') { 63 | var days = options.expires, t = options.expires = new Date(); 64 | t.setTime(+t + days * 864e+5); 65 | } 66 | 67 | return (document.cookie = [ 68 | encode(key), '=', stringifyCookieValue(value), 69 | options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE 70 | options.path ? '; path=' + options.path : '', 71 | options.domain ? '; domain=' + options.domain : '', 72 | options.secure ? '; secure' : '' 73 | ].join('')); 74 | } 75 | 76 | // Read 77 | 78 | var result = key ? undefined : {}; 79 | 80 | // To prevent the for loop in the first place assign an empty array 81 | // in case there are no cookies at all. Also prevents odd result when 82 | // calling $.cookie(). 83 | var cookies = document.cookie ? document.cookie.split('; ') : []; 84 | 85 | for (var i = 0, l = cookies.length; i < l; i++) { 86 | var parts = cookies[i].split('='); 87 | var name = decode(parts.shift()); 88 | var cookie = parts.join('='); 89 | 90 | if (key && key === name) { 91 | // If second argument (value) is a function it's a converter... 92 | result = read(cookie, value); 93 | break; 94 | } 95 | 96 | // Prevent storing a cookie that we couldn't decode. 97 | if (!key && (cookie = read(cookie)) !== undefined) { 98 | result[name] = cookie; 99 | } 100 | } 101 | 102 | return result; 103 | }; 104 | 105 | config.defaults = {}; 106 | 107 | $.removeCookie = function (key, options) { 108 | if ($.cookie(key) === undefined) { 109 | return false; 110 | } 111 | 112 | // Must not alter options, thus extending a fresh object... 113 | $.cookie(key, '', $.extend({}, options, { expires: -1 })); 114 | return !$.cookie(key); 115 | }; 116 | 117 | })); 118 | -------------------------------------------------------------------------------- /src/main/resources/static/assets/js/jquery.countdown.js: -------------------------------------------------------------------------------- 1 | // CountDown Clock 2 | // Version : 1.0.1 3 | // Developer : Ekrem KAYA 4 | // Website : http://e-piksel.com 5 | // GitHub : https://github.com/epiksel/countdown 6 | 7 | (function ($) { 8 | $.fn.countdown = function (options, callback) { 9 | var settings = $.extend({ 10 | date: null, 11 | offset: null, 12 | day: 'Day', 13 | days: 'Days', 14 | hour: 'Hour', 15 | hours: 'Hours', 16 | minute: 'Minute', 17 | minutes: 'Minutes', 18 | second: 'Second', 19 | seconds: 'Seconds' 20 | }, options); 21 | 22 | // Throw error if date is not set 23 | if (!settings.date) { 24 | $.error('Date is not defined.'); 25 | } 26 | 27 | // Throw error if date is set incorectly 28 | if (!Date.parse(settings.date)) { 29 | $.error('Incorrect date format, it should look like this, 12/24/2012 12:00:00.'); 30 | } 31 | 32 | // Save container 33 | var container = this; 34 | 35 | /** 36 | * Change client's local date to match offset timezone 37 | * @return {Object} Fixed Date object. 38 | */ 39 | var currentDate = function () { 40 | // get client's current date 41 | var date = new Date(); 42 | 43 | // turn date to utc 44 | var utc = date.getTime() + (date.getTimezoneOffset() * 60000); 45 | 46 | // set new Date object 47 | var new_date = new Date(utc + (3600000*settings.offset)); 48 | 49 | return new_date; 50 | }; 51 | 52 | /** 53 | * Main countdown function that calculates everything 54 | */ 55 | function countdown () { 56 | var target_date = new Date(settings.date), // set target date 57 | current_date = currentDate(); // get fixed current date 58 | 59 | // difference of dates 60 | var difference = target_date - current_date; 61 | 62 | // if difference is negative than it's pass the target date 63 | if (difference < 0) { 64 | // stop timer 65 | clearInterval(interval); 66 | 67 | if (callback && typeof callback === 'function') callback(); 68 | 69 | return; 70 | } 71 | 72 | // basic math variables 73 | var _second = 1000, 74 | _minute = _second * 60, 75 | _hour = _minute * 60, 76 | _day = _hour * 24; 77 | 78 | // calculate dates 79 | var days = Math.floor(difference / _day), 80 | hours = Math.floor((difference % _day) / _hour), 81 | minutes = Math.floor((difference % _hour) / _minute), 82 | seconds = Math.floor((difference % _minute) / _second); 83 | 84 | // based on the date change the refrence wording 85 | var text_days = (days === 1) ? settings.day : settings.days, 86 | text_hours = (hours === 1) ? settings.hour : settings.hours, 87 | text_minutes = (minutes === 1) ? settings.minute : settings.minutes, 88 | text_seconds = (seconds === 1) ? settings.second : settings.seconds; 89 | 90 | // fix dates so that it will show two digets 91 | days = (String(days).length >= 2) ? days : '0' + days; 92 | hours = (String(hours).length >= 2) ? hours : '0' + hours; 93 | minutes = (String(minutes).length >= 2) ? minutes : '0' + minutes; 94 | seconds = (String(seconds).length >= 2) ? seconds : '0' + seconds; 95 | 96 | // set to DOM 97 | container.find('.days').text(days); 98 | container.find('.hours').text(hours); 99 | container.find('.minutes').text(minutes); 100 | container.find('.seconds').text(seconds); 101 | 102 | container.find('.days_text').text(text_days); 103 | container.find('.hours_text').text(text_hours); 104 | container.find('.minutes_text').text(text_minutes); 105 | container.find('.seconds_text').text(text_seconds); 106 | } 107 | 108 | // start 109 | var interval = setInterval(countdown, 1000); 110 | }; 111 | 112 | })(jQuery); 113 | -------------------------------------------------------------------------------- /src/main/resources/static/assets/js/jquery.easypiechart.min.js: -------------------------------------------------------------------------------- 1 | /**! 2 | * easyPieChart 3 | * Lightweight plugin to render simple, animated and retina optimized pie charts 4 | * 5 | * @license 6 | * @author Robert Fleischmann (http://robert-fleischmann.de) 7 | * @version 2.1.5 8 | **/ 9 | !function(a,b){"object"==typeof exports?module.exports=b(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],b):b(a.jQuery)}(this,function(a){var b=function(a,b){var c,d=document.createElement("canvas");a.appendChild(d),"undefined"!=typeof G_vmlCanvasManager&&G_vmlCanvasManager.initElement(d);var e=d.getContext("2d");d.width=d.height=b.size;var f=1;window.devicePixelRatio>1&&(f=window.devicePixelRatio,d.style.width=d.style.height=[b.size,"px"].join(""),d.width=d.height=b.size*f,e.scale(f,f)),e.translate(b.size/2,b.size/2),e.rotate((-0.5+b.rotate/180)*Math.PI);var g=(b.size-b.lineWidth)/2;b.scaleColor&&b.scaleLength&&(g-=b.scaleLength+2),Date.now=Date.now||function(){return+new Date};var h=function(a,b,c){c=Math.min(Math.max(-1,c||0),1);var d=0>=c?!0:!1;e.beginPath(),e.arc(0,0,g,0,2*Math.PI*c,d),e.strokeStyle=a,e.lineWidth=b,e.stroke()},i=function(){var a,c;e.lineWidth=1,e.fillStyle=b.scaleColor,e.save();for(var d=24;d>0;--d)d%6===0?(c=b.scaleLength,a=0):(c=.6*b.scaleLength,a=b.scaleLength-c),e.fillRect(-b.size/2+a,0,c,1),e.rotate(Math.PI/12);e.restore()},j=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(a){window.setTimeout(a,1e3/60)}}(),k=function(){b.scaleColor&&i(),b.trackColor&&h(b.trackColor,b.lineWidth,1)};this.getCanvas=function(){return d},this.getCtx=function(){return e},this.clear=function(){e.clearRect(b.size/-2,b.size/-2,b.size,b.size)},this.draw=function(a){b.scaleColor||b.trackColor?e.getImageData&&e.putImageData?c?e.putImageData(c,0,0):(k(),c=e.getImageData(0,0,b.size*f,b.size*f)):(this.clear(),k()):this.clear(),e.lineCap=b.lineCap;var d;d="function"==typeof b.barColor?b.barColor(a):b.barColor,h(d,b.lineWidth,a/100)}.bind(this),this.animate=function(a,c){var d=Date.now();b.onStart(a,c);var e=function(){var f=Math.min(Date.now()-d,b.animate.duration),g=b.easing(this,f,a,c-a,b.animate.duration);this.draw(g),b.onStep(a,c,g),f>=b.animate.duration?b.onStop(a,c):j(e)}.bind(this);j(e)}.bind(this)},c=function(a,c){var d={barColor:"#ef1e25",trackColor:"#f9f9f9",scaleColor:"#dfe0e0",scaleLength:5,lineCap:"round",lineWidth:3,size:110,rotate:0,animate:{duration:1e3,enabled:!0},easing:function(a,b,c,d,e){return b/=e/2,1>b?d/2*b*b+c:-d/2*(--b*(b-2)-1)+c},onStart:function(){},onStep:function(){},onStop:function(){}};if("undefined"!=typeof b)d.renderer=b;else{if("undefined"==typeof SVGRenderer)throw new Error("Please load either the SVG- or the CanvasRenderer");d.renderer=SVGRenderer}var e={},f=0,g=function(){this.el=a,this.options=e;for(var b in d)d.hasOwnProperty(b)&&(e[b]=c&&"undefined"!=typeof c[b]?c[b]:d[b],"function"==typeof e[b]&&(e[b]=e[b].bind(this)));e.easing="string"==typeof e.easing&&"undefined"!=typeof jQuery&&jQuery.isFunction(jQuery.easing[e.easing])?jQuery.easing[e.easing]:d.easing,"number"==typeof e.animate&&(e.animate={duration:e.animate,enabled:!0}),"boolean"!=typeof e.animate||e.animate||(e.animate={duration:1e3,enabled:e.animate}),this.renderer=new e.renderer(a,e),this.renderer.draw(f),a.dataset&&a.dataset.percent?this.update(parseFloat(a.dataset.percent)):a.getAttribute&&a.getAttribute("data-percent")&&this.update(parseFloat(a.getAttribute("data-percent")))}.bind(this);this.update=function(a){return a=parseFloat(a),e.animate.enabled?this.renderer.animate(f,a):this.renderer.draw(a),f=a,this}.bind(this),this.disableAnimation=function(){return e.animate.enabled=!1,this},this.enableAnimation=function(){return e.animate.enabled=!0,this},g()};a.fn.easyPieChart=function(b){return this.each(function(){var d;a.data(this,"easyPieChart")||(d=a.extend({},b,a(this).data()),a.data(this,"easyPieChart",new c(this,d)))})}}); -------------------------------------------------------------------------------- /src/main/resources/static/assets/css/responsive.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | /* 4 | Author: Bootstrapthemes 5 | Author URI: http://www.xpeedstudio.com 6 | */ 7 | 8 | /* Portrait tablets and medium desktops */ 9 | @media (min-width: 992px) and (max-width: 1199px) { 10 | body { 11 | font-size: 1rem; 12 | } 13 | 14 | 15 | .cloudy{ 16 | top: 250px; 17 | right: -240px; 18 | } 19 | .sunny{ 20 | top: 250px; 21 | right: -230px; 22 | } 23 | .rainy{ 24 | top:270px; 25 | right: -220px; 26 | } 27 | 28 | 29 | 30 | } 31 | 32 | 33 | 34 | /* Portrait tablets and small desktops */ 35 | /*@media (max-width: 992px) { 36 | 37 | }*/ 38 | 39 | 40 | /* Portrait tablets and small desktops */ 41 | @media (max-width: 991px) { 42 | 43 | .sm-text-center{ 44 | text-align: center !important; 45 | } 46 | .sm-pull-none{ 47 | float: none !important; 48 | } 49 | .sm-m-top-10{ 50 | margin-top:10px; 51 | } 52 | .sm-m-top-20{ 53 | margin-top:20px; 54 | } 55 | .sm-m-top-30{ 56 | margin-top:30px; 57 | } 58 | .sm-m-top-50{ 59 | margin-top:50px; 60 | } 61 | 62 | nav.navbar.bootsnav.footer-menu{ 63 | background-color: transparent; 64 | border-bottom: 0px solid; 65 | } 66 | nav.navbar.bootsnav.footer-menu .navbar-toggle{ 67 | background-color: transparent !important; 68 | } 69 | 70 | .cloudy { 71 | right: -136px; 72 | } 73 | .attr_cloudy { 74 | right: 22%; 75 | } 76 | .attr_deg2 { 77 | left: 21%; 78 | } 79 | .sunny { 80 | right: -150px; 81 | } 82 | .attr_sun2 { 83 | right: 22%; 84 | } 85 | .attr_deg3 { 86 | left: 20%; 87 | } 88 | .rainy { 89 | right: -103px; 90 | } 91 | .attr_rainy2 { 92 | right: 22%; 93 | } 94 | .attr_deg4 { 95 | left: 21%; 96 | } 97 | 98 | } 99 | 100 | 101 | 102 | /* Landscape phones and portrait tablets */ 103 | @media (max-width: 768px) { 104 | h2{ 105 | font-size:2rem; 106 | } 107 | p{ 108 | font-size:90%; 109 | line-height: 2rem; 110 | } 111 | .xs-pull-none{ 112 | float: none !important; 113 | } 114 | .xs-text-center{ 115 | text-align: center !important; 116 | } 117 | .xs-m-top-10{ 118 | margin-top:10px; 119 | } 120 | .xs-m-bottom-10{ 121 | margin-bottom:10px; 122 | } 123 | .xs-m-bottom-20{ 124 | margin-bottom:20px; 125 | } 126 | .sunny { 127 | right: -170px; 128 | } 129 | .attr_sun2 { 130 | right: 18%; 131 | } 132 | .attr_deg3 { 133 | left: 15%; 134 | } 135 | .rainy { 136 | right: -205px; 137 | } 138 | .attr_rainy2 { 139 | right: 11%; 140 | } 141 | .attr_deg4 { 142 | left: 10%; 143 | } 144 | 145 | 146 | } 147 | 148 | 149 | 150 | 151 | /* Landscape phones and smaller */ 152 | @media (max-width: 479px) { 153 | html { 154 | font-size: 85%; 155 | } 156 | .cloudy { 157 | top: 255px; 158 | right: -190px; 159 | font-size: 11rem; 160 | } 161 | .attr_cloudy { 162 | right: 0%; 163 | } 164 | .attr_deg2 { 165 | left: 0%; 166 | } 167 | 168 | .attr_sun2 { 169 | right: 0%; 170 | } 171 | .attr_deg3 { 172 | left: 0%; 173 | } 174 | .attr_rainy2 { 175 | right: 0%; 176 | } 177 | .attr_deg4 { 178 | left: 0%; 179 | } 180 | } 181 | 182 | 183 | 184 | 185 | 186 | @media (max-width: 400px) { 187 | 188 | 189 | } 190 | 191 | @media (max-width: 320px) { 192 | html { 193 | font-size: 60.5%; 194 | } 195 | 196 | 197 | } 198 | 199 | 200 | 201 | -------------------------------------------------------------------------------- /src/main/java/cn/exrick/bean/Pay.java: -------------------------------------------------------------------------------- 1 | package cn.exrick.bean; 2 | 3 | import javax.persistence.*; 4 | import java.io.Serializable; 5 | import java.math.BigDecimal; 6 | import java.util.Date; 7 | 8 | /** 9 | * @author Exrickx 10 | */ 11 | @Entity 12 | @Table(name = "t_pay") 13 | public class Pay implements Serializable{ 14 | 15 | /** 16 | * 唯一标识 17 | */ 18 | @Id 19 | @Column 20 | private String id; 21 | 22 | @Column 23 | private String nickName; 24 | 25 | @Column 26 | private BigDecimal money; 27 | 28 | @Column 29 | private String info; 30 | 31 | @Column 32 | private Date createTime; 33 | 34 | @Column 35 | private Date updateTime; 36 | 37 | /** 38 | * 用户通知邮箱 39 | */ 40 | @Column 41 | private String email; 42 | 43 | @Column 44 | private String testEmail; 45 | 46 | /** 47 | * 显示状态 0待审核 1确认显示 2驳回 3通过不展示 48 | */ 49 | @Column 50 | private Integer state=0; 51 | 52 | @Column 53 | private String payType; 54 | 55 | @Column 56 | private String username; 57 | 58 | @Transient 59 | private String time; 60 | 61 | @Transient 62 | private String passUrl; 63 | 64 | @Transient 65 | private String backUrl; 66 | 67 | @Transient 68 | private String passNotShowUrl; 69 | 70 | @Transient 71 | private String editUrl; 72 | 73 | @Transient 74 | private String delUrl; 75 | 76 | public String getBackUrl() { 77 | return backUrl; 78 | } 79 | 80 | public void setBackUrl(String backUrl) { 81 | this.backUrl = backUrl; 82 | } 83 | 84 | public String getPassUrl() { 85 | return passUrl; 86 | } 87 | 88 | public void setPassUrl(String passUrl) { 89 | this.passUrl = passUrl; 90 | } 91 | 92 | public String getPassNotShowUrl() { 93 | return passNotShowUrl; 94 | } 95 | 96 | public void setPassNotShowUrl(String passNotShowUrl) { 97 | this.passNotShowUrl = passNotShowUrl; 98 | } 99 | 100 | public String getEditUrl() { 101 | return editUrl; 102 | } 103 | 104 | public void setEditUrl(String editUrl) { 105 | this.editUrl = editUrl; 106 | } 107 | 108 | public String getDelUrl() { 109 | return delUrl; 110 | } 111 | 112 | public void setDelUrl(String delUrl) { 113 | this.delUrl = delUrl; 114 | } 115 | 116 | public String getTestEmail() { 117 | return testEmail; 118 | } 119 | 120 | public String getUsername() { 121 | return username; 122 | } 123 | 124 | public void setUsername(String username) { 125 | this.username = username; 126 | } 127 | 128 | public void setTestEmail(String testEmail) { 129 | this.testEmail = testEmail; 130 | } 131 | 132 | public String getId() { 133 | return id; 134 | } 135 | 136 | public void setId(String id) { 137 | this.id = id; 138 | } 139 | 140 | public String getNickName() { 141 | return nickName; 142 | } 143 | 144 | public void setNickName(String nickName) { 145 | this.nickName = nickName; 146 | } 147 | 148 | public BigDecimal getMoney() { 149 | return money; 150 | } 151 | 152 | public void setMoney(BigDecimal money) { 153 | this.money = money; 154 | } 155 | 156 | public String getInfo() { 157 | return info; 158 | } 159 | 160 | public void setInfo(String info) { 161 | this.info = info; 162 | } 163 | 164 | public Date getCreateTime() { 165 | return createTime; 166 | } 167 | 168 | public void setCreateTime(Date createTime) { 169 | this.createTime = createTime; 170 | } 171 | 172 | public Date getUpdateTime() { 173 | return updateTime; 174 | } 175 | 176 | public void setUpdateTime(Date updateTime) { 177 | this.updateTime = updateTime; 178 | } 179 | 180 | public String getEmail() { 181 | return email; 182 | } 183 | 184 | public void setEmail(String email) { 185 | this.email = email; 186 | } 187 | 188 | public Integer getState() { 189 | return state; 190 | } 191 | 192 | public void setState(Integer state) { 193 | this.state = state; 194 | } 195 | 196 | public String getPayType() { 197 | return payType; 198 | } 199 | 200 | public void setPayType(String payType) { 201 | this.payType = payType; 202 | } 203 | 204 | public String getTime() { 205 | return time; 206 | } 207 | 208 | public void setTime(String time) { 209 | this.time = time; 210 | } 211 | } 212 | --------------------------------------------------------------------------------