dingdanquanliucheng/order_flowfn.sql.bak
2026-06-22 14:59:51 +08:00

1316 lines
189 KiB
MySQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
Navicat Premium Dump SQL
Source Server : 飞牛
Source Server Type : MySQL
Source Server Version : 80043 (8.0.43)
Source Host : 192.168.1.9:3306
Source Schema : order_flow
Target Server Type : MySQL
Target Server Version : 80043 (8.0.43)
File Encoding : 65001
Date: 14/06/2026 22:10:50
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for ai_recognition_log
-- ----------------------------
DROP TABLE IF EXISTS `ai_recognition_log`;
CREATE TABLE `ai_recognition_log` (
`id` int NOT NULL AUTO_INCREMENT,
`biz_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`biz_id` bigint NULL DEFAULT NULL,
`image_url` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`raw_result` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
`confidence` decimal(10, 4) NULL DEFAULT NULL,
`corrected_result` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
`created_by` int NULL DEFAULT NULL,
`created_at` datetime NOT NULL DEFAULT (now()),
PRIMARY KEY (`id`) USING BTREE,
INDEX `ix_ai_recognition_log_biz_type`(`biz_type` ASC) USING BTREE,
INDEX `ix_ai_recognition_log_biz_id`(`biz_id` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of ai_recognition_log
-- ----------------------------
-- ----------------------------
-- Table structure for alembic_version
-- ----------------------------
DROP TABLE IF EXISTS `alembic_version`;
CREATE TABLE `alembic_version` (
`version_num` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
PRIMARY KEY (`version_num`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of alembic_version
-- ----------------------------
INSERT INTO `alembic_version` VALUES ('9d97df15bcf7');
-- ----------------------------
-- Table structure for audit_log
-- ----------------------------
DROP TABLE IF EXISTS `audit_log`;
CREATE TABLE `audit_log` (
`id` int NOT NULL AUTO_INCREMENT,
`operator_id` int NULL DEFAULT NULL,
`operator_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`operate_time` datetime NOT NULL DEFAULT (now()),
`operate_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`biz_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`biz_id` bigint NULL DEFAULT NULL,
`before_value` varchar(4000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`after_value` varchar(4000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`result` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'success',
`remark` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE,
INDEX `ix_audit_log_operator_id`(`operator_id` ASC) USING BTREE,
INDEX `ix_audit_log_operate_time`(`operate_time` ASC) USING BTREE,
INDEX `ix_audit_log_biz_type`(`biz_type` ASC) USING BTREE,
INDEX `ix_audit_log_biz_id`(`biz_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 102 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of audit_log
-- ----------------------------
INSERT INTO `audit_log` VALUES (1, NULL, '系统', '2026-05-19 10:33:59', 'system_user_create', 'sys_user', 2, NULL, '{\"user_id\": 2, \"username\": \"test\", \"real_name\": \"twet\", \"mobile\": \"\", \"role_id\": 2, \"role_name\": \"业务员\", \"role_code\": \"salesman\", \"status\": 1, \"created_at\": \"2026-05-19 10:33:59\", \"updated_at\": \"2026-05-19 10:33:59\"}', 'success', '新增用户 test');
INSERT INTO `audit_log` VALUES (2, NULL, '系统', '2026-05-19 10:35:07', 'order_create', 'sales_order', 1, NULL, '{\"order_no\": \"SO20260519103507\", \"order_status\": \"draft\", \"sale_price_total\": 100.0, \"cost_price_total\": 60.0, \"profit_total\": 14.99, \"profit_rate\": 14.99, \"commission_amount\": 50.0}', 'success', '创建订单 SO20260519103507');
INSERT INTO `audit_log` VALUES (3, NULL, '系统', '2026-05-19 10:35:11', 'order_submit', 'sales_order', 1, '{\"order_status\": \"draft\"}', '{\"order_status\": \"pending_approve\"}', 'success', '提交订单审核 SO20260519103507');
INSERT INTO `audit_log` VALUES (4, NULL, '系统', '2026-05-19 10:41:44', 'order_approve', 'sales_order', 1, '{\"order_status\": \"pending_approve\"}', '{\"order_status\": \"approved\", \"approve_result\": \"pass\", \"approve_opinion\": \"通过\"}', 'success', '订单审批 SO20260519103507');
INSERT INTO `audit_log` VALUES (5, NULL, '系统', '2026-05-19 11:11:33', 'report_export', 'performance_report', 8001, NULL, '{\"file_name\": \"performance-month-20260519111133.csv\", \"stat_type\": \"month\", \"export_format\": \"csv\", \"total_periods\": 1}', 'success', '导出业绩统计报表');
INSERT INTO `audit_log` VALUES (6, NULL, '系统', '2026-05-19 11:11:47', 'report_export', 'performance_report', 8002, NULL, '{\"file_name\": \"performance-month-20260519111147.xlsx\", \"stat_type\": \"month\", \"export_format\": \"xlsx\", \"total_periods\": 1}', 'success', '导出业绩统计报表');
INSERT INTO `audit_log` VALUES (7, NULL, '系统', '2026-05-19 11:44:47', 'order_cancel', 'sales_order', 1, '{\"order_status\": \"approved\"}', '{\"order_status\": \"cancel_pending\", \"cancel_reason\": \"业务员取消订单\", \"cancel_previous_status\": \"approved\"}', 'success', '发起订单取消 SO20260519103507');
INSERT INTO `audit_log` VALUES (8, NULL, '系统', '2026-05-19 11:45:23', 'order_cancel_approve', 'sales_order', 1, '{\"order_status\": \"cancel_pending\", \"cancel_previous_status\": \"approved\"}', '{\"order_status\": \"canceled\", \"approve_result\": \"pass\", \"approve_opinion\": \"取消失败\"}', 'success', '订单取消审批 SO20260519103507');
INSERT INTO `audit_log` VALUES (9, NULL, '系统', '2026-05-19 14:41:19', 'order_create', 'sales_order', 2, NULL, '{\"order_no\": \"SO20260519144119\", \"order_status\": \"draft\", \"sale_price_total\": 100.0, \"cost_price_total\": 60.0, \"profit_total\": 20.0, \"profit_rate\": 20.0, \"commission_amount\": 50.0}', 'success', '创建订单 SO20260519144119');
INSERT INTO `audit_log` VALUES (10, NULL, '系统', '2026-05-19 14:41:34', 'order_submit', 'sales_order', 2, '{\"order_status\": \"draft\"}', '{\"order_status\": \"pending_approve\"}', 'success', '提交订单审核 SO20260519144119');
INSERT INTO `audit_log` VALUES (11, NULL, '系统', '2026-05-19 14:41:44', 'order_approve', 'sales_order', 2, '{\"order_status\": \"pending_approve\"}', '{\"order_status\": \"rejected\", \"approve_result\": \"reject\", \"approve_opinion\": \"退回\"}', 'success', '订单审批 SO20260519144119');
INSERT INTO `audit_log` VALUES (12, NULL, '系统', '2026-05-19 14:41:53', 'order_submit', 'sales_order', 2, '{\"order_status\": \"rejected\"}', '{\"order_status\": \"pending_approve\"}', 'success', '提交订单审核 SO20260519144119');
INSERT INTO `audit_log` VALUES (13, NULL, '系统', '2026-05-19 14:42:18', 'order_approve', 'sales_order', 2, '{\"order_status\": \"pending_approve\"}', '{\"order_status\": \"approved\", \"approve_result\": \"pass\", \"approve_opinion\": \"通过\"}', 'success', '订单审批 SO20260519144119');
INSERT INTO `audit_log` VALUES (14, NULL, '系统', '2026-05-19 14:50:09', 'system_user_create', 'sys_user', 3, NULL, '{\"user_id\": 3, \"username\": \"dirver\", \"real_name\": \"driver\", \"mobile\": \"test\", \"role_id\": 4, \"role_name\": \"司机\", \"role_code\": \"driver\", \"status\": 1, \"created_at\": \"2026-05-19 14:50:09\", \"updated_at\": \"2026-05-19 14:50:09\"}', 'success', '新增用户 dirver');
INSERT INTO `audit_log` VALUES (15, NULL, '系统', '2026-05-19 16:06:11', 'order_cancel', 'sales_order', 2, '{\"order_status\": \"approved\"}', '{\"order_status\": \"cancel_pending\", \"cancel_reason\": \"业务员取消订单\", \"cancel_previous_status\": \"approved\", \"cancel_requested_by\": 2}', 'success', '发起订单取消 SO20260519144119');
INSERT INTO `audit_log` VALUES (16, NULL, '系统', '2026-05-19 16:09:41', 'system_user_update', 'sys_user', 3, '{\"user_id\": 3, \"username\": \"dirver\", \"real_name\": \"driver\", \"mobile\": \"test\", \"role_id\": 4, \"role_name\": \"司机\", \"role_code\": \"driver\", \"status\": 1, \"created_at\": \"2026-05-19 14:50:09\", \"updated_at\": \"2026-05-19 14:50:09\"}', '{\"user_id\": 3, \"username\": \"dirver\", \"real_name\": \"driver\", \"mobile\": \"test\", \"role_id\": 4, \"role_name\": \"司机\", \"role_code\": \"driver\", \"status\": 1, \"created_at\": \"2026-05-19 14:50:09\", \"updated_at\": \"2026-05-19 14:50:09\"}', 'success', '更新用户 dirver');
INSERT INTO `audit_log` VALUES (17, NULL, '系统', '2026-05-19 16:11:32', 'order_cancel_approve', 'sales_order', 2, '{\"order_status\": \"cancel_pending\", \"cancel_previous_status\": \"approved\"}', '{\"order_status\": \"canceled\", \"approve_result\": \"pass\", \"approve_opinion\": \"为什么要取消\"}', 'success', '订单取消审批 SO20260519144119');
INSERT INTO `audit_log` VALUES (18, NULL, '系统', '2026-05-19 18:45:37', 'order_create', 'sales_order', 3, NULL, '{\"order_no\": \"SO20260519184537\", \"order_status\": \"draft\", \"sale_price_total\": 100.0, \"cost_price_total\": 10.0, \"profit_total\": 70.0, \"profit_rate\": 70.0, \"commission_amount\": 50.0}', 'success', '创建订单 SO20260519184537');
INSERT INTO `audit_log` VALUES (19, NULL, '系统', '2026-05-19 18:46:01', 'order_submit', 'sales_order', 3, '{\"order_status\": \"draft\"}', '{\"order_status\": \"pending_approve\"}', 'success', '提交订单审核 SO20260519184537');
INSERT INTO `audit_log` VALUES (20, NULL, '系统', '2026-05-19 18:46:20', 'order_approve', 'sales_order', 3, '{\"order_status\": \"pending_approve\"}', '{\"order_status\": \"approved\", \"approve_result\": \"pass\", \"approve_opinion\": \"同意\"}', 'success', '订单审批 SO20260519184537');
INSERT INTO `audit_log` VALUES (21, NULL, '系统', '2026-05-19 18:50:56', 'order_create', 'sales_order', 4, NULL, '{\"order_no\": \"SO20260519185056\", \"order_status\": \"draft\", \"sale_price_total\": 100.0, \"cost_price_total\": 10.0, \"profit_total\": 70.0, \"profit_rate\": 70.0, \"commission_amount\": 50.0}', 'success', '创建订单 SO20260519185056');
INSERT INTO `audit_log` VALUES (22, NULL, '系统', '2026-05-19 18:51:00', 'order_submit', 'sales_order', 4, '{\"order_status\": \"draft\"}', '{\"order_status\": \"pending_approve\"}', 'success', '提交订单审核 SO20260519185056');
INSERT INTO `audit_log` VALUES (23, NULL, '系统', '2026-05-19 18:51:34', 'order_approve', 'sales_order', 4, '{\"order_status\": \"pending_approve\"}', '{\"order_status\": \"approved\", \"approve_result\": \"pass\", \"approve_opinion\": \"同意\"}', 'success', '订单审批 SO20260519185056');
INSERT INTO `audit_log` VALUES (24, NULL, '系统', '2026-05-19 18:53:31', 'order_cancel', 'sales_order', 4, '{\"order_status\": \"approved\"}', '{\"order_status\": \"cancel_pending\", \"cancel_reason\": \"业务员取消订单\", \"cancel_previous_status\": \"approved\", \"cancel_requested_by\": 2}', 'success', '发起订单取消 SO20260519185056');
INSERT INTO `audit_log` VALUES (25, NULL, '系统', '2026-05-19 18:53:34', 'order_cancel', 'sales_order', 4, '{\"order_status\": \"cancel_pending\"}', '{\"order_status\": \"cancel_pending\", \"cancel_reason\": \"业务员取消订单\", \"cancel_previous_status\": \"cancel_pending\", \"cancel_requested_by\": 2}', 'success', '发起订单取消 SO20260519185056');
INSERT INTO `audit_log` VALUES (26, NULL, '系统', '2026-05-19 18:53:35', 'order_cancel', 'sales_order', 3, '{\"order_status\": \"approved\"}', '{\"order_status\": \"cancel_pending\", \"cancel_reason\": \"业务员取消订单\", \"cancel_previous_status\": \"approved\", \"cancel_requested_by\": 2}', 'success', '发起订单取消 SO20260519184537');
INSERT INTO `audit_log` VALUES (27, NULL, '系统', '2026-05-19 18:53:44', 'order_cancel_approve', 'sales_order', 4, '{\"order_status\": \"cancel_pending\", \"cancel_previous_status\": \"cancel_pending\"}', '{\"order_status\": \"canceled\", \"approve_result\": \"pass\", \"approve_opinion\": \"同意\"}', 'success', '订单取消审批 SO20260519185056');
INSERT INTO `audit_log` VALUES (28, NULL, '系统', '2026-05-19 18:53:51', 'order_cancel_approve', 'sales_order', 3, '{\"order_status\": \"cancel_pending\", \"cancel_previous_status\": \"approved\"}', '{\"order_status\": \"canceled\", \"approve_result\": \"pass\", \"approve_opinion\": \"同意\"}', 'success', '订单取消审批 SO20260519184537');
INSERT INTO `audit_log` VALUES (29, NULL, '系统', '2026-05-19 18:54:09', 'order_create', 'sales_order', 5, NULL, '{\"order_no\": \"SO20260519185409\", \"order_status\": \"draft\", \"sale_price_total\": 100.0, \"cost_price_total\": 10.0, \"profit_total\": 70.0, \"profit_rate\": 70.0, \"commission_amount\": 50.0}', 'success', '创建订单 SO20260519185409');
INSERT INTO `audit_log` VALUES (30, NULL, '系统', '2026-05-19 18:54:14', 'order_submit', 'sales_order', 5, '{\"order_status\": \"draft\"}', '{\"order_status\": \"pending_approve\"}', 'success', '提交订单审核 SO20260519185409');
INSERT INTO `audit_log` VALUES (31, NULL, '系统', '2026-05-19 18:54:19', 'order_approve', 'sales_order', 5, '{\"order_status\": \"pending_approve\"}', '{\"order_status\": \"approved\", \"approve_result\": \"pass\", \"approve_opinion\": \"同意\"}', 'success', '订单审批 SO20260519185409');
INSERT INTO `audit_log` VALUES (32, NULL, '系统', '2026-05-19 18:58:23', 'order_cancel', 'sales_order', 5, '{\"order_status\": \"approved\"}', '{\"order_status\": \"cancel_pending\", \"cancel_reason\": \"业务员取消订单\", \"cancel_previous_status\": \"approved\", \"cancel_requested_by\": 2}', 'success', '发起订单取消 SO20260519185409');
INSERT INTO `audit_log` VALUES (33, NULL, '系统', '2026-05-21 21:32:40', 'report_export', 'performance_report', 8001, NULL, '{\"file_name\": \"performance-month-20260521213239.csv\", \"stat_type\": \"month\", \"export_format\": \"csv\", \"total_periods\": 1}', 'success', '导出业绩统计报表');
INSERT INTO `audit_log` VALUES (34, NULL, '系统', '2026-05-21 21:32:42', 'report_export', 'performance_report', 8002, NULL, '{\"file_name\": \"performance-month-20260521213242.xlsx\", \"stat_type\": \"month\", \"export_format\": \"xlsx\", \"total_periods\": 1}', 'success', '导出业绩统计报表');
INSERT INTO `audit_log` VALUES (35, NULL, '系统', '2026-05-22 10:24:55', 'order_cancel', 'sales_order', 5, '{\"order_status\": \"cancel_pending\"}', '{\"order_status\": \"cancel_pending\", \"cancel_reason\": \"业务员取消订单\", \"cancel_previous_status\": \"cancel_pending\", \"cancel_requested_by\": 2}', 'success', '发起订单取消 SO20260519185409');
INSERT INTO `audit_log` VALUES (36, NULL, '系统', '2026-05-22 10:25:23', 'order_create', 'sales_order', 6, NULL, '{\"order_no\": \"SO20260522102523\", \"order_status\": \"draft\", \"sale_price_total\": 100.0, \"cost_price_total\": 60.0, \"profit_total\": 20.0, \"profit_rate\": 20.0, \"commission_amount\": 49.98}', 'success', '创建订单 SO20260522102523');
INSERT INTO `audit_log` VALUES (37, NULL, '系统', '2026-05-22 10:25:33', 'order_submit', 'sales_order', 6, '{\"order_status\": \"draft\"}', '{\"order_status\": \"pending_approve\"}', 'success', '提交订单审核 SO20260522102523');
INSERT INTO `audit_log` VALUES (38, NULL, '系统', '2026-05-22 10:25:54', 'order_approve', 'sales_order', 6, '{\"order_status\": \"pending_approve\"}', '{\"order_status\": \"approved\", \"approve_result\": \"pass\", \"approve_opinion\": \"同意\"}', 'success', '订单审批 SO20260522102523');
INSERT INTO `audit_log` VALUES (39, NULL, '系统', '2026-05-22 10:26:04', 'order_cancel', 'sales_order', 6, '{\"order_status\": \"approved\"}', '{\"order_status\": \"cancel_pending\", \"cancel_reason\": \"业务员取消订单\", \"cancel_previous_status\": \"approved\", \"cancel_requested_by\": 2}', 'success', '发起订单取消 SO20260522102523');
INSERT INTO `audit_log` VALUES (40, NULL, '系统', '2026-05-22 10:26:16', 'order_cancel_approve', 'sales_order', 6, '{\"order_status\": \"cancel_pending\", \"cancel_previous_status\": \"approved\"}', '{\"order_status\": \"canceled\", \"approve_result\": \"pass\", \"approve_opinion\": \"同意\"}', 'success', '订单取消审批 SO20260522102523');
INSERT INTO `audit_log` VALUES (41, NULL, '系统', '2026-05-22 11:04:19', 'system_user_create', 'sys_user', 4, NULL, '{\"user_id\": 4, \"username\": \"driver01\", \"real_name\": \"司机\", \"mobile\": \"111\", \"role_id\": 4, \"role_name\": \"司机\", \"role_code\": \"driver\", \"status\": 1, \"created_at\": \"2026-05-22 11:04:19\", \"updated_at\": \"2026-05-22 11:04:19\"}', 'success', '新增用户 driver01');
INSERT INTO `audit_log` VALUES (42, NULL, '系统', '2026-05-22 11:07:48', 'order_create', 'sales_order', 7, NULL, '{\"order_no\": \"SO20260522110748\", \"order_status\": \"draft\", \"sale_price_total\": 100.0, \"cost_price_total\": 60.0, \"profit_total\": 20.0, \"profit_rate\": 20.0, \"commission_amount\": 50.0}', 'success', '创建订单 SO20260522110748');
INSERT INTO `audit_log` VALUES (43, NULL, '系统', '2026-05-22 11:08:00', 'order_submit', 'sales_order', 7, '{\"order_status\": \"draft\"}', '{\"order_status\": \"pending_approve\"}', 'success', '提交订单审核 SO20260522110748');
INSERT INTO `audit_log` VALUES (44, NULL, '系统', '2026-05-22 11:08:28', 'order_approve', 'sales_order', 7, '{\"order_status\": \"pending_approve\"}', '{\"order_status\": \"approved\", \"approve_result\": \"pass\", \"approve_opinion\": \"同意\"}', 'success', '订单审批 SO20260522110748');
INSERT INTO `audit_log` VALUES (45, NULL, '系统', '2026-05-22 11:08:36', 'order_cancel', 'sales_order', 7, '{\"order_status\": \"approved\"}', '{\"order_status\": \"cancel_pending\", \"cancel_reason\": \"业务员取消订单\", \"cancel_previous_status\": \"approved\", \"cancel_requested_by\": 2}', 'success', '发起订单取消 SO20260522110748');
INSERT INTO `audit_log` VALUES (46, NULL, '系统', '2026-05-22 11:08:46', 'order_cancel_approve', 'sales_order', 7, '{\"order_status\": \"cancel_pending\", \"cancel_previous_status\": \"approved\"}', '{\"order_status\": \"canceled\", \"approve_result\": \"pass\", \"approve_opinion\": \"同意\"}', 'success', '订单取消审批 SO20260522110748');
INSERT INTO `audit_log` VALUES (47, NULL, '系统', '2026-05-22 11:27:12', 'order_cancel_approve', 'sales_order', 5, '{\"order_status\": \"cancel_pending\", \"cancel_previous_status\": \"cancel_pending\"}', '{\"order_status\": \"canceled\", \"approve_result\": \"pass\", \"approve_opinion\": \"同意\"}', 'success', '订单取消审批 SO20260519185409');
INSERT INTO `audit_log` VALUES (48, NULL, '系统', '2026-05-22 11:32:38', 'order_create', 'sales_order', 8, NULL, '{\"order_no\": \"SO20260522113238\", \"order_status\": \"draft\", \"sale_price_total\": 100.0, \"cost_price_total\": 60.0, \"profit_total\": 20.0, \"profit_rate\": 20.0, \"commission_amount\": 50.0}', 'success', '创建订单 SO20260522113238');
INSERT INTO `audit_log` VALUES (49, NULL, '系统', '2026-05-22 11:32:48', 'order_submit', 'sales_order', 8, '{\"order_status\": \"draft\"}', '{\"order_status\": \"pending_approve\"}', 'success', '提交订单审核 SO20260522113238');
INSERT INTO `audit_log` VALUES (50, NULL, '系统', '2026-05-22 11:33:08', 'order_approve', 'sales_order', 8, '{\"order_status\": \"pending_approve\"}', '{\"order_status\": \"approved\", \"approve_result\": \"pass\", \"approve_opinion\": \"dfa \"}', 'success', '订单审批 SO20260522113238');
INSERT INTO `audit_log` VALUES (51, NULL, '系统', '2026-05-22 11:33:13', 'order_cancel', 'sales_order', 8, '{\"order_status\": \"approved\"}', '{\"order_status\": \"cancel_pending\", \"cancel_reason\": \"业务员取消订单\", \"cancel_previous_status\": \"approved\", \"cancel_requested_by\": 2}', 'success', '发起订单取消 SO20260522113238');
INSERT INTO `audit_log` VALUES (52, NULL, '系统', '2026-05-22 11:33:26', 'order_cancel_approve', 'sales_order', 8, '{\"order_status\": \"cancel_pending\", \"cancel_previous_status\": \"approved\"}', '{\"order_status\": \"canceled\", \"approve_result\": \"pass\", \"approve_opinion\": \"tt\"}', 'success', '订单取消审批 SO20260522113238');
INSERT INTO `audit_log` VALUES (53, NULL, '系统', '2026-05-27 16:01:35', 'order_create', 'sales_order', 9, NULL, '{\"order_no\": \"SO20260527160135\", \"order_status\": \"draft\", \"sale_price_total\": 100.0, \"cost_price_total\": 60.0, \"profit_total\": 20.0, \"profit_rate\": 20.0, \"commission_amount\": 50.0}', 'success', '创建订单 SO20260527160135');
INSERT INTO `audit_log` VALUES (54, NULL, '系统', '2026-05-27 16:02:02', 'order_submit', 'sales_order', 9, '{\"order_status\": \"draft\"}', '{\"order_status\": \"pending_approve\"}', 'success', '提交订单审核 SO20260527160135');
INSERT INTO `audit_log` VALUES (55, NULL, '系统', '2026-05-27 16:02:30', 'order_cancel', 'sales_order', 9, '{\"order_status\": \"pending_approve\"}', '{\"order_status\": \"canceled\", \"cancel_reason\": null, \"cancel_previous_status\": null, \"cancel_requested_by\": null}', 'success', '发起订单取消 SO20260527160135');
INSERT INTO `audit_log` VALUES (56, NULL, '系统', '2026-05-27 16:30:40', 'order_create', 'sales_order', 10, NULL, '{\"order_no\": \"SO20260527163039\", \"order_status\": \"draft\", \"sale_price_total\": 100.0, \"cost_price_total\": 60.0, \"profit_total\": 20.0, \"profit_rate\": 20.0, \"commission_amount\": 50.0}', 'success', '创建订单 SO20260527163039');
INSERT INTO `audit_log` VALUES (57, NULL, '系统', '2026-05-27 16:30:47', 'order_submit', 'sales_order', 10, '{\"order_status\": \"draft\"}', '{\"order_status\": \"pending_approve\"}', 'success', '提交订单审核 SO20260527163039');
INSERT INTO `audit_log` VALUES (58, NULL, '系统', '2026-05-27 16:30:55', 'order_cancel', 'sales_order', 10, '{\"order_status\": \"pending_approve\"}', '{\"order_status\": \"canceled\", \"cancel_reason\": null, \"cancel_previous_status\": null, \"cancel_requested_by\": null}', 'success', '发起订单取消 SO20260527163039');
INSERT INTO `audit_log` VALUES (59, NULL, '系统', '2026-05-27 16:31:10', 'order_create', 'sales_order', 11, NULL, '{\"order_no\": \"SO20260527163109\", \"order_status\": \"draft\", \"sale_price_total\": 100.0, \"cost_price_total\": 60.0, \"profit_total\": 20.0, \"profit_rate\": 20.0, \"commission_amount\": 50.0}', 'success', '创建订单 SO20260527163109');
INSERT INTO `audit_log` VALUES (60, NULL, '系统', '2026-05-27 16:31:15', 'order_submit', 'sales_order', 11, '{\"order_status\": \"draft\"}', '{\"order_status\": \"pending_approve\"}', 'success', '提交订单审核 SO20260527163109');
INSERT INTO `audit_log` VALUES (61, NULL, '系统', '2026-05-27 16:31:22', 'order_cancel', 'sales_order', 11, '{\"order_status\": \"pending_approve\"}', '{\"order_status\": \"canceled\", \"cancel_reason\": null, \"cancel_previous_status\": null, \"cancel_requested_by\": null}', 'success', '发起订单取消 SO20260527163109');
INSERT INTO `audit_log` VALUES (62, NULL, '系统', '2026-05-27 16:33:41', 'reminder_read', 'sales_order', 11, '{\"status\": \"pending\"}', '{\"status\": \"read\"}', 'success', '提醒 6 标记已读');
INSERT INTO `audit_log` VALUES (63, NULL, '系统', '2026-05-27 16:33:45', 'reminder_read', 'sales_order', 9, '{\"status\": \"pending\"}', '{\"status\": \"read\"}', 'success', '提醒 1 标记已读');
INSERT INTO `audit_log` VALUES (64, NULL, '系统', '2026-05-27 16:33:47', 'reminder_read', 'sales_order', 9, '{\"status\": \"pending\"}', '{\"status\": \"read\"}', 'success', '提醒 2 标记已读');
INSERT INTO `audit_log` VALUES (65, NULL, '系统', '2026-05-27 16:33:47', 'reminder_read', 'sales_order', 9, '{\"status\": \"pending\"}', '{\"status\": \"read\"}', 'success', '提醒 1 标记已读');
INSERT INTO `audit_log` VALUES (66, NULL, '系统', '2026-05-31 13:41:35', 'order_create', 'sales_order', 12, NULL, '{\"order_no\": \"SO20260531134134\", \"order_status\": \"draft\", \"sale_price_total\": 100, \"cost_price_total\": 50, \"profit_total\": 50, \"profit_rate\": 50.0, \"commission_amount\": 0}', 'success', '创建订单 SO20260531134134');
INSERT INTO `audit_log` VALUES (67, NULL, '系统', '2026-05-31 13:43:07', 'order_create', 'sales_order', 13, NULL, '{\"order_no\": \"SO20260531134307\", \"order_status\": \"draft\", \"sale_price_total\": 100, \"cost_price_total\": 50, \"profit_total\": 50, \"profit_rate\": 50.0, \"commission_amount\": 0}', 'success', '创建订单 SO20260531134307');
INSERT INTO `audit_log` VALUES (68, NULL, '系统', '2026-05-31 13:52:53', 'order_create', 'sales_order', 14, NULL, '{\"order_no\": \"SO20260531135253\", \"order_status\": \"draft\", \"sale_price_total\": 100.0, \"cost_price_total\": 50.0, \"profit_total\": 50.0, \"profit_rate\": 50.0, \"commission_amount\": 0}', 'success', '创建订单 SO20260531135253');
INSERT INTO `audit_log` VALUES (69, NULL, '系统', '2026-06-03 16:18:33', 'order_cancel', 'sales_order', 14, '{\"order_status\": \"draft\"}', '{\"order_status\": \"canceled\", \"cancel_reason\": null, \"cancel_previous_status\": null, \"cancel_requested_by\": null}', 'success', '发起订单取消 SO20260531135253');
INSERT INTO `audit_log` VALUES (70, NULL, '系统', '2026-06-04 14:08:32', 'order_create', 'sales_order', 15, NULL, '{\"order_no\": \"SO20260604140831\", \"order_status\": \"draft\", \"sale_price_total\": 140.0, \"cost_price_total\": 140.0, \"profit_total\": -20.0, \"profit_rate\": -14.29, \"commission_amount\": 50.0}', 'success', '创建订单 SO20260604140831');
INSERT INTO `audit_log` VALUES (71, NULL, '系统', '2026-06-04 14:08:35', 'attachment_create', 'sales_order', 15, NULL, '{\"attachment_id\": 1, \"biz_type\": \"sales_order\", \"biz_id\": 15, \"file_name\": \"小米账单.png\", \"file_url\": \"http://127.0.0.1:8000/uploads/20260604140833_小米账单.png\", \"file_type\": \"image/png\", \"file_size\": 72291, \"storage_provider\": \"aliyun_oss\", \"bucket_name\": \"dingdan9471\", \"object_key\": \"uploads/20260604140833_小米账单.png\", \"content_type\": \"image/png\", \"file_ext\": \"png\", \"file_category\": \"image\", \"created_at\": \"2026-06-04 14:08:35\"}', 'success', '保存附件 小米账单.png');
INSERT INTO `audit_log` VALUES (72, NULL, '系统', '2026-06-04 14:12:29', 'order_submit', 'sales_order', 15, '{\"order_status\": \"draft\"}', '{\"order_status\": \"pending_approve\"}', 'success', '提交订单审核 SO20260604140831');
INSERT INTO `audit_log` VALUES (73, NULL, '系统', '2026-06-04 14:12:54', 'order_approve', 'sales_order', 15, '{\"order_status\": \"pending_approve\"}', '{\"order_status\": \"rejected\", \"approve_result\": \"reject\", \"approve_opinion\": \"退回\"}', 'success', '订单审批 SO20260604140831');
INSERT INTO `audit_log` VALUES (74, NULL, '系统', '2026-06-04 16:32:03', 'reminder_read', 'sales_order', 15, '{\"status\": \"pending\"}', '{\"status\": \"read\"}', 'success', '提醒 9 标记已读');
INSERT INTO `audit_log` VALUES (75, NULL, '系统', '2026-06-04 16:32:05', 'reminder_read', 'sales_order', 15, '{\"status\": \"pending\"}', '{\"status\": \"read\"}', 'success', '提醒 8 标记已读');
INSERT INTO `audit_log` VALUES (76, NULL, '系统', '2026-06-04 16:32:05', 'reminder_read', 'sales_order', 15, '{\"status\": \"read\"}', '{\"status\": \"read\"}', 'success', '提醒 9 标记已读');
INSERT INTO `audit_log` VALUES (77, NULL, '系统', '2026-06-04 16:32:06', 'reminder_read', 'sales_order', 15, '{\"status\": \"read\"}', '{\"status\": \"read\"}', 'success', '提醒 9 标记已读');
INSERT INTO `audit_log` VALUES (78, NULL, '系统', '2026-06-05 13:33:50', 'order_cancel', 'sales_order', 13, '{\"order_status\": \"draft\"}', '{\"order_status\": \"canceled\", \"cancel_reason\": null, \"cancel_previous_status\": null, \"cancel_requested_by\": null}', 'success', '发起订单取消 SO20260531134307');
INSERT INTO `audit_log` VALUES (79, NULL, '系统', '2026-06-05 13:33:57', 'order_cancel', 'sales_order', 12, '{\"order_status\": \"draft\"}', '{\"order_status\": \"canceled\", \"cancel_reason\": null, \"cancel_previous_status\": null, \"cancel_requested_by\": null}', 'success', '发起订单取消 SO20260531134134');
INSERT INTO `audit_log` VALUES (80, NULL, '系统', '2026-06-05 13:46:33', 'order_submit', 'sales_order', 15, '{\"order_status\": \"rejected\"}', '{\"order_status\": \"pending_approve\"}', 'success', '提交订单审核 SO20260604140831');
INSERT INTO `audit_log` VALUES (81, NULL, '系统', '2026-06-06 09:34:10', 'attachment_create', 'performance_report', 20260606093409, NULL, '{\"attachment_id\": 2, \"biz_type\": \"performance_report\", \"biz_id\": 20260606093409, \"file_name\": \"performance-month-20260606093409.csv\", \"file_url\": \"https://dingdan9471.oss-cn-beijing.aliyuncs.com/exports/performance/performance-month-20260606093409.csv\", \"file_type\": \"text/csv\", \"file_size\": 131, \"storage_provider\": \"aliyun_oss\", \"bucket_name\": \"dingdan9471\", \"object_key\": \"exports/performance/performance-month-20260606093409.csv\", \"content_type\": \"text/csv\", \"file_ext\": \"csv\", \"file_category\": \"import\", \"created_at\": \"2026-06-06 09:34:09\"}', 'success', '保存附件 performance-month-20260606093409.csv');
INSERT INTO `audit_log` VALUES (82, NULL, '系统', '2026-06-06 09:34:10', 'report_export', 'performance_report', 2, NULL, '{\"file_name\": \"performance-month-20260606093409.csv\", \"stat_type\": \"month\", \"export_format\": \"csv\", \"total_periods\": 1}', 'success', '导出业绩统计报表');
INSERT INTO `audit_log` VALUES (83, NULL, '系统', '2026-06-06 09:43:42', 'attachment_create', 'performance_report', 20260606094342, NULL, '{\"attachment_id\": 3, \"biz_type\": \"performance_report\", \"biz_id\": 20260606094342, \"file_name\": \"performance-month-20260606094341.csv\", \"file_url\": \"https://dingdan9471.oss-cn-beijing.aliyuncs.com/exports/performance/performance-month-20260606094341.csv\", \"file_type\": \"text/csv\", \"file_size\": 131, \"storage_provider\": \"aliyun_oss\", \"bucket_name\": \"dingdan9471\", \"object_key\": \"exports/performance/performance-month-20260606094341.csv\", \"content_type\": \"text/csv\", \"file_ext\": \"csv\", \"file_category\": \"import\", \"created_at\": \"2026-06-06 09:43:42\"}', 'success', '保存附件 performance-month-20260606094341.csv');
INSERT INTO `audit_log` VALUES (84, NULL, '系统', '2026-06-06 09:43:43', 'report_export', 'performance_report', 3, NULL, '{\"file_name\": \"performance-month-20260606094341.csv\", \"stat_type\": \"month\", \"export_format\": \"csv\", \"total_periods\": 1}', 'success', '导出业绩统计报表');
INSERT INTO `audit_log` VALUES (85, NULL, '系统', '2026-06-06 09:52:44', 'attachment_create', 'performance_report', 20260606095244, NULL, '{\"attachment_id\": 4, \"biz_type\": \"performance_report\", \"biz_id\": 20260606095244, \"file_name\": \"performance-month-20260606095243.xlsx\", \"file_url\": \"https://dingdan9471.oss-cn-beijing.aliyuncs.com/exports/performance/performance-month-20260606095243.xlsx\", \"file_type\": \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\", \"file_size\": 5126, \"storage_provider\": \"aliyun_oss\", \"bucket_name\": \"dingdan9471\", \"object_key\": \"exports/performance/performance-month-20260606095243.xlsx\", \"content_type\": \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\", \"file_ext\": \"xlsx\", \"file_category\": \"import\", \"created_at\": \"2026-06-06 09:52:44\"}', 'success', '保存附件 performance-month-20260606095243.xlsx');
INSERT INTO `audit_log` VALUES (86, NULL, '系统', '2026-06-06 09:52:45', 'report_export', 'performance_report', 4, NULL, '{\"file_name\": \"performance-month-20260606095243.xlsx\", \"stat_type\": \"month\", \"export_format\": \"xlsx\", \"total_periods\": 1}', 'success', '导出业绩统计报表');
INSERT INTO `audit_log` VALUES (87, NULL, '系统', '2026-06-06 11:12:01', 'order_cancel', 'sales_order', 15, '{\"order_status\": \"pending_approve\"}', '{\"order_status\": \"canceled\", \"cancel_reason\": null, \"cancel_previous_status\": null, \"cancel_requested_by\": null}', 'success', '发起订单取消 SO20260604140831');
INSERT INTO `audit_log` VALUES (88, NULL, '系统', '2026-06-06 14:14:03', 'config_update', 'system_config', 12, '{\"config_key\": \"wechat_template_order_status\", \"config_value\": \"\", \"config_name\": \"微信模板-订单状态变更\", \"remark\": \"微信小程序订阅消息模板ID\", \"status\": 1}', '{\"config_key\": \"wechat_template_order_status\", \"config_value\": \"lA4NkXqSYHXr4XvULlmJUSqS1pM8dFrYq5_poA-bM7g\", \"config_name\": \"微信模板-订单状态变更\", \"remark\": null, \"status\": 1}', 'success', '更新配置 wechat_template_order_status');
INSERT INTO `audit_log` VALUES (89, NULL, '系统', '2026-06-06 14:14:06', 'config_update', 'system_config', 13, '{\"config_key\": \"wechat_template_approval\", \"config_value\": \"\", \"config_name\": \"微信模板-审批通知\", \"remark\": \"微信小程序订阅消息模板ID\", \"status\": 1}', '{\"config_key\": \"wechat_template_approval\", \"config_value\": \"Zcd8dxVRBPGpQIO1fhMjgWDy2mS012KoOeKbJK9mrAk\", \"config_name\": \"微信模板-审批通知\", \"remark\": null, \"status\": 1}', 'success', '更新配置 wechat_template_approval');
INSERT INTO `audit_log` VALUES (90, NULL, '系统', '2026-06-06 14:14:10', 'config_update', 'system_config', 14, '{\"config_key\": \"wechat_template_task_assigned\", \"config_value\": \"\", \"config_name\": \"微信模板-任务分配\", \"remark\": \"微信小程序订阅消息模板ID\", \"status\": 1}', '{\"config_key\": \"wechat_template_task_assigned\", \"config_value\": \"rz5ndHgRxaqCpikfH0qYFMA1w5YeT1IZ6b19e9F1W5c\", \"config_name\": \"微信模板-任务分配\", \"remark\": null, \"status\": 1}', 'success', '更新配置 wechat_template_task_assigned');
INSERT INTO `audit_log` VALUES (91, NULL, '系统', '2026-06-06 14:14:14', 'config_update', 'system_config', 15, '{\"config_key\": \"wechat_template_logistics_timeout\", \"config_value\": \"\", \"config_name\": \"微信模板-物流超时\", \"remark\": \"微信小程序订阅消息模板ID\", \"status\": 1}', '{\"config_key\": \"wechat_template_logistics_timeout\", \"config_value\": \"N07iQmxpk3iaAyRNqy7NdUUNAXD0dDaE99DcbpgSwrM\", \"config_name\": \"微信模板-物流超时\", \"remark\": null, \"status\": 1}', 'success', '更新配置 wechat_template_logistics_timeout');
INSERT INTO `audit_log` VALUES (92, NULL, '系统', '2026-06-06 14:14:17', 'config_update', 'system_config', 16, '{\"config_key\": \"wechat_template_arrears\", \"config_value\": \"\", \"config_name\": \"微信模板-欠款提醒\", \"remark\": \"微信小程序订阅消息模板ID\", \"status\": 1}', '{\"config_key\": \"wechat_template_arrears\", \"config_value\": \"uSSHcFChGkJSSGj9XwjVTUiZ51yWuaPMRYeLY9nrJME\", \"config_name\": \"微信模板-欠款提醒\", \"remark\": null, \"status\": 1}', 'success', '更新配置 wechat_template_arrears');
INSERT INTO `audit_log` VALUES (93, NULL, '系统', '2026-06-06 14:14:20', 'config_update', 'system_config', 17, '{\"config_key\": \"wechat_template_inactive_customer\", \"config_value\": \"\", \"config_name\": \"微信模板-沉默客户\", \"remark\": \"微信小程序订阅消息模板ID\", \"status\": 1}', '{\"config_key\": \"wechat_template_inactive_customer\", \"config_value\": \"B0htDO1tdyFCXXpw7lQaK5dcDkcUtrRNdJpWcsc7T3M\", \"config_name\": \"微信模板-沉默客户\", \"remark\": null, \"status\": 1}', 'success', '更新配置 wechat_template_inactive_customer');
INSERT INTO `audit_log` VALUES (94, NULL, '系统', '2026-06-06 17:40:40', 'system_user_reset_password', 'sys_user', 3, '{\"password_hash\": \"b46437424d2be0cdd6db4f7cb5a58bd040c351d022e286d767dfd2c39691f8f2\"}', '{\"password_hash\": \"5b057a7430c4ee47de3609a43cbc2124d08512c54328376efa9a808abbbb9549\"}', 'success', '重置用户密码 dirver');
INSERT INTO `audit_log` VALUES (95, NULL, '系统', '2026-06-06 17:40:43', 'system_user_update', 'sys_user', 3, '{\"user_id\": 3, \"username\": \"dirver\", \"real_name\": \"driver\", \"mobile\": \"test\", \"role_id\": 4, \"role_name\": \"司机\", \"role_code\": \"driver\", \"status\": 1, \"created_at\": \"2026-05-19 14:50:09\", \"updated_at\": \"2026-06-06 17:40:40\"}', '{\"user_id\": 3, \"username\": \"dirver\", \"real_name\": \"driver\", \"mobile\": \"test\", \"role_id\": 4, \"role_name\": \"司机\", \"role_code\": \"driver\", \"status\": 1, \"created_at\": \"2026-05-19 14:50:09\", \"updated_at\": \"2026-06-06 17:40:40\"}', 'success', '更新用户 dirver');
INSERT INTO `audit_log` VALUES (96, NULL, '系统', '2026-06-06 18:12:55', 'system_user_reset_password', 'sys_user', 4, '{\"password_hash\": \"b46437424d2be0cdd6db4f7cb5a58bd040c351d022e286d767dfd2c39691f8f2\"}', '{\"password_hash\": \"5b057a7430c4ee47de3609a43cbc2124d08512c54328376efa9a808abbbb9549\"}', 'success', '重置用户密码 driver01');
INSERT INTO `audit_log` VALUES (97, NULL, '系统', '2026-06-06 18:23:48', 'order_create', 'sales_order', 16, NULL, '{\"order_no\": \"SO20260606182346\", \"order_status\": \"draft\", \"sale_price_total\": 150.0, \"cost_price_total\": 140.0, \"profit_total\": -10.0, \"profit_rate\": -6.67, \"commission_amount\": 50.0}', 'success', '创建订单 SO20260606182346');
INSERT INTO `audit_log` VALUES (98, NULL, '系统', '2026-06-06 18:24:55', 'order_submit', 'sales_order', 16, '{\"order_status\": \"draft\"}', '{\"order_status\": \"pending_approve\"}', 'success', '提交订单审核 SO20260606182346');
INSERT INTO `audit_log` VALUES (99, NULL, '系统', '2026-06-07 00:11:01', 'order_approve', 'sales_order', 16, '{\"order_status\": \"pending_approve\"}', '{\"order_status\": \"approved\", \"approve_result\": \"pass\", \"approve_opinion\": \"同意\"}', 'success', '订单审批 SO20260606182346');
INSERT INTO `audit_log` VALUES (100, NULL, '系统', '2026-06-07 11:25:01', 'order_supplier_text_confirm', 'sales_order', 16, '{\"order_status\": \"approved\"}', '{\"order_status\": \"pending_factory\", \"supplier_id\": 7, \"text_content\": \"订单编号SO20260606182346\\n客户演示客户\\n发货方式工厂直送\\n产品明细\\n 输送带-9090WJ-粗糙 0.9 1.0㎡\\n备注前后端联调演示订单\\n请安排生产与发货。\", \"remark\": \"\"}', 'success', '确认发厂文案 SO20260606182346');
INSERT INTO `audit_log` VALUES (101, NULL, '系统', '2026-06-07 11:26:35', 'system_user_update', 'sys_user', 4, '{\"user_id\": 4, \"username\": \"driver01\", \"real_name\": \"司机\", \"mobile\": \"111\", \"role_id\": 4, \"role_name\": \"司机\", \"role_code\": \"driver\", \"status\": 1, \"created_at\": \"2026-05-22 11:04:19\", \"updated_at\": \"2026-06-06 18:12:56\"}', '{\"user_id\": 4, \"username\": \"driver01\", \"real_name\": \"司机\", \"mobile\": \"111\", \"role_id\": 4, \"role_name\": \"司机\", \"role_code\": \"driver\", \"status\": 1, \"created_at\": \"2026-05-22 11:04:19\", \"updated_at\": \"2026-06-06 18:12:56\"}', 'success', '更新用户 driver01');
-- ----------------------------
-- Table structure for customer
-- ----------------------------
DROP TABLE IF EXISTS `customer`;
CREATE TABLE `customer` (
`id` int NOT NULL AUTO_INCREMENT,
`customer_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`mobile` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`settlement_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`settlement_days` int NOT NULL DEFAULT 0,
`customer_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`price_tier` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'default' COMMENT '价格层级编码',
`salesman_id` int NULL DEFAULT NULL,
`credit_limit` decimal(18, 2) NOT NULL DEFAULT 0.00,
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`created_at` datetime NOT NULL DEFAULT (now()),
`updated_at` datetime NOT NULL DEFAULT (now()),
`deleted` int NOT NULL DEFAULT 0,
PRIMARY KEY (`id`) USING BTREE,
INDEX `ix_customer_customer_name`(`customer_name` ASC) USING BTREE,
INDEX `ix_customer_mobile`(`mobile` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of customer
-- ----------------------------
INSERT INTO `customer` VALUES (1, '演示客户', '13900000000', '杭州市西湖区演示地址 1 号', NULL, 0, NULL, 'default', 2, 0.00, NULL, '2026-05-19 10:35:07', '2026-05-19 10:35:07', 0);
INSERT INTO `customer` VALUES (2, '测试客户', '13800138000', '测试地址', NULL, 0, NULL, 'default', 1, 0.00, '订单录入时自动创建', '2026-05-31 13:41:34', '2026-05-31 13:41:34', 0);
INSERT INTO `customer` VALUES (3, '测试客户3', '13700137000', '测试地址', NULL, 0, NULL, 'default', 1, 0.00, '订单录入时自动创建', '2026-05-31 13:52:52', '2026-05-31 13:52:52', 0);
-- ----------------------------
-- Table structure for customer_arrears
-- ----------------------------
DROP TABLE IF EXISTS `customer_arrears`;
CREATE TABLE `customer_arrears` (
`id` int NOT NULL AUTO_INCREMENT,
`customer_id` int NOT NULL,
`order_id` int NOT NULL,
`arrears_amount` decimal(18, 2) NOT NULL DEFAULT 0.00,
`settlement_start_date` date NULL DEFAULT NULL,
`due_date` date NULL DEFAULT NULL,
`status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'pending',
`reminded_at` datetime NULL DEFAULT NULL,
`created_at` datetime NOT NULL DEFAULT (now()),
PRIMARY KEY (`id`) USING BTREE,
INDEX `ix_customer_arrears_customer_id`(`customer_id` ASC) USING BTREE,
INDEX `ix_customer_arrears_order_id`(`order_id` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of customer_arrears
-- ----------------------------
-- ----------------------------
-- Table structure for file_attachment
-- ----------------------------
DROP TABLE IF EXISTS `file_attachment`;
CREATE TABLE `file_attachment` (
`id` int NOT NULL AUTO_INCREMENT,
`biz_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`biz_id` bigint NULL DEFAULT NULL,
`file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`file_url` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`file_type` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`file_size` int NULL DEFAULT NULL,
`created_by` int NULL DEFAULT NULL,
`created_at` datetime NOT NULL DEFAULT (now()),
`storage_provider` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'aliyun_oss',
`bucket_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`object_key` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`content_type` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`file_ext` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`file_category` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE,
INDEX `ix_file_attachment_biz_type`(`biz_type` ASC) USING BTREE,
INDEX `ix_file_attachment_biz_id`(`biz_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of file_attachment
-- ----------------------------
INSERT INTO `file_attachment` VALUES (1, 'sales_order', 15, '小米账单.png', 'http://127.0.0.1:8000/uploads/20260604140833_小米账单.png', 'image/png', 72291, 2, '2026-06-04 14:08:35', 'aliyun_oss', 'dingdan9471', 'uploads/20260604140833_小米账单.png', 'image/png', 'png', 'image');
INSERT INTO `file_attachment` VALUES (2, 'performance_report', 20260606093409, 'performance-month-20260606093409.csv', 'https://dingdan9471.oss-cn-beijing.aliyuncs.com/exports/performance/performance-month-20260606093409.csv', 'text/csv', 131, NULL, '2026-06-06 09:34:09', 'aliyun_oss', 'dingdan9471', 'exports/performance/performance-month-20260606093409.csv', 'text/csv', 'csv', 'import');
INSERT INTO `file_attachment` VALUES (3, 'performance_report', 20260606094342, 'performance-month-20260606094341.csv', 'https://dingdan9471.oss-cn-beijing.aliyuncs.com/exports/performance/performance-month-20260606094341.csv', 'text/csv', 131, NULL, '2026-06-06 09:43:42', 'aliyun_oss', 'dingdan9471', 'exports/performance/performance-month-20260606094341.csv', 'text/csv', 'csv', 'import');
INSERT INTO `file_attachment` VALUES (4, 'performance_report', 20260606095244, 'performance-month-20260606095243.xlsx', 'https://dingdan9471.oss-cn-beijing.aliyuncs.com/exports/performance/performance-month-20260606095243.xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 5126, NULL, '2026-06-06 09:52:44', 'aliyun_oss', 'dingdan9471', 'exports/performance/performance-month-20260606095243.xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'xlsx', 'import');
-- ----------------------------
-- Table structure for logistics_task
-- ----------------------------
DROP TABLE IF EXISTS `logistics_task`;
CREATE TABLE `logistics_task` (
`id` int NOT NULL AUTO_INCREMENT,
`order_id` int NOT NULL,
`driver_id` int NOT NULL,
`factory_id` int NULL DEFAULT NULL,
`pickup_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`delivery_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`pickup_content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`quantity` decimal(18, 4) NOT NULL DEFAULT 0.0000,
`status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'pending',
`created_by` int NULL DEFAULT NULL,
`canceled_by` int NULL DEFAULT NULL,
`cancel_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`created_at` datetime NOT NULL DEFAULT (now()),
`updated_at` datetime NOT NULL DEFAULT (now()),
`deleted` int NOT NULL DEFAULT 0,
`tracking_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`express_company` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`task_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `ix_logistics_task_task_no`(`task_no` ASC) USING BTREE,
INDEX `ix_logistics_task_order_id`(`order_id` ASC) USING BTREE,
INDEX `ix_logistics_task_driver_id`(`driver_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of logistics_task
-- ----------------------------
INSERT INTO `logistics_task` VALUES (1, 20, 4, 5, 'ANE warehouse Shenzhen', 'Nanshan Tech Park 88', 'High-temp cloth 0.13mm', 200.0000, 'accepted', 1, NULL, NULL, NULL, '2026-06-07 14:29:47', '2026-06-07 14:29:47', 0, NULL, NULL, 'LT000001');
INSERT INTO `logistics_task` VALUES (2, 21, 4, 7, 'AK factory Changzhou', 'Nanjing Yuhuatai 168', 'Teflon tape 0.15mm', 500.0000, 'accepted', 1, NULL, NULL, NULL, '2026-06-07 14:29:47', '2026-06-07 14:29:47', 0, NULL, NULL, 'LT000002');
INSERT INTO `logistics_task` VALUES (3, 22, 3, 6, 'YX factory Jiaozuo', 'Jiaozuo Jiefang 88', 'Mesh conveyor belt', 100.0000, 'pending', 1, NULL, NULL, NULL, '2026-06-07 14:29:47', '2026-06-07 14:29:47', 0, NULL, NULL, 'LT000003');
-- ----------------------------
-- Table structure for logistics_trace
-- ----------------------------
DROP TABLE IF EXISTS `logistics_trace`;
CREATE TABLE `logistics_trace` (
`id` int NOT NULL AUTO_INCREMENT,
`order_id` int NOT NULL,
`task_id` int NULL DEFAULT NULL,
`node_time` datetime NOT NULL,
`node_desc` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`node_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`source_platform` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`created_at` datetime NOT NULL DEFAULT (now()),
PRIMARY KEY (`id`) USING BTREE,
INDEX `ix_logistics_trace_order_id`(`order_id` ASC) USING BTREE,
INDEX `ix_logistics_trace_task_id`(`task_id` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of logistics_trace
-- ----------------------------
-- ----------------------------
-- Table structure for logistics_waybill
-- ----------------------------
DROP TABLE IF EXISTS `logistics_waybill`;
CREATE TABLE `logistics_waybill` (
`id` int NOT NULL AUTO_INCREMENT,
`task_id` int NOT NULL,
`order_id` int NOT NULL,
`tracking_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`express_company` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`express_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`image_url` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`ocr_raw` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
`status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'pending',
`created_by` int NULL DEFAULT NULL,
`created_at` datetime NOT NULL DEFAULT (now()),
`updated_at` datetime NOT NULL DEFAULT (now()),
`deleted` int NOT NULL DEFAULT 0,
PRIMARY KEY (`id`) USING BTREE,
INDEX `ix_logistics_waybill_order_id`(`order_id` ASC) USING BTREE,
INDEX `ix_logistics_waybill_task_id`(`task_id` ASC) USING BTREE,
INDEX `ix_logistics_waybill_tracking`(`tracking_number` ASC) USING BTREE,
CONSTRAINT `logistics_waybill_ibfk_1` FOREIGN KEY (`task_id`) REFERENCES `logistics_task` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `logistics_waybill_ibfk_2` FOREIGN KEY (`order_id`) REFERENCES `sales_order` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of logistics_waybill
-- ----------------------------
INSERT INTO `logistics_waybill` VALUES (1, 1, 20, '610076276709', 'ane', 'ANE Logistics', NULL, NULL, 'pending', NULL, '2026-06-07 14:29:47', '2026-06-07 16:39:47', 1);
INSERT INTO `logistics_waybill` VALUES (2, 1, 20, '610076276712', 'ane', 'ANE Logistics', NULL, NULL, 'pending', NULL, '2026-06-07 14:29:48', '2026-06-07 14:29:48', 0);
INSERT INTO `logistics_waybill` VALUES (3, 1, 20, '610076276708', 'ane', 'ANE Logistics', NULL, NULL, 'pending', NULL, '2026-06-07 14:29:48', '2026-06-07 14:29:48', 0);
INSERT INTO `logistics_waybill` VALUES (4, 2, 21, '610076276709', 'ane', 'ANE Logistics', NULL, NULL, 'pending', NULL, '2026-06-07 14:29:48', '2026-06-08 18:34:21', 1);
INSERT INTO `logistics_waybill` VALUES (5, 2, 21, '610076276712', 'ane', 'ANE Logistics', NULL, NULL, 'pending', NULL, '2026-06-07 14:29:48', '2026-06-08 18:34:21', 1);
INSERT INTO `logistics_waybill` VALUES (6, 2, 21, '610076276708', 'ane', 'ANE Logistics', NULL, NULL, 'pending', NULL, '2026-06-07 14:29:48', '2026-06-08 18:34:19', 1);
-- ----------------------------
-- Table structure for order_supplier_text_log
-- ----------------------------
DROP TABLE IF EXISTS `order_supplier_text_log`;
CREATE TABLE `order_supplier_text_log` (
`id` int NOT NULL AUTO_INCREMENT,
`order_id` int NOT NULL,
`supplier_id` int NOT NULL,
`template_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`text_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`confirmed` int NOT NULL DEFAULT 0,
`confirmed_by` int NULL DEFAULT NULL,
`confirmed_at` datetime NULL DEFAULT NULL,
`created_by` int NULL DEFAULT NULL,
`created_at` datetime NOT NULL DEFAULT (now()),
`updated_at` datetime NOT NULL DEFAULT (now()),
`deleted` int NOT NULL DEFAULT 0,
PRIMARY KEY (`id`) USING BTREE,
INDEX `ix_order_supplier_text_log_order_id`(`order_id` ASC) USING BTREE,
INDEX `ix_order_supplier_text_log_supplier_id`(`supplier_id` ASC) USING BTREE,
CONSTRAINT `order_supplier_text_log_ibfk_1` FOREIGN KEY (`order_id`) REFERENCES `sales_order` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `order_supplier_text_log_ibfk_2` FOREIGN KEY (`supplier_id`) REFERENCES `supplier` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of order_supplier_text_log
-- ----------------------------
INSERT INTO `order_supplier_text_log` VALUES (1, 16, 7, 'default', '订单编号SO20260606182346\n客户演示客户\n发货方式工厂直送\n产品明细\n 输送带-9090WJ-粗糙 0.9 1.0㎡\n备注前后端联调演示订单\n请安排生产与发货。', 1, 1, '2026-06-07 11:25:01', 1, '2026-06-07 11:25:00', '2026-06-07 11:25:00', 0);
-- ----------------------------
-- Table structure for performance_stat_cache
-- ----------------------------
DROP TABLE IF EXISTS `performance_stat_cache`;
CREATE TABLE `performance_stat_cache` (
`id` int NOT NULL AUTO_INCREMENT,
`stat_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`stat_period` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`category_id` int NULL DEFAULT NULL,
`order_count` int NOT NULL,
`order_amount` decimal(18, 2) NOT NULL,
`commission_amount` decimal(18, 2) NOT NULL,
`total_profit` decimal(18, 2) NOT NULL,
`category_amounts_json` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
`created_at` datetime NOT NULL DEFAULT (now()),
PRIMARY KEY (`id`) USING BTREE,
INDEX `ix_performance_stat_cache_stat_type`(`stat_type` ASC) USING BTREE,
INDEX `ix_performance_stat_cache_stat_period`(`stat_period` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of performance_stat_cache
-- ----------------------------
-- ----------------------------
-- Table structure for product
-- ----------------------------
DROP TABLE IF EXISTS `product`;
CREATE TABLE `product` (
`id` int NOT NULL AUTO_INCREMENT,
`product_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`specification` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '',
`unit` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '',
`category` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`category_id` int NULL DEFAULT NULL,
`cost_price` decimal(18, 2) NOT NULL DEFAULT 0.00,
`sale_price` decimal(18, 2) NOT NULL DEFAULT 0.00,
`pricing_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '计价类型',
`pricing_unit` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '计价单位',
`thickness` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '厚度(mm)',
`weight_gsm` int NULL DEFAULT NULL COMMENT '克重(g/㎡)',
`default_width_m` decimal(10, 4) NULL DEFAULT NULL COMMENT '默认宽度(米)',
`status` int NOT NULL DEFAULT 1,
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`created_at` datetime NOT NULL DEFAULT (now()),
`updated_at` datetime NOT NULL DEFAULT (now()),
`deleted` int NOT NULL DEFAULT 0,
`is_default` int NOT NULL DEFAULT 0 COMMENT '是否默认规格0否 1是',
PRIMARY KEY (`id`) USING BTREE,
INDEX `ix_product_product_name`(`product_name` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 113 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of product
-- ----------------------------
INSERT INTO `product` VALUES (1, '毛巾', '10*10', '', '工业品', 1, 10.00, 100.00, NULL, '', NULL, NULL, NULL, 1, '', '2026-05-19 14:46:52', '2026-05-19 14:46:52', 0, 0);
INSERT INTO `product` VALUES (2, '毛巾', '10*20', '', '日用品', 2, 10.00, 15.00, NULL, '', NULL, NULL, NULL, 1, '', '2026-05-19 19:09:12', '2026-05-19 19:09:12', 0, 0);
INSERT INTO `product` VALUES (3, '毛巾', '10*30', '', '日用品', 2, 12.00, 22.00, NULL, '', NULL, NULL, NULL, 1, '', '2026-05-19 19:09:12', '2026-05-19 19:09:12', 0, 0);
INSERT INTO `product` VALUES (38, '揉面垫', '0.35mm 揉面垫', '', '日用品', 2, 24.00, 24.00, NULL, '', '0.35mm', NULL, NULL, 1, NULL, '2026-06-02 19:46:31', '2026-06-05 11:43:06', 0, 0);
INSERT INTO `product` VALUES (39, '揉面垫', '0.4mm 揉面垫', '', '日用品', 2, 27.00, 27.00, NULL, '', '0.4mm', NULL, NULL, 1, NULL, '2026-06-02 19:46:31', '2026-06-05 11:43:06', 0, 0);
INSERT INTO `product` VALUES (40, '硅胶烤垫', '0.7mm 硅胶垫(卷料)', '', '工业品', 1, 39.54, 39.54, NULL, '', '0.7mm', NULL, NULL, 1, '包边 11-12大印刷 7-8小 logo+2每张加扣 + 2', '2026-06-02 19:46:32', '2026-06-05 11:43:06', 0, 0);
INSERT INTO `product` VALUES (41, '硅胶烤垫', '0.6/0.65mm 硅胶烤垫(卷料)', '', '工业品', 1, 39.54, 39.54, NULL, '', '0.6/0.65mm', NULL, NULL, 1, '包边 11-12大印刷 7-8小 logo+2', '2026-06-02 19:46:32', '2026-06-05 11:43:07', 0, 0);
INSERT INTO `product` VALUES (42, '硅胶烤垫', '0.47mm 硅胶烤垫(包边)', '', '工业品', 1, 48.00, 48.00, NULL, '', '0.47mm', NULL, NULL, 1, '印刷不包边 45最低 42', '2026-06-02 19:46:33', '2026-06-05 11:43:07', 0, 0);
INSERT INTO `product` VALUES (43, '拼豆烫布-0.11mm 细纹 145g', '0.11mm 细纹 145g', '', '工业品', 1, 11.00, 11.00, NULL, '', '0.11mm 细纹 145g', NULL, NULL, 1, '供应商WW型号: 9011WJ-145g', '2026-06-02 19:46:33', '2026-06-05 11:43:07', 0, 0);
INSERT INTO `product` VALUES (44, '拼豆烫布-0.12mm 中纹 175g', '0.12mm 中纹 175g', '', '工业品', 1, 12.00, 12.00, NULL, '', '0.12mm 中纹 175g', NULL, NULL, 1, '供应商WW型号: 9012WJ-175g', '2026-06-02 19:46:34', '2026-06-05 11:43:07', 0, 0);
INSERT INTO `product` VALUES (45, '拼豆烫布-0.25mm 粗纹 360g', '0.25mm 粗纹 360g', '', '工业品', 1, 13.00, 13.00, NULL, '', '0.25mm 粗纹 360g', NULL, NULL, 1, '供应商WW型号: 9025WJ-360g', '2026-06-02 19:46:34', '2026-06-05 11:43:07', 0, 0);
INSERT INTO `product` VALUES (46, '高温布-145g', '145g', '', '工业品', 1, 11.00, 11.00, NULL, '', NULL, NULL, NULL, 1, '供应商WW型号: 9011AJ-145g', '2026-06-02 19:46:35', '2026-06-05 11:43:07', 0, 0);
INSERT INTO `product` VALUES (47, '高温布-175g', '175g', '', '工业品', 1, 12.00, 12.00, NULL, '', NULL, NULL, NULL, 1, '供应商WW型号: 9012AJ-175g', '2026-06-02 19:46:35', '2026-06-05 11:43:07', 0, 0);
INSERT INTO `product` VALUES (48, '高温布-245g', '245g', '', '工业品', 1, 25.00, 25.00, NULL, '', NULL, NULL, NULL, 1, '供应商WW型号: 9013AJ-245g', '2026-06-02 19:46:36', '2026-06-05 11:43:07', 0, 0);
INSERT INTO `product` VALUES (49, '烧烤垫-0.2mm(黑 ', '0.2mm(黑 ', '', '日用品', 2, 13.00, 13.00, NULL, '', '0.2mm(黑 ', NULL, NULL, 1, '供应商WW型号: 9018BJ-300g', '2026-06-02 19:46:37', '2026-06-05 11:43:07', 0, 0);
INSERT INTO `product` VALUES (50, '烧烤垫-0.2mm (铜)', '0.2mm (铜)', '', '工业品', 1, 18.00, 18.00, NULL, '', '0.2mm (铜)', NULL, NULL, 1, '供应商WW型号: 9020CJ-300g', '2026-06-02 19:46:37', '2026-06-05 11:43:07', 0, 0);
INSERT INTO `product` VALUES (51, '煤气灶垫-0.12mm 黑色', '0.12mm 黑色', '', '日用品', 2, 11.00, 11.00, NULL, '', '0.12mm 黑色', NULL, NULL, 1, '供应商WW型号: 9011BJ-145g', '2026-06-02 19:46:38', '2026-06-05 11:43:07', 0, 0);
INSERT INTO `product` VALUES (52, '煤气灶垫-0.12mm 银色', '0.12mm 银色', '', '日用品', 2, 17.00, 17.00, NULL, '', '0.12mm 银色', NULL, NULL, 1, '供应商WW型号: 9011SJ-145g', '2026-06-02 19:46:39', '2026-06-05 11:43:08', 0, 0);
INSERT INTO `product` VALUES (53, '煤气灶垫-0.2mm 黑色', '0.2mm 黑色', '', '日用品', 2, 13.00, 13.00, NULL, '', '0.2mm 黑色', NULL, NULL, 1, '供应商WW型号: 9020BJ-300g', '2026-06-02 19:46:39', '2026-06-05 11:43:08', 0, 0);
INSERT INTO `product` VALUES (54, '煤气灶垫-0.2mm 银色', '0.2mm 银色', '', '日用品', 2, 20.00, 20.00, NULL, '', '0.2mm 银色', NULL, NULL, 1, '供应商WW型号: 9020CJ-300g', '2026-06-02 19:46:40', '2026-06-05 11:43:08', 0, 0);
INSERT INTO `product` VALUES (55, '特氟龙玻纤胶带-F7013', '0.13', '', '工业品', 1, 23.00, 23.00, NULL, '', '0.13', 210, NULL, 1, '主推深咖0.18 浅无货,仅 0.13/0.18 黑白色', '2026-06-02 19:46:40', '2026-06-05 11:43:08', 0, 0);
INSERT INTO `product` VALUES (56, '特氟龙玻纤胶带-F7016', '0.16 (粗糙面,实 0.15)', '', '工业品', 1, 28.00, 28.00, NULL, '', '0.16 (粗糙面,实 0.15)', NULL, NULL, 1, '宽度 1m/1.25m', '2026-06-02 19:46:41', '2026-06-05 11:43:08', 0, 0);
INSERT INTO `product` VALUES (57, '特氟龙玻纤胶带-F7018-1', '0.18 (实 0.175)', '', '工业品', 1, 32.00, 32.00, NULL, '', '0.18 (实 0.175)', 310, NULL, 1, '宽度 1m/1.25m1.5m 宽 0.18mm 价格 60', '2026-06-02 19:46:41', '2026-06-05 11:43:08', 0, 0);
INSERT INTO `product` VALUES (58, '特氟龙玻纤胶带-国产 F7018-2', '实 0.17', '', '工业品', 1, 28.00, 28.00, NULL, '', '实 0.17', NULL, NULL, 1, '宽度 1m/1.25m', '2026-06-02 19:46:42', '2026-06-05 11:43:08', 0, 0);
INSERT INTO `product` VALUES (59, '特氟龙玻纤胶带-F7020', '0.2', '', '工业品', 1, 38.00, 38.00, NULL, '', '0.2', NULL, NULL, 1, '宽度 1m/1.25m', '2026-06-02 19:46:43', '2026-06-05 11:43:08', 0, 0);
INSERT INTO `product` VALUES (60, '特氟龙玻纤胶带-F7025', '0.25 (实 0.23)', '', '工业品', 1, 40.00, 45.00, NULL, '', '0.25 (实 0.23)', 465, NULL, 1, '宽度 1m/1.25m', '2026-06-02 19:46:44', '2026-06-05 11:43:08', 0, 0);
INSERT INTO `product` VALUES (61, '特氟龙玻纤胶带-F7030', '0.30 (实 0.28)', '', '工业品', 1, 50.00, 55.00, NULL, '', '0.30 (实 0.28)', 570, NULL, 1, '宽度 1m/1.25m', '2026-06-02 19:46:44', '2026-06-05 11:43:08', 0, 0);
INSERT INTO `product` VALUES (62, '特氟龙玻纤胶带-F7040', '0.40 (实 0.38)', '', '工业品', 1, 80.00, 90.00, NULL, '', '0.40 (实 0.38)', 570, NULL, 1, '宽度 1m/1.25m', '2026-06-02 19:46:45', '2026-06-05 11:43:08', 0, 0);
INSERT INTO `product` VALUES (63, '特氟龙玻纤胶带-间隔胶带', '0.18', '', '工业品', 1, 90.00, 110.00, NULL, '', '0.18', NULL, NULL, 1, '-', '2026-06-02 19:46:46', '2026-06-05 11:43:09', 0, 0);
INSERT INTO `product` VALUES (64, '特氟龙纯膜胶带-FS7005', '0.05', '', '工业品', 1, 80.00, 130.00, NULL, '', '0.05', NULL, NULL, 1, '进口,最大宽幅 8.5cm', '2026-06-02 19:46:46', '2026-06-05 11:43:09', 0, 0);
INSERT INTO `product` VALUES (65, '特氟龙纯膜胶带-FS7006', '0.05', '', '工业品', 1, 50.00, 90.00, NULL, '', '0.05', NULL, NULL, 1, '国产', '2026-06-02 19:46:47', '2026-06-05 11:43:09', 0, 0);
INSERT INTO `product` VALUES (66, '特氟龙纯膜胶带-FS7008', '0.06', '', '工业品', 1, 55.00, 100.00, NULL, '', '0.06', NULL, NULL, 1, '国产,最大宽幅 0.06mm', '2026-06-02 19:46:48', '2026-06-05 11:43:09', 0, 0);
INSERT INTO `product` VALUES (67, '特氟龙纯膜胶带-FS7013', '0.13', '', '工业品', 1, 80.00, 55.00, NULL, '', '0.13', NULL, NULL, 1, '国产', '2026-06-02 19:46:50', '2026-06-05 11:43:09', 0, 0);
INSERT INTO `product` VALUES (68, '特氟龙纯膜胶带-FS7018', '0.18', '', '工业品', 1, 60.00, 60.00, NULL, '', '0.18', NULL, NULL, 1, '国产灰色', '2026-06-02 19:46:51', '2026-06-05 11:43:09', 0, 0);
INSERT INTO `product` VALUES (69, '特氟龙纯膜胶带-FS7025', '0.18', '', '工业品', 1, 90.00, 130.00, NULL, '', '0.18', NULL, NULL, 1, '白色膜', '2026-06-02 19:46:52', '2026-06-05 11:43:09', 0, 0);
INSERT INTO `product` VALUES (70, '高温布-9008AJ', '0.08', '', '工业品', 1, 16.00, 16.00, NULL, '', '0.08', 150, 1.2500, 1, '宽度 1m/1.25m', '2026-06-02 19:46:52', '2026-06-05 11:43:09', 0, 0);
INSERT INTO `product` VALUES (71, '高温布-9011AJ-200g', '0.11', '', '工业品', 1, 18.00, 18.00, NULL, '', '0.11', 220, 1.2500, 1, '宽度 1m/1.25m(不耗损),白 / 黑 / 咖', '2026-06-02 19:46:53', '2026-06-05 11:43:09', 0, 0);
INSERT INTO `product` VALUES (72, '高温布-9013AJ-245g', '0.13', '', '工业品', 1, 28.00, 28.00, NULL, '', '0.13', 248, 1.2500, 1, '1.5m 宽咖色不足 245g算 1.5m 损耗', '2026-06-02 19:46:54', '2026-06-05 11:43:09', 0, 0);
INSERT INTO `product` VALUES (73, '高温布-9015AJ', '0.15', '', '工业品', 1, 28.00, 28.00, NULL, '', '0.15', 305, 1.2500, 1, '宽度 1m/1.25m5cm 内不耗损,咖 / 黑', '2026-06-02 19:46:54', '2026-06-05 11:43:09', 0, 0);
INSERT INTO `product` VALUES (74, '高温布-9018AJ', '0.18', '', '工业品', 1, 28.00, 42.00, NULL, '', '0.18', 405, 1.2500, 1, '实际厚度少 2 丝', '2026-06-02 19:46:55', '2026-06-05 11:43:09', 0, 0);
INSERT INTO `product` VALUES (75, '高温布-9025AJ', '0.25', '', '工业品', 1, 34.00, 50.00, NULL, '', '0.25', 580, 1.2500, 1, '多宽度可选,不耗损', '2026-06-02 19:46:55', '2026-06-05 11:43:10', 0, 0);
INSERT INTO `product` VALUES (76, '高温布-9035AJ', '0.35', '', '工业品', 1, 42.00, 52.00, NULL, '', '0.35', 675, 1.2500, 1, '主推咖色', '2026-06-02 19:46:56', '2026-06-05 11:43:10', 0, 0);
INSERT INTO `product` VALUES (77, '高温布-9025AJ-双面麻', '0.25', '', '工业品', 1, 28.00, 30.00, NULL, '', '0.25', 400, 1.2500, 1, '实厚 0.22,强度高', '2026-06-02 19:46:57', '2026-06-05 11:43:10', 0, 0);
INSERT INTO `product` VALUES (78, '高温布-9035AJ-一光一麻', '0.35', '', '工业品', 1, 36.00, 48.00, NULL, '', '0.35', NULL, 1.2500, 1, '2.6m 以下提前确认', '2026-06-02 19:46:58', '2026-06-05 11:43:10', 0, 0);
INSERT INTO `product` VALUES (79, '高温布-9040AJ', '0.4', '', '工业品', 1, 50.00, 60.00, NULL, '', '0.4', 760, 1.2500, 1, '全宽咖色,其他颜色另算', '2026-06-02 19:46:58', '2026-06-05 11:43:10', 0, 0);
INSERT INTO `product` VALUES (80, '高温布-9055WJ', '0.55', '', '工业品', 1, 80.00, 95.00, NULL, '', '0.55', 990, 1.2500, 1, '-', '2026-06-02 19:46:59', '2026-06-05 11:43:10', 0, 0);
INSERT INTO `product` VALUES (81, '高温布-9055WJ-双面麻', '0.55', '', '工业品', 1, 70.00, 90.00, NULL, '', '0.55', NULL, 1.2500, 1, '-', '2026-06-02 19:47:00', '2026-06-05 11:43:10', 0, 0);
INSERT INTO `product` VALUES (82, '高温布-9065WJ', '0.65 (实 0.68)', '', '工业品', 1, 100.00, 115.00, NULL, '', '0.65 (实 0.68)', 1530, 1.2500, 1, '仅光滑款', '2026-06-02 19:47:01', '2026-06-05 11:43:10', 0, 0);
INSERT INTO `product` VALUES (83, '高温布-9080WJ', '0.8', '', '工业品', 1, 120.00, 130.00, NULL, '', '0.8', 1550, 1.2500, 1, '-', '2026-06-02 19:47:01', '2026-06-05 11:43:10', 0, 0);
INSERT INTO `product` VALUES (84, '高温布-9090WJ', '0.9', '', '工业品', 1, 150.00, 165.00, NULL, '', '0.9', 1612, 1.2500, 1, '-', '2026-06-02 19:47:02', '2026-06-05 11:43:10', 0, 0);
INSERT INTO `product` VALUES (85, '高温布-9090WJ-粗糙', '0.9', '', '工业品', 1, 140.00, 150.00, NULL, '', '0.9', NULL, 1.2500, 1, '粗糙面有颗粒感', '2026-06-02 19:47:03', '2026-06-05 11:43:10', 0, 0);
INSERT INTO `product` VALUES (86, '公斤布-0.11 白公布 (1.25m 宽)', '0.11 白公布 (1.25m 宽)', '公斤', '工业品', 1, 63.00, 63.00, NULL, '', '0.11mm', 170, 1.2500, 1, '每公斤 63.0 元,每㎡ 46336.0 元,每公斤 4.7m', '2026-06-02 19:47:04', '2026-06-05 11:43:11', 0, 0);
INSERT INTO `product` VALUES (87, '公斤布-0.11 白公布 (1.05m 宽)', '0.11 白公布 (1.05m 宽)', '公斤', '工业品', 1, 71.00, 71.00, NULL, '', '0.11mm', 170, 1.0500, 1, '每公斤 71.0 元,每㎡ 12.5 元,每公斤 5.9m', '2026-06-02 19:47:05', '2026-06-05 11:43:11', 0, 0);
INSERT INTO `product` VALUES (88, '公斤布-0.12 白公布 (1.25m 宽)', '0.12 白公布 (1.25m 宽)', '公斤', '工业品', 1, 52.00, 52.00, NULL, '', '0.13mm', 210, 1.2500, 1, '每公斤 52.0 元,每㎡ 10.5 元,每公斤 4.0m', '2026-06-02 19:47:06', '2026-06-05 11:43:11', 0, 0);
INSERT INTO `product` VALUES (89, '公斤布-0.12 白公布 (1.05m 宽)', '0.12 白公布 (1.05m 宽)', '公斤', '工业品', 1, 56.50, 56.50, NULL, '', '0.13mm', 210, 1.0500, 1, '每公斤 56.5 元,每㎡ 11.5 元,每公斤 5.0m', '2026-06-02 19:47:07', '2026-06-05 11:43:11', 0, 0);
INSERT INTO `product` VALUES (90, '公斤布-0.15 白公布 (1.25m 宽)', '0.15 白公布 (1.25m 宽)', '公斤', '工业品', 1, 47.00, 47.00, NULL, '', '0.15mm', 260, 1.2500, 1, '每公斤 47.0 元,每㎡ 12.4 元,每公斤 3.3m', '2026-06-02 19:47:07', '2026-06-05 11:43:11', 0, 0);
INSERT INTO `product` VALUES (91, '公斤布-0.15 白公布 (1.05m 宽)', '0.15 白公布 (1.05m 宽)', '公斤', '工业品', 1, 52.00, 52.00, NULL, '', '0.15mm', 260, 1.0500, 1, '每公斤 52.0 元,每㎡ 11.2 元,每公斤 4.2m', '2026-06-02 19:47:08', '2026-06-05 11:43:11', 0, 0);
INSERT INTO `product` VALUES (92, '公斤布-0.18 白公布 (1.25m 宽)', '0.18 白公布 (1.25m 宽)', '公斤', '工业品', 1, 41.00, 41.00, NULL, '', '0.19mm', 300, 1.2500, 1, '每公斤 41.0 元,每㎡ 12.5 元,每公斤 2.7m', '2026-06-02 19:47:08', '2026-06-05 11:43:11', 0, 0);
INSERT INTO `product` VALUES (93, '公斤布-0.18 白公布 (1.05m 宽)', '0.18 白公布 (1.05m 宽)', '公斤', '工业品', 1, 44.00, 44.00, NULL, '', '0.19mm', 300, 1.0500, 1, '每公斤 44.0 元,每㎡ 13.5 元,每公斤 3.3m', '2026-06-02 19:47:09', '2026-06-05 11:43:11', 0, 0);
INSERT INTO `product` VALUES (94, '公斤布-0.25 白公布 (1.25m 宽)', '0.25 白公布 (1.25m 宽)', '公斤', '工业品', 1, 38.00, 38.00, NULL, '', NULL, 360, 1.2500, 1, '每公斤 38.0 元,每㎡ 13.0 元,每公斤 2.2m', '2026-06-02 19:47:10', '2026-06-05 11:43:11', 0, 0);
INSERT INTO `product` VALUES (95, '公斤布-0.08 白公布 (1.25m 宽)', '0.08 白公布 (1.25m 宽)', '公斤', '工业品', 1, 110.00, 110.00, NULL, '', NULL, 140, 1.2500, 1, '每公斤 110.0 元,每㎡ 15.5 元,每公斤 5.7m', '2026-06-02 19:47:11', '2026-06-05 11:43:11', 0, 0);
INSERT INTO `product` VALUES (96, '公斤布-0.08 白公布 (1.05m 宽)', '0.08 白公布 (1.05m 宽)', '公斤', '工业品', 1, 97.00, 97.00, NULL, '', NULL, 140, 1.0500, 1, '每公斤 97.0 元,每㎡ 13.7 元,每公斤 7.1m', '2026-06-02 19:47:11', '2026-06-05 11:43:11', 0, 0);
INSERT INTO `product` VALUES (97, '输送带-9008AJ', '0.08', '', '工业品', 1, 16.00, 16.00, NULL, '', '0.08', 150, 1.2500, 1, NULL, '2026-06-02 19:47:12', '2026-06-05 11:43:11', 0, 0);
INSERT INTO `product` VALUES (98, '输送带-9011AJ-200g', '0.11', '', '工业品', 1, 18.00, 18.00, NULL, '', '0.11', 220, 1.2500, 1, NULL, '2026-06-02 19:47:13', '2026-06-05 11:43:12', 0, 0);
INSERT INTO `product` VALUES (99, '输送带-9013AJ-245g', '0.13', '', '工业品', 1, 28.00, 28.00, NULL, '', '0.13', 248, 1.2500, 1, NULL, '2026-06-02 19:47:14', '2026-06-05 11:43:12', 0, 0);
INSERT INTO `product` VALUES (100, '输送带-9015AJ', '0.15', '', '工业品', 1, 28.00, 28.00, NULL, '', '0.15', 305, 1.2500, 1, NULL, '2026-06-02 19:47:15', '2026-06-05 11:43:12', 0, 0);
INSERT INTO `product` VALUES (101, '输送带-9018AJ', '0.18', '', '工业品', 1, 28.00, 28.00, NULL, '', '0.18', 405, 1.2500, 1, NULL, '2026-06-02 19:47:16', '2026-06-05 11:43:12', 0, 0);
INSERT INTO `product` VALUES (102, '输送带-9025AJ', '0.25', '', '工业品', 1, 34.00, 34.00, NULL, '', '0.25', 580, 1.2500, 1, NULL, '2026-06-02 19:47:18', '2026-06-05 11:43:12', 0, 0);
INSERT INTO `product` VALUES (103, '输送带-9035AJ', '0.35', '', '工业品', 1, 42.00, 42.00, NULL, '', '0.35', 675, 1.2500, 1, NULL, '2026-06-02 19:47:19', '2026-06-05 11:43:12', 0, 0);
INSERT INTO `product` VALUES (104, '输送带-9025AJ-双面麻', '0.25', '', '工业品', 1, 28.00, 28.00, NULL, '', '0.25', 400, 1.2500, 1, NULL, '2026-06-02 19:47:20', '2026-06-05 11:43:12', 0, 0);
INSERT INTO `product` VALUES (105, '输送带-9035AJ-一光一麻', '0.35', '', '工业品', 1, 36.00, 36.00, NULL, '', '0.35', NULL, 1.2500, 1, NULL, '2026-06-02 19:47:21', '2026-06-05 11:43:12', 0, 0);
INSERT INTO `product` VALUES (106, '输送带-9040AJ', '0.4', '', '工业品', 1, 50.00, 50.00, NULL, '', '0.4', 760, 1.2500, 1, NULL, '2026-06-02 19:47:23', '2026-06-05 11:43:12', 0, 0);
INSERT INTO `product` VALUES (107, '输送带-9055WJ', '0.55', '', '工业品', 1, 80.00, 80.00, NULL, '', '0.55', 990, 1.2500, 1, NULL, '2026-06-02 19:47:25', '2026-06-05 11:43:12', 0, 0);
INSERT INTO `product` VALUES (108, '输送带-9055WJ-双面麻', '0.55', '', '工业品', 1, 70.00, 70.00, NULL, '', '0.55', NULL, 1.2500, 1, NULL, '2026-06-02 19:47:26', '2026-06-05 11:43:12', 0, 0);
INSERT INTO `product` VALUES (109, '输送带-9065WJ', '0.65 (实 0.68)', '', '工业品', 1, 100.00, 100.00, NULL, '', '0.65 (实 0.68)', 1530, 1.2500, 1, NULL, '2026-06-02 19:47:27', '2026-06-05 11:43:13', 0, 0);
INSERT INTO `product` VALUES (110, '输送带-9080WJ', '0.8', '', '工业品', 1, 120.00, 120.00, NULL, '', '0.8', 1550, 1.2500, 1, NULL, '2026-06-02 19:47:28', '2026-06-05 11:43:13', 0, 0);
INSERT INTO `product` VALUES (111, '输送带-9090WJ', '0.9', '', '工业品', 1, 150.00, 150.00, NULL, '', '0.9', 1612, 1.2500, 1, NULL, '2026-06-02 19:47:29', '2026-06-05 11:43:13', 0, 0);
INSERT INTO `product` VALUES (112, '输送带-9090WJ-粗糙', '0.9', '', '日用品', 2, 140.00, 15.00, NULL, '', '0.9', NULL, 1.2500, 1, '', '2026-06-02 19:47:31', '2026-06-06 10:40:21', 0, 0);
-- ----------------------------
-- Table structure for product_category
-- ----------------------------
DROP TABLE IF EXISTS `product_category`;
CREATE TABLE `product_category` (
`id` int NOT NULL AUTO_INCREMENT,
`category_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`category_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`sort_no` int NOT NULL DEFAULT 0,
`status` int NOT NULL DEFAULT 1,
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`created_at` datetime NOT NULL DEFAULT (now()),
`updated_at` datetime NOT NULL DEFAULT (now()),
`deleted` int NOT NULL DEFAULT 0,
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `ix_product_category_category_code`(`category_code` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 27 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of product_category
-- ----------------------------
INSERT INTO `product_category` VALUES (1, '工业品', 'industry', 1, 1, '默认分类', '2026-05-19 10:17:13', '2026-05-19 10:17:13', 0);
INSERT INTO `product_category` VALUES (2, '日用品', 'daily', 2, 1, '默认分类', '2026-05-19 10:17:13', '2026-05-19 10:17:13', 0);
INSERT INTO `product_category` VALUES (19, '揉面垫', 'silicone_kneading', 1, 1, NULL, '2026-06-02 19:46:30', '2026-06-05 11:43:13', 1);
INSERT INTO `product_category` VALUES (20, '硅胶烤垫', 'silicone_baking', 2, 1, NULL, '2026-06-02 19:46:30', '2026-06-05 11:43:13', 1);
INSERT INTO `product_category` VALUES (21, '日用高温布', 'daily_high_temp', 3, 1, NULL, '2026-06-02 19:46:30', '2026-06-05 11:43:13', 1);
INSERT INTO `product_category` VALUES (22, '特氟龙玻纤胶带', 'ptfe_fiberglass_tape', 4, 1, NULL, '2026-06-02 19:46:30', '2026-06-05 11:43:13', 1);
INSERT INTO `product_category` VALUES (23, '特氟龙纯膜胶带', 'ptfe_film_tape', 5, 1, NULL, '2026-06-02 19:46:30', '2026-06-05 11:43:13', 1);
INSERT INTO `product_category` VALUES (24, '高温布', 'high_temp_cloth', 6, 1, NULL, '2026-06-02 19:46:31', '2026-06-05 11:43:14', 1);
INSERT INTO `product_category` VALUES (25, '公斤布', 'kg_cloth', 7, 1, NULL, '2026-06-02 19:46:31', '2026-06-05 11:43:14', 1);
INSERT INTO `product_category` VALUES (26, '输送带', 'conveyor_belt', 8, 1, NULL, '2026-06-02 19:46:31', '2026-06-05 11:43:14', 1);
-- ----------------------------
-- Table structure for product_price_tier
-- ----------------------------
DROP TABLE IF EXISTS `product_price_tier`;
CREATE TABLE `product_price_tier` (
`id` bigint NOT NULL AUTO_INCREMENT,
`product_id` bigint NOT NULL COMMENT '产品ID',
`tier_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '层级编码special/tier1/tier2/default',
`tier_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '层级名称',
`price` decimal(18, 4) NOT NULL COMMENT '销售单价',
`price_unit` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '价格单位',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`status` tinyint NOT NULL DEFAULT 1,
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`deleted` tinyint NOT NULL DEFAULT 0,
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_product_price_tier`(`product_id` ASC, `tier_code` ASC) USING BTREE,
INDEX `idx_product_price_tier_product_id`(`product_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 71 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '产品价格层级表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of product_price_tier
-- ----------------------------
INSERT INTO `product_price_tier` VALUES (21, 55, 'special', '特批价', 25.0000, '', NULL, 1, '2026-06-02 19:46:41', '2026-06-02 19:46:41', 0);
INSERT INTO `product_price_tier` VALUES (22, 56, 'special', '特批价', 29.0000, '', NULL, 1, '2026-06-02 19:46:42', '2026-06-02 19:46:42', 0);
INSERT INTO `product_price_tier` VALUES (23, 57, 'special', '特批价', 36.0000, '', NULL, 1, '2026-06-02 19:46:42', '2026-06-02 19:46:42', 0);
INSERT INTO `product_price_tier` VALUES (24, 58, 'special', '特批价', 32.0000, '', NULL, 1, '2026-06-02 19:46:43', '2026-06-02 19:46:43', 0);
INSERT INTO `product_price_tier` VALUES (25, 59, 'special', '特批价', 40.0000, '', NULL, 1, '2026-06-02 19:46:44', '2026-06-02 19:46:44', 0);
INSERT INTO `product_price_tier` VALUES (26, 60, 'tier1', '一级经销', 45.0000, '', NULL, 1, '2026-06-02 19:46:44', '2026-06-02 19:46:44', 0);
INSERT INTO `product_price_tier` VALUES (27, 60, 'tier2', '二级经销', 50.0000, '', NULL, 1, '2026-06-02 19:46:45', '2026-06-02 19:46:45', 0);
INSERT INTO `product_price_tier` VALUES (28, 61, 'tier1', '一级经销', 55.0000, '', NULL, 1, '2026-06-02 19:46:45', '2026-06-02 19:46:45', 0);
INSERT INTO `product_price_tier` VALUES (29, 61, 'tier2', '二级经销', 60.0000, '', NULL, 1, '2026-06-02 19:46:45', '2026-06-02 19:46:45', 0);
INSERT INTO `product_price_tier` VALUES (30, 62, 'tier1', '一级经销', 90.0000, '', NULL, 1, '2026-06-02 19:46:46', '2026-06-02 19:46:46', 0);
INSERT INTO `product_price_tier` VALUES (31, 62, 'tier2', '二级经销', 100.0000, '', NULL, 1, '2026-06-02 19:46:46', '2026-06-02 19:46:46', 0);
INSERT INTO `product_price_tier` VALUES (32, 63, 'tier1', '一级经销', 110.0000, '', NULL, 1, '2026-06-02 19:46:47', '2026-06-02 19:46:47', 0);
INSERT INTO `product_price_tier` VALUES (33, 64, 'tier1', '一级经销', 130.0000, '', NULL, 1, '2026-06-02 19:46:47', '2026-06-02 19:46:47', 0);
INSERT INTO `product_price_tier` VALUES (34, 64, 'tier2', '二级经销', 150.0000, '', NULL, 1, '2026-06-02 19:46:48', '2026-06-02 19:46:48', 0);
INSERT INTO `product_price_tier` VALUES (35, 65, 'tier1', '一级经销', 90.0000, '', NULL, 1, '2026-06-02 19:46:48', '2026-06-02 19:46:48', 0);
INSERT INTO `product_price_tier` VALUES (36, 65, 'tier2', '二级经销', 100.0000, '', NULL, 1, '2026-06-02 19:46:48', '2026-06-02 19:46:48', 0);
INSERT INTO `product_price_tier` VALUES (37, 66, 'tier1', '一级经销', 100.0000, '', NULL, 1, '2026-06-02 19:46:50', '2026-06-02 19:46:50', 0);
INSERT INTO `product_price_tier` VALUES (38, 67, 'tier1', '一级经销', 55.0000, '', NULL, 1, '2026-06-02 19:46:51', '2026-06-02 19:46:51', 0);
INSERT INTO `product_price_tier` VALUES (39, 67, 'tier2', '二级经销', 70.0000, '', NULL, 1, '2026-06-02 19:46:51', '2026-06-02 19:46:51', 0);
INSERT INTO `product_price_tier` VALUES (40, 68, 'tier2', '二级经销', 70.0000, '', NULL, 1, '2026-06-02 19:46:52', '2026-06-02 19:46:52', 0);
INSERT INTO `product_price_tier` VALUES (41, 69, 'tier1', '一级经销', 130.0000, '', NULL, 1, '2026-06-02 19:46:52', '2026-06-02 19:46:52', 0);
INSERT INTO `product_price_tier` VALUES (42, 70, 'special', '特批价', 17.0000, '', NULL, 1, '2026-06-02 19:46:53', '2026-06-02 19:46:53', 0);
INSERT INTO `product_price_tier` VALUES (43, 71, 'special', '特批价', 21.0000, '', NULL, 1, '2026-06-02 19:46:54', '2026-06-02 19:46:54', 0);
INSERT INTO `product_price_tier` VALUES (44, 72, 'special', '特批价', 25.0000, '', NULL, 1, '2026-06-02 19:46:54', '2026-06-02 19:46:54', 0);
INSERT INTO `product_price_tier` VALUES (45, 73, 'special', '特批价', 30.0000, '', NULL, 1, '2026-06-02 19:46:55', '2026-06-02 19:46:55', 0);
INSERT INTO `product_price_tier` VALUES (46, 74, 'special', '特批价', 30.0000, '', NULL, 1, '2026-06-02 19:46:56', '2026-06-02 19:46:56', 0);
INSERT INTO `product_price_tier` VALUES (47, 74, 'tier1', '一级经销', 42.0000, '', NULL, 1, '2026-06-02 19:46:56', '2026-06-02 19:46:56', 0);
INSERT INTO `product_price_tier` VALUES (48, 74, 'tier2', '二级经销', 48.0000, '', NULL, 1, '2026-06-02 19:46:56', '2026-06-02 19:46:56', 0);
INSERT INTO `product_price_tier` VALUES (49, 75, 'tier1', '一级经销', 50.0000, '', NULL, 1, '2026-06-02 19:46:56', '2026-06-02 19:46:56', 0);
INSERT INTO `product_price_tier` VALUES (50, 75, 'tier2', '二级经销', 58.0000, '', NULL, 1, '2026-06-02 19:46:56', '2026-06-02 19:46:56', 0);
INSERT INTO `product_price_tier` VALUES (51, 76, 'special', '特批价', 45.0000, '', NULL, 1, '2026-06-02 19:46:57', '2026-06-02 19:46:57', 0);
INSERT INTO `product_price_tier` VALUES (52, 76, 'tier1', '一级经销', 52.0000, '', NULL, 1, '2026-06-02 19:46:57', '2026-06-02 19:46:57', 0);
INSERT INTO `product_price_tier` VALUES (53, 76, 'tier2', '二级经销', 58.0000, '', NULL, 1, '2026-06-02 19:46:57', '2026-06-02 19:46:57', 0);
INSERT INTO `product_price_tier` VALUES (54, 77, 'tier1', '一级经销', 30.0000, '', NULL, 1, '2026-06-02 19:46:58', '2026-06-02 19:46:58', 0);
INSERT INTO `product_price_tier` VALUES (55, 78, 'tier1', '一级经销', 48.0000, '', NULL, 1, '2026-06-02 19:46:58', '2026-06-02 19:46:58', 0);
INSERT INTO `product_price_tier` VALUES (56, 79, 'special', '特批价', 52.0000, '', NULL, 1, '2026-06-02 19:46:59', '2026-06-02 19:46:59', 0);
INSERT INTO `product_price_tier` VALUES (57, 79, 'tier1', '一级经销', 60.0000, '', NULL, 1, '2026-06-02 19:46:59', '2026-06-02 19:46:59', 0);
INSERT INTO `product_price_tier` VALUES (58, 79, 'tier2', '二级经销', 65.0000, '', NULL, 1, '2026-06-02 19:46:59', '2026-06-02 19:46:59', 0);
INSERT INTO `product_price_tier` VALUES (59, 80, 'tier1', '一级经销', 95.0000, '', NULL, 1, '2026-06-02 19:47:00', '2026-06-02 19:47:00', 0);
INSERT INTO `product_price_tier` VALUES (60, 80, 'tier2', '二级经销', 100.0000, '', NULL, 1, '2026-06-02 19:47:00', '2026-06-02 19:47:00', 0);
INSERT INTO `product_price_tier` VALUES (61, 81, 'tier1', '一级经销', 90.0000, '', NULL, 1, '2026-06-02 19:47:01', '2026-06-02 19:47:01', 0);
INSERT INTO `product_price_tier` VALUES (62, 81, 'tier2', '二级经销', 95.0000, '', NULL, 1, '2026-06-02 19:47:01', '2026-06-02 19:47:01', 0);
INSERT INTO `product_price_tier` VALUES (63, 82, 'tier1', '一级经销', 115.0000, '', NULL, 1, '2026-06-02 19:47:01', '2026-06-02 19:47:01', 0);
INSERT INTO `product_price_tier` VALUES (64, 82, 'tier2', '二级经销', 120.0000, '', NULL, 1, '2026-06-02 19:47:01', '2026-06-02 19:47:01', 0);
INSERT INTO `product_price_tier` VALUES (65, 83, 'tier1', '一级经销', 130.0000, '', NULL, 1, '2026-06-02 19:47:02', '2026-06-02 19:47:02', 0);
INSERT INTO `product_price_tier` VALUES (66, 83, 'tier2', '二级经销', 135.0000, '', NULL, 1, '2026-06-02 19:47:02', '2026-06-02 19:47:02', 0);
INSERT INTO `product_price_tier` VALUES (67, 84, 'tier1', '一级经销', 165.0000, '', NULL, 1, '2026-06-02 19:47:03', '2026-06-02 19:47:03', 0);
INSERT INTO `product_price_tier` VALUES (68, 84, 'tier2', '二级经销', 170.0000, '', NULL, 1, '2026-06-02 19:47:03', '2026-06-02 19:47:03', 0);
INSERT INTO `product_price_tier` VALUES (69, 85, 'tier1', '一级经销', 150.0000, '', NULL, 1, '2026-06-02 19:47:04', '2026-06-02 19:47:04', 0);
INSERT INTO `product_price_tier` VALUES (70, 85, 'tier2', '二级经销', 160.0000, '', NULL, 1, '2026-06-02 19:47:04', '2026-06-02 19:47:04', 0);
-- ----------------------------
-- Table structure for product_pricing_rule
-- ----------------------------
DROP TABLE IF EXISTS `product_pricing_rule`;
CREATE TABLE `product_pricing_rule` (
`id` bigint NOT NULL AUTO_INCREMENT,
`product_id` bigint NOT NULL COMMENT '产品ID关联 product 表)',
`product_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '产品名称冗余',
`pricing_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'area' COMMENT '显示类型area 按面积 / kg 按公斤 / unit 按件',
`base_unit_price` decimal(18, 4) NOT NULL DEFAULT 0.0000 COMMENT '基准单价(元/㎡ 或 元/kg',
`pricing_unit` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '计价单位:㎡ / kg / 张 / 米',
`pricing_inputs` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '输入字段声明JSON',
`formula_expr` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '公式表达式',
`formula_constants` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '公式常量JSON',
`surcharge_json` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '附加费配置JSON',
`formula_note` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '计算公式说明文本',
`status` tinyint NOT NULL DEFAULT 1,
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`deleted` tinyint NOT NULL DEFAULT 0,
`tax_rate` decimal(5, 2) NOT NULL DEFAULT 0.00,
`tax_inclusive` int NOT NULL DEFAULT 0,
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_product_pricing_rule_product_id`(`product_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 108 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '产品定价规则表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of product_pricing_rule
-- ----------------------------
INSERT INTO `product_pricing_rule` VALUES (33, 38, '揉面垫', 'area', 24.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '算法:长×宽×单价,单价范围 24-25 元/㎡', 1, '2026-06-02 19:46:32', '2026-06-02 19:46:32', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (34, 39, '揉面垫', 'area', 27.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '算法:长×宽×单价,单价范围 27-28 元/㎡', 1, '2026-06-02 19:46:32', '2026-06-02 19:46:32', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (35, 40, '硅胶烤垫', 'area', 39.5400, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"small_logo_qty\", \"type\": \"number\", \"default_unit\": \"\\u4e2a\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, '{\"edge_binding\": {\"name\": \"包边\", \"method\": \"per_sqm\", \"price\": 11.5}, \"large_print\": {\"name\": \"大印刷\", \"method\": \"per_sqm\", \"price\": 7.5}, \"small_logo\": {\"name\": \"小logo\", \"method\": \"per_piece\", \"price\": 2, \"input_key\": \"small_logo_qty\"}, \"snap\": {\"name\": \"钉扣\", \"method\": \"per_piece\", \"price\": 2, \"input_key\": \"snap_qty\"}}', '报价范围 包边 11-12大印刷 7-8小 logo+2每张加扣 + 2', 1, '2026-06-02 19:46:32', '2026-06-02 19:56:30', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (36, 41, '硅胶烤垫', 'area', 39.5400, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"small_logo_qty\", \"type\": \"number\", \"default_unit\": \"\\u4e2a\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, '{\"edge_binding\": {\"name\": \"包边\", \"method\": \"per_sqm\", \"price\": 11.5}, \"large_print\": {\"name\": \"大印刷\", \"method\": \"per_sqm\", \"price\": 7.5}, \"small_logo\": {\"name\": \"小logo\", \"method\": \"per_piece\", \"price\": 2, \"input_key\": \"small_logo_qty\"}, \"snap\": {\"name\": \"钉扣\", \"method\": \"per_piece\", \"price\": 2, \"input_key\": \"snap_qty\"}}', '报价范围 包边 11-12大印刷 7-8小 logo+2', 1, '2026-06-02 19:46:33', '2026-06-02 19:56:30', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (37, 42, '硅胶烤垫', 'area', 48.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, '{\"edge_binding\": {\"name\": \"包边\", \"method\": \"per_sqm\", \"price\": 11.5}, \"large_print\": {\"name\": \"大印刷\", \"method\": \"per_sqm\", \"price\": 7.5}, \"small_logo\": {\"name\": \"小logo\", \"method\": \"per_piece\", \"price\": 2, \"input_key\": \"small_logo_qty\"}, \"snap\": {\"name\": \"钉扣\", \"method\": \"per_piece\", \"price\": 2, \"input_key\": \"snap_qty\"}}', '报价范围 印刷不包边 45最低 42', 1, '2026-06-02 19:46:33', '2026-06-02 19:46:33', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (38, 43, '拼豆烫布-0.11mm 细纹 145g', 'area', 11.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '成本 9.0 元/㎡', 1, '2026-06-02 19:46:33', '2026-06-02 19:46:33', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (39, 44, '拼豆烫布-0.12mm 中纹 175g', 'area', 12.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '成本 11.5 元/㎡', 1, '2026-06-02 19:46:34', '2026-06-02 19:46:34', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (40, 45, '拼豆烫布-0.25mm 粗纹 360g', 'area', 13.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '成本 13.5 元/㎡', 1, '2026-06-02 19:46:35', '2026-06-02 19:46:35', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (41, 46, '高温布-145g', 'area', 11.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '成本 9.0 元/㎡', 1, '2026-06-02 19:46:36', '2026-06-02 19:46:36', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (42, 47, '高温布-175g', 'area', 12.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '成本 11.5 元/㎡', 1, '2026-06-02 19:46:36', '2026-06-02 19:46:36', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (43, 48, '高温布-245g', 'area', 25.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '成本 24.0 元/㎡', 1, '2026-06-02 19:46:37', '2026-06-02 19:46:37', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (44, 49, '烧烤垫-0.2mm(黑 ', 'area', 13.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '成本 13.5 元/㎡', 1, '2026-06-02 19:46:37', '2026-06-02 19:46:37', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (45, 50, '烧烤垫-0.2mm (铜)', 'area', 18.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, NULL, 1, '2026-06-02 19:46:38', '2026-06-02 19:46:38', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (46, 51, '煤气灶垫-0.12mm 黑色', 'area', 11.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '成本 9.0 元/㎡', 1, '2026-06-02 19:46:39', '2026-06-02 19:46:39', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (47, 52, '煤气灶垫-0.12mm 银色', 'area', 17.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '成本 17.0 元/㎡', 1, '2026-06-02 19:46:39', '2026-06-02 19:46:39', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (48, 53, '煤气灶垫-0.2mm 黑色', 'area', 13.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '成本 13.5 元/㎡', 1, '2026-06-02 19:46:40', '2026-06-02 19:46:40', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (49, 54, '煤气灶垫-0.2mm 银色', 'area', 20.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '成本 21.0 元/㎡', 1, '2026-06-02 19:46:41', '2026-06-02 19:46:41', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (50, 55, '特氟龙玻纤胶带-F7013', 'area', 23.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '主推深咖0.18 浅无货,仅 0.13/0.18 黑白色', 1, '2026-06-02 19:46:41', '2026-06-02 19:46:41', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (51, 56, '特氟龙玻纤胶带-F7016', 'area', 28.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '宽度 1m/1.25m', 1, '2026-06-02 19:46:42', '2026-06-02 19:46:42', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (52, 57, '特氟龙玻纤胶带-F7018-1', 'area', 32.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '宽度 1m/1.25m1.5m 宽 0.18mm 价格 60', 1, '2026-06-02 19:46:43', '2026-06-02 19:46:43', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (53, 58, '特氟龙玻纤胶带-国产 F7018-2', 'area', 28.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '宽度 1m/1.25m', 1, '2026-06-02 19:46:43', '2026-06-02 19:46:43', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (54, 59, '特氟龙玻纤胶带-F7020', 'area', 38.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '宽度 1m/1.25m', 1, '2026-06-02 19:46:44', '2026-06-02 19:46:44', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (55, 60, '特氟龙玻纤胶带-F7025', 'area', 40.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '宽度 1m/1.25m', 1, '2026-06-02 19:46:45', '2026-06-02 19:46:45', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (56, 61, '特氟龙玻纤胶带-F7030', 'area', 50.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '宽度 1m/1.25m', 1, '2026-06-02 19:46:45', '2026-06-02 19:46:45', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (57, 62, '特氟龙玻纤胶带-F7040', 'area', 80.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '宽度 1m/1.25m', 1, '2026-06-02 19:46:46', '2026-06-02 19:46:46', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (58, 63, '特氟龙玻纤胶带-间隔胶带', 'area', 90.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '-', 1, '2026-06-02 19:46:47', '2026-06-02 19:46:47', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (59, 64, '特氟龙纯膜胶带-FS7005', 'area', 80.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '等级: 进口', 1, '2026-06-02 19:46:47', '2026-06-02 19:46:47', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (60, 65, '特氟龙纯膜胶带-FS7006', 'area', 50.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '等级: 国产', 1, '2026-06-02 19:46:49', '2026-06-02 19:46:49', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (61, 66, '特氟龙纯膜胶带-FS7008', 'area', 55.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '等级: 国产', 1, '2026-06-02 19:46:50', '2026-06-02 19:46:50', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (62, 67, '特氟龙纯膜胶带-FS7013', 'area', 80.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '等级: 国产', 1, '2026-06-02 19:46:51', '2026-06-02 19:46:51', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (63, 68, '特氟龙纯膜胶带-FS7018', 'area', 60.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '等级: 国产灰色', 1, '2026-06-02 19:46:52', '2026-06-02 19:46:52', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (64, 69, '特氟龙纯膜胶带-FS7025', 'area', 90.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '等级: 白色膜', 1, '2026-06-02 19:46:53', '2026-06-02 19:46:53', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (65, 70, '高温布-9008AJ', 'area', 16.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '宽度 1m/1.25m', 1, '2026-06-02 19:46:53', '2026-06-02 19:46:53', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (66, 71, '高温布-9011AJ-200g', 'area', 18.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '宽度 1m/1.25m(不耗损),白 / 黑 / 咖', 1, '2026-06-02 19:46:54', '2026-06-02 19:46:54', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (67, 72, '高温布-9013AJ-245g', 'area', 28.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '1.5m 宽咖色不足 245g算 1.5m 损耗', 1, '2026-06-02 19:46:54', '2026-06-02 19:46:54', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (68, 73, '高温布-9015AJ', 'area', 28.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '宽度 1m/1.25m5cm 内不耗损,咖 / 黑', 1, '2026-06-02 19:46:55', '2026-06-02 19:46:55', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (69, 74, '高温布-9018AJ', 'area', 28.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '实际厚度少 2 丝', 1, '2026-06-02 19:46:56', '2026-06-02 19:46:56', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (70, 75, '高温布-9025AJ', 'area', 34.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '多宽度可选,不耗损', 1, '2026-06-02 19:46:57', '2026-06-02 19:46:57', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (71, 76, '高温布-9035AJ', 'area', 42.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '主推咖色', 1, '2026-06-02 19:46:57', '2026-06-02 19:46:57', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (72, 77, '高温布-9025AJ-双面麻', 'area', 28.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '实厚 0.22,强度高', 1, '2026-06-02 19:46:58', '2026-06-02 19:46:58', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (73, 78, '高温布-9035AJ-一光一麻', 'area', 36.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '2.6m 以下提前确认', 1, '2026-06-02 19:46:59', '2026-06-02 19:46:59', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (74, 79, '高温布-9040AJ', 'area', 50.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '全宽咖色,其他颜色另算', 1, '2026-06-02 19:46:59', '2026-06-02 19:46:59', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (75, 80, '高温布-9055WJ', 'area', 80.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '-', 1, '2026-06-02 19:47:00', '2026-06-02 19:47:00', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (76, 81, '高温布-9055WJ-双面麻', 'area', 70.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '-', 1, '2026-06-02 19:47:01', '2026-06-02 19:47:01', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (77, 82, '高温布-9065WJ', 'area', 100.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '仅光滑款', 1, '2026-06-02 19:47:02', '2026-06-02 19:47:02', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (78, 83, '高温布-9080WJ', 'area', 120.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '-', 1, '2026-06-02 19:47:02', '2026-06-02 19:47:02', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (79, 84, '高温布-9090WJ', 'area', 150.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '-', 1, '2026-06-02 19:47:03', '2026-06-02 19:47:03', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (80, 85, '高温布-9090WJ-粗糙', 'area', 140.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price', NULL, NULL, '粗糙面有颗粒感', 1, '2026-06-02 19:47:04', '2026-06-02 19:47:04', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (81, 86, '公斤布-0.11 白公布 (1.25m 宽)', 'weight', 63.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $product.weight_gsm / 1000 * $rule.base_unit_price', NULL, NULL, '每公斤 63.0 元(含税),每㎡约 46336.0 元', 1, '2026-06-02 19:47:05', '2026-06-02 19:47:05', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (82, 87, '公斤布-0.11 白公布 (1.05m 宽)', 'weight', 71.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $product.weight_gsm / 1000 * $rule.base_unit_price', NULL, NULL, '每公斤 71.0 元(含税),每㎡约 12.5 元', 1, '2026-06-02 19:47:06', '2026-06-02 19:47:06', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (83, 88, '公斤布-0.12 白公布 (1.25m 宽)', 'weight', 52.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $product.weight_gsm / 1000 * $rule.base_unit_price', NULL, NULL, '每公斤 52.0 元(含税),每㎡约 10.5 元', 1, '2026-06-02 19:47:07', '2026-06-02 19:47:07', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (84, 89, '公斤布-0.12 白公布 (1.05m 宽)', 'weight', 56.5000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $product.weight_gsm / 1000 * $rule.base_unit_price', NULL, NULL, '每公斤 56.5 元(含税),每㎡约 11.5 元', 1, '2026-06-02 19:47:07', '2026-06-02 19:47:07', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (85, 90, '公斤布-0.15 白公布 (1.25m 宽)', 'weight', 47.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $product.weight_gsm / 1000 * $rule.base_unit_price', NULL, NULL, '每公斤 47.0 元(含税),每㎡约 12.4 元', 1, '2026-06-02 19:47:08', '2026-06-02 19:47:08', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (86, 91, '公斤布-0.15 白公布 (1.05m 宽)', 'weight', 52.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $product.weight_gsm / 1000 * $rule.base_unit_price', NULL, NULL, '每公斤 52.0 元(含税),每㎡约 11.2 元', 1, '2026-06-02 19:47:09', '2026-06-02 19:47:09', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (87, 92, '公斤布-0.18 白公布 (1.25m 宽)', 'weight', 41.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $product.weight_gsm / 1000 * $rule.base_unit_price', NULL, NULL, '每公斤 41.0 元(含税),每㎡约 12.5 元', 1, '2026-06-02 19:47:09', '2026-06-02 19:47:09', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (88, 93, '公斤布-0.18 白公布 (1.05m 宽)', 'weight', 44.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $product.weight_gsm / 1000 * $rule.base_unit_price', NULL, NULL, '每公斤 44.0 元(含税),每㎡约 13.5 元', 1, '2026-06-02 19:47:10', '2026-06-02 19:47:10', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (89, 94, '公斤布-0.25 白公布 (1.25m 宽)', 'weight', 38.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $product.weight_gsm / 1000 * $rule.base_unit_price', NULL, NULL, '每公斤 38.0 元(含税),每㎡约 13.0 元', 1, '2026-06-02 19:47:11', '2026-06-02 19:47:11', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (90, 95, '公斤布-0.08 白公布 (1.25m 宽)', 'weight', 110.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $product.weight_gsm / 1000 * $rule.base_unit_price', NULL, NULL, '每公斤 110.0 元(含税),每㎡约 15.5 元', 1, '2026-06-02 19:47:11', '2026-06-02 19:47:11', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (91, 96, '公斤布-0.08 白公布 (1.05m 宽)', 'weight', 97.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $product.weight_gsm / 1000 * $rule.base_unit_price', NULL, NULL, '每公斤 97.0 元(含税),每㎡约 13.7 元', 1, '2026-06-02 19:47:12', '2026-06-02 19:47:12', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (92, 97, '输送带-9008AJ', 'area', 16.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"joint_width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"edge_length\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price + $input.length_m * $input.width_m * $const.processing_fee + $input.joint_width * $const.joint_price + $input.edge_length * $const.edge_price', '{\"processing_fee\": 2, \"joint_price\": 66, \"edge_price\": 4.5}', NULL, '薄款(≤0.18mm): 卷料+2元/㎡+接头*66+包边*4.5', 1, '2026-06-02 19:47:12', '2026-06-02 19:47:12', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (93, 98, '输送带-9011AJ-200g', 'area', 18.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"joint_width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"edge_length\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price + $input.length_m * $input.width_m * $const.processing_fee + $input.joint_width * $const.joint_price + $input.edge_length * $const.edge_price', '{\"processing_fee\": 2, \"joint_price\": 66, \"edge_price\": 4.5}', NULL, '薄款(≤0.18mm): 卷料+2元/㎡+接头*66+包边*4.5', 1, '2026-06-02 19:47:14', '2026-06-02 19:47:14', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (94, 99, '输送带-9013AJ-245g', 'area', 28.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"joint_width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"edge_length\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price + $input.length_m * $input.width_m * $const.processing_fee + $input.joint_width * $const.joint_price + $input.edge_length * $const.edge_price', '{\"processing_fee\": 2, \"joint_price\": 66, \"edge_price\": 4.5}', NULL, '薄款(≤0.18mm): 卷料+2元/㎡+接头*66+包边*4.5', 1, '2026-06-02 19:47:15', '2026-06-02 19:47:15', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (95, 100, '输送带-9015AJ', 'area', 28.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"joint_width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"edge_length\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price + $input.length_m * $input.width_m * $const.processing_fee + $input.joint_width * $const.joint_price + $input.edge_length * $const.edge_price', '{\"processing_fee\": 2, \"joint_price\": 66, \"edge_price\": 4.5}', NULL, '薄款(≤0.18mm): 卷料+2元/㎡+接头*66+包边*4.5', 1, '2026-06-02 19:47:17', '2026-06-02 19:47:17', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (96, 101, '输送带-9018AJ', 'area', 28.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"joint_width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"edge_length\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price + $input.length_m * $input.width_m * $const.processing_fee + $input.joint_width * $const.joint_price + $input.edge_length * $const.edge_price', '{\"processing_fee\": 2, \"joint_price\": 66, \"edge_price\": 4.5}', NULL, '薄款(≤0.18mm): 卷料+2元/㎡+接头*66+包边*4.5', 1, '2026-06-02 19:47:18', '2026-06-02 19:47:18', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (97, 102, '输送带-9025AJ', 'area', 34.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"joint_width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"edge_length\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price + $input.length_m * $input.width_m * $const.processing_fee + $input.joint_width * $const.joint_price + $input.edge_length * $const.edge_price', '{\"processing_fee\": 5, \"joint_price\": 66, \"edge_price\": 4.5}', NULL, '厚款(≥0.25mm): 卷料+5元/㎡+接头*66+包边*4.5', 1, '2026-06-02 19:47:19', '2026-06-02 19:47:19', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (98, 103, '输送带-9035AJ', 'area', 42.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"joint_width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"edge_length\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price + $input.length_m * $input.width_m * $const.processing_fee + $input.joint_width * $const.joint_price + $input.edge_length * $const.edge_price', '{\"processing_fee\": 5, \"joint_price\": 66, \"edge_price\": 4.5}', NULL, '厚款(≥0.25mm): 卷料+5元/㎡+接头*66+包边*4.5', 1, '2026-06-02 19:47:20', '2026-06-02 19:47:20', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (99, 104, '输送带-9025AJ-双面麻', 'area', 28.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"joint_width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"edge_length\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price + $input.length_m * $input.width_m * $const.processing_fee + $input.joint_width * $const.joint_price + $input.edge_length * $const.edge_price', '{\"processing_fee\": 5, \"joint_price\": 66, \"edge_price\": 4.5}', NULL, '厚款(≥0.25mm): 卷料+5元/㎡+接头*66+包边*4.5', 1, '2026-06-02 19:47:21', '2026-06-02 19:47:21', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (100, 105, '输送带-9035AJ-一光一麻', 'area', 36.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"joint_width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"edge_length\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price + $input.length_m * $input.width_m * $const.processing_fee + $input.joint_width * $const.joint_price + $input.edge_length * $const.edge_price', '{\"processing_fee\": 5, \"joint_price\": 66, \"edge_price\": 4.5}', NULL, '厚款(≥0.25mm): 卷料+5元/㎡+接头*66+包边*4.5', 1, '2026-06-02 19:47:23', '2026-06-02 19:47:23', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (101, 106, '输送带-9040AJ', 'area', 50.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"joint_width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"edge_length\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price + $input.length_m * $input.width_m * $const.processing_fee + $input.joint_width * $const.joint_price + $input.edge_length * $const.edge_price', '{\"processing_fee\": 5, \"joint_price\": 66, \"edge_price\": 4.5}', NULL, '厚款(≥0.25mm): 卷料+5元/㎡+接头*66+包边*4.5', 1, '2026-06-02 19:47:25', '2026-06-02 19:47:25', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (102, 107, '输送带-9055WJ', 'area', 80.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"joint_width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"edge_length\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price + $input.length_m * $input.width_m * $const.processing_fee + $input.joint_width * $const.joint_price + $input.edge_length * $const.edge_price', '{\"processing_fee\": 5, \"joint_price\": 66, \"edge_price\": 4.5}', NULL, '厚款(≥0.25mm): 卷料+5元/㎡+接头*66+包边*4.5', 1, '2026-06-02 19:47:26', '2026-06-02 19:47:26', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (103, 108, '输送带-9055WJ-双面麻', 'area', 70.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"joint_width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"edge_length\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price + $input.length_m * $input.width_m * $const.processing_fee + $input.joint_width * $const.joint_price + $input.edge_length * $const.edge_price', '{\"processing_fee\": 5, \"joint_price\": 66, \"edge_price\": 4.5}', NULL, '厚款(≥0.25mm): 卷料+5元/㎡+接头*66+包边*4.5', 1, '2026-06-02 19:47:27', '2026-06-02 19:47:27', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (104, 109, '输送带-9065WJ', 'area', 100.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"joint_width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"edge_length\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price + $input.length_m * $input.width_m * $const.processing_fee + $input.joint_width * $const.joint_price + $input.edge_length * $const.edge_price', '{\"processing_fee\": 2, \"joint_price\": 66, \"edge_price\": 4.5}', NULL, '薄款(≤0.18mm): 卷料+2元/㎡+接头*66+包边*4.5', 1, '2026-06-02 19:47:28', '2026-06-02 19:47:28', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (105, 110, '输送带-9080WJ', 'area', 120.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"joint_width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"edge_length\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price + $input.length_m * $input.width_m * $const.processing_fee + $input.joint_width * $const.joint_price + $input.edge_length * $const.edge_price', '{\"processing_fee\": 5, \"joint_price\": 66, \"edge_price\": 4.5}', NULL, '厚款(≥0.25mm): 卷料+5元/㎡+接头*66+包边*4.5', 1, '2026-06-02 19:47:29', '2026-06-02 19:47:29', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (106, 111, '输送带-9090WJ', 'area', 150.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"joint_width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"edge_length\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price + $input.length_m * $input.width_m * $const.processing_fee + $input.joint_width * $const.joint_price + $input.edge_length * $const.edge_price', '{\"processing_fee\": 5, \"joint_price\": 66, \"edge_price\": 4.5}', NULL, '厚款(≥0.25mm): 卷料+5元/㎡+接头*66+包边*4.5', 1, '2026-06-02 19:47:31', '2026-06-02 19:47:31', 0, 0.00, 0);
INSERT INTO `product_pricing_rule` VALUES (107, 112, '输送带-9090WJ-粗糙', 'area', 140.0000, '', '[{\"key\": \"length\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"joint_width\", \"type\": \"number\", \"default_unit\": \"m\"}, {\"key\": \"edge_length\", \"type\": \"number\", \"default_unit\": \"m\"}]', '$input.length_m * $input.width_m * $rule.base_unit_price + $input.length_m * $input.width_m * $const.processing_fee + $input.joint_width * $const.joint_price + $input.edge_length * $const.edge_price', '{\"processing_fee\": 5, \"joint_price\": 66, \"edge_price\": 4.5}', '', '厚款(≥0.25mm): 卷料+5元/㎡+接头*66+包边*4.5', 1, '2026-06-02 19:47:32', '2026-06-04 18:10:46', 0, 13.00, 1);
-- ----------------------------
-- Table structure for sales_order
-- ----------------------------
DROP TABLE IF EXISTS `sales_order`;
CREATE TABLE `sales_order` (
`id` int NOT NULL AUTO_INCREMENT,
`order_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`customer_id` int NULL DEFAULT NULL,
`customer_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`customer_mobile` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`customer_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`salesman_id` int NULL DEFAULT NULL,
`order_status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'draft',
`order_source` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`delivery_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`factory_id` int NULL DEFAULT NULL,
`sale_price_total` decimal(18, 2) NOT NULL DEFAULT 0.00,
`cost_price_total` decimal(18, 2) NOT NULL DEFAULT 0.00,
`rebate_total` decimal(18, 2) NOT NULL DEFAULT 0.00,
`freight_total` decimal(18, 2) NOT NULL DEFAULT 0.00,
`tax_total` decimal(18, 2) NOT NULL DEFAULT 0.00,
`other_fee_total` decimal(18, 2) NOT NULL DEFAULT 0.00,
`profit_total` decimal(18, 2) NOT NULL DEFAULT 0.00,
`profit_rate` decimal(18, 2) NOT NULL DEFAULT 0.00,
`commission_amount` decimal(18, 2) NOT NULL DEFAULT 0.00,
`cancel_requested_by` int NULL DEFAULT NULL,
`cancel_requested_at` datetime NULL DEFAULT NULL,
`cancel_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`cancel_opinion` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
`cancel_previous_status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`supplier_text_confirmed_at` datetime NULL DEFAULT NULL,
`supplier_text_confirmed_by` int NULL DEFAULT NULL,
`remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
`created_at` datetime NOT NULL DEFAULT (now()),
`updated_at` datetime NOT NULL DEFAULT (now()),
`deleted` int NOT NULL DEFAULT 0,
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `ix_sales_order_order_no`(`order_no` ASC) USING BTREE,
INDEX `ix_sales_order_order_status`(`order_status` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 23 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sales_order
-- ----------------------------
INSERT INTO `sales_order` VALUES (1, 'SO20260519103507', 1, '演示客户', '13900000000', '杭州市西湖区演示地址 1 号', 2, 'canceled', '线下拜访', '工厂直送', 1001, 100.00, 60.00, 10.00, 10.00, 3.01, 2.00, 14.99, 14.99, 50.00, NULL, NULL, '业务员取消订单', '前端业务员端发起取消', 'approved', NULL, NULL, '前后端联调演示订单', '2026-05-19 10:35:07', '2026-05-19 11:45:23', 0);
INSERT INTO `sales_order` VALUES (2, 'SO20260519144119', 1, '演示客户', '13900000000', '杭州市西湖区演示地址 1 号', 2, 'canceled', '线下拜访', '工厂直送', 1, 100.00, 60.00, 5.00, 10.00, 3.00, 2.00, 20.00, 20.00, 50.00, 2, '2026-05-19 16:06:12', '业务员取消订单', '前端业务员端发起取消', 'approved', NULL, NULL, '前后端联调演示订单', '2026-05-19 14:41:19', '2026-05-19 16:11:32', 0);
INSERT INTO `sales_order` VALUES (3, 'SO20260519184537', 1, '演示客户', '13900000000', '杭州市西湖区演示地址 1 号', 2, 'canceled', '线下拜访', '工厂直送', 1, 100.00, 10.00, 5.00, 10.00, 3.00, 2.00, 70.00, 70.00, 50.00, 2, '2026-05-19 18:53:36', '业务员取消订单', '前端业务员端发起取消', 'approved', NULL, NULL, '前后端联调演示订单', '2026-05-19 18:45:37', '2026-05-19 18:53:51', 0);
INSERT INTO `sales_order` VALUES (4, 'SO20260519185056', 1, '演示客户', '13900000000', '杭州市西湖区演示地址 1 号', 2, 'canceled', '线下拜访', '工厂直送', 1, 100.00, 10.00, 5.00, 10.00, 3.00, 2.00, 70.00, 70.00, 50.00, 2, '2026-05-19 18:53:35', '业务员取消订单', '前端业务员端发起取消', 'cancel_pending', NULL, NULL, '前后端联调演示订单', '2026-05-19 18:50:56', '2026-05-19 18:53:44', 0);
INSERT INTO `sales_order` VALUES (5, 'SO20260519185409', 1, '演示客户', '13900000000', '杭州市西湖区演示地址 1 号', 2, 'canceled', '线下拜访', '工厂直送', 1, 100.00, 10.00, 5.00, 10.00, 3.00, 2.00, 70.00, 70.00, 50.00, 2, '2026-05-22 10:24:55', '业务员取消订单', '前端业务员端发起取消', 'cancel_pending', NULL, NULL, '前后端联调演示订单', '2026-05-19 18:54:09', '2026-05-22 11:27:12', 0);
INSERT INTO `sales_order` VALUES (6, 'SO20260522102523', 1, '演示客户', '13900000000', '杭州市西湖区演示地址 1 号', 2, 'canceled', '线下拜访', '工厂直送', 1, 100.00, 60.00, 5.00, 10.00, 3.00, 2.00, 20.00, 20.00, 49.98, 2, '2026-05-22 10:26:05', '业务员取消订单', '前端业务员端发起取消', 'approved', NULL, NULL, '前后端联调演示订单', '2026-05-22 10:25:23', '2026-05-22 10:26:16', 0);
INSERT INTO `sales_order` VALUES (7, 'SO20260522110748', 1, '演示客户', '13900000000', '杭州市西湖区演示地址 1 号', 2, 'canceled', '线下拜访', '工厂直送', 1, 100.00, 60.00, 5.00, 10.00, 3.00, 2.00, 20.00, 20.00, 50.00, 2, '2026-05-22 11:08:36', '业务员取消订单', '前端业务员端发起取消', 'approved', NULL, NULL, '前后端联调演示订单', '2026-05-22 11:07:48', '2026-05-22 11:08:46', 0);
INSERT INTO `sales_order` VALUES (8, 'SO20260522113238', 1, '演示客户', '13900000000', '杭州市西湖区演示地址 1 号', 2, 'canceled', '线下拜访', '工厂直送', 1, 100.00, 60.00, 5.00, 10.00, 3.00, 2.00, 20.00, 20.00, 50.00, 2, '2026-05-22 11:33:14', '业务员取消订单', '前端业务员端发起取消', 'approved', NULL, NULL, '前后端联调演示订单', '2026-05-22 11:32:38', '2026-05-22 11:33:26', 0);
INSERT INTO `sales_order` VALUES (9, 'SO20260527160135', 1, '演示客户', '13900000000', '杭州市西湖区演示地址 1 号', 1, 'canceled', '线下拜访', '工厂直送', 1, 100.00, 60.00, 5.00, 10.00, 3.00, 2.00, 20.00, 20.00, 50.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '前后端联调演示订单', '2026-05-27 16:01:35', '2026-05-27 16:02:30', 0);
INSERT INTO `sales_order` VALUES (10, 'SO20260527163039', 1, '演示客户', '13900000000', '杭州市西湖区演示地址 1 号', 1, 'canceled', '线下拜访', '工厂直送', 1, 100.00, 60.00, 5.00, 10.00, 3.00, 2.00, 20.00, 20.00, 50.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '前后端联调演示订单', '2026-05-27 16:30:40', '2026-05-27 16:30:55', 0);
INSERT INTO `sales_order` VALUES (11, 'SO20260527163109', 1, '演示客户', '13900000000', '杭州市西湖区演示地址 1 号', 1, 'canceled', '线下拜访', '工厂直送', 1, 100.00, 60.00, 5.00, 10.00, 3.00, 2.00, 20.00, 20.00, 50.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '前后端联调演示订单', '2026-05-27 16:31:10', '2026-05-27 16:31:22', 0);
INSERT INTO `sales_order` VALUES (12, 'SO20260531134134', 2, '测试客户', '13800138000', '测试地址', 1, 'canceled', 'manual', 'self_pickup', NULL, 100.00, 50.00, 0.00, 0.00, 0.00, 0.00, 50.00, 50.00, 0.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-05-31 13:41:34', '2026-06-05 13:33:57', 0);
INSERT INTO `sales_order` VALUES (13, 'SO20260531134307', 2, '测试客户', '13800138000', '测试地址', 1, 'canceled', 'manual', 'self_pickup', NULL, 100.00, 50.00, 0.00, 0.00, 0.00, 0.00, 50.00, 50.00, 0.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-05-31 13:43:07', '2026-06-05 13:33:49', 0);
INSERT INTO `sales_order` VALUES (14, 'SO20260531135253', 3, '测试客户3', '13700137000', '测试地址', 1, 'canceled', NULL, NULL, NULL, 100.00, 50.00, 0.00, 0.00, 0.00, 0.00, 50.00, 50.00, 0.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-05-31 13:52:53', '2026-06-03 16:18:33', 0);
INSERT INTO `sales_order` VALUES (15, 'SO20260604140831', 1, '演示客户', '13900000000', '杭州市西湖区演示地址 1 号', 2, 'canceled', '线下拜访', '工厂直送', 7, 140.00, 140.00, 5.00, 10.00, 3.00, 2.00, -20.00, -14.29, 50.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '前后端联调演示订单', '2026-06-04 14:08:32', '2026-06-06 11:12:01', 0);
INSERT INTO `sales_order` VALUES (16, 'SO20260606182346', 1, '演示客户', '13900000000', '杭州市西湖区演示地址 1 号', 2, 'pending_factory', '线下拜访', '工厂直送', 7, 150.00, 140.00, 5.00, 10.00, 3.00, 2.00, -10.00, -6.67, 50.00, NULL, NULL, NULL, NULL, NULL, '2026-06-07 11:25:01', 1, '前后端联调演示订单', '2026-06-06 18:23:46', '2026-06-07 11:25:00', 0);
INSERT INTO `sales_order` VALUES (20, 'SO20260607100001', 1, 'TestCo-A', '13900001111', 'Shenzhen Nanshan Tech Park', 2, 'pending_driver', NULL, 'factory', 5, 12500.00, 9800.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-06-07 14:29:46', '2026-06-07 14:29:46', 0);
INSERT INTO `sales_order` VALUES (21, 'SO20260607100002', 1, 'TestCo-B', '13900002222', 'Nanjing Yuhuatai Software Blvd', 2, 'pending_driver', NULL, 'factory', 5, 12500.00, 9800.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-06-07 14:29:46', '2026-06-07 14:29:46', 0);
INSERT INTO `sales_order` VALUES (22, 'SO20260607100003', 1, 'TestCo-C', '13900003333', 'Jiaozuo Jiefang District', 2, 'pending_driver', NULL, 'factory', 5, 12500.00, 9800.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-06-07 14:29:46', '2026-06-07 14:29:46', 0);
-- ----------------------------
-- Table structure for sales_order_approve_log
-- ----------------------------
DROP TABLE IF EXISTS `sales_order_approve_log`;
CREATE TABLE `sales_order_approve_log` (
`id` int NOT NULL AUTO_INCREMENT,
`order_id` int NOT NULL,
`approve_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'order',
`approve_result` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`before_status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`after_status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`approve_opinion` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
`operator_id` int NULL DEFAULT NULL,
`created_at` datetime NOT NULL DEFAULT (now()),
`updated_at` datetime NOT NULL DEFAULT (now()),
`deleted` int NOT NULL DEFAULT 0,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 20 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sales_order_approve_log
-- ----------------------------
INSERT INTO `sales_order_approve_log` VALUES (1, 1, 'order', 'pass', 'pending_approve', 'approved', '通过', 1, '2026-05-19 10:41:44', '2026-05-19 10:41:44', 0);
INSERT INTO `sales_order_approve_log` VALUES (2, 1, 'cancel_order', 'pass', 'cancel_pending', 'canceled', '取消失败', 1, '2026-05-19 11:45:23', '2026-05-19 11:45:23', 0);
INSERT INTO `sales_order_approve_log` VALUES (3, 2, 'order', 'reject', 'pending_approve', 'rejected', '退回', 1, '2026-05-19 14:41:44', '2026-05-19 14:41:44', 0);
INSERT INTO `sales_order_approve_log` VALUES (4, 2, 'order', 'pass', 'pending_approve', 'approved', '通过', 1, '2026-05-19 14:42:18', '2026-05-19 14:42:18', 0);
INSERT INTO `sales_order_approve_log` VALUES (5, 2, 'cancel_order', 'pass', 'cancel_pending', 'canceled', '为什么要取消', 1, '2026-05-19 16:11:32', '2026-05-19 16:11:32', 0);
INSERT INTO `sales_order_approve_log` VALUES (6, 3, 'order', 'pass', 'pending_approve', 'approved', '同意', 1, '2026-05-19 18:46:20', '2026-05-19 18:46:20', 0);
INSERT INTO `sales_order_approve_log` VALUES (7, 4, 'order', 'pass', 'pending_approve', 'approved', '同意', 1, '2026-05-19 18:51:34', '2026-05-19 18:51:34', 0);
INSERT INTO `sales_order_approve_log` VALUES (8, 4, 'cancel_order', 'pass', 'cancel_pending', 'canceled', '同意', 1, '2026-05-19 18:53:44', '2026-05-19 18:53:44', 0);
INSERT INTO `sales_order_approve_log` VALUES (9, 3, 'cancel_order', 'pass', 'cancel_pending', 'canceled', '同意', 1, '2026-05-19 18:53:51', '2026-05-19 18:53:51', 0);
INSERT INTO `sales_order_approve_log` VALUES (10, 5, 'order', 'pass', 'pending_approve', 'approved', '同意', 1, '2026-05-19 18:54:19', '2026-05-19 18:54:19', 0);
INSERT INTO `sales_order_approve_log` VALUES (11, 6, 'order', 'pass', 'pending_approve', 'approved', '同意', 1, '2026-05-22 10:25:54', '2026-05-22 10:25:54', 0);
INSERT INTO `sales_order_approve_log` VALUES (12, 6, 'cancel_order', 'pass', 'cancel_pending', 'canceled', '同意', 1, '2026-05-22 10:26:16', '2026-05-22 10:26:16', 0);
INSERT INTO `sales_order_approve_log` VALUES (13, 7, 'order', 'pass', 'pending_approve', 'approved', '同意', 1, '2026-05-22 11:08:28', '2026-05-22 11:08:28', 0);
INSERT INTO `sales_order_approve_log` VALUES (14, 7, 'cancel_order', 'pass', 'cancel_pending', 'canceled', '同意', 1, '2026-05-22 11:08:46', '2026-05-22 11:08:46', 0);
INSERT INTO `sales_order_approve_log` VALUES (15, 5, 'cancel_order', 'pass', 'cancel_pending', 'canceled', '同意', 1, '2026-05-22 11:27:12', '2026-05-22 11:27:12', 0);
INSERT INTO `sales_order_approve_log` VALUES (16, 8, 'order', 'pass', 'pending_approve', 'approved', 'dfa ', 1, '2026-05-22 11:33:08', '2026-05-22 11:33:08', 0);
INSERT INTO `sales_order_approve_log` VALUES (17, 8, 'cancel_order', 'pass', 'cancel_pending', 'canceled', 'tt', 1, '2026-05-22 11:33:26', '2026-05-22 11:33:26', 0);
INSERT INTO `sales_order_approve_log` VALUES (18, 15, 'order', 'reject', 'pending_approve', 'rejected', '退回', 1, '2026-06-04 14:12:54', '2026-06-04 14:12:54', 0);
INSERT INTO `sales_order_approve_log` VALUES (19, 16, 'order', 'pass', 'pending_approve', 'approved', '同意', 1, '2026-06-07 00:11:01', '2026-06-07 00:11:01', 0);
-- ----------------------------
-- Table structure for sales_order_item
-- ----------------------------
DROP TABLE IF EXISTS `sales_order_item`;
CREATE TABLE `sales_order_item` (
`id` int NOT NULL AUTO_INCREMENT,
`order_id` int NOT NULL,
`product_id` int NULL DEFAULT NULL,
`product_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`specification` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '',
`unit` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '',
`quantity` decimal(18, 4) NOT NULL DEFAULT 0.0000,
`sale_price` decimal(18, 2) NOT NULL DEFAULT 0.00,
`cost_price` decimal(18, 2) NOT NULL DEFAULT 0.00,
`rebate_amount` decimal(18, 2) NOT NULL DEFAULT 0.00,
`freight_amount` decimal(18, 2) NOT NULL DEFAULT 0.00,
`tax_amount` decimal(18, 2) NOT NULL DEFAULT 0.00,
`other_fee_amount` decimal(18, 2) NOT NULL DEFAULT 0.00,
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`created_at` datetime NOT NULL DEFAULT (now()),
`updated_at` datetime NOT NULL DEFAULT (now()),
`deleted` int NOT NULL DEFAULT 0,
`pricing_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '计价类型快照',
`length_m` decimal(10, 4) NULL DEFAULT NULL COMMENT '长度(米)',
`width_m` decimal(10, 4) NULL DEFAULT NULL COMMENT '宽度(米)',
`area_sqm` decimal(18, 4) NULL DEFAULT NULL COMMENT '面积(㎡)',
`surcharge_detail` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '附加费明细JSON',
`processing_detail` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '加工费明细JSON',
`supplier_id` bigint NULL DEFAULT NULL COMMENT '供应商ID',
`supplier_model` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '供应商型号',
`price_tier` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '价格层级快照',
PRIMARY KEY (`id`) USING BTREE,
INDEX `ix_sales_order_item_order_id`(`order_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 17 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sales_order_item
-- ----------------------------
INSERT INTO `sales_order_item` VALUES (1, 1, NULL, '演示产品A', '10kg', '', 1.0000, 100.00, 60.00, 5.00, 10.00, 3.00, 2.00, '演示明细', '2026-05-19 10:35:07', '2026-05-19 10:35:07', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sales_order_item` VALUES (2, 2, NULL, '演示产品A', '10kg', '', 1.0000, 100.00, 60.00, 5.00, 10.00, 3.00, 2.00, '演示明细', '2026-05-19 14:41:19', '2026-05-19 14:41:19', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sales_order_item` VALUES (3, 3, 1, '毛巾', '10*10', '', 1.0000, 100.00, 10.00, 5.00, 10.00, 3.00, 2.00, '演示明细', '2026-05-19 18:45:37', '2026-05-19 18:45:37', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sales_order_item` VALUES (4, 4, 1, '毛巾', '10*10', '', 1.0000, 100.00, 10.00, 5.00, 10.00, 3.00, 2.00, '演示明细', '2026-05-19 18:50:56', '2026-05-19 18:50:56', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sales_order_item` VALUES (5, 5, 1, '毛巾', '10*10', '', 1.0000, 100.00, 10.00, 5.00, 10.00, 3.00, 2.00, '演示明细', '2026-05-19 18:54:09', '2026-05-19 18:54:09', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sales_order_item` VALUES (6, 6, NULL, '演示产品A', '10kg', '', 1.0000, 100.00, 60.00, 5.00, 10.00, 3.00, 2.00, '演示明细', '2026-05-22 10:25:23', '2026-05-22 10:25:23', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sales_order_item` VALUES (7, 7, NULL, '演示产品A', '10kg', '', 1.0000, 100.00, 60.00, 5.00, 10.00, 3.00, 2.00, '演示明细', '2026-05-22 11:07:48', '2026-05-22 11:07:48', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sales_order_item` VALUES (8, 8, NULL, '演示产品A', '10kg', '', 1.0000, 100.00, 60.00, 5.00, 10.00, 3.00, 2.00, '演示明细', '2026-05-22 11:32:38', '2026-05-22 11:32:38', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sales_order_item` VALUES (9, 9, NULL, '演示产品A', '10kg', '', 1.0000, 100.00, 60.00, 5.00, 10.00, 3.00, 2.00, '演示明细', '2026-05-27 16:01:35', '2026-05-27 16:01:35', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sales_order_item` VALUES (10, 10, NULL, '演示产品A', '10kg', '', 1.0000, 100.00, 60.00, 5.00, 10.00, 3.00, 2.00, '演示明细', '2026-05-27 16:30:40', '2026-05-27 16:30:40', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sales_order_item` VALUES (11, 11, NULL, '演示产品A', '10kg', '', 1.0000, 100.00, 60.00, 5.00, 10.00, 3.00, 2.00, '演示明细', '2026-05-27 16:31:10', '2026-05-27 16:31:10', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sales_order_item` VALUES (12, 12, NULL, '测试产品', '1m*1m', '', 1.0000, 100.00, 50.00, 0.00, 0.00, 0.00, 0.00, NULL, '2026-05-31 13:41:35', '2026-05-31 13:41:35', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sales_order_item` VALUES (13, 13, 1, '测试产品', '1m*1m', '', 1.0000, 100.00, 50.00, 0.00, 0.00, 0.00, 0.00, NULL, '2026-05-31 13:43:07', '2026-05-31 13:43:07', 0, 'area', 1.0000, 1.0000, 1.0000, '[{\"name\":\"test\",\"amount\":10}]', NULL, 1, 'Model-A', 'default');
INSERT INTO `sales_order_item` VALUES (14, 14, NULL, '测试产品', '1m*1m', '', 1.0000, 100.00, 50.00, 0.00, 0.00, 0.00, 0.00, NULL, '2026-05-31 13:52:53', '2026-05-31 13:52:53', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sales_order_item` VALUES (15, 15, 112, '输送带-9090WJ-粗糙', '0.9', '', 1.0000, 140.00, 140.00, 5.00, 10.00, 3.00, 2.00, '演示明细', '2026-06-04 14:08:32', '2026-06-04 14:08:32', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sales_order_item` VALUES (16, 16, 112, '输送带-9090WJ-粗糙', '0.9', '', 1.0000, 150.00, 140.00, 5.00, 10.00, 3.00, 2.00, '演示明细', '2026-06-06 18:23:47', '2026-06-06 18:23:47', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
-- ----------------------------
-- Table structure for supplier
-- ----------------------------
DROP TABLE IF EXISTS `supplier`;
CREATE TABLE `supplier` (
`id` int NOT NULL AUTO_INCREMENT,
`supplier_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`supplier_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'factory',
`contact_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`contact_mobile` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`template_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`status` int NOT NULL DEFAULT 1,
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`created_at` datetime NOT NULL DEFAULT (now()),
`updated_at` datetime NOT NULL DEFAULT (now()),
`deleted` int NOT NULL DEFAULT 0,
PRIMARY KEY (`id`) USING BTREE,
INDEX `ix_supplier_supplier_name`(`supplier_name` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of supplier
-- ----------------------------
INSERT INTO `supplier` VALUES (1, '泰达', 'factory', '', '', '', 'default', 1, '', '2026-05-19 11:38:55', '2026-05-19 11:38:55', 0);
INSERT INTO `supplier` VALUES (4, 'WW', 'factory', NULL, NULL, NULL, NULL, 1, NULL, '2026-06-02 19:46:33', '2026-06-02 19:46:33', 0);
INSERT INTO `supplier` VALUES (5, '中邦', 'factory', NULL, NULL, NULL, NULL, 1, NULL, '2026-06-02 19:46:47', '2026-06-02 19:46:47', 0);
INSERT INTO `supplier` VALUES (6, 'YX', 'factory', NULL, NULL, NULL, NULL, 1, NULL, '2026-06-02 19:47:12', '2026-06-02 19:47:12', 0);
INSERT INTO `supplier` VALUES (7, 'AK', 'factory', NULL, NULL, NULL, NULL, 1, NULL, '2026-06-02 19:47:13', '2026-06-02 19:47:13', 0);
-- ----------------------------
-- Table structure for supplier_product_cost
-- ----------------------------
DROP TABLE IF EXISTS `supplier_product_cost`;
CREATE TABLE `supplier_product_cost` (
`id` bigint NOT NULL AUTO_INCREMENT,
`product_id` bigint NOT NULL COMMENT '产品ID',
`supplier_id` bigint NOT NULL COMMENT '供应商ID',
`supplier_model` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '供应商型号',
`our_model` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '我司型号',
`thickness` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '厚度(mm)',
`weight_gsm` int NULL DEFAULT NULL COMMENT '克重(g/㎡)',
`base_fabric_weight` int NULL DEFAULT NULL COMMENT '基布克重',
`cost_price` decimal(18, 4) NOT NULL COMMENT '采购单价',
`cost_unit` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '成本单位',
`is_primary` tinyint NOT NULL DEFAULT 0 COMMENT '是否默认供应商',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`status` tinyint NOT NULL DEFAULT 1,
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`deleted` tinyint NOT NULL DEFAULT 0,
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_supplier_product_cost_product_id`(`product_id` ASC) USING BTREE,
INDEX `idx_supplier_product_cost_supplier_id`(`supplier_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 95 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '供应商产品成本表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of supplier_product_cost
-- ----------------------------
INSERT INTO `supplier_product_cost` VALUES (18, 43, 4, '9011WJ-145g', '9011WJ-145g', '0.11mm 细纹 145g', NULL, NULL, 9.0000, '', 0, NULL, 1, '2026-06-02 19:46:34', '2026-06-02 19:46:34', 0);
INSERT INTO `supplier_product_cost` VALUES (19, 44, 4, '9012WJ-175g', '9012WJ-175g', '0.12mm 中纹 175g', NULL, NULL, 11.5000, '', 0, NULL, 1, '2026-06-02 19:46:34', '2026-06-02 19:46:34', 0);
INSERT INTO `supplier_product_cost` VALUES (20, 45, 4, '9025WJ-360g', '9025WJ-360g', '0.25mm 粗纹 360g', NULL, NULL, 13.5000, '', 0, NULL, 1, '2026-06-02 19:46:35', '2026-06-02 19:46:35', 0);
INSERT INTO `supplier_product_cost` VALUES (21, 46, 4, '9011AJ-145g', '9011AJ-145g', '145g', NULL, NULL, 9.0000, '', 0, NULL, 1, '2026-06-02 19:46:36', '2026-06-02 19:46:36', 0);
INSERT INTO `supplier_product_cost` VALUES (22, 47, 4, '9012AJ-175g', '9012AJ-175g', '175g', NULL, NULL, 11.5000, '', 0, NULL, 1, '2026-06-02 19:46:36', '2026-06-02 19:46:36', 0);
INSERT INTO `supplier_product_cost` VALUES (23, 48, 4, '9013AJ-245g', '9013AJ-245g', '245g', NULL, NULL, 24.0000, '', 0, NULL, 1, '2026-06-02 19:46:37', '2026-06-02 19:46:37', 0);
INSERT INTO `supplier_product_cost` VALUES (24, 49, 4, '9018BJ-300g', '9020BJ-300g', '0.2mm(黑 ', NULL, NULL, 13.5000, '', 0, NULL, 1, '2026-06-02 19:46:37', '2026-06-02 19:46:37', 0);
INSERT INTO `supplier_product_cost` VALUES (25, 50, 4, '9020CJ-300g', '9020CJ-300g', '0.2mm (铜)', NULL, NULL, 18.0000, '', 0, NULL, 1, '2026-06-02 19:46:38', '2026-06-02 19:46:38', 0);
INSERT INTO `supplier_product_cost` VALUES (26, 51, 4, '9011BJ-145g', '9011BJ-145g', '0.12mm 黑色', NULL, NULL, 9.0000, '', 0, NULL, 1, '2026-06-02 19:46:39', '2026-06-02 19:46:39', 0);
INSERT INTO `supplier_product_cost` VALUES (27, 52, 4, '9011SJ-145g', '9011SJ-145g', '0.12mm 银色', NULL, NULL, 17.0000, '', 0, NULL, 1, '2026-06-02 19:46:39', '2026-06-02 19:46:39', 0);
INSERT INTO `supplier_product_cost` VALUES (28, 53, 4, '9020BJ-300g', '9020BJ-300g', '0.2mm 黑色', NULL, NULL, 13.5000, '', 0, NULL, 1, '2026-06-02 19:46:40', '2026-06-02 19:46:40', 0);
INSERT INTO `supplier_product_cost` VALUES (29, 54, 4, '9020CJ-300g', '9020CJ-300g', '0.2mm 银色', NULL, NULL, 21.0000, '', 0, NULL, 1, '2026-06-02 19:46:41', '2026-06-02 19:46:41', 0);
INSERT INTO `supplier_product_cost` VALUES (30, 64, 5, 'FS7005', 'FS7005', '0.05', NULL, NULL, 80.0000, '', 0, NULL, 1, '2026-06-02 19:46:48', '2026-06-02 19:46:48', 0);
INSERT INTO `supplier_product_cost` VALUES (31, 65, 5, 'FS7008', 'FS7006', '0.05', NULL, NULL, 50.0000, '', 0, NULL, 1, '2026-06-02 19:46:49', '2026-06-02 19:46:49', 0);
INSERT INTO `supplier_product_cost` VALUES (32, 66, 5, 'FS7013', 'FS7008', '0.06', NULL, NULL, 55.0000, '', 0, NULL, 1, '2026-06-02 19:46:50', '2026-06-02 19:46:50', 0);
INSERT INTO `supplier_product_cost` VALUES (33, 67, 5, 'FSW7013', 'FS7013', '0.13', NULL, NULL, 80.0000, '', 0, NULL, 1, '2026-06-02 19:46:51', '2026-06-02 19:46:51', 0);
INSERT INTO `supplier_product_cost` VALUES (34, 68, 5, 'FS7018', 'FS7018', '0.18', NULL, NULL, 60.0000, '', 0, NULL, 1, '2026-06-02 19:46:52', '2026-06-02 19:46:52', 0);
INSERT INTO `supplier_product_cost` VALUES (35, 69, 5, 'FSW7018', 'FS7025', '0.18', NULL, NULL, 90.0000, '', 0, NULL, 1, '2026-06-02 19:46:53', '2026-06-02 19:46:53', 0);
INSERT INTO `supplier_product_cost` VALUES (36, 86, 5, NULL, '0.11 白公布 (1.25m 宽)', '0.11mm', 170, NULL, 63.0000, '公斤', 0, NULL, 1, '2026-06-02 19:47:05', '2026-06-02 19:47:05', 0);
INSERT INTO `supplier_product_cost` VALUES (37, 87, 5, NULL, '0.11 白公布 (1.05m 宽)', '0.11mm', 170, NULL, 71.0000, '公斤', 0, NULL, 1, '2026-06-02 19:47:06', '2026-06-02 19:47:06', 0);
INSERT INTO `supplier_product_cost` VALUES (38, 88, 5, NULL, '0.12 白公布 (1.25m 宽)', '0.13mm', 210, NULL, 52.0000, '公斤', 0, NULL, 1, '2026-06-02 19:47:07', '2026-06-02 19:47:07', 0);
INSERT INTO `supplier_product_cost` VALUES (39, 89, 5, NULL, '0.12 白公布 (1.05m 宽)', '0.13mm', 210, NULL, 56.5000, '公斤', 0, NULL, 1, '2026-06-02 19:47:07', '2026-06-02 19:47:07', 0);
INSERT INTO `supplier_product_cost` VALUES (40, 90, 5, NULL, '0.15 白公布 (1.25m 宽)', '0.15mm', 260, NULL, 47.0000, '公斤', 0, NULL, 1, '2026-06-02 19:47:08', '2026-06-02 19:47:08', 0);
INSERT INTO `supplier_product_cost` VALUES (41, 91, 5, NULL, '0.15 白公布 (1.05m 宽)', '0.15mm', 260, NULL, 52.0000, '公斤', 0, NULL, 1, '2026-06-02 19:47:09', '2026-06-02 19:47:09', 0);
INSERT INTO `supplier_product_cost` VALUES (42, 92, 5, NULL, '0.18 白公布 (1.25m 宽)', '0.19mm', 300, NULL, 41.0000, '公斤', 0, NULL, 1, '2026-06-02 19:47:09', '2026-06-02 19:47:09', 0);
INSERT INTO `supplier_product_cost` VALUES (43, 93, 5, NULL, '0.18 白公布 (1.05m 宽)', '0.19mm', 300, NULL, 44.0000, '公斤', 0, NULL, 1, '2026-06-02 19:47:10', '2026-06-02 19:47:10', 0);
INSERT INTO `supplier_product_cost` VALUES (44, 94, 5, NULL, '0.25 白公布 (1.25m 宽)', '-', 360, NULL, 40.0000, '公斤', 0, NULL, 1, '2026-06-02 19:47:11', '2026-06-02 19:47:11', 0);
INSERT INTO `supplier_product_cost` VALUES (45, 95, 5, NULL, '0.08 白公布 (1.25m 宽)', '-', 140, NULL, 110.0000, '公斤', 0, NULL, 1, '2026-06-02 19:47:11', '2026-06-02 19:47:11', 0);
INSERT INTO `supplier_product_cost` VALUES (46, 96, 5, NULL, '0.08 白公布 (1.05m 宽)', '-', 140, NULL, 97.0000, '公斤', 0, NULL, 1, '2026-06-02 19:47:12', '2026-06-02 19:47:12', 0);
INSERT INTO `supplier_product_cost` VALUES (47, 97, 6, NULL, '9008AJ', '0.08', 150, 48, 16.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:13', '2026-06-02 19:47:13', 0);
INSERT INTO `supplier_product_cost` VALUES (48, 97, 7, NULL, '9008AJ', '0.08', 150, 48, 16.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:13', '2026-06-02 19:47:13', 0);
INSERT INTO `supplier_product_cost` VALUES (49, 97, 5, NULL, '9008AJ', '0.08', 150, 48, 16.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:13', '2026-06-02 19:47:13', 0);
INSERT INTO `supplier_product_cost` VALUES (50, 98, 6, NULL, '9011AJ-200g', '0.11', 220, 105, 18.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:14', '2026-06-02 19:47:14', 0);
INSERT INTO `supplier_product_cost` VALUES (51, 98, 7, NULL, '9011AJ-200g', '0.11', 220, 105, 18.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:14', '2026-06-02 19:47:14', 0);
INSERT INTO `supplier_product_cost` VALUES (52, 98, 5, NULL, '9011AJ-200g', '0.11', 220, 105, 18.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:14', '2026-06-02 19:47:14', 0);
INSERT INTO `supplier_product_cost` VALUES (53, 99, 6, NULL, '9013AJ-245g', '0.13', 248, 105, 28.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:15', '2026-06-02 19:47:15', 0);
INSERT INTO `supplier_product_cost` VALUES (54, 99, 7, NULL, '9013AJ-245g', '0.13', 248, 105, 28.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:16', '2026-06-02 19:47:16', 0);
INSERT INTO `supplier_product_cost` VALUES (55, 99, 5, NULL, '9013AJ-245g', '0.13', 248, 105, 28.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:16', '2026-06-02 19:47:16', 0);
INSERT INTO `supplier_product_cost` VALUES (56, 100, 6, NULL, '9015AJ', '0.15', 305, 105, 28.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:17', '2026-06-02 19:47:17', 0);
INSERT INTO `supplier_product_cost` VALUES (57, 100, 7, NULL, '9015AJ', '0.15', 305, 105, 28.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:17', '2026-06-02 19:47:17', 0);
INSERT INTO `supplier_product_cost` VALUES (58, 100, 5, NULL, '9015AJ', '0.15', 305, 105, 28.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:17', '2026-06-02 19:47:17', 0);
INSERT INTO `supplier_product_cost` VALUES (59, 101, 6, NULL, '9018AJ', '0.18', 405, 166, 28.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:18', '2026-06-02 19:47:18', 0);
INSERT INTO `supplier_product_cost` VALUES (60, 101, 7, NULL, '9018AJ', '0.18', 405, 166, 28.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:18', '2026-06-02 19:47:18', 0);
INSERT INTO `supplier_product_cost` VALUES (61, 101, 5, NULL, '9018AJ', '0.18', 405, 166, 28.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:18', '2026-06-02 19:47:18', 0);
INSERT INTO `supplier_product_cost` VALUES (62, 102, 6, NULL, '9025AJ', '0.25', 580, NULL, 34.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:19', '2026-06-02 19:47:19', 0);
INSERT INTO `supplier_product_cost` VALUES (63, 102, 7, NULL, '9025AJ', '0.25', 580, NULL, 34.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:19', '2026-06-02 19:47:19', 0);
INSERT INTO `supplier_product_cost` VALUES (64, 102, 5, NULL, '9025AJ', '0.25', 580, NULL, 34.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:19', '2026-06-02 19:47:19', 0);
INSERT INTO `supplier_product_cost` VALUES (65, 103, 6, NULL, '9035AJ', '0.35', 675, 253, 42.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:20', '2026-06-02 19:47:20', 0);
INSERT INTO `supplier_product_cost` VALUES (66, 103, 7, NULL, '9035AJ', '0.35', 675, 253, 42.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:20', '2026-06-02 19:47:20', 0);
INSERT INTO `supplier_product_cost` VALUES (67, 103, 5, NULL, '9035AJ', '0.35', 675, 253, 42.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:20', '2026-06-02 19:47:20', 0);
INSERT INTO `supplier_product_cost` VALUES (68, 104, 6, NULL, '9025AJ-双面麻', '0.25', 400, NULL, 28.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:21', '2026-06-02 19:47:21', 0);
INSERT INTO `supplier_product_cost` VALUES (69, 104, 7, NULL, '9025AJ-双面麻', '0.25', 400, NULL, 28.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:21', '2026-06-02 19:47:21', 0);
INSERT INTO `supplier_product_cost` VALUES (70, 104, 5, NULL, '9025AJ-双面麻', '0.25', 400, NULL, 28.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:22', '2026-06-02 19:47:22', 0);
INSERT INTO `supplier_product_cost` VALUES (71, 105, 6, NULL, '9035AJ-一光一麻', '0.35', NULL, NULL, 36.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:24', '2026-06-02 19:47:24', 0);
INSERT INTO `supplier_product_cost` VALUES (72, 105, 7, NULL, '9035AJ-一光一麻', '0.35', NULL, NULL, 36.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:24', '2026-06-02 19:47:24', 0);
INSERT INTO `supplier_product_cost` VALUES (73, 105, 5, NULL, '9035AJ-一光一麻', '0.35', NULL, NULL, 36.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:24', '2026-06-02 19:47:24', 0);
INSERT INTO `supplier_product_cost` VALUES (74, 106, 6, NULL, '9040AJ', '0.4', 760, 380, 50.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:25', '2026-06-02 19:47:25', 0);
INSERT INTO `supplier_product_cost` VALUES (75, 106, 7, NULL, '9040AJ', '0.4', 760, 380, 50.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:25', '2026-06-02 19:47:25', 0);
INSERT INTO `supplier_product_cost` VALUES (76, 106, 5, NULL, '9040AJ', '0.4', 760, 380, 50.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:25', '2026-06-02 19:47:25', 0);
INSERT INTO `supplier_product_cost` VALUES (77, 107, 6, NULL, '9055WJ', '0.55', 990, 538, 80.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:26', '2026-06-02 19:47:26', 0);
INSERT INTO `supplier_product_cost` VALUES (78, 107, 7, NULL, '9055WJ', '0.55', 990, 538, 80.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:26', '2026-06-02 19:47:26', 0);
INSERT INTO `supplier_product_cost` VALUES (79, 107, 5, NULL, '9055WJ', '0.55', 990, 538, 80.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:26', '2026-06-02 19:47:26', 0);
INSERT INTO `supplier_product_cost` VALUES (80, 108, 6, NULL, '9055WJ-双面麻', '0.55', NULL, NULL, 70.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:27', '2026-06-02 19:47:27', 0);
INSERT INTO `supplier_product_cost` VALUES (81, 108, 7, NULL, '9055WJ-双面麻', '0.55', NULL, NULL, 70.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:27', '2026-06-02 19:47:27', 0);
INSERT INTO `supplier_product_cost` VALUES (82, 108, 5, NULL, '9055WJ-双面麻', '0.55', NULL, NULL, 70.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:27', '2026-06-02 19:47:27', 0);
INSERT INTO `supplier_product_cost` VALUES (83, 109, 6, NULL, '9065WJ', '0.65 (实 0.68)', 1530, 720, 100.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:28', '2026-06-02 19:47:28', 0);
INSERT INTO `supplier_product_cost` VALUES (84, 109, 7, NULL, '9065WJ', '0.65 (实 0.68)', 1530, 720, 100.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:28', '2026-06-02 19:47:28', 0);
INSERT INTO `supplier_product_cost` VALUES (85, 109, 5, NULL, '9065WJ', '0.65 (实 0.68)', 1530, 720, 100.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:28', '2026-06-02 19:47:28', 0);
INSERT INTO `supplier_product_cost` VALUES (86, 110, 6, NULL, '9080WJ', '0.8', 1550, 720, 120.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:30', '2026-06-02 19:47:30', 0);
INSERT INTO `supplier_product_cost` VALUES (87, 110, 7, NULL, '9080WJ', '0.8', 1550, 720, 120.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:30', '2026-06-02 19:47:30', 0);
INSERT INTO `supplier_product_cost` VALUES (88, 110, 5, NULL, '9080WJ', '0.8', 1550, 720, 120.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:30', '2026-06-02 19:47:30', 0);
INSERT INTO `supplier_product_cost` VALUES (89, 111, 6, NULL, '9090WJ', '0.9', 1612, 770, 150.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:31', '2026-06-02 19:47:31', 0);
INSERT INTO `supplier_product_cost` VALUES (90, 111, 7, NULL, '9090WJ', '0.9', 1612, 770, 150.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:31', '2026-06-02 19:47:31', 0);
INSERT INTO `supplier_product_cost` VALUES (91, 111, 5, NULL, '9090WJ', '0.9', 1612, 770, 150.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:31', '2026-06-02 19:47:31', 0);
INSERT INTO `supplier_product_cost` VALUES (92, 112, 6, NULL, '9090WJ-粗糙', '0.9', NULL, 105, 140.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:32', '2026-06-02 19:47:32', 0);
INSERT INTO `supplier_product_cost` VALUES (93, 112, 7, NULL, '9090WJ-粗糙', '0.9', NULL, 105, 140.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:32', '2026-06-02 19:47:32', 0);
INSERT INTO `supplier_product_cost` VALUES (94, 112, 5, NULL, '9090WJ-粗糙', '0.9', NULL, 105, 140.0000, '', 0, '输送带卷料,成本同高温布', 1, '2026-06-02 19:47:32', '2026-06-02 19:47:32', 0);
-- ----------------------------
-- Table structure for sys_menu
-- ----------------------------
DROP TABLE IF EXISTS `sys_menu`;
CREATE TABLE `sys_menu` (
`id` int NOT NULL AUTO_INCREMENT,
`parent_id` int NOT NULL DEFAULT 0,
`menu_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`menu_path` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '',
`menu_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'page',
`permission_code` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`icon` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`sort_no` int NOT NULL DEFAULT 0,
`status` int NOT NULL DEFAULT 1,
`created_at` datetime NOT NULL DEFAULT (now()),
`updated_at` datetime NOT NULL DEFAULT (now()),
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `ix_sys_menu_permission_code`(`permission_code` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 42 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_menu
-- ----------------------------
INSERT INTO `sys_menu` VALUES (1, 0, '后台首页', '/dashboard', 'page', 'dashboard:view', 'dashboard', 1, 1, '2026-05-19 10:17:12', '2026-05-19 10:17:12');
INSERT INTO `sys_menu` VALUES (2, 0, '审批中心', '/approvals', 'page', 'order:approve', 'approval', 2, 1, '2026-05-19 10:17:12', '2026-05-19 10:17:12');
INSERT INTO `sys_menu` VALUES (3, 0, '系统管理', '/system', 'page', 'system:view', 'system', 3, 1, '2026-05-19 10:17:12', '2026-05-19 10:17:12');
INSERT INTO `sys_menu` VALUES (4, 0, '基础资料', '/master-data', 'page', 'customer:list', 'master-data', 4, 1, '2026-05-19 10:17:12', '2026-05-19 10:17:12');
INSERT INTO `sys_menu` VALUES (5, 0, '业务模块', '/business', 'page', 'logistics:task:create', 'business', 5, 1, '2026-05-19 10:17:12', '2026-05-19 10:17:12');
INSERT INTO `sys_menu` VALUES (6, 0, '我的订单', '/orders', 'page', 'order:list', 'orders', 6, 1, '2026-05-19 10:17:12', '2026-05-19 10:17:12');
INSERT INTO `sys_menu` VALUES (7, 0, '新建订单', '/orders/create', 'page', 'order:create', 'order-create', 7, 1, '2026-05-19 10:17:12', '2026-05-19 10:17:12');
INSERT INTO `sys_menu` VALUES (8, 0, '提醒中心', '/reminders', 'page', 'reminder:list', 'reminder', 8, 1, '2026-05-19 10:17:12', '2026-05-19 10:17:12');
INSERT INTO `sys_menu` VALUES (9, 0, '管理层审批列表', '/pages/approve-list', 'page', 'manager:approve:list', 'approve-list', 9, 1, '2026-05-19 10:17:12', '2026-05-19 10:17:12');
INSERT INTO `sys_menu` VALUES (10, 0, '管理层工作台', '/pages/dashboard', 'page', 'manager:dashboard:view', 'manager-dashboard', 10, 1, '2026-05-19 10:17:12', '2026-05-19 10:17:12');
INSERT INTO `sys_menu` VALUES (11, 0, '管理层发厂文案', '/pages/supplier-text', 'page', 'order:supplier-text', 'supplier-text', 11, 1, '2026-05-19 10:17:12', '2026-05-19 10:17:12');
INSERT INTO `sys_menu` VALUES (12, 0, '管理层任务分配', '/pages/task-create', 'page', 'manager:task:create', 'task-create', 12, 1, '2026-05-19 10:17:12', '2026-05-19 10:17:12');
INSERT INTO `sys_menu` VALUES (13, 0, '我的任务', '/pages/task-list', 'page', 'driver:task:list', 'driver-task', 13, 1, '2026-05-19 10:17:12', '2026-05-19 10:17:12');
INSERT INTO `sys_menu` VALUES (14, 2, '取消审批', '', 'button', 'order:cancel-approve', '', 14, 1, '2026-05-19 10:17:12', '2026-05-19 10:17:12');
INSERT INTO `sys_menu` VALUES (15, 6, '提交审核', '', 'button', 'order:submit', '', 15, 1, '2026-05-19 10:17:12', '2026-05-19 10:17:12');
INSERT INTO `sys_menu` VALUES (16, 13, '司机接单', '', 'button', 'driver:task:accept', '', 16, 1, '2026-05-19 10:17:12', '2026-05-19 10:17:12');
INSERT INTO `sys_menu` VALUES (17, 13, '司机揽货', '', 'button', 'driver:task:pickup', '', 17, 1, '2026-05-19 10:17:12', '2026-05-19 10:17:12');
INSERT INTO `sys_menu` VALUES (18, 13, '司机送达', '', 'button', 'driver:task:deliver', '', 18, 1, '2026-05-19 10:17:12', '2026-05-19 10:17:12');
INSERT INTO `sys_menu` VALUES (19, 3, '角色管理', '', 'button', 'system:role:list', '', 20, 1, '2026-05-19 10:17:12', '2026-05-29 09:54:33');
INSERT INTO `sys_menu` VALUES (20, 3, '菜单管理', '', 'button', 'system:menu:list', '', 21, 1, '2026-05-19 10:17:12', '2026-05-29 09:54:33');
INSERT INTO `sys_menu` VALUES (21, 3, '用户新增', '', 'button', 'system:user:create', '', 22, 1, '2026-05-19 10:17:12', '2026-05-29 09:54:34');
INSERT INTO `sys_menu` VALUES (22, 3, '用户编辑', '', 'button', 'system:user:update', '', 23, 1, '2026-05-19 10:17:12', '2026-05-29 09:54:34');
INSERT INTO `sys_menu` VALUES (23, 3, '用户重置密码', '', 'button', 'system:user:reset-password', '', 24, 1, '2026-05-19 10:17:12', '2026-05-29 09:54:34');
INSERT INTO `sys_menu` VALUES (24, 3, '角色新增', '', 'button', 'system:role:create', '', 25, 1, '2026-05-19 10:17:12', '2026-05-29 09:54:34');
INSERT INTO `sys_menu` VALUES (25, 3, '角色编辑', '', 'button', 'system:role:update', '', 26, 1, '2026-05-19 10:17:12', '2026-05-29 09:54:35');
INSERT INTO `sys_menu` VALUES (26, 3, '角色授权', '', 'button', 'system:role:assign-menus', '', 27, 1, '2026-05-19 10:17:12', '2026-05-29 09:54:35');
INSERT INTO `sys_menu` VALUES (27, 3, '菜单新增', '', 'button', 'system:menu:create', '', 28, 1, '2026-05-19 10:17:12', '2026-05-29 09:54:35');
INSERT INTO `sys_menu` VALUES (28, 3, '菜单编辑', '', 'button', 'system:menu:update', '', 29, 1, '2026-05-19 10:17:12', '2026-05-29 09:54:35');
INSERT INTO `sys_menu` VALUES (29, 0, '业绩报表', '/reports', 'page', 'report:performance:view', 'report', 29, 1, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_menu` VALUES (30, 30, '导出业绩报表', '', 'button', 'report:performance:export', '', 30, 1, '2026-05-19 10:17:13', '2026-05-29 09:54:35');
INSERT INTO `sys_menu` VALUES (31, 0, '物流轨迹', '/logistics', 'page', 'logistics:trace:list', 'logistics', 31, 1, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_menu` VALUES (32, 32, '物流轨迹新增', '', 'button', 'logistics:trace:create', '', 32, 1, '2026-05-19 10:17:13', '2026-05-29 09:54:36');
INSERT INTO `sys_menu` VALUES (33, 0, 'AI识别', '/ai', 'page', 'ai:recognize', 'ai', 33, 1, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_menu` VALUES (34, 34, 'AI结果修正', '', 'button', 'ai:correct', '', 34, 1, '2026-05-19 10:17:13', '2026-05-29 09:54:36');
INSERT INTO `sys_menu` VALUES (38, 3, '用户列表', '', 'button', 'system:user:list', '', 19, 1, '2026-05-29 09:54:33', '2026-05-29 09:54:33');
INSERT INTO `sys_menu` VALUES (39, 4, '定价规则查看', '', 'button', 'master-data:list', '', 35, 1, '2026-05-29 09:54:36', '2026-05-29 09:54:36');
INSERT INTO `sys_menu` VALUES (40, 4, '定价规则编辑', '', 'button', 'master-data:update', '', 36, 1, '2026-05-29 09:54:37', '2026-05-29 09:54:37');
INSERT INTO `sys_menu` VALUES (41, 0, 'AI订单解析', '/ai/parse-order', 'page', 'ai:parse-order', 'ai-parse', 37, 1, '2026-05-31 20:14:57', '2026-05-31 20:14:57');
-- ----------------------------
-- Table structure for sys_role
-- ----------------------------
DROP TABLE IF EXISTS `sys_role`;
CREATE TABLE `sys_role` (
`id` int NOT NULL AUTO_INCREMENT,
`role_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`role_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`status` int NOT NULL DEFAULT 1,
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`created_at` datetime NOT NULL DEFAULT (now()),
`updated_at` datetime NOT NULL DEFAULT (now()),
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `ix_sys_role_role_code`(`role_code` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_role
-- ----------------------------
INSERT INTO `sys_role` VALUES (1, '管理员', 'admin', 1, '系统管理', '2026-05-19 10:17:12', '2026-05-19 10:17:12');
INSERT INTO `sys_role` VALUES (2, '业务员', 'salesman', 1, '录单和本人订单', '2026-05-19 10:17:12', '2026-05-19 10:17:12');
INSERT INTO `sys_role` VALUES (3, '管理层', 'manager', 1, '审批和经营数据', '2026-05-19 10:17:12', '2026-05-19 10:17:12');
INSERT INTO `sys_role` VALUES (4, '司机', 'driver', 1, '司机任务执行', '2026-05-19 10:17:12', '2026-05-19 10:17:12');
-- ----------------------------
-- Table structure for sys_role_menu
-- ----------------------------
DROP TABLE IF EXISTS `sys_role_menu`;
CREATE TABLE `sys_role_menu` (
`id` int NOT NULL AUTO_INCREMENT,
`role_id` int NOT NULL,
`menu_id` int NOT NULL,
`created_at` datetime NOT NULL DEFAULT (now()),
`updated_at` datetime NOT NULL DEFAULT (now()),
PRIMARY KEY (`id`) USING BTREE,
INDEX `ix_sys_role_menu_role_id`(`role_id` ASC) USING BTREE,
INDEX `ix_sys_role_menu_menu_id`(`menu_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 63 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_role_menu
-- ----------------------------
INSERT INTO `sys_role_menu` VALUES (1, 1, 1, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (2, 1, 2, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (3, 1, 3, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (4, 1, 4, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (5, 1, 5, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (6, 1, 6, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (7, 1, 7, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (8, 1, 8, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (9, 1, 9, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (10, 1, 10, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (11, 1, 11, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (12, 1, 12, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (13, 1, 13, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (14, 1, 14, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (15, 1, 15, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (16, 1, 16, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (17, 1, 17, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (18, 1, 18, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (19, 1, 19, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (20, 1, 20, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (21, 1, 21, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (22, 1, 22, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (23, 1, 23, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (24, 1, 24, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (25, 1, 25, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (26, 1, 26, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (27, 1, 27, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (28, 1, 28, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (29, 1, 29, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (30, 1, 30, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (31, 1, 31, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (32, 1, 32, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (33, 1, 33, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (34, 1, 34, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (35, 2, 4, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (36, 2, 6, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (37, 2, 7, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (38, 2, 8, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (39, 2, 15, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (40, 3, 32, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (41, 3, 33, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (42, 3, 2, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (43, 3, 34, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (44, 3, 5, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (45, 3, 9, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (46, 3, 10, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (47, 3, 11, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (48, 3, 12, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (49, 3, 14, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (50, 3, 29, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (51, 3, 30, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (52, 3, 31, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (53, 4, 16, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (54, 4, 17, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (55, 4, 18, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (56, 4, 13, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (57, 4, 31, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `sys_role_menu` VALUES (58, 1, 40, '2026-05-29 09:54:40', '2026-05-29 09:54:40');
INSERT INTO `sys_role_menu` VALUES (59, 1, 38, '2026-05-29 09:54:41', '2026-05-29 09:54:41');
INSERT INTO `sys_role_menu` VALUES (60, 1, 39, '2026-05-29 09:54:41', '2026-05-29 09:54:41');
INSERT INTO `sys_role_menu` VALUES (61, 1, 41, '2026-05-31 20:15:01', '2026-05-31 20:15:01');
INSERT INTO `sys_role_menu` VALUES (62, 2, 41, '2026-05-31 20:15:01', '2026-05-31 20:15:01');
-- ----------------------------
-- Table structure for sys_user
-- ----------------------------
DROP TABLE IF EXISTS `sys_user`;
CREATE TABLE `sys_user` (
`id` int NOT NULL AUTO_INCREMENT,
`username` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`password_hash` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`real_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`mobile` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '',
`role_id` int NOT NULL,
`status` int NOT NULL DEFAULT 1,
`created_at` datetime NOT NULL DEFAULT (now()),
`updated_at` datetime NOT NULL DEFAULT (now()),
`open_id` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `ix_sys_user_username`(`username` ASC) USING BTREE,
INDEX `ix_sys_user_role_id`(`role_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_user
-- ----------------------------
INSERT INTO `sys_user` VALUES (1, 'admin01', '5b057a7430c4ee47de3609a43cbc2124d08512c54328376efa9a808abbbb9549', '系统管理员', '13900000001', 1, 1, '2026-05-19 10:17:13', '2026-06-06 22:14:36', 'oWuAk4xxmGA9ptkzwcGawfDK1yUQ');
INSERT INTO `sys_user` VALUES (2, 'test', 'b46437424d2be0cdd6db4f7cb5a58bd040c351d022e286d767dfd2c39691f8f2', 'twet', '', 2, 1, '2026-05-19 10:33:59', '2026-05-19 10:33:59', NULL);
INSERT INTO `sys_user` VALUES (3, 'dirver', '5b057a7430c4ee47de3609a43cbc2124d08512c54328376efa9a808abbbb9549', 'driver', 'test', 4, 1, '2026-05-19 14:50:09', '2026-06-06 17:40:40', NULL);
INSERT INTO `sys_user` VALUES (4, 'driver01', '5b057a7430c4ee47de3609a43cbc2124d08512c54328376efa9a808abbbb9549', '司机', '111', 4, 1, '2026-05-22 11:04:19', '2026-06-07 11:26:51', 'oWuAk4xxmGA9ptkzwcGawfDK1yUQ');
-- ----------------------------
-- Table structure for system_config
-- ----------------------------
DROP TABLE IF EXISTS `system_config`;
CREATE TABLE `system_config` (
`id` int NOT NULL AUTO_INCREMENT,
`config_key` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`config_value` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '',
`config_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`status` int NOT NULL DEFAULT 1,
`created_at` datetime NOT NULL DEFAULT (now()),
`updated_at` datetime NOT NULL DEFAULT (now()),
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `ix_system_config_config_key`(`config_key` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of system_config
-- ----------------------------
INSERT INTO `system_config` VALUES (1, 'arrears_generate_mode', 'delivered', '欠款生成模式', 'shipped=发货后记账delivered=送达后记账', 1, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `system_config` VALUES (2, 'logistics_timeout_hours', '48', '物流超时小时数', '首个物流节点超过该小时数无流转提醒', 1, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `system_config` VALUES (3, 'inactive_customer_days', '90', '沉默客户周期', '超过该天数未下单触发检查', 1, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `system_config` VALUES (4, 'inactive_customer_amount_threshold', '1000', '沉默客户金额阈值', '低于该金额不提醒', 1, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `system_config` VALUES (5, 'report_category_mapping', '{}', '报表分类映射', '按产品分类配置统计口径', 1, '2026-05-19 10:17:13', '2026-05-19 10:17:13');
INSERT INTO `system_config` VALUES (6, 'arrears_settlement_start_type', 'order_date', '欠款起算节点', 'order_date=订单日期delivery_date=发货日期reconciliation_date=对账日期', 1, '2026-05-29 09:54:41', '2026-05-29 09:54:41');
INSERT INTO `system_config` VALUES (7, 'arrears_overdue_days', '30', '欠款超期天数', '超过该天数未结算触发欠款提醒', 1, '2026-05-29 09:54:41', '2026-05-29 09:54:41');
INSERT INTO `system_config` VALUES (8, 'reminder_method', 'system', '提醒方式', 'system=系统通知wechat=微信订阅消息sms=短信', 1, '2026-05-29 09:54:42', '2026-05-29 09:54:42');
INSERT INTO `system_config` VALUES (9, 'profit_alert_threshold', '0', '利润预警阈值', '利润率低于该值时审批页面标红预警0=不预警', 1, '2026-05-29 09:54:42', '2026-05-29 09:54:42');
INSERT INTO `system_config` VALUES (10, 'allow_cancel_statuses', 'draft,pending_approve,approved,pending_factory', '允许取消的订单状态', '逗号分隔的状态编码列表', 1, '2026-05-29 09:54:42', '2026-05-29 09:54:42');
INSERT INTO `system_config` VALUES (11, 'logistics_trace_provider', 'internal', '物流轨迹服务商', 'internal=内置kdniao=快递100', 1, '2026-05-29 09:54:43', '2026-05-29 09:54:43');
INSERT INTO `system_config` VALUES (12, 'wechat_template_order_status', 'TkCDtUd1d2MPzMMy_QwvaoHxvweBY-uA9p3jk3nsKi0', '微信模板-订单状态变更', NULL, 1, '2026-05-29 09:54:43', '2026-06-06 14:14:03');
INSERT INTO `system_config` VALUES (13, 'wechat_template_approval', 'xNlOt-_6jMTh5VKf9F_pX4aMtwpjXZKUBBTp8QtzTag', '微信模板-审批通知', NULL, 1, '2026-05-29 09:54:43', '2026-06-06 14:14:07');
INSERT INTO `system_config` VALUES (14, 'wechat_template_task_assigned', 'uzivHUxL1A3cBguMvC6HDO4aXqvmCV8X3o538SpDEX4', '微信模板-任务分配', NULL, 1, '2026-05-29 09:54:43', '2026-06-06 14:14:11');
INSERT INTO `system_config` VALUES (15, 'wechat_template_logistics_timeout', '1NtPbIS_LtmsJhl4V4V3poWO_EZYYFNbKoLzO1TLTDc', '微信模板-物流超时', NULL, 1, '2026-05-29 09:54:43', '2026-06-06 14:14:14');
INSERT INTO `system_config` VALUES (16, 'wechat_template_arrears', 'ulYRf4HgTXNWYSqT0KYVKJiHnG19_12tjcDXMYD2kHo', '微信模板-欠款提醒', NULL, 1, '2026-05-29 09:54:43', '2026-06-06 14:14:18');
INSERT INTO `system_config` VALUES (17, 'wechat_template_inactive_customer', 'pWYFYbZNJvnOGD-4ycNf8zxmseIiuogFAXa9biVscBc', '微信模板-沉默客户', NULL, 1, '2026-05-29 09:54:43', '2026-06-06 14:14:21');
-- ----------------------------
-- Table structure for system_reminder
-- ----------------------------
DROP TABLE IF EXISTS `system_reminder`;
CREATE TABLE `system_reminder` (
`id` int NOT NULL AUTO_INCREMENT,
`reminder_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`biz_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`biz_id` bigint NULL DEFAULT NULL,
`receiver_user_id` int NOT NULL,
`reminder_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`reminder_content` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'pending',
`sent_at` datetime NULL DEFAULT NULL,
`created_at` datetime NOT NULL DEFAULT (now()),
PRIMARY KEY (`id`) USING BTREE,
INDEX `ix_system_reminder_reminder_type`(`reminder_type` ASC) USING BTREE,
INDEX `ix_system_reminder_biz_type`(`biz_type` ASC) USING BTREE,
INDEX `ix_system_reminder_biz_id`(`biz_id` ASC) USING BTREE,
INDEX `ix_system_reminder_receiver_user_id`(`receiver_user_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 16 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of system_reminder
-- ----------------------------
INSERT INTO `system_reminder` VALUES (1, 'order_status_change', 'sales_order', 9, 1, '订单状态变更 - SO20260527160135', '订单 SO20260527160135 状态由「草稿」变更为「待审核」。', 'read', '2026-05-27 16:02:03', '2026-05-27 16:02:02');
INSERT INTO `system_reminder` VALUES (2, 'order_status_change', 'sales_order', 9, 1, '订单状态变更 - SO20260527160135', '订单 SO20260527160135 状态由「待审核」变更为「已取消」。', 'read', '2026-05-27 16:02:30', '2026-05-27 16:02:30');
INSERT INTO `system_reminder` VALUES (3, 'order_status_change', 'sales_order', 10, 1, '订单状态变更 - SO20260527163039', '订单 SO20260527163039 状态由「草稿」变更为「待审核」。', 'pending', '2026-05-27 16:30:47', '2026-05-27 16:30:47');
INSERT INTO `system_reminder` VALUES (4, 'order_status_change', 'sales_order', 10, 1, '订单状态变更 - SO20260527163039', '订单 SO20260527163039 状态由「待审核」变更为「已取消」。', 'pending', '2026-05-27 16:30:56', '2026-05-27 16:30:55');
INSERT INTO `system_reminder` VALUES (5, 'order_status_change', 'sales_order', 11, 1, '订单状态变更 - SO20260527163109', '订单 SO20260527163109 状态由「草稿」变更为「待审核」。', 'pending', '2026-05-27 16:31:15', '2026-05-27 16:31:15');
INSERT INTO `system_reminder` VALUES (6, 'order_status_change', 'sales_order', 11, 1, '订单状态变更 - SO20260527163109', '订单 SO20260527163109 状态由「待审核」变更为「已取消」。', 'read', '2026-05-27 16:31:23', '2026-05-27 16:31:22');
INSERT INTO `system_reminder` VALUES (7, 'order_status_change', 'sales_order', 14, 1, '订单状态变更 - SO20260531135253', '订单 SO20260531135253 状态由「草稿」变更为「已取消」。', 'pending', '2026-06-03 16:18:34', '2026-06-03 16:18:33');
INSERT INTO `system_reminder` VALUES (8, 'order_status_change', 'sales_order', 15, 2, '订单状态变更 - SO20260604140831', '订单 SO20260604140831 状态由「草稿」变更为「待审核」。', 'read', '2026-06-04 14:12:29', '2026-06-04 14:12:29');
INSERT INTO `system_reminder` VALUES (9, 'order_status_change', 'sales_order', 15, 2, '订单状态变更 - SO20260604140831', '订单 SO20260604140831 状态由「待审核」变更为「已退回」。 退回原因:退回', 'read', '2026-06-04 14:12:53', '2026-06-04 14:12:54');
INSERT INTO `system_reminder` VALUES (10, 'order_status_change', 'sales_order', 13, 1, '订单状态变更 - SO20260531134307', '订单 SO20260531134307 状态由「草稿」变更为「已取消」。', 'pending', '2026-06-05 13:33:49', '2026-06-05 13:33:50');
INSERT INTO `system_reminder` VALUES (11, 'order_status_change', 'sales_order', 12, 1, '订单状态变更 - SO20260531134134', '订单 SO20260531134134 状态由「草稿」变更为「已取消」。', 'pending', '2026-06-05 13:33:57', '2026-06-05 13:33:57');
INSERT INTO `system_reminder` VALUES (12, 'order_status_change', 'sales_order', 15, 2, '订单状态变更 - SO20260604140831', '订单 SO20260604140831 状态由「已退回」变更为「待审核」。', 'pending', '2026-06-05 13:46:32', '2026-06-05 13:46:33');
INSERT INTO `system_reminder` VALUES (13, 'order_status_change', 'sales_order', 15, 2, '订单状态变更 - SO20260604140831', '订单 SO20260604140831 状态由「待审核」变更为「已取消」。', 'pending', '2026-06-06 11:12:01', '2026-06-06 11:12:01');
INSERT INTO `system_reminder` VALUES (14, 'order_status_change', 'sales_order', 16, 2, '订单状态变更 - SO20260606182346', '订单 SO20260606182346 状态由「草稿」变更为「待审核」。', 'pending', '2026-06-06 18:24:55', '2026-06-06 18:24:55');
INSERT INTO `system_reminder` VALUES (15, 'order_status_change', 'sales_order', 16, 2, '订单状态变更 - SO20260606182346', '订单 SO20260606182346 状态由「待审核」变更为「已通过」。', 'pending', '2026-06-07 00:11:02', '2026-06-07 00:11:02');
SET FOREIGN_KEY_CHECKS = 1;