From 799c5f644262325ca58adc7ed42557c3cb5f5b2b Mon Sep 17 00:00:00 2001 From: lohoz <1494755747@qq.com> Date: Sun, 5 Jun 2022 13:17:17 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=C3=A6=C2=BA=E6=95=B4?= =?UTF-8?q?=E4=BD=93=C2=90=E7=A0=81=E6=8F=90=E4=BA=A4=C3=A2=C2=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AIGenerate/AIGenerateNFT/__init__.py | 2 + .../__pycache__/__init__.cpython-39.pyc | Bin 0 -> 209 bytes .../__pycache__/settings.cpython-39.pyc | Bin 0 -> 2768 bytes .../__pycache__/urls.cpython-39.pyc | Bin 0 -> 1105 bytes .../__pycache__/wsgi.cpython-39.pyc | Bin 0 -> 575 bytes AIGenerate/AIGenerateNFT/asgi.py | 16 + AIGenerate/AIGenerateNFT/settings.py | 166 ++++++++ AIGenerate/AIGenerateNFT/urls.py | 26 ++ AIGenerate/AIGenerateNFT/wsgi.py | 16 + .../__pycache__/exceptions.cpython-39.pyc | Bin 0 -> 625 bytes .../__pycache__/snowflake.cpython-39.pyc | Bin 0 -> 2633 bytes .../__pycache__/stickers.cpython-39.pyc | Bin 0 -> 2305 bytes .../__pycache__/subject.cpython-39.pyc | Bin 0 -> 12406 bytes AIGenerate/function/exceptions.py | 14 + AIGenerate/function/snowflake.py | 109 ++++++ AIGenerate/function/stickers.py | 82 ++++ AIGenerate/function/subject.py | 181 +++++++++ .../__pycache__/admin.cpython-39.pyc | Bin 0 -> 202 bytes .../__pycache__/apps.cpython-39.pyc | Bin 0 -> 453 bytes .../__pycache__/models.cpython-39.pyc | Bin 0 -> 199 bytes .../__pycache__/views.cpython-39.pyc | Bin 0 -> 4557 bytes AIGenerate/generate_pixel/admin.py | 3 + AIGenerate/generate_pixel/apps.py | 6 + AIGenerate/generate_pixel/models.py | 3 + AIGenerate/generate_pixel/tests.py | 3 + AIGenerate/generate_pixel/views.py | 176 +++++++++ AIGenerate/manage.py | 21 + AIGenerate/output/csv/1442865660962013184.csv | 360 +++++++++++++++++ AIGenerate/output/csv/1519858837211840512.csv | 35 ++ AIGenerate/output/csv/1519859153118429184.csv | 35 ++ AIGenerate/output/csv/1519859356684779520.csv | 35 ++ AIGenerate/output/csv/1519860574308007936.csv | 35 ++ AIGenerate/output/csv/1523319122841042944.csv | 35 ++ AIGenerate/output/csv/1523319142554271744.csv | 35 ++ AIGenerate/output/csv/1523319161168592896.csv | 35 ++ AIGenerate/output/csv/1523319179510284288.csv | 35 ++ AIGenerate/output/csv/1523319197768089600.csv | 35 ++ AIGenerate/output/csv/1523320878941601792.csv | 35 ++ AIGenerate/output/csv/1523336144400416768.csv | 35 ++ .../tools/__pycache__/colors.cpython-39.pyc | Bin 0 -> 5749 bytes .../tools/__pycache__/config.cpython-39.pyc | Bin 0 -> 560 bytes .../__pycache__/configSetting.cpython-39.pyc | Bin 0 -> 590 bytes .../tools/__pycache__/model.cpython-39.pyc | Bin 0 -> 1264 bytes AIGenerate/tools/colors.py | 125 ++++++ AIGenerate/tools/config.py | 20 + AIGenerate/tools/model.py | 29 ++ ArtPRTP | 1 + a.txt | 0 artprtpdb.sql | 367 ++++++++++++++++++ nftmanageserver/.idea/.gitignore | 8 + nftmanageserver/.idea/compiler.xml | 21 + nftmanageserver/.idea/encodings.xml | 6 + nftmanageserver/.idea/jarRepositories.xml | 20 + ..._ch_qos_logback_logback_classic_1_2_10.xml | 13 + ...en__ch_qos_logback_logback_core_1_2_10.xml | 13 + ...libaba_fastjson2_fastjson2_2_0_2_graal.xml | 13 + ...tjson2_fastjson2_extension_2_0_2_graal.xml | 13 + ...aven__com_alibaba_fastjson_2_0_2_graal.xml | 13 + ...ackson_core_jackson_annotations_2_13_1.xml | 13 + ...erxml_jackson_core_jackson_core_2_13_1.xml | 13 + ...l_jackson_core_jackson_databind_2_13_1.xml | 13 + ..._datatype_jackson_datatype_jdk8_2_13_1.xml | 13 + ...atatype_jackson_datatype_jsr310_2_13_1.xml | 13 + ..._jackson_module_parameter_names_2_13_1.xml | 13 + ...n__com_jayway_jsonpath_json_path_2_6_0.xml | 13 + ...ogle_android_json_0_0_20131108_vaadin1.xml | 13 + .../Maven__com_zaxxer_HikariCP_4_0_3.xml | 13 + ...ctivation_jakarta_activation_api_1_2_2.xml | 13 + ...nnotation_jakarta_annotation_api_1_3_5.xml | 13 + ...ta_xml_bind_jakarta_xml_bind_api_2_3_3.xml | 13 + ...ven__mysql_mysql_connector_java_8_0_28.xml | 13 + ...aven__net_bytebuddy_byte_buddy_1_11_22.xml | 13 + ...net_bytebuddy_byte_buddy_agent_1_11_22.xml | 13 + ...ven__net_minidev_accessors_smart_2_4_8.xml | 13 + .../Maven__net_minidev_json_smart_2_4_8.xml | 13 + ..._apache_logging_log4j_log4j_api_2_17_1.xml | 13 + ...he_logging_log4j_log4j_to_slf4j_2_17_1.xml | 13 + ..._tomcat_embed_tomcat_embed_core_9_0_58.xml | 13 + ...he_tomcat_embed_tomcat_embed_el_9_0_58.xml | 13 + ...at_embed_tomcat_embed_websocket_9_0_58.xml | 13 + ..._org_apiguardian_apiguardian_api_1_1_2.xml | 13 + ...Maven__org_assertj_assertj_core_3_21_0.xml | 13 + .../Maven__org_hamcrest_hamcrest_2_2.xml | 13 + .../Maven__org_json_json_20220320.xml | 13 + ..._org_junit_jupiter_junit_jupiter_5_8_2.xml | 13 + ..._junit_jupiter_junit_jupiter_api_5_8_2.xml | 13 + ...nit_jupiter_junit_jupiter_engine_5_8_2.xml | 13 + ...nit_jupiter_junit_jupiter_params_5_8_2.xml | 13 + ..._platform_junit_platform_commons_1_8_2.xml | 13 + ...t_platform_junit_platform_engine_1_8_2.xml | 13 + .../Maven__org_mockito_mockito_core_4_0_0.xml | 13 + ...rg_mockito_mockito_junit_jupiter_4_0_0.xml | 13 + .../Maven__org_mybatis_mybatis_3_5_9.xml | 13 + ...aven__org_mybatis_mybatis_spring_2_0_7.xml | 13 + ...ybatis_spring_boot_autoconfigure_2_2_2.xml | 13 + ...boot_mybatis_spring_boot_starter_2_2_2.xml | 13 + .../Maven__org_objenesis_objenesis_3_2.xml | 13 + ...Maven__org_opentest4j_opentest4j_1_2_0.xml | 13 + .../libraries/Maven__org_ow2_asm_asm_9_1.xml | 13 + ...aven__org_skyscreamer_jsonassert_1_5_0.xml | 13 + .../Maven__org_slf4j_jul_to_slf4j_1_7_36.xml | 13 + .../Maven__org_slf4j_slf4j_api_1_7_36.xml | 13 + ...springframework_boot_spring_boot_2_6_4.xml | 13 + ...k_boot_spring_boot_autoconfigure_2_6_4.xml | 13 + ...amework_boot_spring_boot_starter_2_6_4.xml | 13 + ...rk_boot_spring_boot_starter_jdbc_2_6_4.xml | 13 + ...rk_boot_spring_boot_starter_json_2_6_4.xml | 13 + ...boot_spring_boot_starter_logging_2_6_4.xml | 13 + ...rk_boot_spring_boot_starter_test_2_6_4.xml | 13 + ..._boot_spring_boot_starter_tomcat_2_6_4.xml | 13 + ...ork_boot_spring_boot_starter_web_2_6_4.xml | 13 + ...gframework_boot_spring_boot_test_2_6_4.xml | 13 + ...t_spring_boot_test_autoconfigure_2_6_4.xml | 13 + ..._org_springframework_spring_aop_5_3_16.xml | 13 + ...rg_springframework_spring_beans_5_3_16.xml | 13 + ..._springframework_spring_context_5_3_16.xml | 13 + ...org_springframework_spring_core_5_3_16.xml | 13 + ...ringframework_spring_expression_5_3_16.xml | 13 + ..._org_springframework_spring_jcl_5_3_16.xml | 13 + ...org_springframework_spring_jdbc_5_3_16.xml | 13 + ...org_springframework_spring_test_5_3_16.xml | 13 + ...__org_springframework_spring_tx_5_3_16.xml | 13 + ..._org_springframework_spring_web_5_3_16.xml | 13 + ...g_springframework_spring_webmvc_5_3_16.xml | 13 + .../Maven__org_xmlunit_xmlunit_core_2_8_4.xml | 13 + .../Maven__org_yaml_snakeyaml_1_29.xml | 13 + nftmanageserver/.idea/misc.xml | 13 + nftmanageserver/.idea/modules.xml | 8 + nftmanageserver/.idea/runConfigurations.xml | 10 + nftmanageserver/.idea/uiDesigner.xml | 124 ++++++ nftmanageserver/.idea/vcs.xml | 6 + nftmanageserver/HELP.md | 22 ++ nftmanageserver/mvnw | 316 +++++++++++++++ nftmanageserver/mvnw.cmd | 188 +++++++++ nftmanageserver/nftmana | 1 + nftmanageserver/nftmanageserver.iml | 102 +++++ nftmanageserver/pom.xml | 57 +++ .../NftmanageserverApplication.java | 13 + .../goods/controller/SaleItemsController.java | 53 +++ .../goods/mapper/ArtworkMapper.java | 15 + .../goods/mapper/SaleItemsMapper.java | 19 + .../nftmanageserver/goods/pojo/Artwork.java | 90 +++++ .../nftmanageserver/goods/pojo/SaleItems.java | 100 +++++ .../goods/service/ArtworkService.java | 16 + .../goods/service/SaleItemsService.java | 22 ++ .../login/controller/UserController.java | 44 +++ .../login/mapper/UserMapper.java | 42 ++ .../nftmanageserver/login/pojo/User.java | 120 ++++++ .../login/service/UserService.java | 42 ++ .../orders/controller/OrdersController.java | 53 +++ .../orders/mapper/OrdersMapper.java | 16 + .../nftmanageserver/orders/pojo/Orders.java | 103 +++++ .../orders/service/OrdersService.java | 18 + .../controller/RechargeController.java | 41 ++ .../recharge/mapper/RechargeMapper.java | 16 + .../recharge/pojo/Recharge.java | 82 ++++ .../recharge/service/RechargeService.java | 19 + .../report/controller/ReportController.java | 60 +++ .../report/mapper/ReportMapper.java | 23 ++ .../nftmanageserver/report/pojo/Report.java | 92 +++++ .../report/service/ReportService.java | 25 ++ .../user/controller/UserChangeController.java | 17 + .../user/controller/UserGetController.java | 30 ++ .../user/controller/UserUpdateActive.java | 25 ++ .../src/main/resources/application.properties | 1 + .../src/main/resources/application.yml | 9 + .../src/main/resources/static/test.html | 14 + .../NftmanageserverApplicationTests.java | 20 + readme.txt | 5 + 169 files changed, 5207 insertions(+) create mode 100644 AIGenerate/AIGenerateNFT/__init__.py create mode 100644 AIGenerate/AIGenerateNFT/__pycache__/__init__.cpython-39.pyc create mode 100644 AIGenerate/AIGenerateNFT/__pycache__/settings.cpython-39.pyc create mode 100644 AIGenerate/AIGenerateNFT/__pycache__/urls.cpython-39.pyc create mode 100644 AIGenerate/AIGenerateNFT/__pycache__/wsgi.cpython-39.pyc create mode 100644 AIGenerate/AIGenerateNFT/asgi.py create mode 100644 AIGenerate/AIGenerateNFT/settings.py create mode 100644 AIGenerate/AIGenerateNFT/urls.py create mode 100644 AIGenerate/AIGenerateNFT/wsgi.py create mode 100644 AIGenerate/function/__pycache__/exceptions.cpython-39.pyc create mode 100644 AIGenerate/function/__pycache__/snowflake.cpython-39.pyc create mode 100644 AIGenerate/function/__pycache__/stickers.cpython-39.pyc create mode 100644 AIGenerate/function/__pycache__/subject.cpython-39.pyc create mode 100644 AIGenerate/function/exceptions.py create mode 100644 AIGenerate/function/snowflake.py create mode 100644 AIGenerate/function/stickers.py create mode 100644 AIGenerate/function/subject.py create mode 100644 AIGenerate/generate_pixel/__pycache__/admin.cpython-39.pyc create mode 100644 AIGenerate/generate_pixel/__pycache__/apps.cpython-39.pyc create mode 100644 AIGenerate/generate_pixel/__pycache__/models.cpython-39.pyc create mode 100644 AIGenerate/generate_pixel/__pycache__/views.cpython-39.pyc create mode 100644 AIGenerate/generate_pixel/admin.py create mode 100644 AIGenerate/generate_pixel/apps.py create mode 100644 AIGenerate/generate_pixel/models.py create mode 100644 AIGenerate/generate_pixel/tests.py create mode 100644 AIGenerate/generate_pixel/views.py create mode 100644 AIGenerate/manage.py create mode 100644 AIGenerate/output/csv/1442865660962013184.csv create mode 100644 AIGenerate/output/csv/1519858837211840512.csv create mode 100644 AIGenerate/output/csv/1519859153118429184.csv create mode 100644 AIGenerate/output/csv/1519859356684779520.csv create mode 100644 AIGenerate/output/csv/1519860574308007936.csv create mode 100644 AIGenerate/output/csv/1523319122841042944.csv create mode 100644 AIGenerate/output/csv/1523319142554271744.csv create mode 100644 AIGenerate/output/csv/1523319161168592896.csv create mode 100644 AIGenerate/output/csv/1523319179510284288.csv create mode 100644 AIGenerate/output/csv/1523319197768089600.csv create mode 100644 AIGenerate/output/csv/1523320878941601792.csv create mode 100644 AIGenerate/output/csv/1523336144400416768.csv create mode 100644 AIGenerate/tools/__pycache__/colors.cpython-39.pyc create mode 100644 AIGenerate/tools/__pycache__/config.cpython-39.pyc create mode 100644 AIGenerate/tools/__pycache__/configSetting.cpython-39.pyc create mode 100644 AIGenerate/tools/__pycache__/model.cpython-39.pyc create mode 100644 AIGenerate/tools/colors.py create mode 100644 AIGenerate/tools/config.py create mode 100644 AIGenerate/tools/model.py create mode 160000 ArtPRTP delete mode 100644 a.txt create mode 100644 artprtpdb.sql create mode 100644 nftmanageserver/.idea/.gitignore create mode 100644 nftmanageserver/.idea/compiler.xml create mode 100644 nftmanageserver/.idea/encodings.xml create mode 100644 nftmanageserver/.idea/jarRepositories.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_10.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__ch_qos_logback_logback_core_1_2_10.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_2_0_2_graal.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_extension_2_0_2_graal.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__com_alibaba_fastjson_2_0_2_graal.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_13_1.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_13_1.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_13_1.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_13_1.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_13_1.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_13_1.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_6_0.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__com_zaxxer_HikariCP_4_0_3.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__mysql_mysql_connector_java_8_0_28.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_11_22.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_11_22.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__net_minidev_accessors_smart_2_4_8.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__net_minidev_json_smart_2_4_8.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_17_1.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_17_1.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_58.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_58.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_58.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_assertj_assertj_core_3_21_0.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_json_json_20220320.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_8_2.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_8_2.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_8_2.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_8_2.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_8_2.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_8_2.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_mockito_mockito_core_4_0_0.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_4_0_0.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_mybatis_mybatis_3_5_9.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_mybatis_mybatis_spring_2_0_7.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_2_2_2.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_2_2_2.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_objenesis_objenesis_3_2.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_ow2_asm_asm_9_1.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_0.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_36.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_36.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_2_6_4.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_6_4.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_6_4.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_2_6_4.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_6_4.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_6_4.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_2_6_4.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_2_6_4.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_6_4.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_6_4.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_6_4.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_springframework_spring_aop_5_3_16.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_springframework_spring_beans_5_3_16.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_springframework_spring_context_5_3_16.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_springframework_spring_core_5_3_16.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_springframework_spring_expression_5_3_16.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_springframework_spring_jcl_5_3_16.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_springframework_spring_jdbc_5_3_16.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_springframework_spring_test_5_3_16.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_springframework_spring_tx_5_3_16.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_springframework_spring_web_5_3_16.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_springframework_spring_webmvc_5_3_16.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_8_4.xml create mode 100644 nftmanageserver/.idea/libraries/Maven__org_yaml_snakeyaml_1_29.xml create mode 100644 nftmanageserver/.idea/misc.xml create mode 100644 nftmanageserver/.idea/modules.xml create mode 100644 nftmanageserver/.idea/runConfigurations.xml create mode 100644 nftmanageserver/.idea/uiDesigner.xml create mode 100644 nftmanageserver/.idea/vcs.xml create mode 100644 nftmanageserver/HELP.md create mode 100644 nftmanageserver/mvnw create mode 100644 nftmanageserver/mvnw.cmd create mode 160000 nftmanageserver/nftmana create mode 100644 nftmanageserver/nftmanageserver.iml create mode 100644 nftmanageserver/pom.xml create mode 100644 nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/NftmanageserverApplication.java create mode 100644 nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/goods/controller/SaleItemsController.java create mode 100644 nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/goods/mapper/ArtworkMapper.java create mode 100644 nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/goods/mapper/SaleItemsMapper.java create mode 100644 nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/goods/pojo/Artwork.java create mode 100644 nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/goods/pojo/SaleItems.java create mode 100644 nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/goods/service/ArtworkService.java create mode 100644 nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/goods/service/SaleItemsService.java create mode 100644 nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/login/controller/UserController.java create mode 100644 nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/login/mapper/UserMapper.java create mode 100644 nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/login/pojo/User.java create mode 100644 nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/login/service/UserService.java create mode 100644 nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/orders/controller/OrdersController.java create mode 100644 nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/orders/mapper/OrdersMapper.java create mode 100644 nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/orders/pojo/Orders.java create mode 100644 nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/orders/service/OrdersService.java create mode 100644 nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/recharge/controller/RechargeController.java create mode 100644 nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/recharge/mapper/RechargeMapper.java create mode 100644 nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/recharge/pojo/Recharge.java create mode 100644 nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/recharge/service/RechargeService.java create mode 100644 nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/report/controller/ReportController.java create mode 100644 nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/report/mapper/ReportMapper.java create mode 100644 nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/report/pojo/Report.java create mode 100644 nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/report/service/ReportService.java create mode 100644 nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/user/controller/UserChangeController.java create mode 100644 nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/user/controller/UserGetController.java create mode 100644 nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/user/controller/UserUpdateActive.java create mode 100644 nftmanageserver/src/main/resources/application.properties create mode 100644 nftmanageserver/src/main/resources/application.yml create mode 100644 nftmanageserver/src/main/resources/static/test.html create mode 100644 nftmanageserver/src/test/java/zhuluo/learning/nftmanageserver/NftmanageserverApplicationTests.java create mode 100644 readme.txt diff --git a/AIGenerate/AIGenerateNFT/__init__.py b/AIGenerate/AIGenerateNFT/__init__.py new file mode 100644 index 0000000..063cd2c --- /dev/null +++ b/AIGenerate/AIGenerateNFT/__init__.py @@ -0,0 +1,2 @@ +import pymysql +pymysql.install_as_MySQLdb() diff --git a/AIGenerate/AIGenerateNFT/__pycache__/__init__.cpython-39.pyc b/AIGenerate/AIGenerateNFT/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5a9cc4cfa189553790e59236adf32b08781a95d6 GIT binary patch literal 209 zcmYe~<>g`k0>QayNqRu~F^Gc3CiaLyG(=I_-a%?x#riKVe!h|9@1Z1^4nqnaAid+dl z40d5jxb17?qRn03rBAT8x#|nFGwFqU0Fov}`NAcL#qQbjx8I&`0cUx+oP*zL@!j#y zE4kdy>0tV|0E0JhvwuQ^b0~);ocAO@kMdHENF{U=ui?)?a}7Vp+J{;DIhA@cTEUOdE&K&qh1j>@zJq^-?&1o%hrdMk zVY~+SXZY9X0e*}g;@_ap@w%C-e&uXRxm;O0b%I`4VT5xU^jPI2j4Gley~@&c@Pz_TAlq(TD- z;yav%K?VN2Pa!Pz$ZsJFQtop;VBgm3ICPmZj4{r@4gER^>fo@>!vS?!eVlfE=$`jU z;b(X9$Iw6i1mqsNyH%O+Q`(W7<=U0iHMTnK>4L&rhq_a|HEAJVm8t! zH)YD+9LgqEzf`XWflBbhKxt%;iE6SwmEN?|24p=^i)7fssC(T*G3nR(4jfy{Dx*%_gnqB@ z(4C}Ihj$IIvYtE|1%d7ILrgrTY||dFHr%1a!~e)ti>RRKP2JMP+%AAz0+7*sN3|Mz z(QW99xz2%wQg^0Z$e$YA%aTcnG{qRxWBIN)TK-r@Y^)J`zRShIgE8i{b#@BpyAE z@@Y~f+fI+(R2~r)dhduR4B%i5I4W(crk)nJD4Tktt6TQ>`k%$Trf(nYieWgm2#jdp8CELi$}r>R=HDOL{6T_e?R z8Vxlik66%DOHIR?Vog1;_Uv&T+i%sT0h4Xu+;UTG?H;JRy4`4NIyf};bsM#T0wpMZ z+j#!EHS9H?Z?r@qm01YZU_p#Vnul1`^d0q}Y1t5?ZSNR*Q$zO};M>ktWy4}My=56{ z(?oYOdAn->$wt$lbX9z~XIOgEFfFt?Km^l;4Xu17!Xp7+Zxwnq~e@9@_HoS2t- ztj7GTmiwt+v$&qs^B@fz4zfntgn%``pSR}iJ0Ecqn)97`=y1#7j>Bz-ckldZknXYI zn-}fS8{hMePCtPFMGc&vT#(DJXXIFl37?j@#iaL=fj>(BsB$o;Z7Za&+mx2@-Pz^)_^h1JUW=x^`Ny6k<$81i;R2E9kVQk{D z%o7mFtN3|hWWmQevB3$J*Gc$sL37Nd`{79`#+KcxtV{YLCP$1BDhSUDsZ5`ciIO?V zZ-=xf)|*@LFW2!-G78vIh(}TE?4Z{>T65FjB5RCgu>WX*8j1P zW(LX-_Lk2dld2&(U#zaH&D*!5Ij7BL^QqUt?Pj79}kB;NHu7u(Cwr;stii<@r&A-@{1A8ilb`ejah;$%j6 zz(X0#0>8IpShZ%YfIzTpe>vc7e(*K)sP&1=4tY2sy~F#T(TB-!L~~SyC~1M3_D4fd zpqYj7#gx_>myp{yibj^grbYvX+6B;E82+Ku%e;^*b0He{Y$qqq{Vn2VxDGv?>wsDdjmky7kwd{& z(z?fcyx)m#9(9}k^v_PyYXjP(m!NQs=>W_}i*>qL!A7JHl>CPp%DBFB-Pb$k-}nzg POxLIOqi*;ld>Z}*dAhVC literal 0 HcmV?d00001 diff --git a/AIGenerate/AIGenerateNFT/asgi.py b/AIGenerate/AIGenerateNFT/asgi.py new file mode 100644 index 0000000..f9dd944 --- /dev/null +++ b/AIGenerate/AIGenerateNFT/asgi.py @@ -0,0 +1,16 @@ +""" +ASGI config for AIGenerateNFT project. + +It exposes the ASGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'AIGenerateNFT.settings') + +application = get_asgi_application() diff --git a/AIGenerate/AIGenerateNFT/settings.py b/AIGenerate/AIGenerateNFT/settings.py new file mode 100644 index 0000000..8eb695e --- /dev/null +++ b/AIGenerate/AIGenerateNFT/settings.py @@ -0,0 +1,166 @@ +""" +Django settings for AIGenerateNFT project. + +Generated by 'django-admin startproject' using Django 4.0.4. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/4.0/ref/settings/ +""" + +from pathlib import Path + +# Build paths inside the project like this: BASE_DIR / 'subdir'. +BASE_DIR = Path(__file__).resolve().parent.parent + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/4.0/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = 'django-insecure-%071b&dm!kt6@2ak05%+y3tu3#*(%nn2mw=+u0pnn4rpr#(1fu' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +ALLOWED_HOSTS = ['*'] + + +# Application definition + +INSTALLED_APPS = [ + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + 'generate_pixel', + 'corsheaders', +] + +MIDDLEWARE = [ + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + #'django.middleware.csrf.CsrfViewMiddleware', + 'corsheaders.middleware.CorsMiddleware', # 新加 + 'django.middleware.common.CommonMiddleware', # 新加 + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', +] + +ROOT_URLCONF = 'AIGenerateNFT.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [BASE_DIR / 'templates'] + , + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'AIGenerateNFT.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/4.0/ref/settings/#databases + +DATABASES = { + 'default': { + #'ENGINE': 'django.db.backends.sqlite3', + #'NAME': BASE_DIR / 'db.sqlite3', + 'ENGINE': 'django.db.backends.mysql', + 'NAME': 'test', + 'USER': 'root', + 'PASSWORD': '827925', + 'HOST': 'localhost', + 'POST': '3306', + 'CHARSET': 'utf8' + } +} + + +# Password validation +# https://docs.djangoproject.com/en/4.0/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, +] + + +# Internationalization +# https://docs.djangoproject.com/en/4.0/topics/i18n/ + +#LANGUAGE_CODE = 'en-us' +LANGUAGE_CODE = 'zh-hans' + +#TIME_ZONE = 'UTC' +TIME_ZONE = 'Asia/Shanghai' + +USE_I18N = True + +USE_L10N = True + +USE_TZ = False + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/4.0/howto/static-files/ + +STATIC_URL = '/static/' + +# Default primary key field type +# https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field + +DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' + +# 跨域增加忽略 +CORS_ALLOW_CREDENTIALS = True +CORS_ORIGIN_ALLOW_ALL = True +CORS_ORIGIN_WHITELIST = () +# 对应的发送的请求的跨域 +CORS_ALLOW_METHODS = ( + 'DELETE', + 'GET', + 'OPTIONS', + 'PATCH', + 'POST', + 'PUT', + 'VIEW', +) + +CORS_ALLOW_HEADERS = ( + 'accept', + 'accept-encoding', + 'authorization', + 'content-type', + 'dnt', + 'origin', + 'user-agent', + 'x-csrftoken', + 'x-requested-with', +) \ No newline at end of file diff --git a/AIGenerate/AIGenerateNFT/urls.py b/AIGenerate/AIGenerateNFT/urls.py new file mode 100644 index 0000000..b47f4c8 --- /dev/null +++ b/AIGenerate/AIGenerateNFT/urls.py @@ -0,0 +1,26 @@ +"""AIGenerateNFT URL Configuration + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/4.0/topics/http/urls/ +Examples: +Function views + 1. Add an import: from my_app import views + 2. Add a URL to urlpatterns: path('', views.home, name='home') +Class-based views + 1. Add an import: from other_app.views import Home + 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') +Including another URLconf + 1. Import the include() function: from django.urls import include, path + 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) +""" +from django.contrib import admin +from django.urls import path + +import generate_pixel.views + +urlpatterns = [ + path('admin/', admin.site.urls), + path('upload/', generate_pixel.views.imagesNeedTrian), + path('train/', generate_pixel.views.train), + path('test/', generate_pixel.views.generateByModel), +] diff --git a/AIGenerate/AIGenerateNFT/wsgi.py b/AIGenerate/AIGenerateNFT/wsgi.py new file mode 100644 index 0000000..b37a8c0 --- /dev/null +++ b/AIGenerate/AIGenerateNFT/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for AIGenerateNFT project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'AIGenerateNFT.settings') + +application = get_wsgi_application() diff --git a/AIGenerate/function/__pycache__/exceptions.cpython-39.pyc b/AIGenerate/function/__pycache__/exceptions.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c065fbad6ae99eeebb9fdbc63883fbe33c3e468e GIT binary patch literal 625 zcmb7CJ4*vW5Z-%e;-Mf`78cj0h>x>TG2t{m2xtgIn{co!w=2e6ZqL0tNm{iK1Q8oi zL0kO;lEPn-!bTEfWpCwdqNt?ZetthrY4m}#2tPuH6yjF?Ch5v7CJ zugW5;yDW$*+z$;qzp@H_va#66?GjNl?4>x`3uvbX*HPD*2W~Sz+ ztU1%N7G~$5#6q_}!uapbnT!im{}|}j*Ju<1hRO=)q*A4{cC*=o3n{&o#Mmb_hH=ZlxW;Mh$#@v!{g`-P zl?29=yBI$pF$g1j?qfN(;B1FXgw6)@`2lx;Z#Ck9Q;%7_;w2sQ&`(_c4FU^ z$~r$9PX-MkNy)Df${&zabghRJQkob5pf$Am{USa5=kk7(kUh!8{?b`Z&QZbXiBGqT BtFQn7 literal 0 HcmV?d00001 diff --git a/AIGenerate/function/__pycache__/snowflake.cpython-39.pyc b/AIGenerate/function/__pycache__/snowflake.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b5acfce66268d7c89b1d87bb040ef8cf44b09c70 GIT binary patch literal 2633 zcmb7F-ES0C6u)<7c6K`5-Ih{5MI94k*hDJU#E(XrF6{yvX+gS(nbeHK-b7xjS)#SNE#C3pWy2}_#(S)pLq8L&zWrpicj9nJ@?Kz=bn4+ zIlpt(PN#JOm!W1(B zQ)LM=$yBED#30ELQ;YU$wC~_aQ|C#Z*hI|E_R3Y*ry`wXq?2YzGsC61E~d>>vwJUL z9ZWw*n9kSD$Yu{;&pOMJxWjwl?$nGlLf+eEZs0vE%`%LF#zwx0Z=BmaPi813$3JJ% zILUSeEqK7L|2y=dgQ7OYOTMvV(AeWtxM3I%?tM9Gdp;LCY~k;y2W}aKo?AP4tYVkB zK2#XVgBt1`JU#q@EvouZF7Q9731lr@y|DDfrPk~feQ3n?SM2rg?0@;CH(u(0-RSQh zc;z(^aj(=iq5of(ckNn+my)q84SNdi3A^I3@zdaLb+}S1m6tK0%PAxeVN_(;{ULA7 z-d3hNzc`V6GXcH3ZY^2f_(tpJ3)qnWdP_lylTnSc0kN2;@J>G+5Pk&Hx9U z5dCzh71)uQD02~P0TVjLXYtzi_ZKcLUb_jwD2#X!Pf(DS6d17#vM`vAxp`VnnVUjqL220#<|JAp4pe5pY!xj}&{4H+mv6exfc98-gD!DMtb zy40Ngy7}FO=EWN^XP|BiyJ|4ow@ciGq+1RfFk07dw?4gf|L#xC-)A1&n{9oy(EQ^2 z=Ea5P&6^MIoiB_$dHiJb^!Cw6_rEG0KOS(m#0QM#$9I~yzG*I8ZeIQ^HWURW=mBSA zTg|igmhODAc>Q9q5!h=yj70*|J(f*|>CxP~){z5;-pU`c3L~NZj$H|OUWl3q*P&=6 zSIiCP$BJ!nM|??`USl}aR{ab!fEM5KohtWyyIRjGq2lq%F#%nK2y7|>QT787U9kL< z8y=WA>~Y~u?B{OnL~Q~PUiNGCiBkbT5AQE%{E(orsI7uYNkz zEX#2n-?Cl=gI+ffqIFYE!l_dDNz?0AQP#JrTS7ps4%{P@BP^i-pZIi+&O=k{g=PVG zkb*q0GM zJqk#hpbufjn&j@IKn?-VL&THB^rlDeS);S&Rrn%IbM&e!uxXGvGEdGxMKs71*1~pQ znv)rw1Kdy1dH7M{C$M57xg<JIU_Z&`6@vlxD`ic>C$h_%Qsp#Za-cHE3u4~re7^# zzcL)psMbz6?xbTIvvP!mup3nnc_WipT?%zGz`uWGj@2I<_w_LYE1dUunD6?m}_g>{*ME zi1!G5_$iWTHo6g0B%VgH4GI2vil=~t9gy7pfN3s56|s$L?I@N-$N&HU literal 0 HcmV?d00001 diff --git a/AIGenerate/function/__pycache__/stickers.cpython-39.pyc b/AIGenerate/function/__pycache__/stickers.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4eb007577a69a315509671054026147c1a6dd2d3 GIT binary patch literal 2305 zcmYe~<>g`kf?t*Q5-mg+7#@Q-$UqdxaRB1t4n_us6ox2R0Rc) zppk)*p}wWQk&%L-xs`zlP%5=J86x#!%a-T6c06rue!gYFv#A@N^{(S0)p}c7P1ct{ zcQf2#GXR4qwiGakVoNpy!6>#=Bhw@!GfjyiU}|F+0D@XJzXZFV8RQ9U1Qy>>!)B0G zFTwV)fNVx3UV^z`SybyanQpNq=jY@X72je>Ni0bO2Rkq-QY?+r49IsD7Mn+#u) zW+|Gn2w4ORVHGwpge-_fs?Dgnai?R#Hv4I^++vT9PsvY?kB{O^&P-1%N-Zf#jbhJ8 z%q+@H%!}d#G0O9S%#{p9oS37rEhHwbG%vX%Ge0k;xFj<<8>mUIpz;=nO>TZlX-=vg$dSb@K!Syx Sjfsts2>6!iADa|y)B*raRAv_d literal 0 HcmV?d00001 diff --git a/AIGenerate/function/__pycache__/subject.cpython-39.pyc b/AIGenerate/function/__pycache__/subject.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a31104d769c9a02cee20abe65845d30f4422f976 GIT binary patch literal 12406 zcmd6t+jCPz9LLk!DHO_GDJWPksPzJAp(R0zMGyqBUH~sK+DVgh5G@Up3*ximj5E$S zj!)hm9N(OAeDY1lKP0b?LY{or8OPmk==mnU?%A^^4N5wE``g{${yx9oo;{n>kizKb zNJ_o-oedWMPN!18=|=l&w`$C(f7KrcQmIlZmn!vL>bsOG^?!FK=~!vtoBo{6Xb^b~ zK|Sa&bX}XShdlz_0Nn^3g>HgwhHimwg>Hjxhwgyh1-%=(6FLUn1>Ft3M`Dm^uMAbVhHYJBqWk@U10@~g$x(2bwJ`2Fi&fB)#i8$W$Jk`z2U+f@0c zCdMj#>ev4u6a5XZSY9eus*S-?p;nj}K@trwjaS19{Fxv3WO z;3UZQrU}Y;u#DthLUj(!AzcJe#IGXbf}s~;FHMY!O3~b^p%g|AcgD(UhaIgP8Jlwq zDK!T*fMnq;$Yf~CMh@dNhc#fk7W8e?7DPbdLO(bI56eQvxT#zbF*(_Q@2FW6gr=xK zxQO+{sF)^P!opXRMQjEW1B^&ZICB6NMlED6rQKpM0f=nIkws}Hd}M6wrl$|B9pM>f!Xq|ZAaD_QCo*G;h-h+@mfa7dab#X>5jGNP_cK5vb{I1=q0kp8 z%mG#u)JDb}UNxeam&u}^m}_ueeOJ+maoFc-#m~L<5M9x4@i{M0PsXJ~6+DmOQ3jhD z@6LEO)}KaHHYl+r?3!G6ez9a6eci=wdki-Ou#tJ*c8Rx6izVYIvWAeQIVPNx%;z;> zVLbswuJH-m$P6YZkxj>PZN~t21Sts1CM=vYq7O|5h_Y-oGh!rEkcD3q)U9SNAQOSb z16J_R1k_r+t!B&?VFeU;CP&L!Zfwm0iY5+ImJ17ggwnF&Z8bB5umo9*ve{FzfU-#* ztzMBy;gZwBD50==Pi79n>J=F&Gnk;5nsm078@snTn-NVs^w9;=_^Ae?bXvB(-RX%$ zTS5vf;YTPf;i8*K$pXqIDYOhc=AVE}3Z4qlq=lvj4W=iq+1Z0MFu+~Pl-_K%2m`yx%jXMkg z6TVkuZebH8ai!elogX`8CWBz{Fg|utj}B?||FSbVFMTjQolaN6&z;mr5colWPpOK* zqS`9_&l^{ZE9N@G;FpvPDDDvmnuf3r<;0R%pMVNH{TvfnA)6+mk0%W+LTT|Y4NQy2 zcaX8=m;;*R35%~kNe4>=Wm8+L$r!f-xX>i?zZghnHij#Z zfGl_pP~L~!GGXCsBooj2c)GwMzVix1kRz8|6i%KPAf9JISZ>4)>l`d$&_%lyCk#l&YRk;W*u({ms=kP8t-q{?b zg=``v^mDt;p?h0tYweq#7;X$NER@Q{g$4CR%);`uLNzyZrChK2x>>6&`MH5Bh2`AP z`(^d3vA)%}aPq|Wsmd;O6hZ!)KXD{~vFcZ<`E&kq`C2)zzMlGCt$a0qz3yMXoIif% zw7=|E)VEpZPhH4gx@9k1y?otY$_Mr3V(oHyIbW?WzUvoj`>%e`Sa File :Master-art-punk -> exceptions +@IDE :PyCharm +@Author :蒋虎成 +@Date :2021/9/28 22:38 +@Desc : +==================================================''' +class InvalidSystemClock(Exception): + """ + 时钟回拨异常 + """ + pass \ No newline at end of file diff --git a/AIGenerate/function/snowflake.py b/AIGenerate/function/snowflake.py new file mode 100644 index 0000000..682510d --- /dev/null +++ b/AIGenerate/function/snowflake.py @@ -0,0 +1,109 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- +'''================================================= +@Project -> File :Master-art-punk -> snowflake +@IDE :PyCharm +@Author :蒋虎成 +@Date :2021/9/28 22:37 +@Desc : +==================================================''' +import time +import logging + +from function.exceptions import InvalidSystemClock + + +# 64位ID的划分 +WORKER_ID_BITS = 5 +DATACENTER_ID_BITS = 5 +SEQUENCE_BITS = 12 + +# 最大取值计算 +MAX_WORKER_ID = -1 ^ (-1 << WORKER_ID_BITS) # 2**5-1 0b11111 +MAX_DATACENTER_ID = -1 ^ (-1 << DATACENTER_ID_BITS) + +# 移位偏移计算 +WOKER_ID_SHIFT = SEQUENCE_BITS +DATACENTER_ID_SHIFT = SEQUENCE_BITS + WORKER_ID_BITS +TIMESTAMP_LEFT_SHIFT = SEQUENCE_BITS + WORKER_ID_BITS + DATACENTER_ID_BITS + +# 序号循环掩码 +SEQUENCE_MASK = -1 ^ (-1 << SEQUENCE_BITS) + +# Twitter元年时间戳 +TWEPOCH = 1288834974657 + + +logger = logging.getLogger('flask.app') + + +class IdWorker(object): + """ + 用于生成IDs + """ + def __init__(self, datacenter_id, worker_id, sequence=0): + """ + 初始化 + :param datacenter_id: 数据中心(机器区域)ID + :param worker_id: 机器ID + :param sequence: 其实序号 + """ + # sanity check + if worker_id > MAX_WORKER_ID or worker_id < 0: + raise ValueError('worker_id值越界') + + if datacenter_id > MAX_DATACENTER_ID or datacenter_id < 0: + raise ValueError('datacenter_id值越界') + + self.worker_id = worker_id + self.datacenter_id = datacenter_id + self.sequence = sequence + + self.last_timestamp = -1 # 上次计算的时间戳 + + def _gen_timestamp(self): + """ + 生成整数时间戳 + :return:int timestamp + """ + return int(time.time() * 1000) + + def get_id(self): + """ + 获取新ID + :return: + """ + timestamp = self._gen_timestamp() + + # 时钟回拨 + if timestamp < self.last_timestamp: + logging.error('clock is moving backwards. Rejecting requests until {}'.format(self.last_timestamp)) + raise InvalidSystemClock + + if timestamp == self.last_timestamp: + self.sequence = (self.sequence + 1) & SEQUENCE_MASK + if self.sequence == 0: + timestamp = self._til_next_millis(self.last_timestamp) + else: + self.sequence = 0 + + self.last_timestamp = timestamp + + new_id = ((timestamp - TWEPOCH) << TIMESTAMP_LEFT_SHIFT) | (self.datacenter_id << DATACENTER_ID_SHIFT) | \ + (self.worker_id << WOKER_ID_SHIFT) | self.sequence + return new_id + + def _til_next_millis(self, last_timestamp): + """ + 等到下一毫秒 + """ + timestamp = self._gen_timestamp() + while timestamp <= last_timestamp: + timestamp = self._gen_timestamp() + return timestamp + + +if __name__ == '__main__': + for i in range(0,9): + worker = IdWorker(1, 2, 0) + print(worker.get_id()) \ No newline at end of file diff --git a/AIGenerate/function/stickers.py b/AIGenerate/function/stickers.py new file mode 100644 index 0000000..0bced98 --- /dev/null +++ b/AIGenerate/function/stickers.py @@ -0,0 +1,82 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- +"""================================================= +@Author :蒋虎成 +@Date :2021/9/22 17:04 +@Desc :贴纸元素数据 +==================================================""" +# 香烟贴纸 +cigarette = { + 'colors': [0, '000000', 'dddddd', 'c6c6c6', 'e25b26'], + 'data': [ + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 3, 3, 3, 3, 4, 1, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0] + ] +} +# 男头发贴纸 +hairman = { + 'colors': [0, 'ed93f0'], + 'data': [ + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + ] +} +# 女头发贴纸 +hairwoman = { + 'colors': [0, 'ed93f0'], + 'data': [ + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + ] +} diff --git a/AIGenerate/function/subject.py b/AIGenerate/function/subject.py new file mode 100644 index 0000000..49a0771 --- /dev/null +++ b/AIGenerate/function/subject.py @@ -0,0 +1,181 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- +"""================================================= +@Author :蒋虎成 +@Date :2021/9/22 17:05 +@Desc :绘图元素 +==================================================""" +# 设置24*24的画布 +canvas = { + 'colors': [0], + 'data': [ + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + ] +} +mouse = { + 'colors': [0, '000000', 'fe6f06', 'fbb988', 'd2d8db', 'ffffff', 'ecd993', '8af9ff', 'ff94f8', '998fff'], + 'data': [ + [9, 9, 9, 1, 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 9, 9, 9], + [9, 9, 1, 2, 2, 2, 2, 2, 2, 1, 9, 9, 9, 9, 9, 1, 3, 3, 3, 3, 3, 1, 9, 9], + [9, 1, 2, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 1, 1, 3, 1, 9], + [9, 1, 8, 8, 8, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 1, 8, 8, 8, 1, 9], + [9, 1, 8, 8, 8, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 1, 8, 8, 8, 1, 9], + [9, 1, 8, 8, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 5, 1, 8, 8, 1, 9], + [9, 9, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 5, 5, 5, 1, 1, 9, 9], + [9, 9, 9, 1, 2, 2, 1, 1, 1, 2, 2, 2, 4, 3, 3, 1, 1, 1, 5, 5, 1, 9, 9, 9], + [9, 9, 9, 1, 2, 1, 1, 7, 7, 1, 4, 4, 3, 3, 1, 7, 7, 1, 1, 5, 1, 9, 9, 9], + [9, 9, 1, 2, 2, 1, 1, 7, 7, 1, 4, 4, 3, 3, 1, 7, 7, 1, 1, 5, 5, 1, 9, 9], + [9, 9, 1, 4, 4, 1, 7, 1, 1, 1, 4, 4, 5, 5, 1, 1, 1, 7, 1, 5, 5, 1, 9, 9], + [9, 9, 1, 1, 4, 4, 1, 1, 1, 4, 4, 5, 5, 5, 5, 1, 1, 1, 5, 5, 5, 1, 9, 9], + [9, 9, 1, 4, 4, 4, 4, 4, 4, 4, 4, 5, 1, 5, 5, 5, 5, 5, 5, 5, 5, 1, 9, 9], + [9, 9, 1, 1, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, 9, 9], + [9, 9, 1, 4, 4, 4, 4, 4, 4, 1, 5, 5, 1, 5, 5, 1, 5, 5, 5, 5, 5, 1, 9, 9], + [9, 9, 9, 1, 4, 4, 4, 4, 5, 5, 1, 1, 5, 1, 1, 5, 5, 5, 5, 5, 1, 9, 9, 9], + [9, 9, 9, 1, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, 9, 9, 9], + [9, 9, 9, 1, 1, 2, 3, 5, 1, 5, 5, 5, 5, 5, 5, 1, 5, 3, 2, 1, 1, 9, 9, 9], + [9, 9, 9, 1, 2, 3, 5, 6, 6, 1, 5, 5, 5, 5, 1, 6, 6, 5, 3, 2, 1, 9, 9, 9], + [9, 9, 9, 1, 5, 5, 1, 6, 6, 1, 5, 5, 5, 5, 1, 6, 6, 1, 5, 5, 1, 9, 9, 9], + [9, 9, 9, 9, 1, 5, 5, 1, 1, 5, 5, 5, 5, 5, 5, 1, 1, 5, 5, 1, 9, 9, 9, 9], + [9, 9, 9, 9, 9, 1, 5, 5, 5, 1, 1, 1, 1, 1, 1, 5, 5, 5, 1, 9, 9, 9, 9, 9], + [9, 9, 9, 9, 1, 6, 6, 1, 1, 9, 9, 9, 9, 9, 9, 1, 1, 6, 6, 1, 9, 9, 9, 9], + [9, 9, 9, 9, 9, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 9, 9, 9, 9, 9] + ] +} +cattle = { + 'colors': [0, '000000', 'faf9d4', 'ffffff', 'fe6f06', 'fbb988', 'd2d8db', 'ecd993', '8af9ff', 'ff94f8'], + 'data': [ + [9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9], + [9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9], + [9, 9, 9, 9, 9, 9, 4, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9], + [9, 9, 9, 9, 9, 4, 4, 4, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4, 9, 9, 9, 9, 9], + [9, 9, 9, 9, 9, 4, 2, 4, 9, 9, 9, 9, 9, 9, 9, 9, 4, 4, 4, 9, 9, 9, 9, 9], + [9, 9, 9, 9, 9, 4, 2, 4, 9, 3, 3, 3, 3, 3, 9, 4, 2, 2, 4, 9, 9, 9, 9, 9], + [9, 9, 9, 9, 9, 9, 4, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 9, 9, 9, 9, 9, 9], + [9, 9, 9, 9, 9, 9, 3, 3, 4, 3, 3, 3, 5, 3, 3, 3, 3, 9, 9, 9, 9, 9, 9, 9], + [9, 9, 9, 9, 9, 3, 3, 4, 3, 3, 3, 5, 5, 3, 3, 4, 3, 3, 9, 9, 9, 9, 9, 9], + [9, 9, 9, 9, 9, 9, 4, 4, 3, 3, 3, 5, 5, 4, 3, 3, 4, 9, 3, 9, 9, 9, 9, 9], + [9, 9, 9, 9, 9, 9, 4, 3, 3, 3, 5, 5, 5, 4, 4, 4, 4, 9, 9, 9, 9, 9, 9, 9], + [9, 9, 9, 9, 9, 4, 3, 3, 4, 1, 5, 5, 5, 1, 4, 4, 4, 4, 9, 9, 9, 9, 9, 9], + [9, 9, 9, 9, 9, 4, 4, 4, 4, 4, 5, 5, 5, 4, 4, 4, 4, 4, 9, 9, 9, 9, 9, 9], + [9, 9, 9, 9, 9, 4, 4, 4, 4, 5, 5, 5, 5, 5, 4, 4, 4, 4, 9, 9, 9, 9, 9, 9], + [9, 9, 9, 9, 9, 4, 4, 4, 5, 5, 1, 5, 1, 5, 5, 4, 4, 4, 9, 9, 9, 9, 9, 9], + [9, 9, 9, 9, 9, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 9, 9, 9, 9, 9, 9], + [9, 9, 9, 9, 9, 9, 4, 4, 5, 5, 5, 5, 5, 5, 5, 4, 4, 9, 9, 9, 9, 9, 9, 9], + [9, 9, 9, 9, 9, 9, 9, 4, 4, 5, 5, 5, 5, 5, 4, 4, 9, 8, 8, 9, 9, 9, 9, 9], + [9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4, 4, 4, 9, 9, 9, 8, 8, 8, 8, 9, 9, 9, 9], + [9, 9, 9, 9, 9, 9, 9, 9, 9, 4, 4, 4, 4, 4, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9], + [9, 9, 9, 9, 9, 9, 9, 9, 4, 4, 6, 4, 6, 4, 4, 8, 8, 9, 9, 9, 9, 9, 9, 9], + [9, 9, 9, 9, 9, 9, 9, 9, 7, 4, 7, 4, 7, 4, 7, 9, 9, 9, 9, 9, 9, 9, 9, 9], + [9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9], + [9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9] + ] +} +man = { + 'colors': [0, '000000', 'e0c29e', '585858', 'fdfdfd'], + 'data': [ + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 1, 2, 2, 3, 3, 2, 2, 2, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 1, 2, 2, 2, 1, 4, 2, 2, 2, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + ] +} +woman = { + 'colors': [0, '000000', 'e0c29e', '585858', 'fdfdfd'], + 'data': [ + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 1, 2, 3, 3, 2, 2, 2, 3, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 1, 2, 2, 1, 4, 2, 2, 2, 1, 4, 2, 2, 1, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 1, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 1, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0] + ] +} +cattle_DC = { + 'colors': [0,"000000","81ffb7","ffffff","f0ff96","030500",'ecd993', '8af9ff',"fffeff","fafcfb"], + 'data': [ + [7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7], + [7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 4, 4, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7], + [7, 7, 7, 7, 7, 7, 1, 1, 1, 4, 4, 4, 4, 1, 1, 1, 7, 7, 7, 7, 7, 7, 7, 7], + [7, 1, 1, 7, 7, 1, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 1, 7, 7, 7, 7, 7, 7, 7], + [7, 1, 2, 1, 1, 2, 3, 3, 3, 3, 3, 4, 1, 1, 5, 5, 5, 1, 7, 7, 7, 7, 7, 7], + [7, 1, 2, 2, 1, 2, 2, 3, 1, 1, 1, 1, 7, 7, 1, 5, 5, 1, 7, 7, 7, 7, 7, 7], + [7, 7, 1, 2, 1, 2, 2, 1, 8, 8, 8, 8, 8, 8, 1, 5, 5, 1, 7, 7, 7, 7, 7, 7], + [7, 7, 1, 1, 2, 2, 1, 8, 8, 8, 8, 8, 8, 1, 5, 5, 5, 1, 7, 7, 7, 7, 7, 7], + [7, 7, 7, 1, 2, 2, 1, 8, 1, 1, 8, 8, 1, 5, 5, 5, 1, 7, 7, 7, 7, 7, 7, 7], + [7, 7, 7, 1, 2, 1, 8, 8, 1, 1, 8, 8, 8, 1, 1, 1, 6, 1, 7, 7, 1, 7, 7, 7], + [7, 7, 7, 7, 1, 8, 8, 8, 1, 1, 8, 8, 8, 1, 6, 6, 6, 1, 1, 1, 5, 1, 7, 7], + [7, 7, 7, 7, 1, 8, 8, 8, 8, 8, 8, 8, 1, 6, 6, 6, 1, 1, 3, 3, 2, 1, 7, 7], + [7, 7, 7, 7, 1, 8, 8, 8, 8, 8, 8, 8, 8, 1, 1, 1, 4, 4, 4, 3, 3, 1, 7, 7], + [7, 7, 7, 7, 7, 1, 8, 8, 8, 8, 8, 8, 1, 1, 8, 8, 8, 4, 4, 3, 1, 7, 7, 7], + [7, 7, 7, 7, 7, 7, 1, 1, 1, 1, 1, 1, 8, 8, 1, 1, 1, 1, 4, 1, 7, 7, 7, 7], + [7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 8, 8, 8, 8, 8, 8, 8, 8, 1, 8, 1, 1, 7, 7], + [7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 3, 3, 1, 7], + [7, 7, 7, 7, 7, 7, 7, 7, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 2, 2, 1, 7], + [7, 7, 7, 7, 7, 7, 7, 7, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 5, 1, 7], + [7, 7, 7, 7, 7, 7, 7, 1, 8, 1, 8, 8, 1, 1, 1, 1, 1, 1, 8, 8, 1, 6, 1, 7], + [7, 7, 7, 7, 7, 7, 7, 1, 2, 1, 5, 5, 1, 7, 7, 7, 1, 5, 1, 2, 2, 1, 1, 7], + [7, 7, 7, 7, 7, 7, 7, 1, 3, 1, 4, 4, 1, 7, 7, 7, 1, 4, 1, 3, 3, 1, 7, 7], + [7, 7, 7, 7, 7, 7, 7, 7, 1, 1, 1, 1, 7, 7, 7, 7, 1, 1, 1, 1, 1, 1, 7, 7], + [7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7] + ] +} + diff --git a/AIGenerate/generate_pixel/__pycache__/admin.cpython-39.pyc b/AIGenerate/generate_pixel/__pycache__/admin.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5aea87d59590d229158d3e5f9356e9e1520f7fe5 GIT binary patch literal 202 zcmYe~<>g`k0=ao(44TX@fuanW zjJH@5Q*tx&{4|-O_)@YG^V0M6lJoOQiZYXmKnAR2C}IXuVB(jvvsFxJacWU4QDRA|pIb;wI+Pt>kXezM69cwIub}c4hfQvN QN@-529V5`(&p^xo07vCBd;kCd literal 0 HcmV?d00001 diff --git a/AIGenerate/generate_pixel/__pycache__/apps.cpython-39.pyc b/AIGenerate/generate_pixel/__pycache__/apps.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..099c2439d6400f091c76b8ffc488ca951fb1dc02 GIT binary patch literal 453 zcmY*Vy-ve05Vqq~D*a&qRuF5JJODzdKd1-^RY<@RS+ZPwi2`mM;sg~|cn&rOUdbyH zufW8)Eux%s=ll8YyYtC@ze7+C-qP7SzMnqWln{dfsy#%bh@zUzX+kMEBPvkrl_&=E zg(ZOsuSnGTLKKOp+ZvYT*c54=-TKU?Pz(mBb`K4ZgerpFG+`=8LdB3Jbh~FzKqYIq z%om_nM9=%`P8OMo)hwPH1=_}=JR3H(ndG3A+s@WKqV!GEsO8#16mkwixQ-Cm(`fJa zgm`GAURQP$q_WYqkjNy`B~|EaAEff9S(@+B_=w+Fs4TyL!aN#&3iiG>C0{hK$ocU6 zcj4*en*U#f%d)g_`BX7v^XIhQv}s6}nQ6pacl|SutO7sOWBg`k0=ao(44TX@fuanW zjJMcw^HWlDiv2X1ZgHk$CFZ5)>!l4QDRA|pIb;wI+Pt>kXezM69ch9ub}c4hYgTjnv-hB L2sHRJ5HkP(!$LB^ literal 0 HcmV?d00001 diff --git a/AIGenerate/generate_pixel/__pycache__/views.cpython-39.pyc b/AIGenerate/generate_pixel/__pycache__/views.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6a4a936ec6268a79ee37fefec3c73dca288fc375 GIT binary patch literal 4557 zcmZ`+TWlQF8J;t@oxR)6-K1$6E@cZiX_O+GMil2p4atTkju3;*8eaKV4|I9kIp`Fp3^Pe;S zx&8D1-~UZ9olYpY_Wt|icyW`W{EZqbFAa^S@c6e;IEurniXGL=X0ol?s;o6zleKQ^ zsMV@bGi{TRu2zlJEZdT@UX9lhc0$SqriiW);k+eZ*tf%CAVn_ zXHfDv7N&k8MDwWYHyd@|Mcd?V-Elc2W29CrQ&(IH2fZpaVt#A9;+6!&?7l{|!4J2p z!dq6g1TT7ZuU;-OTA+8CsN;C{;qh;v2$Tx!cS7YKLSh}&QLnHzbF{W9w1CYqrUY!i z@{(w4Lhl%X)-fIZ3f^y0pr?zNV+boy=hz0tG4aIa)C+@cBQQGg0D4S$9=6tT&uL7l z_kCaS#SVqZ`vsIDv3k5*Pj$2nN?VuOrShTv+>v9WvzAB3 z@n3vti4J-1sZp5yn5$WXa1Epy05)D6Kjl%?W0 ziiN*?Mc3bdT+-26z9`J;k?!~v1R{hHDCx?7qc|mdXcKqe|)R+I2>xrmuhqB`vyPkTKc9}C;DY)dF z8|UUP{;_-E?e3-93un)CuixxmyU{)W+QO}my02WHfBj7N>O0-{Kj>b+kl0Gs?q-n} zYg-#FF@ZSWy){yuf9uShFFw2T=gZws-tNA8y?gm*tF&w5%Zdw^uFiMPz%!rSyGp|s zZgcn6`D+*EKfbbfeQy5EPZ!=f-JAQ`#f9@{R%uVQig3zPnDmv)-49;-A9~ysEnZ(< zHQHXZF|56E&nwU70SS~*!mi!|`CKMc8-A!ai(*nni|@_4d@Wpo8z}5`hmH*IFN_{N zp5He-dSHKHNJ3`Qq~%R%#IJ|M@NPajSL^d+v2nv#t+Pt+@|mv z^;{y1^(-5zwQ>G1O~FpsW}`skZPlxVY$jxzB4_adk}VXW3A~%|%67Iy2}L4Ffj&+2MK+L1+;OV~a!o%% zB#m#T?!IV54UkrqL+rSe^TpcNjTjm-H|@tTpY}o!LLibcES2v;dzHz^T;vMUWCtM# zrNd;rGntxp!YoQf?PwIsh-^)^^Z-WVj|-$MGT2lGqksmKlBO~;fv|io#&ei2j1fXR z9_QbqmR@Oibs(xwJ-ev~&Q)tnyE)yClP%=oZMEuiN+-5C5m|_^c7>zR$YXf!ozP+# zHN_IDoO9I)(@?vYln((imYw1a#-Cc5mVro7lEyjUC_q7^WY$Z`hD^zth;=N-a7wve9V_tJARvc)&j^UEvKbD)Y;AuZw}RmnIBB;eFJt!;>Gr!O#ox2EV9 z1A#e5dx?oPPCAHPQk=|XX>qZ3PH9_WU1h!4uzDABtgN=@BZl*-LvQJ+_<@T_U8P%*Sc3fTl&rU`OYnZKlv((!tRA@3l~4^ z#pRoz2{&5=0(Wlwu0^Yi!?^yg^Wj& z7wb-=23~*~@F!uB6BzJ8Drm1EtMeaGtpNqdpNk-tp;iUs(8>9u@Q#r>F+|%e73;)WPnLpa1~cY>7gh06=n=v_uN| zA^0$@wUr7ABK{pJoGVt6L%Ov9*skYf(Au7rIPHVt{^R4sg&IECcAH=(K zkeOzHu#G`xS?dipwGk|ym06J4pm?mE#SZ#btvuRJqOX6|>O23>>X}ZKR&Ngk{a9gu z{u^j7SY;yULr;INbu{P;vQA=;5@eAtlX;F$rz{bDkRX82P9tz!-fUEhk|n78D7~bj zMA5o@kxcnW0y~ATgG_{vrA}z;iSeoV+0=tOcFrt6(kF9T$au)gAshd?k6L@G#oD-2 zeDar=>z{a(*)7Px_d;%HPqk4hR{bX-M2exgLtd1rk)gqyi0$Y45ZTi^ZTu2YY~!C| zve8!Ac(fQD<^%!Z=ZaC=(LW+DRFig_E8mChb(zm~_4Jq_FXe zRcrR%B&8g^2sMEpo|kC)IGw5>m$PZM1TT*lM58e2&hTC6;6ETOpgC+{Cwq`V>Y*W7 z2bVk6@f%g+Mbcjl4*W3s+IV~-A>be87PemAplyi+fPmJMrb`k9mF*_5g0y(B1}3Jz-eP>5`X;?AML(gk3ZSq zqSO*TCw~jI=SB`igjX`+lxQ@n{!m2JB6PPVTJ;h+ZiL?VG{`|Xp}L)n21T|ZrYC>T zBtMmmOOg@^c=8}C%q0zXKkdWXgW;{J`y@q={{Ra5=fka9FonFe<=R@8*lcC3l(pqQ DO2W>T literal 0 HcmV?d00001 diff --git a/AIGenerate/generate_pixel/admin.py b/AIGenerate/generate_pixel/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/AIGenerate/generate_pixel/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/AIGenerate/generate_pixel/apps.py b/AIGenerate/generate_pixel/apps.py new file mode 100644 index 0000000..484ed3e --- /dev/null +++ b/AIGenerate/generate_pixel/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class GeneratePixelConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'generate_pixel' diff --git a/AIGenerate/generate_pixel/models.py b/AIGenerate/generate_pixel/models.py new file mode 100644 index 0000000..71a8362 --- /dev/null +++ b/AIGenerate/generate_pixel/models.py @@ -0,0 +1,3 @@ +from django.db import models + +# Create your models here. diff --git a/AIGenerate/generate_pixel/tests.py b/AIGenerate/generate_pixel/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/AIGenerate/generate_pixel/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/AIGenerate/generate_pixel/views.py b/AIGenerate/generate_pixel/views.py new file mode 100644 index 0000000..3be722c --- /dev/null +++ b/AIGenerate/generate_pixel/views.py @@ -0,0 +1,176 @@ +import base64 +import csv +import os +import random + +import cv2 +from django.http import HttpResponse +from django.shortcuts import render +from PIL import Image +from PIL import ImageFile + +# Create your views here. +import tools.config as config +from function import subject +from tools.colors import ColorMultiImage +from tools.model import training + + +def imagesNeedTrian(request): + if request.method == 'POST': + images = request.POST.getlist("images[]") + i = 1 + print(images) + for image in images: + image_data = base64.b64decode(image.split('base64,')[1]) + # destination = open('./data/' + str(i) + ".jpg", 'wb+') + # for chunk in image_data.chunks(): + # destination.write(chunk) + # destination.close() + with open('./data/' + str(i) + ".jpg", 'wb+') as f: + f.write(image_data) + compress_image('./data/' + str(i) + ".jpg") + i = i + 1 + return HttpResponse('上传成功,请等待训练', content_type="text/plain") + else: + return HttpResponse('上传失败,请重新上传', content_type="text/plain") + + +# 压缩图片文件 +def compress_image(outfile, mb=15, quality=85, k=0.9): + """不改变图片尺寸压缩到指定大小 + :param outfile: 压缩文件保存地址 + :param mb: 压缩目标,KB + :param step: 每次调整的压缩比率 + :param quality: 初始压缩比率 + :return: 压缩文件地址,压缩文件大小 + """ + o_size = os.path.getsize(outfile) // 1024 + print(o_size, mb) + if o_size <= mb: + return outfile + + ImageFile.LOAD_TRUNCATED_IMAGES = True + while o_size > mb: + im = Image.open(outfile) + x, y = im.size + out = im.resize((int(x * k), int(y * k)), Image.ANTIALIAS) + try: + out.save(outfile, quality=quality) + except Exception as e: + print(e) + break + o_size = os.path.getsize(outfile) // 1024 + return outfile + + +# 训练生成颜色模型 +def train(request): + if request.method == 'GET': + color_model_path = training(config.color_data_path) + print("颜色模型生成路径:" + color_model_path) + modelName = color_model_path.split("csv\\")[1] + # with open(color_model_path, 'rb') as f: + # response = HttpResponse(f.read(), content_type="application/octet-stream") + # response['Content-Disposition'] = 'attachment; filename={0}'.format(modelName + '.csv') + # # 训练成功后删除data文件夹下的内容 + del_files('./data/') + + return HttpResponse(modelName, content_type="text/plain") + + +# 删除文件夹下的文件 +def del_files(path_file): + ls = os.listdir(path_file) + for i in ls: + f_path = os.path.join(path_file, i) + # 判断是否是一个目录,若是,则递归删除 + if os.path.isdir(f_path): + del_files(f_path) + else: + os.remove(f_path) + + +# 根据用户训练生成的模型和源图片生成NFT +def generateByModel(request): + if request.method == 'POST': + image = request.POST.get('image') + count = int(request.POST.get('count')) + image_data = base64.b64decode(image.split('base64,')[1]) + i = random.randint(1,100) + with open('./rootPic/' +str(i)+".jpg", 'wb+') as f: + f.write(image_data) + # with open('./rootPic/' + image.name, 'wb+') as f: + # f.write(image.read()) + # 转为24X24像素图 + # convertPixel('./rootPic/'+image.name) + config.n = count + # 打开模型csv + f = open(config.color_model_path, "r+", encoding="utf-8-sig") + reader = csv.reader(f) + colors_max = len(list(reader)) + print(f"当前为艺术家风格,当前模型可用颜色数为{colors_max}个") + generate_color = ColorMultiImage() + stickers = [subject.canvas, convertPixel('./rootPic/' + str(i)+".jpg")] # 选择模型 + for amount in range(1, config.n+1): # 设置生成数量 + pixel = generate_color.merges(stickers) + colors_number = generate_color.colors_number + generate_color.generate(pixel, config.color_output_name, str(amount), config.color_model_path, 1, colors_number) + print(f"INFO:生成第{str(amount)}个{config.color_output_name}") + # del_files('./output/'+config.color_output_name+"-output") + return HttpResponse('ok', content_type="text/plain") + + +# 将用户上传的图片转为24X24并获取其矩阵值 +def convertPixel(file_path): + image = cv2.imread(file_path) + + # crop_size = (24,24) + # image = cv2.resize(img, crop_size, interpolation=cv2.INTER_CUBIC) + # cv2.imwrite("1.png", image) + + pixel_width, pixel_height = image.shape[0] // 24, image.shape[1] // 24 + temp_width = int(round(image.shape[0] / pixel_width)) + temp_height = int(round((image.shape[1] / pixel_height))) + tmp = cv2.resize(image, (temp_width, temp_height), interpolation=cv2.INTER_LINEAR) + image = cv2.resize(tmp, (image.shape[0], image.shape[1]), interpolation=cv2.INTER_NEAREST) + image = cv2.resize(image, (24, 24), interpolation=cv2.INTER_CUBIC) + + # tmp = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) + # alpha = cv2.threshold(tmp, 0, 255, cv2.THRESH_BINARY) + # b, g, r = cv2.split(image) + # rgba = [b, g, r, alpha] + # image = cv2.merge(rgba,4) + + # cv2.imshow("image", image) + # cv2.imwrite("2.png", image) + cv2.waitKey(0) + shape = image.shape + print(shape) + data_list = image.data.tolist() + colors = [] + + rgb_to_hex = lambda r, g, b: '%02x%02x%02x' % (r, g, b) + + for x in range(shape[0]): + for y in range(shape[1]): + color = data_list[x][y] + color = rgb_to_hex(*color) + colors.append(color) + colors_list = ['000000'] + for color in colors: + if color not in colors_list: + colors_list.append(color) + model = {'colors': [0] + colors_list} + # print(model) + data = [] + for x in range(shape[0]): + item = [] + for y in range(shape[1]): + color = data_list[x][y] + color = rgb_to_hex(*color) + index = colors_list.index(color) + item.append(index + 1) + data.append(item) + model['data'] = data + return model diff --git a/AIGenerate/manage.py b/AIGenerate/manage.py new file mode 100644 index 0000000..afa5bc3 --- /dev/null +++ b/AIGenerate/manage.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + """Run administrative tasks.""" + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'AIGenerateNFT.settings') + try: + from django.core.management import execute_from_command_line + except ImportError as exc: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) from exc + execute_from_command_line(sys.argv) + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/AIGenerate/output/csv/1442865660962013184.csv b/AIGenerate/output/csv/1442865660962013184.csv new file mode 100644 index 0000000..a089107 --- /dev/null +++ b/AIGenerate/output/csv/1442865660962013184.csv @@ -0,0 +1,360 @@ +141,155,167 +160,176,176 +148,167,177 +154,180,191 +132,145,159 +154,164,163 +125,134,144 +146,145,149 +123,147,180 +167,188,189 +130,106,99 +141,130,132 +137,118,115 +136,161,190 +117,120,127 +103,140,189 +120,80,67 +131,94,82 +114,156,203 +172,199,204 +109,92,89 +109,132,166 +102,106,111 +81,131,194 +136,178,214 +104,65,54 +27,33,33 +191,216,218 +73,75,78 +46,80,207 +222,187,126 +216,178,109 +230,217,202 +78,127,106 +224,198,148 +66,134,127 +93,144,129 +81,149,148 +229,208,173 +217,206,189 +210,194,166 +100,161,163 +53,116,103 +112,146,154 +71,108,83 +38,64,44 +102,136,101 +235,226,222 +126,166,172 +123,148,126 +20,39,24 +44,94,73 +66,83,59 +158,160,134 +193,178,143 +194,162,97 +88,123,138 +106,111,78 +141,136,100 +150,186,189 +22,30,9 +36,52,9 +39,69,40 +43,83,9 +42,92,66 +53,99,33 +46,111,98 +27,41,34 +193,204,213 +43,131,133 +66,70,13 +153,190,215 +71,121,62 +62,155,163 +100,103,103 +81,138,109 +189,167,57 +148,142,119 +37,48,78 +85,110,12 +131,156,174 +194,178,122 +84,83,65 +101,123,155 +172,147,7 +178,177,167 +48,58,121 +89,179,198 +126,141,29 +45,53,175 +131,101,33 +160,150,149 +118,92,27 +136,108,49 +150,135,153 +158,139,137 +148,127,130 +160,138,116 +160,145,165 +148,124,110 +143,143,140 +127,91,14 +171,150,131 +143,117,66 +121,96,47 +112,80,11 +169,163,171 +145,158,157 +133,120,152 +137,108,100 +197,198,202 +180,163,151 +132,117,123 +176,182,198 +152,128,87 +142,134,174 +191,181,176 +159,150,193 +121,100,77 +203,216,229 +144,121,102 +60,80,69 +175,140,108 +205,187,162 +145,135,125 +54,107,106 +190,157,124 +51,67,54 +184,167,148 +40,90,88 +184,178,171 +71,93,84 +162,121,84 +158,164,167 +190,193,194 +36,53,43 +171,182,188 +205,176,141 +164,150,138 +90,106,101 +72,122,122 +28,70,68 +114,122,118 +201,211,215 +131,150,151 +125,106,88 +215,203,189 +20,39,25 +219,228,231 +96,142,140 +117,120,125 +110,110,115 +129,109,114 +91,106,110 +131,125,128 +97,114,121 +152,127,130 +162,138,141 +70,90,91 +121,98,105 +143,116,119 +78,100,103 +102,98,105 +88,91,94 +101,122,134 +118,130,141 +53,85,86 +171,149,153 +141,136,140 +43,74,74 +78,114,120 +110,85,96 +57,100,107 +135,106,100 +69,75,75 +28,61,63 +139,148,159 +183,165,170 +156,167,179 +197,191,199 +213,190,181 +115,111,119 +207,198,202 +212,179,165 +129,124,133 +150,133,145 +195,178,172 +170,167,189 +190,181,197 +105,122,145 +171,144,153 +154,150,169 +90,103,129 +180,158,171 +78,82,104 +100,97,107 +127,138,159 +202,161,151 +52,72,92 +60,99,121 +112,85,87 +76,122,149 +83,65,71 +98,138,176 +177,129,129 +147,109,112 +134,159,192 +169,194,220 +46,45,59 +212,214,225 +224,199,198 +217,214,216 +199,190,189 +196,206,208 +93,140,139 +177,175,174 +76,119,118 +214,174,171 +50,106,111 +46,83,85 +170,195,198 +197,153,149 +115,161,164 +238,223,223 +79,92,88 +137,182,189 +158,157,157 +56,130,143 +73,151,170 +108,115,112 +14,58,73 +31,144,173 +60,162,198 +129,138,136 +47,64,60 +18,117,144 +17,83,106 +97,176,202 +176,129,123 +10,35,38 +73,105,68 +59,89,52 +72,112,92 +91,119,83 +90,122,106 +45,54,22 +104,136,120 +45,73,36 +64,70,38 +60,90,78 +76,139,128 +126,148,129 +47,70,64 +61,122,114 +83,141,101 +78,87,54 +90,155,143 +107,170,157 +47,107,95 +142,165,145 +112,134,97 +106,161,118 +96,103,68 +27,34,9 +32,87,73 +122,186,179 +27,55,43 +142,209,205 +164,189,170 +179,231,224 +124,121,97 +168,134,110 +106,109,83 +187,142,115 +84,94,74 +85,107,94 +99,123,105 +66,91,95 +150,118,96 +143,135,114 +60,77,77 +208,154,125 +175,120,94 +119,136,119 +77,106,116 +77,74,60 +91,122,131 +162,150,130 +105,81,70 +187,160,142 +52,58,57 +137,152,140 +134,99,78 +104,142,149 +223,170,141 +160,168,165 +119,157,180 +208,198,183 +154,185,219 +228,229,233 +183,169,127 +196,194,172 +189,178,142 +190,184,158 +156,167,161 +144,155,151 +169,178,170 +153,147,127 +163,158,140 +133,143,140 +137,163,171 +175,169,151 +123,153,161 +142,134,113 +152,139,92 +173,158,120 +181,188,179 +150,174,181 +197,199,187 +111,140,148 +163,143,105 +121,129,128 +168,130,80 +144,120,87 +165,187,191 +127,120,100 +101,108,115 +97,125,133 +119,106,78 +84,91,98 +187,180,156 +95,133,154 +82,118,142 +102,125,135 +169,175,161 +196,189,166 +114,139,148 +146,168,170 +130,153,157 +109,148,167 +88,109,122 +125,163,179 +68,99,125 +56,79,107 +53,63,80 +174,167,140 +44,84,129 +151,158,147 +161,183,184 +140,183,197 +34,66,102 +58,102,147 +27,47,71 +43,43,44 +133,137,126 +77,90,101 +169,205,214 +171,149,113 +19,23,30 +169,128,79 diff --git a/AIGenerate/output/csv/1519858837211840512.csv b/AIGenerate/output/csv/1519858837211840512.csv new file mode 100644 index 0000000..a20818a --- /dev/null +++ b/AIGenerate/output/csv/1519858837211840512.csv @@ -0,0 +1,35 @@ +101.0,104.0,108.0,313.5663213590149 +54.0,100.0,145.0,326.97849699942043 +92.0,108.0,132.0,337.902260276548 +122.0,115.0,103.0,339.81202294430375 +63.0,113.0,160.0,364.7634480685736 +116.0,122.0,128.0,367.2500850918894 +138.0,134.0,125.0,397.0484758659829 +89.0,127.0,167.0,400.5559369098778 +69.0,125.0,176.0,401.6168810453876 +136.0,146.0,149.0,433.3452857926921 +76.0,137.0,190.0,436.217566845949 +135.0,145.0,155.0,437.037590452755 +159.0,150.0,138.0,446.71746130454204 +101.0,146.0,191.0,458.02003828298825 +82.0,148.0,203.0,467.98187898945406 +154.0,164.0,166.0,486.2317959317346 +90.0,158.0,213.0,495.4135504177293 +186.0,172.0,154.0,512.3825322695925 +119.0,169.0,214.0,521.9410343701431 +95.0,170.0,226.0,528.0871639553219 +178.0,180.0,179.0,537.4399748460287 +101.0,179.0,235.0,552.3980356986708 +161.0,194.0,188.0,552.5548350192269 +165.0,185.0,201.0,555.1117110264834 +109.0,189.0,243.0,577.5125235384511 +196.0,197.0,194.0,587.4755978974787 +119.0,198.0,250.0,600.9649060963335 +185.0,212.0,215.0,618.3724574184639 +134.0,209.0,252.0,623.6819476904875 +212.0,213.0,211.0,636.3397192390634 +210.0,223.0,231.0,665.7267469183583 +226.0,227.0,226.0,679.1881067679262 +205.0,234.0,234.0,679.7284283654208 +234.0,241.0,241.0,717.1697791928352 +247.0,251.0,250.0,748.7045935209527 diff --git a/AIGenerate/output/csv/1519859153118429184.csv b/AIGenerate/output/csv/1519859153118429184.csv new file mode 100644 index 0000000..a20818a --- /dev/null +++ b/AIGenerate/output/csv/1519859153118429184.csv @@ -0,0 +1,35 @@ +101.0,104.0,108.0,313.5663213590149 +54.0,100.0,145.0,326.97849699942043 +92.0,108.0,132.0,337.902260276548 +122.0,115.0,103.0,339.81202294430375 +63.0,113.0,160.0,364.7634480685736 +116.0,122.0,128.0,367.2500850918894 +138.0,134.0,125.0,397.0484758659829 +89.0,127.0,167.0,400.5559369098778 +69.0,125.0,176.0,401.6168810453876 +136.0,146.0,149.0,433.3452857926921 +76.0,137.0,190.0,436.217566845949 +135.0,145.0,155.0,437.037590452755 +159.0,150.0,138.0,446.71746130454204 +101.0,146.0,191.0,458.02003828298825 +82.0,148.0,203.0,467.98187898945406 +154.0,164.0,166.0,486.2317959317346 +90.0,158.0,213.0,495.4135504177293 +186.0,172.0,154.0,512.3825322695925 +119.0,169.0,214.0,521.9410343701431 +95.0,170.0,226.0,528.0871639553219 +178.0,180.0,179.0,537.4399748460287 +101.0,179.0,235.0,552.3980356986708 +161.0,194.0,188.0,552.5548350192269 +165.0,185.0,201.0,555.1117110264834 +109.0,189.0,243.0,577.5125235384511 +196.0,197.0,194.0,587.4755978974787 +119.0,198.0,250.0,600.9649060963335 +185.0,212.0,215.0,618.3724574184639 +134.0,209.0,252.0,623.6819476904875 +212.0,213.0,211.0,636.3397192390634 +210.0,223.0,231.0,665.7267469183583 +226.0,227.0,226.0,679.1881067679262 +205.0,234.0,234.0,679.7284283654208 +234.0,241.0,241.0,717.1697791928352 +247.0,251.0,250.0,748.7045935209527 diff --git a/AIGenerate/output/csv/1519859356684779520.csv b/AIGenerate/output/csv/1519859356684779520.csv new file mode 100644 index 0000000..a20818a --- /dev/null +++ b/AIGenerate/output/csv/1519859356684779520.csv @@ -0,0 +1,35 @@ +101.0,104.0,108.0,313.5663213590149 +54.0,100.0,145.0,326.97849699942043 +92.0,108.0,132.0,337.902260276548 +122.0,115.0,103.0,339.81202294430375 +63.0,113.0,160.0,364.7634480685736 +116.0,122.0,128.0,367.2500850918894 +138.0,134.0,125.0,397.0484758659829 +89.0,127.0,167.0,400.5559369098778 +69.0,125.0,176.0,401.6168810453876 +136.0,146.0,149.0,433.3452857926921 +76.0,137.0,190.0,436.217566845949 +135.0,145.0,155.0,437.037590452755 +159.0,150.0,138.0,446.71746130454204 +101.0,146.0,191.0,458.02003828298825 +82.0,148.0,203.0,467.98187898945406 +154.0,164.0,166.0,486.2317959317346 +90.0,158.0,213.0,495.4135504177293 +186.0,172.0,154.0,512.3825322695925 +119.0,169.0,214.0,521.9410343701431 +95.0,170.0,226.0,528.0871639553219 +178.0,180.0,179.0,537.4399748460287 +101.0,179.0,235.0,552.3980356986708 +161.0,194.0,188.0,552.5548350192269 +165.0,185.0,201.0,555.1117110264834 +109.0,189.0,243.0,577.5125235384511 +196.0,197.0,194.0,587.4755978974787 +119.0,198.0,250.0,600.9649060963335 +185.0,212.0,215.0,618.3724574184639 +134.0,209.0,252.0,623.6819476904875 +212.0,213.0,211.0,636.3397192390634 +210.0,223.0,231.0,665.7267469183583 +226.0,227.0,226.0,679.1881067679262 +205.0,234.0,234.0,679.7284283654208 +234.0,241.0,241.0,717.1697791928352 +247.0,251.0,250.0,748.7045935209527 diff --git a/AIGenerate/output/csv/1519860574308007936.csv b/AIGenerate/output/csv/1519860574308007936.csv new file mode 100644 index 0000000..a20818a --- /dev/null +++ b/AIGenerate/output/csv/1519860574308007936.csv @@ -0,0 +1,35 @@ +101.0,104.0,108.0,313.5663213590149 +54.0,100.0,145.0,326.97849699942043 +92.0,108.0,132.0,337.902260276548 +122.0,115.0,103.0,339.81202294430375 +63.0,113.0,160.0,364.7634480685736 +116.0,122.0,128.0,367.2500850918894 +138.0,134.0,125.0,397.0484758659829 +89.0,127.0,167.0,400.5559369098778 +69.0,125.0,176.0,401.6168810453876 +136.0,146.0,149.0,433.3452857926921 +76.0,137.0,190.0,436.217566845949 +135.0,145.0,155.0,437.037590452755 +159.0,150.0,138.0,446.71746130454204 +101.0,146.0,191.0,458.02003828298825 +82.0,148.0,203.0,467.98187898945406 +154.0,164.0,166.0,486.2317959317346 +90.0,158.0,213.0,495.4135504177293 +186.0,172.0,154.0,512.3825322695925 +119.0,169.0,214.0,521.9410343701431 +95.0,170.0,226.0,528.0871639553219 +178.0,180.0,179.0,537.4399748460287 +101.0,179.0,235.0,552.3980356986708 +161.0,194.0,188.0,552.5548350192269 +165.0,185.0,201.0,555.1117110264834 +109.0,189.0,243.0,577.5125235384511 +196.0,197.0,194.0,587.4755978974787 +119.0,198.0,250.0,600.9649060963335 +185.0,212.0,215.0,618.3724574184639 +134.0,209.0,252.0,623.6819476904875 +212.0,213.0,211.0,636.3397192390634 +210.0,223.0,231.0,665.7267469183583 +226.0,227.0,226.0,679.1881067679262 +205.0,234.0,234.0,679.7284283654208 +234.0,241.0,241.0,717.1697791928352 +247.0,251.0,250.0,748.7045935209527 diff --git a/AIGenerate/output/csv/1523319122841042944.csv b/AIGenerate/output/csv/1523319122841042944.csv new file mode 100644 index 0000000..bee71fe --- /dev/null +++ b/AIGenerate/output/csv/1523319122841042944.csv @@ -0,0 +1,35 @@ +115.0,105.0,87.0,307.40498404995 +42.0,97.0,147.0,322.922095384475 +57.0,100.0,142.0,324.0804207918538 +101.0,110.0,113.0,326.4238700964591 +59.0,109.0,157.0,354.8202835151198 +126.0,122.0,112.0,360.12634501657885 +78.0,117.0,154.0,367.82228640336626 +66.0,119.0,169.0,384.45709489161464 +122.0,128.0,146.0,397.0341413216249 +145.0,138.0,126.0,408.9623421118685 +76.0,129.0,178.0,411.3374717005491 +123.0,156.0,140.0,430.4083521603351 +75.0,137.0,190.0,435.91383672335405 +100.0,148.0,190.0,458.9960001187374 +81.0,145.0,201.0,461.42560596888205 +161.0,156.0,148.0,464.8393224579059 +147.0,156.0,182.0,486.31116059769283 +87.0,155.0,210.0,486.98903309969415 +144.0,180.0,166.0,501.71130580743346 +93.0,164.0,219.0,511.30910034317793 +123.0,172.0,214.0,527.6702017329337 +179.0,178.0,173.0,530.3078962675834 +97.0,174.0,229.0,537.4826559701718 +103.0,182.0,237.0,559.3176192636435 +165.0,198.0,193.0,565.3645774796561 +111.0,191.0,245.0,583.1504516149756 +197.0,199.0,197.0,593.5464618239671 +121.0,200.0,252.0,606.6285818588875 +184.0,215.0,222.0,628.2730671252748 +141.0,213.0,253.0,633.1370525753093 +212.0,217.0,218.0,647.7361176628951 +196.0,225.0,243.0,669.5892543427276 +206.0,238.0,240.0,691.3189273953086 +229.0,233.0,234.0,696.4601133253253 +244.0,250.0,250.0,744.9263910783401 diff --git a/AIGenerate/output/csv/1523319142554271744.csv b/AIGenerate/output/csv/1523319142554271744.csv new file mode 100644 index 0000000..bee71fe --- /dev/null +++ b/AIGenerate/output/csv/1523319142554271744.csv @@ -0,0 +1,35 @@ +115.0,105.0,87.0,307.40498404995 +42.0,97.0,147.0,322.922095384475 +57.0,100.0,142.0,324.0804207918538 +101.0,110.0,113.0,326.4238700964591 +59.0,109.0,157.0,354.8202835151198 +126.0,122.0,112.0,360.12634501657885 +78.0,117.0,154.0,367.82228640336626 +66.0,119.0,169.0,384.45709489161464 +122.0,128.0,146.0,397.0341413216249 +145.0,138.0,126.0,408.9623421118685 +76.0,129.0,178.0,411.3374717005491 +123.0,156.0,140.0,430.4083521603351 +75.0,137.0,190.0,435.91383672335405 +100.0,148.0,190.0,458.9960001187374 +81.0,145.0,201.0,461.42560596888205 +161.0,156.0,148.0,464.8393224579059 +147.0,156.0,182.0,486.31116059769283 +87.0,155.0,210.0,486.98903309969415 +144.0,180.0,166.0,501.71130580743346 +93.0,164.0,219.0,511.30910034317793 +123.0,172.0,214.0,527.6702017329337 +179.0,178.0,173.0,530.3078962675834 +97.0,174.0,229.0,537.4826559701718 +103.0,182.0,237.0,559.3176192636435 +165.0,198.0,193.0,565.3645774796561 +111.0,191.0,245.0,583.1504516149756 +197.0,199.0,197.0,593.5464618239671 +121.0,200.0,252.0,606.6285818588875 +184.0,215.0,222.0,628.2730671252748 +141.0,213.0,253.0,633.1370525753093 +212.0,217.0,218.0,647.7361176628951 +196.0,225.0,243.0,669.5892543427276 +206.0,238.0,240.0,691.3189273953086 +229.0,233.0,234.0,696.4601133253253 +244.0,250.0,250.0,744.9263910783401 diff --git a/AIGenerate/output/csv/1523319161168592896.csv b/AIGenerate/output/csv/1523319161168592896.csv new file mode 100644 index 0000000..bee71fe --- /dev/null +++ b/AIGenerate/output/csv/1523319161168592896.csv @@ -0,0 +1,35 @@ +115.0,105.0,87.0,307.40498404995 +42.0,97.0,147.0,322.922095384475 +57.0,100.0,142.0,324.0804207918538 +101.0,110.0,113.0,326.4238700964591 +59.0,109.0,157.0,354.8202835151198 +126.0,122.0,112.0,360.12634501657885 +78.0,117.0,154.0,367.82228640336626 +66.0,119.0,169.0,384.45709489161464 +122.0,128.0,146.0,397.0341413216249 +145.0,138.0,126.0,408.9623421118685 +76.0,129.0,178.0,411.3374717005491 +123.0,156.0,140.0,430.4083521603351 +75.0,137.0,190.0,435.91383672335405 +100.0,148.0,190.0,458.9960001187374 +81.0,145.0,201.0,461.42560596888205 +161.0,156.0,148.0,464.8393224579059 +147.0,156.0,182.0,486.31116059769283 +87.0,155.0,210.0,486.98903309969415 +144.0,180.0,166.0,501.71130580743346 +93.0,164.0,219.0,511.30910034317793 +123.0,172.0,214.0,527.6702017329337 +179.0,178.0,173.0,530.3078962675834 +97.0,174.0,229.0,537.4826559701718 +103.0,182.0,237.0,559.3176192636435 +165.0,198.0,193.0,565.3645774796561 +111.0,191.0,245.0,583.1504516149756 +197.0,199.0,197.0,593.5464618239671 +121.0,200.0,252.0,606.6285818588875 +184.0,215.0,222.0,628.2730671252748 +141.0,213.0,253.0,633.1370525753093 +212.0,217.0,218.0,647.7361176628951 +196.0,225.0,243.0,669.5892543427276 +206.0,238.0,240.0,691.3189273953086 +229.0,233.0,234.0,696.4601133253253 +244.0,250.0,250.0,744.9263910783401 diff --git a/AIGenerate/output/csv/1523319179510284288.csv b/AIGenerate/output/csv/1523319179510284288.csv new file mode 100644 index 0000000..bee71fe --- /dev/null +++ b/AIGenerate/output/csv/1523319179510284288.csv @@ -0,0 +1,35 @@ +115.0,105.0,87.0,307.40498404995 +42.0,97.0,147.0,322.922095384475 +57.0,100.0,142.0,324.0804207918538 +101.0,110.0,113.0,326.4238700964591 +59.0,109.0,157.0,354.8202835151198 +126.0,122.0,112.0,360.12634501657885 +78.0,117.0,154.0,367.82228640336626 +66.0,119.0,169.0,384.45709489161464 +122.0,128.0,146.0,397.0341413216249 +145.0,138.0,126.0,408.9623421118685 +76.0,129.0,178.0,411.3374717005491 +123.0,156.0,140.0,430.4083521603351 +75.0,137.0,190.0,435.91383672335405 +100.0,148.0,190.0,458.9960001187374 +81.0,145.0,201.0,461.42560596888205 +161.0,156.0,148.0,464.8393224579059 +147.0,156.0,182.0,486.31116059769283 +87.0,155.0,210.0,486.98903309969415 +144.0,180.0,166.0,501.71130580743346 +93.0,164.0,219.0,511.30910034317793 +123.0,172.0,214.0,527.6702017329337 +179.0,178.0,173.0,530.3078962675834 +97.0,174.0,229.0,537.4826559701718 +103.0,182.0,237.0,559.3176192636435 +165.0,198.0,193.0,565.3645774796561 +111.0,191.0,245.0,583.1504516149756 +197.0,199.0,197.0,593.5464618239671 +121.0,200.0,252.0,606.6285818588875 +184.0,215.0,222.0,628.2730671252748 +141.0,213.0,253.0,633.1370525753093 +212.0,217.0,218.0,647.7361176628951 +196.0,225.0,243.0,669.5892543427276 +206.0,238.0,240.0,691.3189273953086 +229.0,233.0,234.0,696.4601133253253 +244.0,250.0,250.0,744.9263910783401 diff --git a/AIGenerate/output/csv/1523319197768089600.csv b/AIGenerate/output/csv/1523319197768089600.csv new file mode 100644 index 0000000..bee71fe --- /dev/null +++ b/AIGenerate/output/csv/1523319197768089600.csv @@ -0,0 +1,35 @@ +115.0,105.0,87.0,307.40498404995 +42.0,97.0,147.0,322.922095384475 +57.0,100.0,142.0,324.0804207918538 +101.0,110.0,113.0,326.4238700964591 +59.0,109.0,157.0,354.8202835151198 +126.0,122.0,112.0,360.12634501657885 +78.0,117.0,154.0,367.82228640336626 +66.0,119.0,169.0,384.45709489161464 +122.0,128.0,146.0,397.0341413216249 +145.0,138.0,126.0,408.9623421118685 +76.0,129.0,178.0,411.3374717005491 +123.0,156.0,140.0,430.4083521603351 +75.0,137.0,190.0,435.91383672335405 +100.0,148.0,190.0,458.9960001187374 +81.0,145.0,201.0,461.42560596888205 +161.0,156.0,148.0,464.8393224579059 +147.0,156.0,182.0,486.31116059769283 +87.0,155.0,210.0,486.98903309969415 +144.0,180.0,166.0,501.71130580743346 +93.0,164.0,219.0,511.30910034317793 +123.0,172.0,214.0,527.6702017329337 +179.0,178.0,173.0,530.3078962675834 +97.0,174.0,229.0,537.4826559701718 +103.0,182.0,237.0,559.3176192636435 +165.0,198.0,193.0,565.3645774796561 +111.0,191.0,245.0,583.1504516149756 +197.0,199.0,197.0,593.5464618239671 +121.0,200.0,252.0,606.6285818588875 +184.0,215.0,222.0,628.2730671252748 +141.0,213.0,253.0,633.1370525753093 +212.0,217.0,218.0,647.7361176628951 +196.0,225.0,243.0,669.5892543427276 +206.0,238.0,240.0,691.3189273953086 +229.0,233.0,234.0,696.4601133253253 +244.0,250.0,250.0,744.9263910783401 diff --git a/AIGenerate/output/csv/1523320878941601792.csv b/AIGenerate/output/csv/1523320878941601792.csv new file mode 100644 index 0000000..bee71fe --- /dev/null +++ b/AIGenerate/output/csv/1523320878941601792.csv @@ -0,0 +1,35 @@ +115.0,105.0,87.0,307.40498404995 +42.0,97.0,147.0,322.922095384475 +57.0,100.0,142.0,324.0804207918538 +101.0,110.0,113.0,326.4238700964591 +59.0,109.0,157.0,354.8202835151198 +126.0,122.0,112.0,360.12634501657885 +78.0,117.0,154.0,367.82228640336626 +66.0,119.0,169.0,384.45709489161464 +122.0,128.0,146.0,397.0341413216249 +145.0,138.0,126.0,408.9623421118685 +76.0,129.0,178.0,411.3374717005491 +123.0,156.0,140.0,430.4083521603351 +75.0,137.0,190.0,435.91383672335405 +100.0,148.0,190.0,458.9960001187374 +81.0,145.0,201.0,461.42560596888205 +161.0,156.0,148.0,464.8393224579059 +147.0,156.0,182.0,486.31116059769283 +87.0,155.0,210.0,486.98903309969415 +144.0,180.0,166.0,501.71130580743346 +93.0,164.0,219.0,511.30910034317793 +123.0,172.0,214.0,527.6702017329337 +179.0,178.0,173.0,530.3078962675834 +97.0,174.0,229.0,537.4826559701718 +103.0,182.0,237.0,559.3176192636435 +165.0,198.0,193.0,565.3645774796561 +111.0,191.0,245.0,583.1504516149756 +197.0,199.0,197.0,593.5464618239671 +121.0,200.0,252.0,606.6285818588875 +184.0,215.0,222.0,628.2730671252748 +141.0,213.0,253.0,633.1370525753093 +212.0,217.0,218.0,647.7361176628951 +196.0,225.0,243.0,669.5892543427276 +206.0,238.0,240.0,691.3189273953086 +229.0,233.0,234.0,696.4601133253253 +244.0,250.0,250.0,744.9263910783401 diff --git a/AIGenerate/output/csv/1523336144400416768.csv b/AIGenerate/output/csv/1523336144400416768.csv new file mode 100644 index 0000000..bee71fe --- /dev/null +++ b/AIGenerate/output/csv/1523336144400416768.csv @@ -0,0 +1,35 @@ +115.0,105.0,87.0,307.40498404995 +42.0,97.0,147.0,322.922095384475 +57.0,100.0,142.0,324.0804207918538 +101.0,110.0,113.0,326.4238700964591 +59.0,109.0,157.0,354.8202835151198 +126.0,122.0,112.0,360.12634501657885 +78.0,117.0,154.0,367.82228640336626 +66.0,119.0,169.0,384.45709489161464 +122.0,128.0,146.0,397.0341413216249 +145.0,138.0,126.0,408.9623421118685 +76.0,129.0,178.0,411.3374717005491 +123.0,156.0,140.0,430.4083521603351 +75.0,137.0,190.0,435.91383672335405 +100.0,148.0,190.0,458.9960001187374 +81.0,145.0,201.0,461.42560596888205 +161.0,156.0,148.0,464.8393224579059 +147.0,156.0,182.0,486.31116059769283 +87.0,155.0,210.0,486.98903309969415 +144.0,180.0,166.0,501.71130580743346 +93.0,164.0,219.0,511.30910034317793 +123.0,172.0,214.0,527.6702017329337 +179.0,178.0,173.0,530.3078962675834 +97.0,174.0,229.0,537.4826559701718 +103.0,182.0,237.0,559.3176192636435 +165.0,198.0,193.0,565.3645774796561 +111.0,191.0,245.0,583.1504516149756 +197.0,199.0,197.0,593.5464618239671 +121.0,200.0,252.0,606.6285818588875 +184.0,215.0,222.0,628.2730671252748 +141.0,213.0,253.0,633.1370525753093 +212.0,217.0,218.0,647.7361176628951 +196.0,225.0,243.0,669.5892543427276 +206.0,238.0,240.0,691.3189273953086 +229.0,233.0,234.0,696.4601133253253 +244.0,250.0,250.0,744.9263910783401 diff --git a/AIGenerate/tools/__pycache__/colors.cpython-39.pyc b/AIGenerate/tools/__pycache__/colors.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..98101623e7f146fbfb874b1a97e90e1859f65412 GIT binary patch literal 5749 zcma)AOLyDG8J)q4AVpHL{E%!XX_BVNVH@i>Y93DNx`|(^+k{DFr%6zyI1mS-DS-qv z0A-5>yQrMn&1p{3MY|@u=s8}r>u$2^59oT9ZIe^2lT{aW?>8VVOZKAV!90MO!OS=J zyWbrIl}d@>7kzzW^{c~-{gWyW{w!2p$CcbcBADP2^YWZ~T-OcH(7EZEI=4Ivxe>9p z?b$qU>v#p+Gb6WM^oshP6_wgk-jpueQMq05D!S}M)%LVEJ?>Zb%1cZXgnNq#H=Nlq zy+eXuWwqiiX2a?=uIwxApczu3H7+Vzd*QiU5HZ@D}4K>y3v{Jtvrq^Sk%J~cYBn{Hg zD>rBoey7)74JBGzNf@okGP=qNB~>JMnVdoPpYL6GZROo0l*!7QVJF^-S1yLhMjCfl zZuY{Pt(7;fEQOs=V$}NOYb$9SN6CsFJz3~(E7$k+Ec`&>Ixno>pA1)5;%o_5Hr$)wixG?5fW@p9`mYPEgtqi&|GUnJk zJI+R&v(0K|VI$1kQoGt*wz6TKW~iK?+YLKHnNir0MZ8TF$ZoApT65$y>Ru_goCwmu zt2Sla>-qvn3p$NZRq}O@&FUT9YwC}!zZ&0Eyru1$Cu9~?!tL=s9YZ~#ePG<;Rb0>B zbBz9pgQnW+&>(P3el`kZFm0^!ClQIFjhfIJ*ej582=W(=2G%;cME-&+E`NIa-Yu+F? zp8N=41zg$yeH4HeEPTjwB+LN`gr0R6WgW{G<|oFAF|Y?tW@Gu*hyzXdlL;PY13Pun z0_uF--7$nM95501=o1qLeGL7aK_N4T#k7=8rRA)!W9)E^u=g{Qcq&Jj1hX=*khR+C zB=SjA8icvYkIJ-#S8-|o$gpY0QI&*xZKfKRWRrs?bI(RWdsPJIzKw@p;bQ%l4&tO4 zrhX7bzP5hi6DKa5jp9ZSCFfAc`(LXW%G?OIX#=<5=V7g)j7}HMkUK^3I=aP88MM7Z z6s(3(;^SG8Zg)fMey^>ZB$jCiuj#kC-b^FvC21)AM%Y1?`0^;GrYw55GTT8{ndDBc z28XiSu?Qp0Jm6^}rNo;Wzl3^trLK&-7`_#E6!+z~FxEjs9Dc+qpFz8X=!^Vlh9BW2 z0O@IdjQ79!f7ocBQxO!23N)tvfdVjPq~PHla;(1tUwjBWWhT%C*Xo~0&2?)C?Cjko zRJ_MJ$1Ii>w(FeH{{yyJ{(yCi({Rh7n^`GeF9Mx5YNgB`@fDNsHNcbMRA#T22^Bhr zs~$l-T{GxyX+>D{W?|2<9lRy2W^8>L*9@*h!uiA;6tm)RHUqY~jvB+mS&`a|403Yx z2Zqt#&HHbbwbMU{-Cc699?{Ad9}oZi`R6?{#=rjh=LP+%nO>>mkM}%L7O}k!A9;_z z{PxQ`pY_Nkzx?#GFFyUlQ?(EC{C^iz@|OUx)Oks z6i5$5IAyM3vajJmt(3#D2*nUK(pYYL)v?cz`^3Fexoen7Cujrnt#;FMk@yq^6qkxO z<*PLOE0hrG@egb(3r5XOj7^|~|COjS&!co2_vzfZWWv z2tDs9?r;=6^WafsQMvSo7+{b0KgES9fyo6*;lV$9~V*`$N(QLqM z6lg~Lcg7~gV5pVvp%wV;Ib?SYWh|W5A>uCA+wp)EOJ|7<8gaXO?h@Kc;=KOiqYR|2 ztas)?rkiv|__AVzc;GMDg6abLLMdOQAx}_3@wZmU!7w)-3VkWO`vib)kY1PbXr%a> z{3&v8dhdlk@t`shob#D4(})@bRRY0Y!`Ja(9OA0jd6#(Ui3|I6;llnd`!<_2+Wk1c zg-S+rVGb;WFXKLOn3)5|<|i2_0Off$C}mbwKn_C5T;%0(Xe5t$;x0%B6?T%BSqZgE+MKH{09V~>e=h!P-ZpJlk8*Kl&#oWEbw&o<}5 zUC{005nt9L7I3ei-|!6TE)<(1%neKSF`k3Sh;5?yh|4|8Hv60F83EL)%QKj*vWTfC zN26j00jf_dxiqm`9TDEtUR^7W4V|Q|#zrVld+xaOf*wfT#AuqL^bROf#y1pSKWKX! z!#BhC&^94fVSu9r4dQB+uNtIBW>A~w{i6r>K=<6IKZw!qJNrdca_u4bhAkH}Xxogy z2sJRtp&|g$p(zY-y1`k;&8>44Yz)qaMulZ?{`nck%57q6-jlz;4P|y?NIz)R5M1Wy z=_CLo9e&ir7>QRHo8`dD*51TTp#9m1Xlr3l{S zzu}oJj15CRFU%&tZA`)wJQ4t+Bj667V-Vty=V*1ATHP^V6u^RxeRxuU-<}(|knZ*^ zzyo2(r7(mNPWIzcF+T&XLE7VdJNFB?xw4s0|>9`{4(t-H-gS*=te-e092-XLp zho(gALW3q0f%TNC1Fkg;+cCy^f$!1;Fs+v&V*6)DVNuU6$N7h-KJ-#T zpSHuZDCn0y0XyKeLr4~(KNt*+5y<5@%9BY*8W|pO3YjVdiB_wsuoeYr8g?erq7xee zVM%|P%7tQ~8$==6kRMolSX#__8P|+^*v&)|c%bo=Tk-CPSe&~bKqSAq=dMsXUoR`qep zn@%>OFp!;v@qsNr6@5%2kOQijwO*$|AX-RztLr!kNs2tmiSr6g;8C+z?%CWz=ZIMn Q+RR*nQA%>GJpQ}fgc5Z%qElQ?a1N1S@8glt@h8a`AtN(`z%0oqicktNIZZmEgA8+q4N+ke1M z;ZO93?3I(R9DC{{Zh=|N(|d05%-z8XoZkK02YlQq>i~kEfa)_-yBQU~fN-_$R zR=k$gp^m%;4Mw1e-NJ6OI#{d$9oB>{YeA2-!DbfpSqHXQ7q(ds28^DNUAx4sWPa0j zTo&obz1eYGS?E=v-B?|^-pG439*xH@_V+w*{POw8+jGz_*O8$WM_Q-6q$tX#2&R=s zg2}A>h9Y@}{$h6sgY!bfI+4Or#n}%YYtw!pF#PwWlX%H%{+Z>d&XX8B{}=WIWwW87g2{nblpPh%#<^m8JA` z$_-sYFA<3jGp;Wr1G_pSR65cewjOdMC`HUoQ|D14evy2DS8m|$&GdC}sxW@=kqdb# zgBe##Emy%+!LO2Fa`c`Hp5wClyG5X-OjQs|ah`m4R@cUQi)o9LA2e{EdV*k6n>HR_ I?JwIn_p~OUUjP6A literal 0 HcmV?d00001 diff --git a/AIGenerate/tools/__pycache__/configSetting.cpython-39.pyc b/AIGenerate/tools/__pycache__/configSetting.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..96bd2f5d07e476466917c4fc62e064ee53627a79 GIT binary patch literal 590 zcmYjM%Wl&^6rD+2$9Xn^En>x{60(~TqJj`2Brd8zK{TmASC%Z-Gfkb?Gm&Q;wfzMC zgkSQao38Q;ta@EX&>5YpbDugVXtx^#-`!?;@w-CEeUUtUSRK6t^7>!9nfzpy! zk}6b@SHNHd_7Enb#;Ra(x~wA_iwZQE0WG!%ZR~ZJ3Hz)DU1mX#)!`YVGjh<_;&n2; zwQSpAfexJ8SGFTFz0R}~s*Teh433V6Z->Lfcf+H@{+s^sz{dKv&<zo&IE;o7m1` zo>Kw6a=tX{iy+~7vn(lnQ;e*j8Hq^y3D;MWL8~<}fP{ijTFpL_qS{O}LG0z%wIPJe29v_+T_4hBo-KfDy|A$xoL9cJN z5|IfxWU10|k?<}y?Vh!KS7tgr&f~E)1;^~QkP|KwoB3umKnY;>V5&bri~-+Ayuf3$ zAQ~<43eb0uCfd=i_OyTLENd%ti93in9kg(CaETVK4l9Sb%(Gwe!CiQjyR27eg%`eV zESr@FTCMVr(2t)lf{H9#RRA7aAn}TfA=e6H^!6v+t_TZQ_#UzP2eJtDz2*HXgxIhO zfiLt6VT}>lMS6SUF6vcS)pwCSgS^|2x3=8T531l2ue1GLIlyLf&~>E!;9D_oMxxZy zQb&n;7tP&0Smq@D(x7=*>e16@PgOeZ5>qSqEK3V+0$wD7rN#Jv%-N*28%|&@P?^uh%DS)8A-_@D#n{(_0-kF|``0&wl^XCjF+bpXo732t^K{6aRt zulvvtp^QJ~I+-!!C@rPMD=kO~O^&1of?9`R%47{T#uZau(6%+@aLI7pVahnbmGNgX z)m$1so`MsjZF^YW_Mh>UkeV|?imCBpDdP+2+Z%#SpqLp?m(z@Q8)h8~p|OsK(^&sZ z!?P?-CPR5PraRYdZO?9cn|7{^*S$U*r5U$@CR}5+bkXfkd;m19-zJlfEEvaLarb%) znm)XB8(PCKEf~L3L)o_M1UJmvpM`n?0^tC=_zUdgd$>;OB*2deX!rrx1F%W!)ZLP{ zdU6MZ@e@&u((xx%SQBN>;Q6XeDZHZ0rx)@w2%_7gvPg6)iak|`*(i(QJ+Eu|#OD34 b(>B@$>OQnknehW#Xl47s0(yj-Ae;DK`piov literal 0 HcmV?d00001 diff --git a/AIGenerate/tools/colors.py b/AIGenerate/tools/colors.py new file mode 100644 index 0000000..f013e0c --- /dev/null +++ b/AIGenerate/tools/colors.py @@ -0,0 +1,125 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- + +import PIL +import csv +import cv2 +import math +import random +from PIL import Image +import numpy as np +from matplotlib import image +from sklearn.cluster import KMeans +from os import listdir +from function.subject import canvas +import os +class ColorMultiImage(object): + def __init__(self,k = 30,init_method = 'random',random_state = 88): + self.k = k + self.init_method = init_method + self.random_state = random_state + self.color_number = 0 + def box_method(self,color_data, group_distance,colors_number): + color_data_random_box = [] + for i in range(0, colors_number): + color_data_random_box.append( + color_data[(len(color_data) - 1) - (i * group_distance + random.randint(0, group_distance - 1))]) + return color_data_random_box + + def rgb_to_hex(self,rgb): + color = '' + for i in rgb: + num = round(float(i)) + color += str(hex(num))[-2:].replace('x', '0').lower() + return color + + def get_all_colors_list(self,model, k): + colors = [] + labels_list = np.arange(0, k + 1) + (proportion, _) = np.histogram(model.labels_, bins=labels_list) + proportion = proportion.astype("float") + proportion /= proportion.sum() + for (_, color) in sorted(zip(proportion, model.cluster_centers_), key=lambda x: x[0], reverse=True): + colors.append(list(map(int, color))) + return colors + + def get_main_colors(self,directory): + colors_all_out = [] + for filename in listdir(directory): + img = cv2.imread(directory + filename) + try: + PIL.Image.fromarray(image.imread(directory + filename)) + except FileNotFoundError: + continue + img_data = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) + r, g, _ = cv2.split(img_data) + img = img.reshape((img_data.shape[0] * img_data.shape[1], 3)) + print("加载" + filename + "中......") + model = KMeans(n_clusters=self.k, init=self.init_method, random_state=self.random_state) + model.fit(img) + colors_all_out += self.get_all_colors_list(model, self.k) + print("完成" + filename + "提取!") + return colors_all_out + + def get_color_data(self,color_distance_filepath,colors_number): + f = open(color_distance_filepath, "r+", encoding="utf-8-sig") + reader = csv.reader(f) + color_data_sort = list(reader) + box = self.box_method(color_data_sort, len(color_data_sort) // colors_number,colors_number) + return [self.rgb_to_hex(i[:3]) for i in box] + + def colour_distance(self,rgb_1, rgb_2): + R_1, G_1, B_1 = rgb_1 + R_2, G_2, B_2 = rgb_2 + rmean = (R_1 + R_2) / 2 + R = R_1 - R_2 + G = G_1 - G_2 + B = B_1 - B_2 + return math.sqrt((2 + rmean / 256) * (R ** 2) + 4 * (G ** 2) + (2 + (255 - rmean) / 256) * (B ** 2)) + + def random_colors(self): + colorArr = ['1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'] + color = "" + for random_value in range(6): + color += colorArr[random.randint(0, 14)] + return color + + def merge(self,sticker0, sticker1): + colors = sticker0['colors'] + index = {} + for i, color in enumerate(sticker1['colors']): + if color not in colors: + colors.append(color) + index[i] = colors.index(color) + self.colors_number = colors.index(color) + else: + index[i] = colors.index(color) + for i, row in enumerate(sticker1['data']): + for j, color in enumerate(row): + if color > 0: + sticker0['data'][i][j] = index[color] + return sticker0 + + def merges(self,stickers): + if len(stickers) >= 2: + sticker = self.merge(stickers.pop(0), stickers.pop(0)) + stickers.insert(0, sticker) + else: + return stickers[0] + return self.merges(stickers) + + def generate(self,image_data, name,number,color_distance_filepath,coloring_style,colors_number): + palette = [(255, 255, 255,0)] + if coloring_style == 0: + colors = ['000000'] + [self.random_colors() for i in range(0,colors_number)] #随机颜色 + if coloring_style == 1: + colors = ['000000'] + self.get_color_data(color_distance_filepath,colors_number) # 艺术家风格 + for color in colors: + color = [int(c, 16) for c in (color[:2], color[2:4], color[4:])] + palette.append(tuple(color)) + image = np.asarray([palette[np.asarray(image_data['data']).flatten()[x]] for x in range(0,len(np.asarray(image_data['data']).flatten()))]).flatten().reshape((24,24,3)) + dirs = os.getcwd() + "\\output\\" + str(name) + "-output\\" + if not os.path.exists(dirs): + os.makedirs(dirs) + image = cv2.resize(image,(2500,2500),interpolation=cv2.INTER_NEAREST) + cv2.imwrite(dirs + name + number + ".png",image) diff --git a/AIGenerate/tools/config.py b/AIGenerate/tools/config.py new file mode 100644 index 0000000..90fca1e --- /dev/null +++ b/AIGenerate/tools/config.py @@ -0,0 +1,20 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- + +import function.subject as subject +import function.stickers as stickers +color_data_path = './data/' # 这里填入训练集文件夹路径例如 +DATACENTER_ID = 0 +WORKER_ID = 0 +SEQUENCE = 0 +color_model_path = "./output/csv/1519858837211840512.csv" +#module = [subject.canvas, subject.cattle_DC] +n = 10 #生成数量 +color_output_name = 'cattle' #文件夹名字 +color_style = 1 #0为随机风格,1为艺术家风格 +k = 30 # K-Means算法分成K类 +init_method = 'random' +random_state = 88 # 艺术家风格分箱颜色数 +color_distance = 300 #艺术家风格颜色差异距离检查 +train = True + diff --git a/AIGenerate/tools/model.py b/AIGenerate/tools/model.py new file mode 100644 index 0000000..7177f04 --- /dev/null +++ b/AIGenerate/tools/model.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- +#模型训练 +import csv +import os +from .config import DATACENTER_ID,WORKER_ID,SEQUENCE,color_distance +from .colors import ColorMultiImage +import numpy as np +from function.snowflake import IdWorker +def training(color_data_path): + black_rbg = [0, 0, 0] + color_data_distance = [] + color_distance_filepath = os.getcwd() + "\\output\\csv\\" + str(IdWorker(DATACENTER_ID, WORKER_ID, SEQUENCE).get_id()) + ".csv" + get_model = ColorMultiImage() + color_distance_csv = open(color_distance_filepath, "a+", newline="", encoding="utf-8-sig") + color_data = get_model.get_main_colors(color_data_path) + + writer = csv.writer(color_distance_csv) + + for rbg in color_data: + color_data_distance.append(rbg + [get_model.colour_distance(rbg, black_rbg)]) + + color_data_sort = sorted(color_data_distance, key=lambda x: x[3]) + color_data_sort = np.array(color_data_sort) + color_data_sort_index = (color_data_sort[:, 3] > color_distance) + color_data_sort = color_data_sort[color_data_sort_index] + for rbg in color_data_sort: + writer.writerow(tuple(rbg)) + return color_distance_filepath \ No newline at end of file diff --git a/ArtPRTP b/ArtPRTP new file mode 160000 index 0000000..b47d4a5 --- /dev/null +++ b/ArtPRTP @@ -0,0 +1 @@ +Subproject commit b47d4a5d6b6ee181591fe39ac5619d81f2b335ff diff --git a/a.txt b/a.txt deleted file mode 100644 index e69de29..0000000 diff --git a/artprtpdb.sql b/artprtpdb.sql new file mode 100644 index 0000000..8e92dc2 --- /dev/null +++ b/artprtpdb.sql @@ -0,0 +1,367 @@ +/* +SQLyog Community v13.1.6 (64 bit) +MySQL - 8.0.20 : Database - artprtpdb +********************************************************************* +*/ + +/*!40101 SET NAMES utf8 */; + +/*!40101 SET SQL_MODE=''*/; + +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; +CREATE DATABASE /*!32312 IF NOT EXISTS*/`artprtpdb` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `artprtpdb`; + +/*Table structure for table `account` */ + +DROP TABLE IF EXISTS `account`; + +CREATE TABLE `account` ( + `Id` int NOT NULL AUTO_INCREMENT, + `Uname` varchar(20) NOT NULL, + `Password` varchar(20) NOT NULL, + `Email` varchar(30) NOT NULL, + `PhoneNum` varchar(12) DEFAULT NULL, + `StateCode` varchar(8) DEFAULT NULL, + `HeadPicUrl` varchar(128) DEFAULT NULL, + `IsActive` tinyint(1) DEFAULT NULL, + `Sex` varchar(2) DEFAULT NULL, + `Age` int DEFAULT NULL, + `Token` int DEFAULT '0', + PRIMARY KEY (`Id`), + UNIQUE KEY `Uname` (`Uname`), + CONSTRAINT `account_chk_1` CHECK (((`Sex` = _utf8'男') or (`Sex` = _utf8'女') or (`Sex` = _utf8''))) +) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; + +/*Data for the table `account` */ + +insert into `account`(`Id`,`Uname`,`Password`,`Email`,`PhoneNum`,`StateCode`,`HeadPicUrl`,`IsActive`,`Sex`,`Age`,`Token`) values +(8,'QinZongwei','123456','2020302111312@whu.edu.cn','18283287044','4FMLPHWZ','/resources/images/head_pictures/8.jpg',1,'男',20,1099), +(9,'zj','123456','26981881881@qq.com','182872662788',NULL,NULL,1,'男',19,0), +(14,'qwqw','123456','','11221',NULL,NULL,0,'女',12,0), +(15,'lh','123456','2695387020@qq.com','','','/resources/images/head_pictures/15.jpg',1,'男',21,2), +(17,'zhangjian','123456','1973362793@qq.com','','ZEV5Q1EZ',NULL,1,NULL,NULL,90), +(18,'七七','123456','1067550651@qq.com','','','/resources/images/head_pictures/18.jpg',1,NULL,NULL,1); + +/*Table structure for table `artwork` */ + +DROP TABLE IF EXISTS `artwork`; + +CREATE TABLE `artwork` ( + `id` int NOT NULL AUTO_INCREMENT, + `name` varchar(20) NOT NULL, + `url` varchar(50) NOT NULL, + `description` varchar(255) DEFAULT NULL, + `chainAddress` varchar(50) DEFAULT NULL, + `ownerId` int NOT NULL, + `typeId` int DEFAULT NULL, + `coverUrl` varchar(150) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `name_constraint` (`name`), + KEY `ownerid_constraint` (`ownerId`), + KEY `typeId_constraint` (`typeId`), + CONSTRAINT `ownerid_constraint` FOREIGN KEY (`ownerId`) REFERENCES `account` (`Id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `typeId_constraint` FOREIGN KEY (`typeId`) REFERENCES `type` (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=38 DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; + +/*Data for the table `artwork` */ + +insert into `artwork`(`id`,`name`,`url`,`description`,`chainAddress`,`ownerId`,`typeId`,`coverUrl`) values +(1,'蒙娜丽莎的微笑','images/product_thumb02.jpg','达芬奇名画','233qwqwwe',8,1,'images/product_thumb02.jpg'), +(2,'向日葵','images/product_thumb01.jpg','梵高名画','232211112dd',8,1,'images/product_thumb01.jpg'), +(3,'明天你好','images/product_thumb03.jpg','三小只','112211111',8,2,'images/product_thumb03.jpg'), +(4,'战狼','images/product_thumb04.jpg','吴京拍的','12121hesds',8,3,'images/product_thumb04.jpg'), +(5,'救世主','images/product_thumb05.jpg','达芬奇的画作真迹目前在市场上是非常稀少的,这幅《救世主》原本是查尔斯一世的私人藏品,后来在1763年被拍卖,直至20世纪初才再度问世,最终几经转手,以29.6亿人民币的价格被拍下,成为了世界上交易价格最高的一幅画作。','1w8qkwqkwq',9,1,'images/product_thumb05.jpg'), +(6,'阿尔及尔女人','images/product_thumb06.jpg','《阿尔及尔的女人》是毕加索的系列画作,其中(O版)的拍卖价格是最高的,创下了11亿元人民币的记录。','1223233',15,1,'images/product_thumb06.jpg'), +(7,'弗洛伊德肖像画习作','images/product_thumb01.jpg','《弗洛伊德肖像画习作》是一个三联画,这幅作品在2013年的纽约佳士得拍卖会上以1.42405亿美元的价格被拍下。','1232394ierdj',8,1,'images/product_thumb01.jpg'), +(8,'奥特曼','images/product_thumb02.jpg','圆谷拍的','q2133132',15,1,'images/product_thumb02.jpg'), +(9,'呐喊','images/product_thumb04.jpg','《呐喊》是画家蒙克最具代表性的作品,以独特的手法表现出了人物内心的恐惧,这幅作品在2015年的苏富比拍卖会上以1.199亿美元的价格成交。','13243re',9,1,'images/product_thumb04.jpg'), +(10,'太行山','images/product_thumb06.jpg','其是一部非常红的抗战电视剧,经常在电视视台播出','12wdbsc',8,3,'images/product_thumb06.jpg'), +(11,'初音未来','images/product_thumb01.jpg','人气偶像','yukllg',8,3,'images/product_thumb01.jpg'), +(12,'泰罗奥特曼','images/product_thumb01.jpg','奥特曼系列的衍品','ewefe',8,3,'images/product_thumb01.jpg'), +(13,'迪迦奥特曼','images/product_thumb04.jpg','奥特曼系列衍生品','ewe',8,3,'images/product_thumb04.jpg'), +(19,'小喵咪','/resources/artworks/8__artwork__1650049908948.jpg','小喵咪啊啊啊',NULL,8,1,'/resources/images/covers/8__19__cover__1650049908972.jpg'), +(20,'狗狗啊','/resources/artworks/8__artwork__1650050202496.jpg','无',NULL,15,1,'/resources/images/covers/8__20__cover__1650050202518.jpg'), +(21,'小狗','/resources/artworks/8__artwork__1650086217961.jpg','修修狗',NULL,15,1,'/resources/images/covers/8__21__cover__1650086218017.jpg'), +(22,'543','/resources/artworks/18__artwork__1650090362211.jpg','5451230',NULL,18,1,'/resources/images/covers/18__22__cover__1650090362259.jpg'), +(26,'猫猫狗狗','/resources/artworks/15__artwork__1650137949299.jpg','猫猫和狗狗应当和谐相处',NULL,15,1,'/resources/images/covers/15__26__cover__1650137949328.jpg'), +(27,'洗澡猫','/resources/artworks/15__artwork__1650138572808.jpg','你见过自己洗澡的猫猫吗?',NULL,8,1,'/resources/images/covers/15__27__cover__1650138572827.jpg'), +(28,'狗儿','/resources/artworks/15__artwork__1650139840276.jpg','你猜我是不是狗',NULL,15,1,'/resources/images/covers/15__28__cover__1650139840301.jpg'), +(29,'嘿嘿','/resources/artworks/15__artwork__1650140030090.jpg','吃狗不理包子喽',NULL,15,1,'/resources/images/covers/15__29__cover__1650140030144.jpg'), +(30,'不是','/resources/artworks/15__artwork__1650140252256.jpg','其实我不是狗',NULL,15,1,'/resources/images/covers/15__30__cover__1650140252307.jpg'), +(32,'小奶狗','/resources/artworks/8__artwork__1650178135891.jpg','小狗狗',NULL,8,1,'/resources/images/covers/8__32__cover__1650178135904.jpg'), +(33,'小土狗','/resources/artworks/8__artwork__1650178920158.jpg','无',NULL,8,1,'/resources/images/covers/8__33__cover__1650178920166.jpg'), +(37,'喵呀喵','/resources/artworks/8__artwork__1650181258085.jpg','无',NULL,8,1,'/resources/images/covers/8__37__cover__1650181258092.jpg'); + +/*Table structure for table `collections` */ + +DROP TABLE IF EXISTS `collections`; + +CREATE TABLE `collections` ( + `uid` int NOT NULL, + `saleId` int NOT NULL, + PRIMARY KEY (`uid`,`saleId`), + KEY `saleId_constraint` (`saleId`), + CONSTRAINT `saleId_constraint` FOREIGN KEY (`saleId`) REFERENCES `saleitems` (`saleId`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `uid_constraint` FOREIGN KEY (`uid`) REFERENCES `account` (`Id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; + +/*Data for the table `collections` */ + +insert into `collections`(`uid`,`saleId`) values +(8,2), +(15,13), +(15,14), +(15,17), +(15,19), +(8,21), +(15,21), +(8,22), +(15,26), +(8,28); + +/*Table structure for table `label` */ + +DROP TABLE IF EXISTS `label`; + +CREATE TABLE `label` ( + `id` int NOT NULL AUTO_INCREMENT, + `content` varchar(20) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `content_constraint` (`content`) +) ENGINE=InnoDB AUTO_INCREMENT=35 DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; + +/*Data for the table `label` */ + +insert into `label`(`id`,`content`) values +(24,'1453'), +(23,'453'), +(34,'二次元'), +(15,'人'), +(25,'修勾勾'), +(32,'动漫'), +(22,'动物'), +(17,'可爱'), +(1,'名画'), +(19,'喵喵'), +(12,'安装'), +(26,'小喵喵'), +(21,'小狗'), +(4,'很贵'), +(2,'有名影视'), +(18,'毛'), +(31,'油画'), +(20,'狗'), +(28,'狗子'), +(29,'狗狗'), +(16,'猫'), +(27,'猫猫'), +(3,'珍藏'), +(14,'秦宗伟'), +(11,'美丽'), +(13,'蒙娜丽莎的微笑'), +(33,'虚拟'), +(30,'达芬奇'), +(10,'高贵'); + +/*Table structure for table `labelbelong` */ + +DROP TABLE IF EXISTS `labelbelong`; + +CREATE TABLE `labelbelong` ( + `workId` int DEFAULT NULL, + `labelId` int DEFAULT NULL, + KEY `workId` (`workId`), + KEY `labelId` (`labelId`), + CONSTRAINT `labelbelong_ibfk_1` FOREIGN KEY (`workId`) REFERENCES `artwork` (`id`), + CONSTRAINT `labelbelong_ibfk_2` FOREIGN KEY (`labelId`) REFERENCES `label` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; + +/*Data for the table `labelbelong` */ + +insert into `labelbelong`(`workId`,`labelId`) values +(3,3), +(4,2), +(20,21), +(22,24), +(26,25), +(26,26), +(27,27), +(28,28), +(29,29), +(30,16), +(2,31), +(1,30), +(1,31), +(19,22), +(21,22), +(21,20), +(11,32), +(11,33), +(8,32), +(8,34), +(32,22), +(33,22), +(37,22); + +/*Table structure for table `orders` */ + +DROP TABLE IF EXISTS `orders`; + +CREATE TABLE `orders` ( + `orderId` int NOT NULL AUTO_INCREMENT, + `salerId` int NOT NULL, + `buyerId` int NOT NULL, + `dealTime` bigint NOT NULL, + `saleId` int DEFAULT NULL, + `price` int NOT NULL, + PRIMARY KEY (`orderId`) +) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; + +/*Data for the table `orders` */ + +insert into `orders`(`orderId`,`salerId`,`buyerId`,`dealTime`,`saleId`,`price`) values +(1,8,9,211292,3,100), +(3,8,15,1650144535868,13,10), +(4,15,15,1650145080150,17,1), +(5,15,15,1650160602390,27,1), +(6,15,15,1650162953743,26,1), +(7,8,8,1650173473099,19,1), +(8,15,8,1650178216076,18,1), +(10,15,8,1650181319149,25,1), +(11,8,15,1650198122050,37,1); + +/*Table structure for table `recharge` */ + +DROP TABLE IF EXISTS `recharge`; + +CREATE TABLE `recharge` ( + `out_trade_no` varchar(40) NOT NULL, + `trade_no` varchar(40) DEFAULT NULL, + `amount` double DEFAULT NULL, + `gmt_create` bigint DEFAULT NULL, + `gmt_payment` bigint DEFAULT NULL, + `uid` int DEFAULT NULL, + `state` tinyint(1) DEFAULT '0', + PRIMARY KEY (`out_trade_no`), + KEY `uid` (`uid`), + CONSTRAINT `recharge_ibfk_1` FOREIGN KEY (`uid`) REFERENCES `account` (`Id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; + +/*Data for the table `recharge` */ + +insert into `recharge`(`out_trade_no`,`trade_no`,`amount`,`gmt_create`,`gmt_payment`,`uid`,`state`) values +('1649707432643-8','2022041222001444180502859251',1,1649707432739,1649707455000,8,1), +('1649707500303-8','2022041222001444180502859415',2,1649707500340,1649707513000,8,1), +('1649831796158-8',NULL,1,1649831796302,NULL,8,0), +('1649832835109-8','2022041322001444180502859841',1,1649832835290,1649832856000,8,1), +('1649833010993-8','2022041322001444180502860166',2,1649833011041,1649833024000,8,1), +('1649849266969-8',NULL,1,1649849267138,NULL,8,0), +('1650033007644-8',NULL,5,1650033007711,NULL,8,0), +('1650033212938-8',NULL,5,1650033213010,NULL,8,0), +('1650033308921-8',NULL,5,1650033308983,NULL,8,0), +('1650033720815-18',NULL,0,1650033720879,NULL,18,0), +('1650033722268-18',NULL,0,1650033722285,NULL,18,0), +('1650033740339-8',NULL,1,1650033740367,NULL,8,0), +('1650033758719-18',NULL,0,1650033758737,NULL,18,0), +('1650033855020-8',NULL,2,1650033855038,NULL,8,0), +('1650034260611-8',NULL,2,1650034260631,NULL,8,0), +('1650034391595-8',NULL,5,1650034391659,NULL,8,0), +('1650034604109-8','2022041522001444180502861413',5,1650034604165,1650034633000,8,1), +('1650034665946-8','2022041522001444180502861276',4,1650034665978,1650034679000,8,1), +('1650036345038-18','2022041522001444180502861097',1,1650036345096,1650036367000,18,1), +('1650173752936-8',NULL,1,1650173753030,NULL,8,0), +('1650176108945-8',NULL,10,1650176109022,NULL,8,0), +('1650176502296-8',NULL,10,1650176502315,NULL,8,0), +('1650177262628-8',NULL,10,1650177262647,NULL,8,0), +('1650177346725-8',NULL,10,1650177346744,NULL,8,0), +('1650177481416-8',NULL,10,1650177481436,NULL,8,0), +('1650177729203-8',NULL,10,1650177729221,NULL,8,0), +('1650177814971-8',NULL,10,1650177814989,NULL,8,0), +('1650177895431-8',NULL,10,1650177895448,NULL,8,0), +('1650178103104-8',NULL,10,1650178103122,NULL,8,0), +('1650178645503-8',NULL,10,1650178645525,NULL,8,0), +('1650178788072-8',NULL,10,1650178788089,NULL,8,0), +('1650178891374-8',NULL,10,1650178891391,NULL,8,0), +('1650179819964-8',NULL,10,1650179819984,NULL,8,0), +('1650180574566-8',NULL,10,1650180574585,NULL,8,0), +('1650180665101-8',NULL,10,1650180665117,NULL,8,0), +('1650180861487-8',NULL,10,1650180861506,NULL,8,0), +('1650181105851-8',NULL,10,1650181105871,NULL,8,0), +('1650181228397-8',NULL,10,1650181228416,NULL,8,0); + +/*Table structure for table `saleitems` */ + +DROP TABLE IF EXISTS `saleitems`; + +CREATE TABLE `saleitems` ( + `saleId` int NOT NULL AUTO_INCREMENT, + `productId` int NOT NULL, + `shelfTime` bigint NOT NULL, + `salerId` int NOT NULL, + `price` int NOT NULL, + `state` varchar(4) DEFAULT NULL, + `starCount` int DEFAULT '0', + `instruction` varchar(3000) DEFAULT '', + PRIMARY KEY (`saleId`), + KEY `productId_constraint` (`productId`), + CONSTRAINT `productId_constraint` FOREIGN KEY (`productId`) REFERENCES `artwork` (`id`), + CONSTRAINT `saleitems_chk_1` CHECK (((`state` = _utf8'已售') or (`state` = _utf8'在售') or (`state` = _utf8'已下架'))) +) ENGINE=InnoDB AUTO_INCREMENT=39 DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; + +/*Data for the table `saleitems` */ + +insert into `saleitems`(`saleId`,`productId`,`shelfTime`,`salerId`,`price`,`state`,`starCount`,`instruction`) values +(2,4,221111,8,272,'已下架',1,''), +(3,1,22221,8,2,'已售',1,''), +(10,1,1649948652788,8,1292,'已下架',0,'NSA模块\n'), +(11,1,1649959118075,8,1,'已下架',0,'一切解释权归商家所有'), +(12,1,1650024516409,8,1222,'已下架',0,'无'), +(13,20,1650085478239,8,10,'已售',1,'无'), +(14,21,1650086313798,8,11,'已下架',1,'哈哈哈哈哈'), +(15,22,1650090490245,18,100000000,'已下架',0,'111111111'), +(16,22,1650090578799,18,1,'已下架',0,'33\n'), +(17,6,1650121435592,15,1,'已售',1,'啊'), +(18,7,1650123252388,15,1,'已售',0,'我去饿的出门'), +(19,1,1650123292269,8,1,'已售',1,'一经售出概不退还'), +(20,2,1650123305606,8,11,'已售',0,'小动物查看目录'), +(21,10,1650123321913,8,2123,'在售',2,'无需额外的尺寸单位'), +(22,11,1650123368336,8,12221,'在售',1,'22'), +(25,27,1650138602412,15,1,'已售',0,''), +(26,28,1650140069582,15,1,'已售',1,''), +(27,26,1650140127508,15,1,'已售',0,''), +(28,30,1650140278041,15,1,'在售',1,''), +(29,29,1650140296422,15,1,'在售',2,''), +(30,32,1650178164175,8,11,'已下架',0,'无'), +(31,33,1650178948792,8,1,'已下架',0,'无'), +(34,37,1650181280539,8,1,'已下架',0,'无'), +(35,4,1650197191101,8,1,'在售',1,'无'), +(36,6,1650197634131,15,1,'在售',0,'一经购买概不退还'), +(37,21,1650198086716,8,1,'已售',0,'一经购买概不退还\n'), +(38,1,1650386941147,8,1,'在售',0,'无'); + +/*Table structure for table `type` */ + +DROP TABLE IF EXISTS `type`; + +CREATE TABLE `type` ( + `id` int NOT NULL AUTO_INCREMENT, + `content` varchar(20) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; + +/*Data for the table `type` */ + +insert into `type`(`id`,`content`) values +(1,'绘画'), +(2,'音乐'), +(3,'视频'); + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; diff --git a/nftmanageserver/.idea/.gitignore b/nftmanageserver/.idea/.gitignore new file mode 100644 index 0000000..73f69e0 --- /dev/null +++ b/nftmanageserver/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/nftmanageserver/.idea/compiler.xml b/nftmanageserver/.idea/compiler.xml new file mode 100644 index 0000000..9764a8c --- /dev/null +++ b/nftmanageserver/.idea/compiler.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/encodings.xml b/nftmanageserver/.idea/encodings.xml new file mode 100644 index 0000000..63e9001 --- /dev/null +++ b/nftmanageserver/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/jarRepositories.xml b/nftmanageserver/.idea/jarRepositories.xml new file mode 100644 index 0000000..712ab9d --- /dev/null +++ b/nftmanageserver/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_10.xml b/nftmanageserver/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_10.xml new file mode 100644 index 0000000..5f36e1c --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_10.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__ch_qos_logback_logback_core_1_2_10.xml b/nftmanageserver/.idea/libraries/Maven__ch_qos_logback_logback_core_1_2_10.xml new file mode 100644 index 0000000..2ff6de4 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__ch_qos_logback_logback_core_1_2_10.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_2_0_2_graal.xml b/nftmanageserver/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_2_0_2_graal.xml new file mode 100644 index 0000000..35db60e --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_2_0_2_graal.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_extension_2_0_2_graal.xml b/nftmanageserver/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_extension_2_0_2_graal.xml new file mode 100644 index 0000000..148076b --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_extension_2_0_2_graal.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__com_alibaba_fastjson_2_0_2_graal.xml b/nftmanageserver/.idea/libraries/Maven__com_alibaba_fastjson_2_0_2_graal.xml new file mode 100644 index 0000000..6539bc8 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__com_alibaba_fastjson_2_0_2_graal.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_13_1.xml b/nftmanageserver/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_13_1.xml new file mode 100644 index 0000000..3c6c6ee --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_13_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_13_1.xml b/nftmanageserver/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_13_1.xml new file mode 100644 index 0000000..6e03d01 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_13_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_13_1.xml b/nftmanageserver/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_13_1.xml new file mode 100644 index 0000000..1251c77 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_13_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_13_1.xml b/nftmanageserver/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_13_1.xml new file mode 100644 index 0000000..f6e5e78 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_13_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_13_1.xml b/nftmanageserver/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_13_1.xml new file mode 100644 index 0000000..55ad526 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_13_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_13_1.xml b/nftmanageserver/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_13_1.xml new file mode 100644 index 0000000..46f3cea --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_13_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_6_0.xml b/nftmanageserver/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_6_0.xml new file mode 100644 index 0000000..e0ce78c --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_6_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml b/nftmanageserver/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml new file mode 100644 index 0000000..e80f629 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__com_zaxxer_HikariCP_4_0_3.xml b/nftmanageserver/.idea/libraries/Maven__com_zaxxer_HikariCP_4_0_3.xml new file mode 100644 index 0000000..2df68c9 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__com_zaxxer_HikariCP_4_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml b/nftmanageserver/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml new file mode 100644 index 0000000..94aca05 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml b/nftmanageserver/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml new file mode 100644 index 0000000..36c49a0 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml b/nftmanageserver/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml new file mode 100644 index 0000000..7f11c34 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__mysql_mysql_connector_java_8_0_28.xml b/nftmanageserver/.idea/libraries/Maven__mysql_mysql_connector_java_8_0_28.xml new file mode 100644 index 0000000..87daa46 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__mysql_mysql_connector_java_8_0_28.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_11_22.xml b/nftmanageserver/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_11_22.xml new file mode 100644 index 0000000..b8df8ae --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_11_22.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_11_22.xml b/nftmanageserver/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_11_22.xml new file mode 100644 index 0000000..81467e5 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_11_22.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__net_minidev_accessors_smart_2_4_8.xml b/nftmanageserver/.idea/libraries/Maven__net_minidev_accessors_smart_2_4_8.xml new file mode 100644 index 0000000..c6ca94f --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__net_minidev_accessors_smart_2_4_8.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__net_minidev_json_smart_2_4_8.xml b/nftmanageserver/.idea/libraries/Maven__net_minidev_json_smart_2_4_8.xml new file mode 100644 index 0000000..6bc485f --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__net_minidev_json_smart_2_4_8.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_17_1.xml b/nftmanageserver/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_17_1.xml new file mode 100644 index 0000000..0a586b2 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_17_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_17_1.xml b/nftmanageserver/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_17_1.xml new file mode 100644 index 0000000..127eaeb --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_17_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_58.xml b/nftmanageserver/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_58.xml new file mode 100644 index 0000000..2ef452f --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_58.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_58.xml b/nftmanageserver/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_58.xml new file mode 100644 index 0000000..dddf1fb --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_58.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_58.xml b/nftmanageserver/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_58.xml new file mode 100644 index 0000000..a54d031 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_58.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml b/nftmanageserver/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml new file mode 100644 index 0000000..46764e7 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_assertj_assertj_core_3_21_0.xml b/nftmanageserver/.idea/libraries/Maven__org_assertj_assertj_core_3_21_0.xml new file mode 100644 index 0000000..b198709 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_assertj_assertj_core_3_21_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml b/nftmanageserver/.idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml new file mode 100644 index 0000000..44df19e --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_json_json_20220320.xml b/nftmanageserver/.idea/libraries/Maven__org_json_json_20220320.xml new file mode 100644 index 0000000..2fead36 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_json_json_20220320.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_8_2.xml b/nftmanageserver/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_8_2.xml new file mode 100644 index 0000000..a4c949c --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_8_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_8_2.xml b/nftmanageserver/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_8_2.xml new file mode 100644 index 0000000..ed6b71b --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_8_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_8_2.xml b/nftmanageserver/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_8_2.xml new file mode 100644 index 0000000..8c546ea --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_8_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_8_2.xml b/nftmanageserver/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_8_2.xml new file mode 100644 index 0000000..1a180c9 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_8_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_8_2.xml b/nftmanageserver/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_8_2.xml new file mode 100644 index 0000000..b414224 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_8_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_8_2.xml b/nftmanageserver/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_8_2.xml new file mode 100644 index 0000000..2ddf4c5 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_8_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_mockito_mockito_core_4_0_0.xml b/nftmanageserver/.idea/libraries/Maven__org_mockito_mockito_core_4_0_0.xml new file mode 100644 index 0000000..a71a9df --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_mockito_mockito_core_4_0_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_4_0_0.xml b/nftmanageserver/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_4_0_0.xml new file mode 100644 index 0000000..c8954fc --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_4_0_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_mybatis_mybatis_3_5_9.xml b/nftmanageserver/.idea/libraries/Maven__org_mybatis_mybatis_3_5_9.xml new file mode 100644 index 0000000..945eca1 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_mybatis_mybatis_3_5_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_mybatis_mybatis_spring_2_0_7.xml b/nftmanageserver/.idea/libraries/Maven__org_mybatis_mybatis_spring_2_0_7.xml new file mode 100644 index 0000000..471e139 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_mybatis_mybatis_spring_2_0_7.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_2_2_2.xml b/nftmanageserver/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_2_2_2.xml new file mode 100644 index 0000000..7d9d0b2 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_2_2_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_2_2_2.xml b/nftmanageserver/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_2_2_2.xml new file mode 100644 index 0000000..ffa1263 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_2_2_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_objenesis_objenesis_3_2.xml b/nftmanageserver/.idea/libraries/Maven__org_objenesis_objenesis_3_2.xml new file mode 100644 index 0000000..070a5fd --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_objenesis_objenesis_3_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml b/nftmanageserver/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml new file mode 100644 index 0000000..47b9cef --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_ow2_asm_asm_9_1.xml b/nftmanageserver/.idea/libraries/Maven__org_ow2_asm_asm_9_1.xml new file mode 100644 index 0000000..0bfa784 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_ow2_asm_asm_9_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_0.xml b/nftmanageserver/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_0.xml new file mode 100644 index 0000000..fcf276f --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_36.xml b/nftmanageserver/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_36.xml new file mode 100644 index 0000000..2b3c52e --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_36.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_36.xml b/nftmanageserver/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_36.xml new file mode 100644 index 0000000..f481ee6 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_36.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_2_6_4.xml b/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_2_6_4.xml new file mode 100644 index 0000000..4c4ad5a --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_2_6_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_6_4.xml b/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_6_4.xml new file mode 100644 index 0000000..20197f7 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_6_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_6_4.xml b/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_6_4.xml new file mode 100644 index 0000000..57fdbb2 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_6_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_2_6_4.xml b/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_2_6_4.xml new file mode 100644 index 0000000..03489e1 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_2_6_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_6_4.xml b/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_6_4.xml new file mode 100644 index 0000000..c5b7dfb --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_6_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_6_4.xml b/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_6_4.xml new file mode 100644 index 0000000..98a2ebf --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_6_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_2_6_4.xml b/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_2_6_4.xml new file mode 100644 index 0000000..ee7334e --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_2_6_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_2_6_4.xml b/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_2_6_4.xml new file mode 100644 index 0000000..e6b6b52 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_2_6_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_6_4.xml b/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_6_4.xml new file mode 100644 index 0000000..695251f --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_6_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_6_4.xml b/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_6_4.xml new file mode 100644 index 0000000..9011e42 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_6_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_6_4.xml b/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_6_4.xml new file mode 100644 index 0000000..f149fb7 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_6_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_aop_5_3_16.xml b/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_aop_5_3_16.xml new file mode 100644 index 0000000..bfe5216 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_aop_5_3_16.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_beans_5_3_16.xml b/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_beans_5_3_16.xml new file mode 100644 index 0000000..c254739 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_beans_5_3_16.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_context_5_3_16.xml b/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_context_5_3_16.xml new file mode 100644 index 0000000..d3579c7 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_context_5_3_16.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_core_5_3_16.xml b/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_core_5_3_16.xml new file mode 100644 index 0000000..d0b60c5 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_core_5_3_16.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_expression_5_3_16.xml b/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_expression_5_3_16.xml new file mode 100644 index 0000000..55c5c55 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_expression_5_3_16.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_jcl_5_3_16.xml b/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_jcl_5_3_16.xml new file mode 100644 index 0000000..7584fae --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_jcl_5_3_16.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_jdbc_5_3_16.xml b/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_jdbc_5_3_16.xml new file mode 100644 index 0000000..468401d --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_jdbc_5_3_16.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_test_5_3_16.xml b/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_test_5_3_16.xml new file mode 100644 index 0000000..9cf3e5e --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_test_5_3_16.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_tx_5_3_16.xml b/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_tx_5_3_16.xml new file mode 100644 index 0000000..9be959e --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_tx_5_3_16.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_web_5_3_16.xml b/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_web_5_3_16.xml new file mode 100644 index 0000000..1f3ce81 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_web_5_3_16.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_webmvc_5_3_16.xml b/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_webmvc_5_3_16.xml new file mode 100644 index 0000000..337b443 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_springframework_spring_webmvc_5_3_16.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_8_4.xml b/nftmanageserver/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_8_4.xml new file mode 100644 index 0000000..a910287 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_8_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/libraries/Maven__org_yaml_snakeyaml_1_29.xml b/nftmanageserver/.idea/libraries/Maven__org_yaml_snakeyaml_1_29.xml new file mode 100644 index 0000000..0f00ca4 --- /dev/null +++ b/nftmanageserver/.idea/libraries/Maven__org_yaml_snakeyaml_1_29.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/misc.xml b/nftmanageserver/.idea/misc.xml new file mode 100644 index 0000000..7ae16d6 --- /dev/null +++ b/nftmanageserver/.idea/misc.xml @@ -0,0 +1,13 @@ + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/modules.xml b/nftmanageserver/.idea/modules.xml new file mode 100644 index 0000000..807c78b --- /dev/null +++ b/nftmanageserver/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/runConfigurations.xml b/nftmanageserver/.idea/runConfigurations.xml new file mode 100644 index 0000000..797acea --- /dev/null +++ b/nftmanageserver/.idea/runConfigurations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/uiDesigner.xml b/nftmanageserver/.idea/uiDesigner.xml new file mode 100644 index 0000000..e96534f --- /dev/null +++ b/nftmanageserver/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/.idea/vcs.xml b/nftmanageserver/.idea/vcs.xml new file mode 100644 index 0000000..4b54472 --- /dev/null +++ b/nftmanageserver/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/nftmanageserver/HELP.md b/nftmanageserver/HELP.md new file mode 100644 index 0000000..d8aae29 --- /dev/null +++ b/nftmanageserver/HELP.md @@ -0,0 +1,22 @@ +# Getting Started + +### Reference Documentation + +For further reference, please consider the following sections: + +* [Official Apache Maven documentation](https://maven.apache.org/guides/index.html) +* [Spring Boot Maven Plugin Reference Guide](https://docs.spring.io/spring-boot/docs/2.6.7/maven-plugin/reference/html/) +* [Create an OCI image](https://docs.spring.io/spring-boot/docs/2.6.7/maven-plugin/reference/html/#build-image) +* [MyBatis Framework](https://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/) +* [Spring Web](https://docs.spring.io/spring-boot/docs/2.6.7/reference/htmlsingle/#boot-features-developing-web-applications) + +### Guides + +The following guides illustrate how to use some features concretely: + +* [MyBatis Quick Start](https://github.com/mybatis/spring-boot-starter/wiki/Quick-Start) +* [Building a RESTful Web Service](https://spring.io/guides/gs/rest-service/) +* [Serving Web Content with Spring MVC](https://spring.io/guides/gs/serving-web-content/) +* [Building REST services with Spring](https://spring.io/guides/tutorials/bookmarks/) +* [Accessing data with MySQL](https://spring.io/guides/gs/accessing-data-mysql/) + diff --git a/nftmanageserver/mvnw b/nftmanageserver/mvnw new file mode 100644 index 0000000..8a8fb22 --- /dev/null +++ b/nftmanageserver/mvnw @@ -0,0 +1,316 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Maven Start Up Batch script +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# M2_HOME - location of maven2's installed home dir +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /usr/local/etc/mavenrc ] ; then + . /usr/local/etc/mavenrc + fi + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "`uname`" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + export JAVA_HOME="`/usr/libexec/java_home`" + else + export JAVA_HOME="/Library/Java/Home" + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=`java-config --jre-home` + fi +fi + +if [ -z "$M2_HOME" ] ; then + ## resolve links - $0 may be a link to maven's home + PRG="$0" + + # need this for relative symlinks + while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG="`dirname "$PRG"`/$link" + fi + done + + saveddir=`pwd` + + M2_HOME=`dirname "$PRG"`/.. + + # make it fully qualified + M2_HOME=`cd "$M2_HOME" && pwd` + + cd "$saveddir" + # echo Using m2 at $M2_HOME +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --unix "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --unix "$CLASSPATH"` +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$M2_HOME" ] && + M2_HOME="`(cd "$M2_HOME"; pwd)`" + [ -n "$JAVA_HOME" ] && + JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="`which javac`" + if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=`which readlink` + if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then + if $darwin ; then + javaHome="`dirname \"$javaExecutable\"`" + javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + else + javaExecutable="`readlink -f \"$javaExecutable\"`" + fi + javaHome="`dirname \"$javaExecutable\"`" + javaHome=`expr "$javaHome" : '\(.*\)/bin'` + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="`\\unset -f command; \\command -v java`" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=`cd "$wdir/.."; pwd` + fi + # end of workaround + done + echo "${basedir}" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + echo "$(tr -s '\n' ' ' < "$1")" + fi +} + +BASE_DIR=`find_maven_basedir "$(pwd)"` +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found .mvn/wrapper/maven-wrapper.jar" + fi +else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." + fi + if [ -n "$MVNW_REPOURL" ]; then + jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + else + jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + fi + while IFS="=" read key value; do + case "$key" in (wrapperUrl) jarUrl="$value"; break ;; + esac + done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" + if [ "$MVNW_VERBOSE" = true ]; then + echo "Downloading from: $jarUrl" + fi + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + if $cygwin; then + wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` + fi + + if command -v wget > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found wget ... using wget" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + else + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + fi + elif command -v curl > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found curl ... using curl" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl -o "$wrapperJarPath" "$jarUrl" -f + else + curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + fi + + else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Falling back to using Java to download" + fi + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaClass=`cygpath --path --windows "$javaClass"` + fi + if [ -e "$javaClass" ]; then + if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Compiling MavenWrapperDownloader.java ..." + fi + # Compiling the Java class + ("$JAVA_HOME/bin/javac" "$javaClass") + fi + if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + # Running the downloader + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Running MavenWrapperDownloader.java ..." + fi + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +if [ "$MVNW_VERBOSE" = true ]; then + echo $MAVEN_PROJECTBASEDIR +fi +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --path --windows "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +exec "$JAVACMD" \ + $MAVEN_OPTS \ + $MAVEN_DEBUG_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.home=${M2_HOME}" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/nftmanageserver/mvnw.cmd b/nftmanageserver/mvnw.cmd new file mode 100644 index 0000000..1d8ab01 --- /dev/null +++ b/nftmanageserver/mvnw.cmd @@ -0,0 +1,188 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM https://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Maven Start Up Batch script +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM M2_HOME - location of maven2's installed home dir +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %DOWNLOAD_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%"=="on" pause + +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% + +cmd /C exit /B %ERROR_CODE% diff --git a/nftmanageserver/nftmana b/nftmanageserver/nftmana new file mode 160000 index 0000000..211f355 --- /dev/null +++ b/nftmanageserver/nftmana @@ -0,0 +1 @@ +Subproject commit 211f355027532d5ff78f0f767741ea21de35aa58 diff --git a/nftmanageserver/nftmanageserver.iml b/nftmanageserver/nftmanageserver.iml new file mode 100644 index 0000000..6c73615 --- /dev/null +++ b/nftmanageserver/nftmanageserver.iml @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/nftmanageserver/pom.xml b/nftmanageserver/pom.xml new file mode 100644 index 0000000..38537f0 --- /dev/null +++ b/nftmanageserver/pom.xml @@ -0,0 +1,57 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.6.4 + + + zhuluo.learning + nftmanageserver + 0.0.1-SNAPSHOT + nftmanageserver + nftmanageserver + + 8 + + + + com.alibaba + fastjson + 2.0.2.graal + + + org.springframework.boot + spring-boot-starter-web + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 2.2.2 + + + + mysql + mysql-connector-java + runtime + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + 2.6.4 + + + + + diff --git a/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/NftmanageserverApplication.java b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/NftmanageserverApplication.java new file mode 100644 index 0000000..0180b80 --- /dev/null +++ b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/NftmanageserverApplication.java @@ -0,0 +1,13 @@ +package zhuluo.learning.nftmanageserver; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class NftmanageserverApplication { + + public static void main(String[] args) { + SpringApplication.run(NftmanageserverApplication.class, args); + } + +} diff --git a/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/goods/controller/SaleItemsController.java b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/goods/controller/SaleItemsController.java new file mode 100644 index 0000000..8aa1c47 --- /dev/null +++ b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/goods/controller/SaleItemsController.java @@ -0,0 +1,53 @@ +package zhuluo.learning.nftmanageserver.goods.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import zhuluo.learning.nftmanageserver.goods.pojo.Artwork; +import zhuluo.learning.nftmanageserver.goods.pojo.SaleItems; +import zhuluo.learning.nftmanageserver.goods.service.ArtworkService; +import zhuluo.learning.nftmanageserver.goods.service.SaleItemsService; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +@RequestMapping("/goods") +@RestController +public class SaleItemsController { + + @Autowired + private SaleItemsService saleItemsService; + @Autowired + private ArtworkService artworkService; + + @RequestMapping("/getAll") + public List getAll(){ + //获取SalesItems列表 + List saleItemsList = saleItemsService.selectAll(); + //创建日期转化类 + DateFormat df = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); + for (SaleItems item: + saleItemsList) {//挨个查找固定的artwork合并 + //先进行日期格式化 + if(item.getShelfTime()!=null){ + Date date = new Date(Long.parseLong(item.getShelfTime())); + item.setShelfTime(df.format(date)); + } + Artwork artwork = artworkService.selectById(item.getProductId()); + item.setArtwork(artwork); + } + return saleItemsList; + } + + @RequestMapping("/getById") + public SaleItems getById(@RequestParam("saleId") int saleId){ + SaleItems saleItems = saleItemsService.selectById(saleId); + Artwork artwork = artworkService.selectById(saleItems.getProductId()); + saleItems.setArtwork(artwork); + return saleItems; + } + +} diff --git a/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/goods/mapper/ArtworkMapper.java b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/goods/mapper/ArtworkMapper.java new file mode 100644 index 0000000..ba4fd2c --- /dev/null +++ b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/goods/mapper/ArtworkMapper.java @@ -0,0 +1,15 @@ +package zhuluo.learning.nftmanageserver.goods.mapper; + +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; +import org.springframework.stereotype.Repository; +import zhuluo.learning.nftmanageserver.goods.pojo.Artwork; + +@Mapper +@Repository +public interface ArtworkMapper { + final String selectById = "SELECT * FROM artwork WHERE id = #{id}"; + + @Select(selectById) + public Artwork selectById(int id); +} diff --git a/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/goods/mapper/SaleItemsMapper.java b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/goods/mapper/SaleItemsMapper.java new file mode 100644 index 0000000..0139066 --- /dev/null +++ b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/goods/mapper/SaleItemsMapper.java @@ -0,0 +1,19 @@ +package zhuluo.learning.nftmanageserver.goods.mapper; + +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; +import org.springframework.stereotype.Repository; +import zhuluo.learning.nftmanageserver.goods.pojo.SaleItems; + +import java.util.List; + +@Mapper +@Repository +public interface SaleItemsMapper { + final String selectAll = "SELECT * FROM saleItems"; + final String selectById = "SELECT * FROM saleItems WHERE saleId = #{saleId}"; + @Select(selectAll) + public List selectAll(); + @Select(selectById) + public SaleItems selectById(int saleId); +} diff --git a/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/goods/pojo/Artwork.java b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/goods/pojo/Artwork.java new file mode 100644 index 0000000..b8a2e9f --- /dev/null +++ b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/goods/pojo/Artwork.java @@ -0,0 +1,90 @@ +package zhuluo.learning.nftmanageserver.goods.pojo; + +public class Artwork { + private int id; + private String name; + private String url; + private String description; + private String chainAddress; + private int ownerId; + private int typeId; + private String coverUrl; + + @Override + public String toString() { + return "artwork{" + + "id=" + id + + ", name='" + name + '\'' + + ", url='" + url + '\'' + + ", description='" + description + '\'' + + ", chainAddress='" + chainAddress + '\'' + + ", ownerId=" + ownerId + + ", typeId=" + typeId + + ", coverUrl='" + coverUrl + '\'' + + '}'; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getChainAddress() { + return chainAddress; + } + + public void setChainAddress(String chainAddress) { + this.chainAddress = chainAddress; + } + + public int getOwnerId() { + return ownerId; + } + + public void setOwnerId(int ownerId) { + this.ownerId = ownerId; + } + + public int getTypeId() { + return typeId; + } + + public void setTypeId(int typeId) { + this.typeId = typeId; + } + + public String getCoverUrl() { + return coverUrl; + } + + public void setCoverUrl(String coverUrl) { + this.coverUrl = coverUrl; + } +} diff --git a/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/goods/pojo/SaleItems.java b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/goods/pojo/SaleItems.java new file mode 100644 index 0000000..de408f7 --- /dev/null +++ b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/goods/pojo/SaleItems.java @@ -0,0 +1,100 @@ +package zhuluo.learning.nftmanageserver.goods.pojo; + +public class SaleItems { + private int saleId; + private int productId; + private String shelfTime; + private int salerId; + private int price; + private String state; + private int starCount; + private String instruction; + private Artwork artwork; + + @Override + public String toString() { + return "SaleItems{" + + "saleId=" + saleId + + ", productId=" + productId + + ", shelfTime='" + shelfTime + '\'' + + ", salerId=" + salerId + + ", price=" + price + + ", state='" + state + '\'' + + ", starCount=" + starCount + + ", instruction='" + instruction + '\'' + + ", artwork=" + artwork + + '}'; + } + + public int getSaleId() { + return saleId; + } + + public void setSaleId(int saleId) { + this.saleId = saleId; + } + + public int getProductId() { + return productId; + } + + public void setProductId(int productId) { + this.productId = productId; + } + + public String getShelfTime() { + return shelfTime; + } + + public void setShelfTime(String shelfTime) { + this.shelfTime = shelfTime; + } + + public int getSalerId() { + return salerId; + } + + public void setSalerId(int salerId) { + this.salerId = salerId; + } + + public int getPrice() { + return price; + } + + public void setPrice(int price) { + this.price = price; + } + + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } + + public int getStarCount() { + return starCount; + } + + public void setStarCount(int starCount) { + this.starCount = starCount; + } + + public String getInstruction() { + return instruction; + } + + public void setInstruction(String instruction) { + this.instruction = instruction; + } + + public Artwork getArtwork() { + return artwork; + } + + public void setArtwork(Artwork artwork) { + this.artwork = artwork; + } +} diff --git a/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/goods/service/ArtworkService.java b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/goods/service/ArtworkService.java new file mode 100644 index 0000000..76494d7 --- /dev/null +++ b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/goods/service/ArtworkService.java @@ -0,0 +1,16 @@ +package zhuluo.learning.nftmanageserver.goods.service; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import zhuluo.learning.nftmanageserver.goods.mapper.ArtworkMapper; +import zhuluo.learning.nftmanageserver.goods.pojo.Artwork; + +@Service +public class ArtworkService { + @Autowired + private ArtworkMapper artworkMapper; + + public Artwork selectById(int id){ + return artworkMapper.selectById(id); + } +} diff --git a/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/goods/service/SaleItemsService.java b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/goods/service/SaleItemsService.java new file mode 100644 index 0000000..7107705 --- /dev/null +++ b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/goods/service/SaleItemsService.java @@ -0,0 +1,22 @@ +package zhuluo.learning.nftmanageserver.goods.service; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import zhuluo.learning.nftmanageserver.goods.mapper.SaleItemsMapper; +import zhuluo.learning.nftmanageserver.goods.pojo.SaleItems; + +import java.util.List; + +@Service +public class SaleItemsService { + @Autowired + private SaleItemsMapper saleItemsMapper; + + public List selectAll(){ + return saleItemsMapper.selectAll(); + } + + public SaleItems selectById(int saleId){ + return saleItemsMapper.selectById(saleId); + } +} diff --git a/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/login/controller/UserController.java b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/login/controller/UserController.java new file mode 100644 index 0000000..6c5cf8e --- /dev/null +++ b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/login/controller/UserController.java @@ -0,0 +1,44 @@ +package zhuluo.learning.nftmanageserver.login.controller; + +import com.alibaba.fastjson.JSONObject; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; +import zhuluo.learning.nftmanageserver.login.pojo.User; +import zhuluo.learning.nftmanageserver.login.service.UserService; + +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +@RestController +@RequestMapping("/user") +public class UserController { + + @Autowired + private UserService userService; + + //要接受前端发送的json数据,可以使用阿里巴巴的fastjson库进行解析 + @RequestMapping("/canLogin") + public String canLogin(@RequestParam("username") String username,@RequestParam("password") String password){//可以接收json作为JSONObject类的对象 + User user = userService.getByUserName(username); + //如果账号不可用,则返回false,不能登录 + if(user.getIsActive()==0){ + return "false"; + } + if(user==null){ + System.out.println("user == null"); + return "false"; + } + if(password.equals(user.getPassword())){ + return "true"; + }else{ + return "false"; + } + } + + @RequestMapping("/getAll") + public List getAll(){ + return userService.getAll(); + } +} diff --git a/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/login/mapper/UserMapper.java b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/login/mapper/UserMapper.java new file mode 100644 index 0000000..de8b5e9 --- /dev/null +++ b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/login/mapper/UserMapper.java @@ -0,0 +1,42 @@ +package zhuluo.learning.nftmanageserver.login.mapper; + + +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.Update; +import org.springframework.stereotype.Repository; +import zhuluo.learning.nftmanageserver.login.pojo.User; + +import java.util.List; + +@Mapper +@Repository +public interface UserMapper { + final String selectAll = "SELECT * FROM account"; + final String selectByUserName = "SELECT * FROM account WHERE Uname = #{username}"; + final String updateInfo = "UPDATE account SET Password = #{password},Email=#{email},PhoneNum=#{phoneNum} WHERE Uname = #{username}"; + final String selectBySearchKey = "SELECT * FROM account WHERE Uname like #{searchKey}"; + final String selectById = "SELECT * FROM account WHERE Id = #{id}"; + final String updateActive = "UPDATE account SET IsActive = 0 WHERE Id = #{id}"; + final String updateIsActive = "UPDATE account SET IsActive = 1 WHERE Id = #{id}"; + @Select(selectAll) + List selectAll(); + + @Select(selectByUserName) + User selectByUserName(String username); + + @Update(updateInfo) + int updateInfo(String password,String email,String phoneNum,String username); + + @Select(selectBySearchKey) + List searchBySearchKey(String searchKey); + + @Select(selectById) + User selectByUserId(int id); + + @Update(updateActive) + int updateActive(int id); + + @Update(updateIsActive) + int updateIsActive(int id); +} diff --git a/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/login/pojo/User.java b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/login/pojo/User.java new file mode 100644 index 0000000..2a3cd74 --- /dev/null +++ b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/login/pojo/User.java @@ -0,0 +1,120 @@ +package zhuluo.learning.nftmanageserver.login.pojo; + +public class User { + private int Id; + private String Uname; + private String Password; + private String Email; + private String PhoneNum; + private String StateCode; + private String HeadPicUrl; + private int IsActive; + private String Sex; + private int Age; + private int token; + + @Override + public String toString() { + return "User{" + + "Id=" + Id + + ", Uname='" + Uname + '\'' + + ", Password='" + Password + '\'' + + ", Email='" + Email + '\'' + + ", PhoneNum='" + PhoneNum + '\'' + + ", StateCode='" + StateCode + '\'' + + ", HeadPicUrl='" + HeadPicUrl + '\'' + + ", IsActive=" + IsActive + + ", Sex='" + Sex + '\'' + + ", Age=" + Age + + ", token=" + token + + '}'; + } + + public int getId() { + return Id; + } + + public void setId(int id) { + Id = id; + } + + public String getUname() { + return Uname; + } + + public void setUname(String uname) { + Uname = uname; + } + + public String getPassword() { + return Password; + } + + public void setPassword(String password) { + Password = password; + } + + public String getEmail() { + return Email; + } + + public void setEmail(String email) { + Email = email; + } + + public String getPhoneNum() { + return PhoneNum; + } + + public void setPhoneNum(String phoneNum) { + PhoneNum = phoneNum; + } + + public String getStateCode() { + return StateCode; + } + + public void setStateCode(String stateCode) { + StateCode = stateCode; + } + + public String getHeadPicUrl() { + return HeadPicUrl; + } + + public void setHeadPicUrl(String headPicUrl) { + HeadPicUrl = headPicUrl; + } + + public int getIsActive() { + return IsActive; + } + + public void setIsActive(int isActive) { + IsActive = isActive; + } + + public String getSex() { + return Sex; + } + + public void setSex(String sex) { + Sex = sex; + } + + public int getAge() { + return Age; + } + + public void setAge(int age) { + Age = age; + } + + public int getToken() { + return token; + } + + public void setToken(int token) { + this.token = token; + } +} diff --git a/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/login/service/UserService.java b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/login/service/UserService.java new file mode 100644 index 0000000..0b56a3f --- /dev/null +++ b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/login/service/UserService.java @@ -0,0 +1,42 @@ +package zhuluo.learning.nftmanageserver.login.service; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import zhuluo.learning.nftmanageserver.login.mapper.UserMapper; +import zhuluo.learning.nftmanageserver.login.pojo.User; + +import java.util.List; + +@Service +public class UserService { + @Autowired + private UserMapper userMapper; + + public List getAll(){ + return userMapper.selectAll(); + } + + public User getByUserName(String username){ + return userMapper.selectByUserName(username); + } + + public int update(String password,String email,String phoneNum,String username){ + return userMapper.updateInfo(password, email, phoneNum, username); + } + + public List searchBySearchKey(String searchKey){ + return userMapper.searchBySearchKey(searchKey); + } + + public User getByUserId(int id){ + return userMapper.selectByUserId(id); + } + + public int updateActive(int id){ + return userMapper.updateActive(id); + } + + public int updateIsActive(int id){ + return userMapper.updateIsActive(id); + } +} diff --git a/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/orders/controller/OrdersController.java b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/orders/controller/OrdersController.java new file mode 100644 index 0000000..899e609 --- /dev/null +++ b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/orders/controller/OrdersController.java @@ -0,0 +1,53 @@ +package zhuluo.learning.nftmanageserver.orders.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import zhuluo.learning.nftmanageserver.goods.pojo.Artwork; +import zhuluo.learning.nftmanageserver.goods.pojo.SaleItems; +import zhuluo.learning.nftmanageserver.goods.service.ArtworkService; +import zhuluo.learning.nftmanageserver.goods.service.SaleItemsService; +import zhuluo.learning.nftmanageserver.login.pojo.User; +import zhuluo.learning.nftmanageserver.login.service.UserService; +import zhuluo.learning.nftmanageserver.orders.pojo.Orders; +import zhuluo.learning.nftmanageserver.orders.service.OrdersService; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +@RestController +@RequestMapping("/orders") +public class OrdersController { + @Autowired + private OrdersService ordersService; + @Autowired + private UserService userService; + @Autowired + private SaleItemsService saleItemsService; + @Autowired + private ArtworkService artworkService; + + @RequestMapping("/getAll") + public List selectAll(){ + List list = ordersService.selectAll(); + DateFormat df = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); + for (Orders order: + list) { + if(order.getDealTime()!=null){ + Date date = new Date(Long.parseLong(order.getDealTime())); + order.setDealTime(df.format(date)); + } + User buyerUser = userService.getByUserId(order.getBuyerId()); + User salerUser = userService.getByUserId(order.getSalerId()); + SaleItems saleItems = saleItemsService.selectById(order.getSaleId()); + Artwork artwork = artworkService.selectById(saleItems.getProductId()); + saleItems.setArtwork(artwork); + order.setBuyer(buyerUser); + order.setSaler(salerUser); + order.setSaleItems(saleItems); + } + return list; + } +} diff --git a/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/orders/mapper/OrdersMapper.java b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/orders/mapper/OrdersMapper.java new file mode 100644 index 0000000..3fe4c81 --- /dev/null +++ b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/orders/mapper/OrdersMapper.java @@ -0,0 +1,16 @@ +package zhuluo.learning.nftmanageserver.orders.mapper; + +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; +import org.springframework.stereotype.Repository; +import zhuluo.learning.nftmanageserver.orders.pojo.Orders; + +import java.util.List; + +@Mapper +@Repository +public interface OrdersMapper { + final String selectAll = "SELECT * FROM orders"; + @Select(selectAll) + public List selectAll(); +} diff --git a/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/orders/pojo/Orders.java b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/orders/pojo/Orders.java new file mode 100644 index 0000000..b46cfc1 --- /dev/null +++ b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/orders/pojo/Orders.java @@ -0,0 +1,103 @@ +package zhuluo.learning.nftmanageserver.orders.pojo; + +import zhuluo.learning.nftmanageserver.goods.pojo.SaleItems; +import zhuluo.learning.nftmanageserver.login.pojo.User; + +public class Orders { + private int orderId; + private int salerId; + private int buyerId; + private String dealTime; + private int saleId; + private int price; + private User buyer; + private User saler; + private SaleItems saleItems; + + @Override + public String toString() { + return "Orders{" + + "orderId=" + orderId + + ", salerId=" + salerId + + ", buyerId=" + buyerId + + ", dealTime='" + dealTime + '\'' + + ", saleId=" + saleId + + ", price=" + price + + ", buyer=" + buyer + + ", saler=" + saler + + ", saleItems=" + saleItems + + '}'; + } + + public int getOrderId() { + return orderId; + } + + public void setOrderId(int orderId) { + this.orderId = orderId; + } + + public int getSalerId() { + return salerId; + } + + public void setSalerId(int salerId) { + this.salerId = salerId; + } + + public int getBuyerId() { + return buyerId; + } + + public void setBuyerId(int buyerId) { + this.buyerId = buyerId; + } + + public String getDealTime() { + return dealTime; + } + + public void setDealTime(String dealTime) { + this.dealTime = dealTime; + } + + public int getSaleId() { + return saleId; + } + + public void setSaleId(int saleId) { + this.saleId = saleId; + } + + public int getPrice() { + return price; + } + + public void setPrice(int price) { + this.price = price; + } + + public User getBuyer() { + return buyer; + } + + public void setBuyer(User buyer) { + this.buyer = buyer; + } + + public User getSaler() { + return saler; + } + + public void setSaler(User saler) { + this.saler = saler; + } + + public SaleItems getSaleItems() { + return saleItems; + } + + public void setSaleItems(SaleItems saleItems) { + this.saleItems = saleItems; + } +} diff --git a/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/orders/service/OrdersService.java b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/orders/service/OrdersService.java new file mode 100644 index 0000000..713a965 --- /dev/null +++ b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/orders/service/OrdersService.java @@ -0,0 +1,18 @@ +package zhuluo.learning.nftmanageserver.orders.service; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import zhuluo.learning.nftmanageserver.orders.mapper.OrdersMapper; +import zhuluo.learning.nftmanageserver.orders.pojo.Orders; + +import java.util.List; + +@Service +public class OrdersService { + @Autowired + private OrdersMapper ordersMapper; + + public List selectAll(){ + return ordersMapper.selectAll(); + } +} diff --git a/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/recharge/controller/RechargeController.java b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/recharge/controller/RechargeController.java new file mode 100644 index 0000000..7e98b3b --- /dev/null +++ b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/recharge/controller/RechargeController.java @@ -0,0 +1,41 @@ +package zhuluo.learning.nftmanageserver.recharge.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import zhuluo.learning.nftmanageserver.recharge.pojo.Recharge; +import zhuluo.learning.nftmanageserver.recharge.service.RechargeService; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +@RestController +@RequestMapping("/recharge") +public class RechargeController { + + @Autowired + private RechargeService rechargeService; + + @RequestMapping("/getAll") + public List getAll(){ + List rechargeList = rechargeService.getAll(); + //这样返回的话,日期是gmt毫秒值 + //return rechargeService.getAll(); + //需要先进行转化 + DateFormat df = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); + for (Recharge rec: + rechargeList) { + if(rec.getGmt_Create()!=null){ + Date date1 = new Date(Long.parseLong(rec.getGmt_Create())); + rec.setGmt_Create(df.format(date1)); + } + if(rec.getGmt_payment()!=null){ + Date date2 = new Date(Long.parseLong(rec.getGmt_payment())); + rec.setGmt_payment(df.format(date2)); + } + } + return rechargeList; + } +} diff --git a/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/recharge/mapper/RechargeMapper.java b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/recharge/mapper/RechargeMapper.java new file mode 100644 index 0000000..f328404 --- /dev/null +++ b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/recharge/mapper/RechargeMapper.java @@ -0,0 +1,16 @@ +package zhuluo.learning.nftmanageserver.recharge.mapper; + +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; +import org.springframework.stereotype.Repository; +import zhuluo.learning.nftmanageserver.recharge.pojo.Recharge; + +import java.util.List; + +@Mapper +@Repository +public interface RechargeMapper { + final String selectAll = "SELECT * FROM recharge"; + @Select(selectAll) + public List getAll(); +} diff --git a/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/recharge/pojo/Recharge.java b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/recharge/pojo/Recharge.java new file mode 100644 index 0000000..30c0be3 --- /dev/null +++ b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/recharge/pojo/Recharge.java @@ -0,0 +1,82 @@ +package zhuluo.learning.nftmanageserver.recharge.pojo; + +import java.math.BigInteger; + +public class Recharge { + private String out_trade_no; + private String trade_no; + private double amount; + private String gmt_Create; + private String gmt_payment; + private int uid; + private int state; + + @Override + public String toString() { + return "recharge{" + + "out_trade_no='" + out_trade_no + '\'' + + ", trade_no='" + trade_no + '\'' + + ", amount=" + amount + + ", gmt_Create='" + gmt_Create + '\'' + + ", gmt_payment='" + gmt_payment + '\'' + + ", uid=" + uid + + ", state=" + state + + '}'; + } + + public String getOut_trade_no() { + return out_trade_no; + } + + public void setOut_trade_no(String out_trade_no) { + this.out_trade_no = out_trade_no; + } + + public String getTrade_no() { + return trade_no; + } + + public void setTrade_no(String trade_no) { + this.trade_no = trade_no; + } + + public double getAmount() { + return amount; + } + + public void setAmount(double amount) { + this.amount = amount; + } + + public String getGmt_Create() { + return gmt_Create; + } + + public void setGmt_Create(String gmt_Create) { + this.gmt_Create = gmt_Create; + } + + public String getGmt_payment() { + return gmt_payment; + } + + public void setGmt_payment(String gmt_payment) { + this.gmt_payment = gmt_payment; + } + + public int getUid() { + return uid; + } + + public void setUid(int uid) { + this.uid = uid; + } + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } +} diff --git a/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/recharge/service/RechargeService.java b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/recharge/service/RechargeService.java new file mode 100644 index 0000000..4a31295 --- /dev/null +++ b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/recharge/service/RechargeService.java @@ -0,0 +1,19 @@ +package zhuluo.learning.nftmanageserver.recharge.service; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import zhuluo.learning.nftmanageserver.recharge.mapper.RechargeMapper; +import zhuluo.learning.nftmanageserver.recharge.pojo.Recharge; + +import java.util.List; + +@Service +public class RechargeService { + + @Autowired + private RechargeMapper rechargeMapper; + + public List getAll(){ + return rechargeMapper.getAll(); + } +} diff --git a/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/report/controller/ReportController.java b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/report/controller/ReportController.java new file mode 100644 index 0000000..8e760c7 --- /dev/null +++ b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/report/controller/ReportController.java @@ -0,0 +1,60 @@ +package zhuluo.learning.nftmanageserver.report.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import zhuluo.learning.nftmanageserver.login.pojo.User; +import zhuluo.learning.nftmanageserver.login.service.UserService; +import zhuluo.learning.nftmanageserver.report.pojo.Report; +import zhuluo.learning.nftmanageserver.report.service.ReportService; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +@RequestMapping("/report") +@RestController +public class ReportController { + @Autowired + private ReportService reportService; + @Autowired + private UserService userService; + + @RequestMapping("/getAll") + public List getAll(){ + List reports = reportService.selectAll(); + DateFormat df = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); + for (Report report: + reports) { + if(report.getReportTime()!=null){ + Date date = new Date(Long.parseLong(report.getReportTime())); + report.setReportTime(df.format(date)); + } + User accuser = userService.getByUserId(report.getAccuserId()); + User informant = userService.getByUserId(report.getInformantId()); + report.setAccuser(accuser); + report.setInformant(informant); + } + return reports; + } + @RequestMapping("/deleteOne") + public int DeleteOne(@RequestParam("reportId")int id){ + return reportService.deleteOne(id); + } + @RequestMapping("/selectOne") + public Report selectOne(@RequestParam("reportId")int id){ + Report report = reportService.selectOne(id); + DateFormat df = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); + if(report.getReportTime()!=null){ + Date date = new Date(Long.parseLong(report.getReportTime())); + report.setReportTime(df.format(date)); + } + User accuser = userService.getByUserId(report.getAccuserId()); + User informant = userService.getByUserId(report.getInformantId()); + report.setAccuser(accuser); + report.setInformant(informant); + return report; + } +} diff --git a/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/report/mapper/ReportMapper.java b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/report/mapper/ReportMapper.java new file mode 100644 index 0000000..295022e --- /dev/null +++ b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/report/mapper/ReportMapper.java @@ -0,0 +1,23 @@ +package zhuluo.learning.nftmanageserver.report.mapper; + +import org.apache.ibatis.annotations.Delete; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; +import org.springframework.stereotype.Repository; +import zhuluo.learning.nftmanageserver.report.pojo.Report; + +import java.util.List; + +@Mapper +@Repository +public interface ReportMapper { + final String selectAll = "SELECT * FROM report"; + final String deleteOne = "DELETE FROM report WHERE reportId = #{id}"; + final String selectOne = "SELECT * FROM report WHERE reportId = #{id}"; + @Select(selectAll) + public List selectAll(); + @Delete(deleteOne) + public int deleteOne(int id); + @Select(selectOne) + public Report selectOne(int id); +} diff --git a/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/report/pojo/Report.java b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/report/pojo/Report.java new file mode 100644 index 0000000..7ea7f2f --- /dev/null +++ b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/report/pojo/Report.java @@ -0,0 +1,92 @@ +package zhuluo.learning.nftmanageserver.report.pojo; + +import zhuluo.learning.nftmanageserver.login.pojo.User; + +public class Report { + private int reportId; + private int accuserId; + private int informantId; + private String reportMessage; + private String reportType; + private String reportTime; + private User accuser; + private User informant; + + @Override + public String toString() { + return "Report{" + + "reportId=" + reportId + + ", accuserId=" + accuserId + + ", informantId=" + informantId + + ", reportMessage='" + reportMessage + '\'' + + ", reportType='" + reportType + '\'' + + ", reportTime='" + reportTime + '\'' + + ", accuser=" + accuser + + ", informant=" + informant + + '}'; + } + + public int getReportId() { + return reportId; + } + + public void setReportId(int reportId) { + this.reportId = reportId; + } + + public int getAccuserId() { + return accuserId; + } + + public void setAccuserId(int accuserId) { + this.accuserId = accuserId; + } + + public int getInformantId() { + return informantId; + } + + public void setInformantId(int informantId) { + this.informantId = informantId; + } + + public String getReportMessage() { + return reportMessage; + } + + public void setReportMessage(String reportMessage) { + this.reportMessage = reportMessage; + } + + public String getReportType() { + return reportType; + } + + public void setReportType(String reportType) { + this.reportType = reportType; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + + public User getAccuser() { + return accuser; + } + + public void setAccuser(User accuser) { + this.accuser = accuser; + } + + public User getInformant() { + return informant; + } + + public void setInformant(User informant) { + this.informant = informant; + } +} diff --git a/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/report/service/ReportService.java b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/report/service/ReportService.java new file mode 100644 index 0000000..db9949e --- /dev/null +++ b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/report/service/ReportService.java @@ -0,0 +1,25 @@ +package zhuluo.learning.nftmanageserver.report.service; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import zhuluo.learning.nftmanageserver.report.mapper.ReportMapper; +import zhuluo.learning.nftmanageserver.report.pojo.Report; + +import java.util.List; + +@Service +public class ReportService { + + @Autowired + private ReportMapper reportMapper; + + public List selectAll(){ + return reportMapper.selectAll(); + } + public int deleteOne(int id){ + return reportMapper.deleteOne(id); + } + public Report selectOne(int id){ + return reportMapper.selectOne(id); + } +} diff --git a/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/user/controller/UserChangeController.java b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/user/controller/UserChangeController.java new file mode 100644 index 0000000..bae1d29 --- /dev/null +++ b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/user/controller/UserChangeController.java @@ -0,0 +1,17 @@ +package zhuluo.learning.nftmanageserver.user.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import zhuluo.learning.nftmanageserver.login.service.UserService; + +@RestController +public class UserChangeController { + @Autowired + private UserService userService; + @RequestMapping("/changeInfo") + public int changeInfo(@RequestParam("password") String password,@RequestParam("email") String email,@RequestParam("phoneNum") String phoneNum,@RequestParam("username") String username){ + return userService.update(password, email, phoneNum, username); + } +} diff --git a/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/user/controller/UserGetController.java b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/user/controller/UserGetController.java new file mode 100644 index 0000000..03c3132 --- /dev/null +++ b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/user/controller/UserGetController.java @@ -0,0 +1,30 @@ +package zhuluo.learning.nftmanageserver.user.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import zhuluo.learning.nftmanageserver.login.pojo.User; +import zhuluo.learning.nftmanageserver.login.service.UserService; + +import java.util.List; + +//添加了RestController即可返回JSON类型的数据 +@RestController +public class UserGetController { + @Autowired + private UserService userService; + + //根据用户名精确搜索 + @RequestMapping("/getByUsername") + public User getByUsername(@RequestParam("username")String username){ + User user = userService.getByUserName(username); + return user; + } + + //根据用户名模糊搜索 + @RequestMapping("/searchUser") + public List searchBySearchKey(@RequestParam("searchKey")String searchKey){ + return userService.searchBySearchKey("%"+searchKey+"%"); + } +} diff --git a/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/user/controller/UserUpdateActive.java b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/user/controller/UserUpdateActive.java new file mode 100644 index 0000000..0716915 --- /dev/null +++ b/nftmanageserver/src/main/java/zhuluo/learning/nftmanageserver/user/controller/UserUpdateActive.java @@ -0,0 +1,25 @@ +package zhuluo.learning.nftmanageserver.user.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import zhuluo.learning.nftmanageserver.login.service.UserService; + +@RestController +public class UserUpdateActive { + @Autowired + private UserService userService; + + //这是将IsActive字段设为0,冻结账号的方法 + @RequestMapping("/userUpdateActive") + public int updateActive(@RequestParam("id")int id){ + return userService.updateActive(id); + } + + //这是将IsActive字段设为1,激活账号的方法 + @RequestMapping("/userUpdateIsActive") + public int updateIsActive(@RequestParam("id")int id){ + return userService.updateIsActive(id); + } +} diff --git a/nftmanageserver/src/main/resources/application.properties b/nftmanageserver/src/main/resources/application.properties new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/nftmanageserver/src/main/resources/application.properties @@ -0,0 +1 @@ + diff --git a/nftmanageserver/src/main/resources/application.yml b/nftmanageserver/src/main/resources/application.yml new file mode 100644 index 0000000..b1be061 --- /dev/null +++ b/nftmanageserver/src/main/resources/application.yml @@ -0,0 +1,9 @@ +spring: + datasource: + username: loho + password: 827925 + url: jdbc:mysql://121.5.151.240:3306/artprtpdb?useSSL=false + #url: jdbc:mysql:///artprtpdb?useSSL=false + driver‐class‐name: com.mysql.jdbc.Driver +server: + port: 8081 diff --git a/nftmanageserver/src/main/resources/static/test.html b/nftmanageserver/src/main/resources/static/test.html new file mode 100644 index 0000000..c4c71c2 --- /dev/null +++ b/nftmanageserver/src/main/resources/static/test.html @@ -0,0 +1,14 @@ + + + + + Title + + +
+ + + +
+ + \ No newline at end of file diff --git a/nftmanageserver/src/test/java/zhuluo/learning/nftmanageserver/NftmanageserverApplicationTests.java b/nftmanageserver/src/test/java/zhuluo/learning/nftmanageserver/NftmanageserverApplicationTests.java new file mode 100644 index 0000000..c41eecd --- /dev/null +++ b/nftmanageserver/src/test/java/zhuluo/learning/nftmanageserver/NftmanageserverApplicationTests.java @@ -0,0 +1,20 @@ +package zhuluo.learning.nftmanageserver; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import zhuluo.learning.nftmanageserver.login.controller.UserController; + +@SpringBootTest +class NftmanageserverApplicationTests { + + @Autowired + UserController userController; + + + @Test + void contextLoads() { + + } + +} diff --git a/readme.txt b/readme.txt new file mode 100644 index 0000000..0b0cc79 --- /dev/null +++ b/readme.txt @@ -0,0 +1,5 @@ +文件夹作用介绍 +1、AIGenerate——项目主体源码 +2、AIGenerate——项目算法和部分后端源码 +3、nftmanageserver——后台管理系统 +4、artprtpdb.sql——数据库文件 -- GitLab