完成新需求
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
# 这个文件只是给你对照看的“环境变量配置示例”,不是 Spring Boot 自动加载的配置文件。
|
||||
# 你现在最简单的做法:把下面这些键值复制到 IDEA 的 Run/Debug Configuration -> Environment variables。
|
||||
|
||||
AIIMAGE_SERVER_PORT=18080
|
||||
|
||||
AIIMAGE_DB_URL=jdbc:mysql://159.75.121.33:3306/aiimage?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false
|
||||
AIIMAGE_DB_USERNAME=AIimage
|
||||
AIIMAGE_DB_PASSWORD=WTFrb5y6hNLz6hNy
|
||||
|
||||
AIIMAGE_OSS_REGION=cn-hangzhou
|
||||
AIIMAGE_OSS_ENDPOINT=oss-cn-hangzhou.aliyuncs.com
|
||||
AIIMAGE_OSS_BUCKET=nanri-ai-images
|
||||
AIIMAGE_OSS_ACCESS_KEY_ID=LTAI5tNpyvzMNz9f2dHarsm8
|
||||
AIIMAGE_OSS_ACCESS_KEY_SECRET=bQSZnFH455i8tzyOgeahJmUzwmhynz
|
||||
|
||||
AIIMAGE_STORAGE_LOCAL_TEMP_DIR=F:/project/crawler-plugin/backend-java/data/tmp
|
||||
49
backend-java/src/main/resources/application.yml
Normal file
49
backend-java/src/main/resources/application.yml
Normal file
@@ -0,0 +1,49 @@
|
||||
server:
|
||||
port: ${AIIMAGE_SERVER_PORT:18080}
|
||||
|
||||
spring:
|
||||
application:
|
||||
name: aiimage-backend
|
||||
config:
|
||||
import: optional:classpath:application-local.yml
|
||||
servlet:
|
||||
multipart:
|
||||
max-file-size: 200MB
|
||||
max-request-size: 500MB
|
||||
datasource:
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
url: ${AIIMAGE_DB_URL:jdbc:mysql://127.0.0.1:3306/aiimage?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false}
|
||||
username: ${AIIMAGE_DB_USERNAME:root}
|
||||
password: ${AIIMAGE_DB_PASSWORD:change-me}
|
||||
|
||||
management:
|
||||
health:
|
||||
db:
|
||||
enabled: false
|
||||
|
||||
mybatis-plus:
|
||||
mapper-locations: classpath*:mapper/**/*.xml
|
||||
configuration:
|
||||
map-underscore-to-camel-case: true
|
||||
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
|
||||
|
||||
springdoc:
|
||||
api-docs:
|
||||
enabled: true
|
||||
swagger-ui:
|
||||
path: /swagger-ui.html
|
||||
|
||||
knife4j:
|
||||
enable: true
|
||||
setting:
|
||||
language: zh_cn
|
||||
|
||||
aiimage:
|
||||
oss:
|
||||
region: ${AIIMAGE_OSS_REGION:cn-hangzhou}
|
||||
endpoint: ${AIIMAGE_OSS_ENDPOINT:oss-cn-hangzhou.aliyuncs.com}
|
||||
bucket: ${AIIMAGE_OSS_BUCKET:change-me}
|
||||
access-key-id: ${AIIMAGE_OSS_ACCESS_KEY_ID:change-me}
|
||||
access-key-secret: ${AIIMAGE_OSS_ACCESS_KEY_SECRET:change-me}
|
||||
storage:
|
||||
local-temp-dir: ${AIIMAGE_STORAGE_LOCAL_TEMP_DIR:./data/tmp}
|
||||
76
backend-java/src/main/resources/db/V1__init.sql
Normal file
76
backend-java/src/main/resources/db/V1__init.sql
Normal file
@@ -0,0 +1,76 @@
|
||||
CREATE TABLE IF NOT EXISTS biz_file_task (
|
||||
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
|
||||
task_no VARCHAR(64) NOT NULL COMMENT '任务编号',
|
||||
module_type VARCHAR(32) NOT NULL COMMENT '模块类型:DEDUPE/CONVERT/SPLIT',
|
||||
task_mode VARCHAR(32) DEFAULT 'IMMEDIATE' COMMENT '任务模式:IMMEDIATE/TASK',
|
||||
status VARCHAR(32) NOT NULL COMMENT '任务状态:PENDING/RUNNING/SUCCESS/FAILED/CANCELLED',
|
||||
source_file_count INT DEFAULT 0 COMMENT '源文件数量',
|
||||
success_file_count INT DEFAULT 0 COMMENT '成功文件数量',
|
||||
failed_file_count INT DEFAULT 0 COMMENT '失败文件数量',
|
||||
request_json JSON NULL COMMENT '请求参数快照',
|
||||
result_json JSON NULL COMMENT '结果快照',
|
||||
error_message VARCHAR(1000) NULL COMMENT '错误信息',
|
||||
created_by VARCHAR(64) DEFAULT 'system' COMMENT '创建人',
|
||||
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
finished_at DATETIME NULL COMMENT '完成时间',
|
||||
UNIQUE KEY uk_task_no (task_no),
|
||||
KEY idx_module_status (module_type, status),
|
||||
KEY idx_created_at (created_at)
|
||||
) COMMENT='文件处理任务表';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS biz_file_result (
|
||||
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
|
||||
task_id BIGINT NOT NULL COMMENT '任务ID',
|
||||
module_type VARCHAR(32) NOT NULL COMMENT '模块类型:DEDUPE/CONVERT/SPLIT',
|
||||
source_filename VARCHAR(255) NULL COMMENT '源文件名',
|
||||
source_file_url VARCHAR(1000) NULL COMMENT '源文件地址',
|
||||
result_filename VARCHAR(255) NULL COMMENT '结果文件名',
|
||||
result_file_url VARCHAR(1000) NULL COMMENT '结果文件地址',
|
||||
result_file_size BIGINT NULL COMMENT '结果文件大小',
|
||||
result_content_type VARCHAR(128) NULL COMMENT '结果文件类型',
|
||||
row_count INT NULL COMMENT '结果行数',
|
||||
success TINYINT(1) NOT NULL DEFAULT 1 COMMENT '是否成功',
|
||||
error_message VARCHAR(1000) NULL COMMENT '错误信息',
|
||||
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
KEY idx_task_id (task_id),
|
||||
KEY idx_module_type (module_type)
|
||||
) COMMENT='文件处理结果表';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS biz_convert_template (
|
||||
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
|
||||
template_code VARCHAR(64) NOT NULL COMMENT '模板编码',
|
||||
template_name VARCHAR(128) NOT NULL COMMENT '模板名称',
|
||||
output_filename VARCHAR(255) NOT NULL COMMENT '输出文件名',
|
||||
required_source_columns_json JSON NOT NULL COMMENT '源文件必需列',
|
||||
header_columns_json JSON NOT NULL COMMENT '输出表头列',
|
||||
field_mapping_json JSON NOT NULL COMMENT '源字段映射',
|
||||
defaults_json JSON NULL COMMENT '默认值配置',
|
||||
preamble_lines_json JSON NULL COMMENT '前导说明行',
|
||||
blank_header_rows_after_schema INT DEFAULT 0 COMMENT '表头后空白行数',
|
||||
is_default TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否默认模板',
|
||||
built_in TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否内置模板',
|
||||
enabled TINYINT(1) NOT NULL DEFAULT 1 COMMENT '是否启用',
|
||||
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
UNIQUE KEY uk_template_code (template_code)
|
||||
) COMMENT='格式转换模板表';
|
||||
|
||||
INSERT INTO biz_convert_template (
|
||||
template_code, template_name, output_filename,
|
||||
required_source_columns_json, header_columns_json, field_mapping_json,
|
||||
defaults_json, preamble_lines_json, blank_header_rows_after_schema,
|
||||
is_default, built_in, enabled
|
||||
)
|
||||
SELECT
|
||||
'uk_offer', '英国模板', '英国.txt',
|
||||
JSON_ARRAY('ASIN', '价格'),
|
||||
JSON_ARRAY('sku', 'price', 'quantity', 'product-id', 'product-id-type', 'condition-type', 'condition-note', 'ASIN-hint', 'title', 'product-tax-code', 'operation-type', 'sale-price', 'sale-start-date', 'sale-end-date', 'leadtime-to-ship', 'launch-date', 'is-giftwrap-available', 'is-gift-message-available'),
|
||||
JSON_OBJECT('price', '价格', 'product-id', 'ASIN'),
|
||||
JSON_OBJECT('quantity', '100', 'product-id-type', 'ASIN', 'condition-type', 'new', 'leadtime-to-ship', '4'),
|
||||
JSON_ARRAY('TemplateType=Offer\tVersion=1.4'),
|
||||
1,
|
||||
1, 1, 1
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM biz_convert_template WHERE template_code = 'uk_offer'
|
||||
);
|
||||
@@ -0,0 +1,17 @@
|
||||
UPDATE biz_convert_template
|
||||
SET required_source_columns_json = JSON_ARRAY('ASIN', '价格'),
|
||||
header_columns_json = JSON_ARRAY(
|
||||
'sku', 'price', 'quantity', 'product-id', 'product-id-type', 'condition-type', 'condition-note',
|
||||
'ASIN-hint', 'title', 'product-tax-code', 'operation-type', 'sale-price', 'sale-start-date',
|
||||
'sale-end-date', 'leadtime-to-ship', 'launch-date', 'is-giftwrap-available', 'is-gift-message-available'
|
||||
),
|
||||
field_mapping_json = JSON_OBJECT('price', '价格', 'product-id', 'ASIN'),
|
||||
defaults_json = JSON_OBJECT('quantity', '100', 'product-id-type', 'ASIN', 'condition-type', 'new', 'leadtime-to-ship', '4'),
|
||||
preamble_lines_json = JSON_ARRAY('TemplateType=Offer\tVersion=1.4'),
|
||||
blank_header_rows_after_schema = 1,
|
||||
output_filename = '英国.txt',
|
||||
template_name = '英国模板',
|
||||
built_in = 1,
|
||||
enabled = 1,
|
||||
updated_at = CURRENT_TIMESTAMP
|
||||
WHERE template_code = 'uk_offer';
|
||||
Reference in New Issue
Block a user