diff --git a/AIGenerate/AIGenerateNFT/__init__.py b/AIGenerate/AIGenerateNFT/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..063cd2cce274968ebd9ca0a741e2c4fa1740003f --- /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 Binary files /dev/null and b/AIGenerate/AIGenerateNFT/__pycache__/__init__.cpython-39.pyc differ diff --git a/AIGenerate/AIGenerateNFT/__pycache__/settings.cpython-39.pyc b/AIGenerate/AIGenerateNFT/__pycache__/settings.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7527c7e6f77cb41300aa9c215bed6390a533952f Binary files /dev/null and b/AIGenerate/AIGenerateNFT/__pycache__/settings.cpython-39.pyc differ diff --git a/AIGenerate/AIGenerateNFT/__pycache__/urls.cpython-39.pyc b/AIGenerate/AIGenerateNFT/__pycache__/urls.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8b845eb26496b0e90694065d58dade920e39a016 Binary files /dev/null and b/AIGenerate/AIGenerateNFT/__pycache__/urls.cpython-39.pyc differ diff --git a/AIGenerate/AIGenerateNFT/__pycache__/wsgi.cpython-39.pyc b/AIGenerate/AIGenerateNFT/__pycache__/wsgi.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..19466776d7eb6c488e30daf2608967f1b5af3a98 Binary files /dev/null and b/AIGenerate/AIGenerateNFT/__pycache__/wsgi.cpython-39.pyc differ diff --git a/AIGenerate/AIGenerateNFT/asgi.py b/AIGenerate/AIGenerateNFT/asgi.py new file mode 100644 index 0000000000000000000000000000000000000000..f9dd944c8bd2892b8147964afb54c90306ae13d9 --- /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 0000000000000000000000000000000000000000..8eb695ebd4d4d3abd204f2e5f03995c355e26272 --- /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 0000000000000000000000000000000000000000..b47f4c86f9c0512b840a8183e63b25b44cee9c60 --- /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 0000000000000000000000000000000000000000..b37a8c0fe1add0cf1582546ab4e44ea55510a85a --- /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 Binary files /dev/null and b/AIGenerate/function/__pycache__/exceptions.cpython-39.pyc differ 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 Binary files /dev/null and b/AIGenerate/function/__pycache__/snowflake.cpython-39.pyc differ 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 Binary files /dev/null and b/AIGenerate/function/__pycache__/stickers.cpython-39.pyc differ 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 Binary files /dev/null and b/AIGenerate/function/__pycache__/subject.cpython-39.pyc differ diff --git a/AIGenerate/function/exceptions.py b/AIGenerate/function/exceptions.py new file mode 100644 index 0000000000000000000000000000000000000000..838416eae535312aeadff6b2e60595aaa81e3291 --- /dev/null +++ b/AIGenerate/function/exceptions.py @@ -0,0 +1,14 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- +'''================================================= +@Project -> 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 0000000000000000000000000000000000000000..682510d85b82ba48bc00d697b7d89131f19ed663 --- /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 0000000000000000000000000000000000000000..0bced985d35bf54c99ca69c94b1dfa99c8e904d7 --- /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 0000000000000000000000000000000000000000..49a0771117868e1acee9d8cfe9d21e0b818d557d --- /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 Binary files /dev/null and b/AIGenerate/generate_pixel/__pycache__/admin.cpython-39.pyc differ 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 Binary files /dev/null and b/AIGenerate/generate_pixel/__pycache__/apps.cpython-39.pyc differ diff --git a/AIGenerate/generate_pixel/__pycache__/models.cpython-39.pyc b/AIGenerate/generate_pixel/__pycache__/models.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3bd946605c607e730d67a1e7f20ee722003d5437 Binary files /dev/null and b/AIGenerate/generate_pixel/__pycache__/models.cpython-39.pyc differ 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 Binary files /dev/null and b/AIGenerate/generate_pixel/__pycache__/views.cpython-39.pyc differ diff --git a/AIGenerate/generate_pixel/admin.py b/AIGenerate/generate_pixel/admin.py new file mode 100644 index 0000000000000000000000000000000000000000..8c38f3f3dad51e4585f3984282c2a4bec5349c1e --- /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 0000000000000000000000000000000000000000..484ed3e4d7e9d6773d9d3b6c295cb21ecfb14ee1 --- /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 0000000000000000000000000000000000000000..71a836239075aa6e6e4ecb700e9c42c95c022d91 --- /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 0000000000000000000000000000000000000000..7ce503c2dd97ba78597f6ff6e4393132753573f6 --- /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 0000000000000000000000000000000000000000..3be722c23744ce7649045ab04a14d70732d0abf3 --- /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 0000000000000000000000000000000000000000..afa5bc31e69c2c4bce4a1ff1088bc66e7cb37e60 --- /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 0000000000000000000000000000000000000000..a089107edf18bdaf2e74151de70228e80cfe9aa5 --- /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 0000000000000000000000000000000000000000..a20818ae9c81f9f55874f2ee356db83816cd956c --- /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 0000000000000000000000000000000000000000..a20818ae9c81f9f55874f2ee356db83816cd956c --- /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 0000000000000000000000000000000000000000..a20818ae9c81f9f55874f2ee356db83816cd956c --- /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 0000000000000000000000000000000000000000..a20818ae9c81f9f55874f2ee356db83816cd956c --- /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 0000000000000000000000000000000000000000..bee71fe8a32e1f6bf790a67323ccf672e9299f27 --- /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 0000000000000000000000000000000000000000..bee71fe8a32e1f6bf790a67323ccf672e9299f27 --- /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 0000000000000000000000000000000000000000..bee71fe8a32e1f6bf790a67323ccf672e9299f27 --- /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 0000000000000000000000000000000000000000..bee71fe8a32e1f6bf790a67323ccf672e9299f27 --- /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 0000000000000000000000000000000000000000..bee71fe8a32e1f6bf790a67323ccf672e9299f27 --- /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 0000000000000000000000000000000000000000..bee71fe8a32e1f6bf790a67323ccf672e9299f27 --- /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 0000000000000000000000000000000000000000..bee71fe8a32e1f6bf790a67323ccf672e9299f27 --- /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 Binary files /dev/null and b/AIGenerate/tools/__pycache__/colors.cpython-39.pyc differ diff --git a/AIGenerate/tools/__pycache__/config.cpython-39.pyc b/AIGenerate/tools/__pycache__/config.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9cca97b51a6c81f3af8a401ff17cf85646bc95cc Binary files /dev/null and b/AIGenerate/tools/__pycache__/config.cpython-39.pyc differ 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 Binary files /dev/null and b/AIGenerate/tools/__pycache__/configSetting.cpython-39.pyc differ diff --git a/AIGenerate/tools/__pycache__/model.cpython-39.pyc b/AIGenerate/tools/__pycache__/model.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e29e5d1eaf35c49b40ef8482093c7ed448795583 Binary files /dev/null and b/AIGenerate/tools/__pycache__/model.cpython-39.pyc differ diff --git a/AIGenerate/tools/colors.py b/AIGenerate/tools/colors.py new file mode 100644 index 0000000000000000000000000000000000000000..f013e0c3ce1bccc8146bee08d60c489767ff70c8 --- /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 0000000000000000000000000000000000000000..90fca1ec4c77683527d7ff3dff349c8d1ee59614 --- /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 0000000000000000000000000000000000000000..7177f04b6eb75e61f213285d2ca7af865d1bce67 --- /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 0000000000000000000000000000000000000000..b47d4a5d6b6ee181591fe39ac5619d81f2b335ff --- /dev/null +++ b/ArtPRTP @@ -0,0 +1 @@ +Subproject commit b47d4a5d6b6ee181591fe39ac5619d81f2b335ff diff --git a/a.txt b/a.txt deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/artprtpdb.sql b/artprtpdb.sql new file mode 100644 index 0000000000000000000000000000000000000000..8e92dc2950837d473d88f7922fdbca2637ec446f --- /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 0000000000000000000000000000000000000000..73f69e0958611ac6e00bde95641f6699030ad235 --- /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 0000000000000000000000000000000000000000..9764a8c0b7488a8faefa2887001179d20e005396 --- /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 0000000000000000000000000000000000000000..63e900193296f8ed911a1b9f5b051cf908099431 --- /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 0000000000000000000000000000000000000000..712ab9d985c20018a0c97b93d2148ac1ffe588a5 --- /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 0000000000000000000000000000000000000000..5f36e1ceba9730d68b931d675a198cfa417570a4 --- /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 0000000000000000000000000000000000000000..2ff6de4bc633309899c9e326b8faec15492b1ffe --- /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 0000000000000000000000000000000000000000..35db60e509ec0023589a631848cc6f9940e05b42 --- /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 0000000000000000000000000000000000000000..148076b3c1fcfc6f27efa7b4c8904a458bc121dd --- /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 0000000000000000000000000000000000000000..6539bc88879f200b20b46e0d29076af7e50d75f7 --- /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 0000000000000000000000000000000000000000..3c6c6ee5e595278fc73f122fe91ce63906d237b8 --- /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 0000000000000000000000000000000000000000..6e03d019a40a8d482d15d7f7e62dce9bfd4aa227 --- /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 0000000000000000000000000000000000000000..1251c7764738488005847c997a0c9dd901f4e979 --- /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 0000000000000000000000000000000000000000..f6e5e789da2edf6a5f8d5ee5e34fd7bab47c0f71 --- /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 0000000000000000000000000000000000000000..55ad526906b0669e3b4216b2b2724879cb5d48a9 --- /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 0000000000000000000000000000000000000000..46f3cea46ec270263a2ec9c1337a58d542f7dbd4 --- /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 0000000000000000000000000000000000000000..e0ce78c2082f8de3ddc161b97b52b888bc0fe443 --- /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 0000000000000000000000000000000000000000..e80f629ee24cf055cc4d69f0eea026e8b399e245 --- /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 0000000000000000000000000000000000000000..2df68c97f2111bf8411477944cd7ec9eed66af07 --- /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 0000000000000000000000000000000000000000..94aca05abfbb2bdacb00a0bf00f12aa122b4b81a --- /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 0000000000000000000000000000000000000000..36c49a00643637e913972fdebe1d214e733f06a0 --- /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 0000000000000000000000000000000000000000..7f11c3430db363d13d07e2653eef646f51e173a1 --- /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 0000000000000000000000000000000000000000..87daa46d228735e5c95f738f4353933cb3b5c2ad --- /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 0000000000000000000000000000000000000000..b8df8aeb533f1134cd58c193c657fe8a6f6a92e4 --- /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 0000000000000000000000000000000000000000..81467e5da145e274d7afdbec9192280c3cbe271a --- /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 0000000000000000000000000000000000000000..c6ca94f9d7091e41a1aa386ee57a6c88e5c7ca87 --- /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 0000000000000000000000000000000000000000..6bc485ffe3645014cd96402eadd2d743f2cbec64 --- /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 0000000000000000000000000000000000000000..0a586b25d748c59e8eca61a3cec77f80c15132e5 --- /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 0000000000000000000000000000000000000000..127eaeb664ca7b78f5bc6f2c3812287c3e6005bb --- /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 0000000000000000000000000000000000000000..2ef452f032e4beb5f4f17284cd29dd668c7d48f4 --- /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 0000000000000000000000000000000000000000..dddf1fb2d90cebb748250c1d0399d908d3ea2740 --- /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 0000000000000000000000000000000000000000..a54d0316fa8ff20a54580fcb63e14575c57ecba1 --- /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 0000000000000000000000000000000000000000..46764e73bd1a7f2f6f82efef96341ee4b40f4c51 --- /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 0000000000000000000000000000000000000000..b198709ce3f5cd6c4cdb8f855fd759acee93afb2 --- /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 0000000000000000000000000000000000000000..44df19ebdc3a43ebf746f1683ab7027755060535 --- /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 0000000000000000000000000000000000000000..2fead36fbc74975f44fb8150d335e478e49b2420 --- /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 0000000000000000000000000000000000000000..a4c949c62e36ffa6510552039a1e038e8c0876e5 --- /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 0000000000000000000000000000000000000000..ed6b71bb899589b4e14159eb78f69a93e7234fc2 --- /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 0000000000000000000000000000000000000000..8c546ea4fbdf1f42edb3490a982c310b6ff50bf9 --- /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 0000000000000000000000000000000000000000..1a180c923a17e50f6f4198aa88f1cffe2bcfd1f0 --- /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 0000000000000000000000000000000000000000..b414224ae6f50b140cf63f70eb9a7c5c9a3393bb --- /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 0000000000000000000000000000000000000000..2ddf4c5cc853977440908eaa93a916640bc7ad2a --- /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 0000000000000000000000000000000000000000..a71a9df0ad00dc89db2def74e56c7555ecf93167 --- /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 0000000000000000000000000000000000000000..c8954fc42f90fb4c3f6f7735cd830cbdd49d4c1d --- /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 0000000000000000000000000000000000000000..945eca12bf37e479dd15c3e57ee9305a8f53c56c --- /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 0000000000000000000000000000000000000000..471e1391f52ac2b02590eee9c53105fac99dc89f --- /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 0000000000000000000000000000000000000000..7d9d0b2931efef1989b72f3aa06429a5301613a4 --- /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 0000000000000000000000000000000000000000..ffa12633c87a50cabf644238c84c8a063c075101 --- /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 0000000000000000000000000000000000000000..070a5fd4480a2460afbbecb76b2ddc9bfd750cb4 --- /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 0000000000000000000000000000000000000000..47b9ceff7622b8db99b03555fc6ee0e604b1a6bb --- /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 0000000000000000000000000000000000000000..0bfa78495899b98eaaeb66f6512c574c6d35a522 --- /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 0000000000000000000000000000000000000000..fcf276f6178a365f9cec4143322e271738a45753 --- /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 0000000000000000000000000000000000000000..2b3c52ee3a15b95f84a1a2f8ff2c5566f6325925 --- /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 0000000000000000000000000000000000000000..f481ee613efee53af24dd6c78b3a4f9dd9761504 --- /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 0000000000000000000000000000000000000000..4c4ad5ac8234b106c641e7583c30f21f0bb34084 --- /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 0000000000000000000000000000000000000000..20197f7005b37f990f7907dd0b53a75fd495d69f --- /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 0000000000000000000000000000000000000000..57fdbb232ab94e81336b1677f35e224be94e0503 --- /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 0000000000000000000000000000000000000000..03489e11ddb886f0036de6adbb8f362816b83892 --- /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 0000000000000000000000000000000000000000..c5b7dfb1b15d99645b694d263121e0b8d3fe938e --- /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 0000000000000000000000000000000000000000..98a2ebf977f1c044d17e9d7cb5044618af425f01 --- /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 0000000000000000000000000000000000000000..ee7334e891b771fa11819b7b433539d7faf3c617 --- /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 0000000000000000000000000000000000000000..e6b6b5213d2530903f37db0e2a758703c603dadb --- /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 0000000000000000000000000000000000000000..695251f12beb64c2ed985113f423ec0688127422 --- /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 0000000000000000000000000000000000000000..9011e4250c0dc8806e21018cfc3f81783887cabd --- /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 0000000000000000000000000000000000000000..f149fb7f0de296b738d45dcfde1853b20ba6db78 --- /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 0000000000000000000000000000000000000000..bfe5216933186e31f3bb11a2befb8deb560cc6e8 --- /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 0000000000000000000000000000000000000000..c254739391e87c90b3f5ed732e45c78b21ecb4d3 --- /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 0000000000000000000000000000000000000000..d3579c7f92e12da6e969d9b79c12ad06483f00c5 --- /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 0000000000000000000000000000000000000000..d0b60c5a275e31bbffd8914133b0f978e9faa50a --- /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 0000000000000000000000000000000000000000..55c5c55adc801536c4be456f7cebe0ef08fc0aee --- /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 0000000000000000000000000000000000000000..7584faeec0b4d088b197922806f78d057a8ccbe7 --- /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 0000000000000000000000000000000000000000..468401dd3e0d6f973695c49ae40b19298f178963 --- /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 0000000000000000000000000000000000000000..9cf3e5e51d8edb3b8738cd7b95c73fe52d0c59e1 --- /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 0000000000000000000000000000000000000000..9be959eecc4e2a5e366c5af0ee89fd48584e477b --- /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 0000000000000000000000000000000000000000..1f3ce8180e7f99c59ccde5b470848952c5e31f11 --- /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 0000000000000000000000000000000000000000..337b443cb5be80bc0455f6c65048bfbdeaa9208b --- /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 0000000000000000000000000000000000000000..a9102879527c2386d6f1ba99860a0707968d8a28 --- /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 0000000000000000000000000000000000000000..0f00ca4e21e84e6ba3e7de2b3abe54378aec35c9 --- /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 0000000000000000000000000000000000000000..7ae16d647304df285312ec35390bd841c7f541e3 --- /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 0000000000000000000000000000000000000000..807c78b55dd97001c9a1d7910c474bc18a16f1ed --- /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 0000000000000000000000000000000000000000..797acea53eb091cf5b30518802c3073f544adeed --- /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 0000000000000000000000000000000000000000..e96534fb27b68192f27f985d3879e173ec77adb8 --- /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 0000000000000000000000000000000000000000..4b54472534813bc9bc2698e1eeaa75cfa83f39a9 --- /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 0000000000000000000000000000000000000000..d8aae29e64f496874d993b48880aa26c743d419e --- /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 0000000000000000000000000000000000000000..8a8fb2282df5b8f7263470a5a2dc0e196f35f35f --- /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 0000000000000000000000000000000000000000..1d8ab018eaf11d9b3a4a90e7818ace373dfbb380 --- /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 0000000000000000000000000000000000000000..211f355027532d5ff78f0f767741ea21de35aa58 --- /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 0000000000000000000000000000000000000000..6c73615e331a7996c1d039ee0fb8e5ee4d45a992 --- /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 0000000000000000000000000000000000000000..38537f00c1f5e2af453fceb8fc0d5a85d09f9081 --- /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 0000000000000000000000000000000000000000..0180b80c336a510a472880fa3872815b383d94d4 --- /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 0000000000000000000000000000000000000000..8aa1c473cd9c7c66ff5c404e5ea76ffa0200d442 --- /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 0000000000000000000000000000000000000000..ba4fd2c6006789ec01383d7edf9b29548d8bfba3 --- /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 0000000000000000000000000000000000000000..013906629cd2feb52b9f34ba8b7f22b8e00808ae --- /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 0000000000000000000000000000000000000000..b8a2e9fd6a4bb104c31b13bb62cce66a4a6563d0 --- /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 0000000000000000000000000000000000000000..de408f7012d44c3ca142de14348340f037bae305 --- /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 0000000000000000000000000000000000000000..76494d72199884547a15e936fc8aec3355ce03ef --- /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 0000000000000000000000000000000000000000..7107705a1100af4dc3655cbbe91cf803432fc9f4 --- /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 0000000000000000000000000000000000000000..6c5cf8ea098707687934e53f3da9539f0a649dfa --- /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 0000000000000000000000000000000000000000..de8b5e952bf37e70a98070fd13067d583219b858 --- /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 0000000000000000000000000000000000000000..2a3cd7462cbfd3b8be07723c3dce7e79bf199223 --- /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 0000000000000000000000000000000000000000..0b56a3ff813906c6219bee555911d4e8e184ea21 --- /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 0000000000000000000000000000000000000000..899e609d59d67e0e237d04792fb6570c5ffbbd71 --- /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 0000000000000000000000000000000000000000..3fe4c81f55b64f05e0b852fcd74b15687ef72d59 --- /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 0000000000000000000000000000000000000000..b46cfc10cfb463b274e2ce0eb73f0f1c63d44203 --- /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 0000000000000000000000000000000000000000..713a9651335a9e66fe0d7414fecaf847f7deb2b7 --- /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 0000000000000000000000000000000000000000..7e98b3b79170e32cbd2bde5bbb6225e061da15e7 --- /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 0000000000000000000000000000000000000000..f328404428e8f1c57f8ba3ca33a4e8e6d749ed47 --- /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 0000000000000000000000000000000000000000..30c0be31a61a2696cb7e90df863a469126b86fbb --- /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 0000000000000000000000000000000000000000..4a31295bf02f6057d3e5a1502685ce4a716620d1 --- /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 0000000000000000000000000000000000000000..8e760c78ec5020d0d2a22626e2f2266add27f905 --- /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 0000000000000000000000000000000000000000..295022ede87d511f17c2c1456df4c2373ec43952 --- /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 0000000000000000000000000000000000000000..7ea7f2f616b951fdb782bdab20931c38676afe11 --- /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 0000000000000000000000000000000000000000..db9949e372887acb1fa1ef9bf5a3850a01dd3711 --- /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 0000000000000000000000000000000000000000..bae1d2971a57ca71fcc69b79f6287e556bec4013 --- /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 0000000000000000000000000000000000000000..03c3132ce146d1a2bc66be821da5e1f8f4f5f0b7 --- /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 0000000000000000000000000000000000000000..0716915b988b21a46a9d1521a49691797b17e7e1 --- /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 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc --- /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 0000000000000000000000000000000000000000..b1be061a0ee6eb4489dd2ca25d434d5ef8517ddb --- /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 0000000000000000000000000000000000000000..c4c71c2398ef81a7f7042f38da20c2fa02b4ba60 --- /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 0000000000000000000000000000000000000000..c41eecdf8f947af8ec0623d8a38cc886a0204948 --- /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 0000000000000000000000000000000000000000..0b0cc791861684a00a23abcbce47aaa8a7efce79 --- /dev/null +++ b/readme.txt @@ -0,0 +1,5 @@ +文件夹作用介绍 +1、AIGenerate——项目主体源码 +2、AIGenerate——项目算法和部分后端源码 +3、nftmanageserver——后台管理系统 +4、artprtpdb.sql——数据库文件