初始化

This commit is contained in:
2026-05-08 17:07:33 +08:00
commit 92839e2d67
187 changed files with 19265 additions and 0 deletions

1026
docs/db_paopao_v2.sql Normal file

File diff suppressed because it is too large Load Diff

1866
docs/db_system.sql Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,366 @@
from openpyxl import Workbook
from openpyxl.styles import PatternFill, Font, Border, Side, Alignment
from openpyxl.utils import get_column_letter
wb = Workbook()
# ====== Sheet 1: 总览 ======
ws_summary = wb.active
ws_summary.title = "开发计划总览"
ws_summary.sheet_view.showGridLines = False
# 颜色定义
header_fill = PatternFill(start_color="1F4E79", end_color="1F4E79", fill_type="solid")
subheader_fill = PatternFill(start_color="2E75B6", end_color="2E75B6", fill_type="solid")
p1_fill = PatternFill(start_color="C00000", end_color="C00000", fill_type="solid")
p2_fill = PatternFill(start_color="FF7C00", end_color="FF7C00", fill_type="solid")
p3_fill = PatternFill(start_color="70AD47", end_color="70AD47", fill_type="solid")
white_font = Font(color="FFFFFF", bold=True, size=11)
normal_font = Font(size=10)
thin_border = Border(
left=Side(style='thin', color='CCCCCC'),
right=Side(style='thin', color='CCCCCC'),
top=Side(style='thin', color='CCCCCC'),
bottom=Side(style='thin', color='CCCCCC')
)
# 标题
ws_summary['B2'] = "paopao 电商系统开发计划表"
ws_summary['B2'].font = Font(size=18, bold=True, color="1F4E79")
ws_summary['B2'].alignment = Alignment(horizontal='left', vertical='center')
ws_summary.row_dimensions[2].height = 36
# 统计信息
stats = [
("总功能点", "64"),
("小程序端", "24"),
("后台管理端", "40"),
("核心流程", "9"),
]
for i, (label, val) in enumerate(stats):
col = get_column_letter(2 + i)
ws_summary[f'{col}4'] = label
ws_summary[f'{col}4'].font = Font(bold=True, size=10, color="1F4E79")
ws_summary[f'{col}4'].alignment = Alignment(horizontal='center')
ws_summary[f'{col}5'] = val
ws_summary[f'{col}5'].font = Font(size=24, bold=True, color="1F4E79")
ws_summary[f'{col}5'].alignment = Alignment(horizontal='center')
ws_summary.row_dimensions[5].height = 30
# 模块列表
modules = [
("序号", "模块名称", "", "功能点数", "优先级", "预计工时(h)", "状态"),
]
row = 7
for m in modules:
for col_idx, val in enumerate(m, 2):
cell = ws_summary.cell(row=row, column=col_idx, value=val)
cell.fill = header_fill
cell.font = white_font
cell.alignment = Alignment(horizontal='center', vertical='center')
cell.border = thin_border
ws_summary.row_dimensions[row].height = 24
module_data = [
(1, "登录/注册", "小程序端", 3, "P1", 16, "待开发"),
(2, "首页模块", "小程序端", 11, "P1", 40, "待开发"),
(3, "会员中心", "小程序端", 4, "P1", 32, "待开发"),
(4, "商城模块", "小程序端", 3, "P1", 24, "待开发"),
(5, "购物车", "小程序端", 3, "P1", 16, "待开发"),
(6, "我的页面", "小程序端", 10, "P1", 32, "待开发"),
(7, "首页统计", "后台管理端", 2, "P1", 8, "待开发"),
(8, "会员管理", "后台管理端", 2, "P1", 16, "待开发"),
(9, "商品管理", "后台管理端", 5, "P1", 40, "待开发"),
(10, "比赛活动", "后台管理端", 2, "P1", 24, "待开发"),
(11, "预约管理", "后台管理端", 1, "P2", 8, "待开发"),
(12, "营销模块", "后台管理端", 5, "P2", 32, "待开发"),
(13, "系统管理", "后台管理端", 3, "P2", 16, "待开发"),
(14, "财务模块", "后台管理端", 6, "P1", 32, "待开发"),
]
for i, row_data in enumerate(module_data):
row = 8 + i
for col_idx, val in enumerate(row_data, 2):
cell = ws_summary.cell(row=row, column=col_idx, value=val)
cell.font = normal_font
cell.alignment = Alignment(horizontal='center', vertical='center')
cell.border = thin_border
# 优先级着色
if col_idx == 6: # 优先级列
if val == "P1":
cell.fill = p1_fill
cell.font = Font(color="FFFFFF", bold=True, size=10)
elif val == "P2":
cell.fill = p2_fill
cell.font = Font(color="FFFFFF", bold=True, size=10)
ws_summary.row_dimensions[row].height = 20
# 列宽
widths = [4, 18, 14, 10, 10, 12, 10]
for i, w in enumerate(widths, 2):
ws_summary.column_dimensions[get_column_letter(i)].width = w
# ====== Sheet 2: 小程序端详细计划 ======
ws_mini = wb.create_sheet("小程序端详细计划")
ws_mini.sheet_view.showGridLines = False
ws_mini['B2'] = "小程序端(用户端)功能开发计划"
ws_mini['B2'].font = Font(size=16, bold=True, color="1F4E79")
headers = ["序号", "功能模块", "功能名称", "功能描述", "优先级", "预计工时(h)", "关联流程", "备注"]
for col_idx, h in enumerate(headers, 2):
cell = ws_mini.cell(row=4, column=col_idx, value=h)
cell.fill = header_fill
cell.font = white_font
cell.alignment = Alignment(horizontal='center', vertical='center')
cell.border = thin_border
ws_mini.row_dimensions[4].height = 24
mini_data = [
# 登录注册
(1, "登录注册", "手机短信验证码登录/注册", "可通过手机短信验证方式注册,修改密码", "P1", 8, "用户注册与登录流程", ""),
(2, "登录注册", "微信授权登录/注册", "可直接通过微信账号注册进入小程序", "P1", 4, "用户注册与登录流程", ""),
(3, "登录注册", "隐私/政策协议", "可自由上传修改文案内容", "P3", 4, "用户注册与登录流程", ""),
# 首页
(4, "首页", "LOGO+小程序名称", "可自由修改", "P1", 2, "", ""),
(5, "首页", "搜索", "关键字搜索:可通过搜索栏搜索关键字查找到商城内相应商品(模糊查询)", "P1", 8, "商品购物与支付流程", ""),
(6, "首页", "消息通知", "系统通知:所有小程序内订单状态变化及支付记录,佣金收入等通知", "P1", 6, "", ""),
(7, "首页", "轮播图", "自定义替换图片:可自由设置图片尺寸规格", "P1", 4, "", ""),
(8, "首页", "精选商城入口", "入口跳转至商城页面", "P2", 2, "", ""),
(9, "首页", "活动报名入口", "活动列表:展示活动名称,活动时间等概要信息", "P1", 6, "活动报名流程", ""),
(10, "首页", "穿线预约入口", "显示门店名称、地址、营业时间,距离;点击定位跳转地图;点击电话拨打", "P1", 8, "穿线预约流程", ""),
(11, "首页", "积分商城入口", "显示总积分,可积分兑换的商品、查询兑换订单进度", "P1", 8, "积分商城与使用流程", ""),
(12, "首页", "热销商品展示", "展示购买率高的商品列表", "P2", 4, "", ""),
(13, "首页", "会员登录入口", "点击跳转会员中心;点商品会员价跳转注册界面", "P1", 4, "会员开通与推广流程", ""),
(14, "首页", "热门活动展示", "后台设置的热门活动展示", "P2", 4, "", ""),
(15, "首页", "领券中心入口", "优惠券领取入口", "P2", 4, "优惠券领取与使用流程", ""),
(16, "首页", "积分签到", "每天签到固定可获取X积分", "P2", 6, "积分商城与使用流程", ""),
# 会员中心
(17, "会员中心", "购买会员/会员升级", "会员升级成为会员获取推广权益,线下收取下级会员费后录入注册", "P1", 12, "会员开通与推广流程", ""),
(18, "会员中心", "分佣查看", "自己下级在平台产生消费,会员可获得相应比例的分佣", "P1", 8, "佣金结算与提现流程", ""),
(19, "会员中心", "分佣结算", "订单完成货款到账后(过了售后期),佣金才能结算到上级账户", "P1", 6, "佣金结算与提现流程", ""),
(20, "会员中心", "可提现佣金", "申请提现至微信设置提现时间和上限单次200以上每天不超过2000", "P1", 6, "佣金结算与提现流程", ""),
# 商城
(21, "商城", "商品搜索", "关键字搜索查找到相应商品(模糊查询)", "P1", 6, "商品购物与支付流程", ""),
(22, "商城", "商品分类", "三级分类导航", "P1", 6, "", ""),
(23, "商城", "商品详情", "商品主图/视频、规格、价格等详情展示", "P1", 12, "商品购物与支付流程", ""),
# 购物车
(24, "购物车", "商品列表展示", "显示已添加的商品列表", "P1", 4, "", ""),
(25, "购物车", "购物车管理", "删除选购商品", "P1", 4, "", ""),
(26, "购物车", "下单结算", "多选商品下单支付,同一订单只收一笔快递费", "P1", 8, "商品购物与支付流程", ""),
# 我的
(27, "我的", "头像昵称设置", "设置头像、昵称、性别、手机号、显示ID、注册时间", "P1", 6, "", ""),
(28, "我的", "消息中心", "系统通知、公告消息", "P2", 4, "", ""),
(29, "我的", "设置页面", "服务协议、隐私政策、版权信息、关于我们", "P2", 4, "", ""),
(30, "我的", "会员等级显示", "展示当前会员等级", "P1", 2, "", ""),
(31, "我的", "我的钱包", "余额充值功能", "P1", 6, "", ""),
(32, "我的", "我的积分", "积分查询", "P1", 2, "", ""),
(33, "我的", "我的优惠券", "已使用、未使用、已过期;显示已领取优惠券", "P1", 6, "优惠券领取与使用流程", ""),
(34, "我的", "我的订单", "全部订单:待支付、待发货、待收货、商品评价、申请售后(部分退款)", "P1", 12, "商品购物与支付流程", ""),
(35, "我的", "我的活动", "已报名活动列表,可取消报名", "P1", 6, "活动报名流程", ""),
(36, "我的", "分销推广入口", "我的邀请人查看", "P1", 4, "", ""),
]
for i, row_data in enumerate(mini_data):
row = 5 + i
for col_idx, val in enumerate(row_data, 2):
cell = ws_mini.cell(row=row, column=col_idx, value=val)
cell.font = normal_font
cell.border = thin_border
if col_idx == 2:
cell.alignment = Alignment(horizontal='center', vertical='center')
elif col_idx == 6 or col_idx == 7:
cell.alignment = Alignment(horizontal='center', vertical='center')
else:
cell.alignment = Alignment(horizontal='left', vertical='center', wrap_text=True)
# 优先级着色
if col_idx == 6:
if val == "P1":
cell.fill = p1_fill
cell.font = Font(color="FFFFFF", bold=True, size=10)
elif val == "P2":
cell.fill = p2_fill
cell.font = Font(color="FFFFFF", bold=True, size=10)
elif val == "P3":
cell.fill = p3_fill
cell.font = Font(color="FFFFFF", bold=True, size=10)
ws_mini.row_dimensions[row].height = 30
# 列宽
mini_widths = [4, 12, 16, 50, 8, 10, 18, 10]
for i, w in enumerate(mini_widths, 2):
ws_mini.column_dimensions[get_column_letter(i)].width = w
# ====== Sheet 3: 后台管理端详细计划 ======
ws_admin = wb.create_sheet("后台管理端详细计划")
ws_admin.sheet_view.showGridLines = False
ws_admin['B2'] = "后台管理端Web端功能开发计划"
ws_admin['B2'].font = Font(size=16, bold=True, color="1F4E79")
for col_idx, h in enumerate(headers, 2):
cell = ws_admin.cell(row=4, column=col_idx, value=h)
cell.fill = header_fill
cell.font = white_font
cell.alignment = Alignment(horizontal='center', vertical='center')
cell.border = thin_border
ws_admin.row_dimensions[4].height = 24
admin_data = [
# 首页统计
(1, "首页统计", "普通会员统计", "普通会员人数统计", "P1", 2, "", ""),
(2, "首页统计", "趋势图", "注册人数、会员人数趋势", "P1", 6, "", ""),
# 会员管理
(3, "会员管理", "会员列表", "普通会员:登录注册的用户信息,手机号、昵称、余额、积分等", "P1", 8, "后台管理核心流程", ""),
(4, "会员管理", "会员权限设置", "VIP会员开通价格、会员时间、享受权限等", "P1", 8, "", ""),
# 商城管理
(5, "商城管理", "商品管理", "商品添加、上下架、商品规格设置(如服装码数,颜色等商品参数)", "P1", 16, "后台管理核心流程", ""),
(6, "商城管理", "批量导入导出", "能实现线上导出导入数据,实现批量修改导入数据", "P1", 8, "", ""),
(7, "商城管理", "商品分销设置", "商品单独设置分销佣金", "P1", 6, "", ""),
(8, "商城管理", "订单管理", "商品订单:待支付,待发货,待收货,商品评价,退款/售后", "P1", 12, "后台管理核心流程", ""),
(9, "商城管理", "商品品牌管理", "品牌列表管理", "P2", 4, "", ""),
(10, "商城管理", "商品类型管理", "三级分类管理", "P1", 6, "", ""),
# 比赛活动
(11, "比赛活动", "活动列表", "添加比赛信息,限制报名人数,可设置热门;后台自定义参赛人员必填项;衣服尺码后台设置;限制报名人数或队伍数", "P1", 16, "后台管理核心流程", ""),
(12, "比赛活动", "预约报名管理", "活动报名人员管理", "P1", 8, "", ""),
# 预约管理
(13, "预约管理", "预约订单查询", "用户预约穿线订单,分门店查询", "P2", 8, "穿线预约流程", ""),
# 营销
(14, "营销", "优惠券管理", "场地使用券、无门槛、满减券、折扣券;可设置优惠券指定发放给会员/非会员/单独某个账户", "P1", 12, "优惠券领取与使用流程", ""),
(15, "营销", "优惠券使用记录", "优惠券使用记录,核销门店等信息", "P1", 6, "", ""),
(16, "营销", "积分抵扣设置", "积分抵扣规则配置", "P2", 6, "", ""),
(17, "营销", "积分商城管理", "积分兑换商品管理", "P2", 8, "积分商城与使用流程", ""),
(18, "营销", "轮播图管理", "广告图替换", "P2", 4, "", ""),
(19, "营销", "系统公告发布", "发布系统公告通知", "P2", 4, "", ""),
# 系统管理
(20, "系统管理", "用户管理", "添加系统用户账户", "P2", 8, "后台管理核心流程", ""),
(21, "系统管理", "角色权限管理", "用户角色权限设置", "P2", 8, "", ""),
(22, "系统管理", "门店管理", "添加门店信息、账号、密码", "P2", 8, "", ""),
# 财务
(23, "财务", "账务概况", "订单、会员、分销分别进行数据统计,可按日期查询,可导出表格", "P1", 12, "后台管理核心流程", ""),
(24, "财务", "充值记录查询", "查询所有充值记录,可按账号、日期查询,可导出表格", "P1", 6, "", ""),
(25, "财务", "资金记录查询", "查询所有账号资金账单,可按账号、日期查询,可导出表格", "P1", 6, "", ""),
(26, "财务", "积分记录查询", "查询所有账号积分情况,可按账号、日期查询,可导出表格", "P1", 6, "", ""),
(27, "财务", "佣金提现审核", "审核所有佣金提现申请", "P1", 8, "佣金结算与提现流程", ""),
(28, "财务", "佣金记录查询", "所有佣金账单,可按账号、日期查询,可导出表格", "P1", 6, "", ""),
]
for i, row_data in enumerate(admin_data):
row = 5 + i
for col_idx, val in enumerate(row_data, 2):
cell = ws_admin.cell(row=row, column=col_idx, value=val)
cell.font = normal_font
cell.border = thin_border
if col_idx == 2:
cell.alignment = Alignment(horizontal='center', vertical='center')
elif col_idx == 6 or col_idx == 7:
cell.alignment = Alignment(horizontal='center', vertical='center')
else:
cell.alignment = Alignment(horizontal='left', vertical='center', wrap_text=True)
if col_idx == 6:
if val == "P1":
cell.fill = p1_fill
cell.font = Font(color="FFFFFF", bold=True, size=10)
elif val == "P2":
cell.fill = p2_fill
cell.font = Font(color="FFFFFF", bold=True, size=10)
elif val == "P3":
cell.fill = p3_fill
cell.font = Font(color="FFFFFF", bold=True, size=10)
ws_admin.row_dimensions[row].height = 30
# 列宽
admin_widths = [4, 12, 16, 50, 8, 10, 18, 10]
for i, w in enumerate(admin_widths, 2):
ws_admin.column_dimensions[get_column_letter(i)].width = w
# ====== Sheet 4: 核心业务流程 ======
ws_flow = wb.create_sheet("核心业务流程")
ws_flow.sheet_view.showGridLines = False
ws_flow['B2'] = "系统核心业务流程"
ws_flow['B2'].font = Font(size=16, bold=True, color="1F4E79")
flow_headers = ["序号", "流程名称", "流程说明", "涉及模块", "关联页面", "关键节点"]
for col_idx, h in enumerate(flow_headers, 2):
cell = ws_flow.cell(row=4, column=col_idx, value=h)
cell.fill = header_fill
cell.font = white_font
cell.alignment = Alignment(horizontal='center', vertical='center')
cell.border = thin_border
ws_flow.row_dimensions[4].height = 24
flow_data = [
(1, "用户注册与登录流程", "用户进入小程序选择短信验证码登录或微信授权登录,阅读并同意隐私政策/服务协议后进入首页。需修改密码通过短信验证码重置。会员身份通过手机号匹配后激活。", "登录注册、首页", "登录页、首页", "手机号验证 → 身份匹配 → 权限激活"),
(2, "会员开通与推广下级流程", "用户购买会员支付198元注册费会员获得推广权限。会员线下收取下级298元会员费后在平台为下级录入手机号。下级用该手机号登录系统自动匹配身份成为该会员下级。", "会员中心、用户管理", "会员中心、注册页", "支付注册费 → 录入下级手机号 → 下级登录匹配"),
(3, "商品购物与支付流程", "用户通过首页/商城搜索/分类查找商品,查看详情后加入购物车。购物车勾选商品统一结算,同一订单仅收一笔运费。完成支付生成待发货订单,商家发货用户收货后进入售后,售后期结束货款到账后佣金自动结算。", "首页、商城、购物车、订单", "商品详情、购物车、订单页", "加入购物车 → 统一结算 → 支付发货 → 售后结算"),
(4, "积分商城与积分使用流程", "用户每日签到获得固定积分。进入积分商城查看总积分与可兑商品/优惠券。积分充足直接兑换,积分不足积分+补差价兑换。提交兑换订单后平台审核/配送。", "首页、积分商城", "积分商城页、兑换订单页", "每日签到 → 积分累积 → 兑换商品/优惠券"),
(5, "佣金结算与提现流程", "下级完成订单并过售后期后佣金结算至可提现佣金。会员进入会员中心查看可提现金额发起提现至绑定微信遵守200元起/单日上限2000元规则。后台审核提现申请审核通过资金到账用户微信。", "会员中心、财务", "会员中心、提现申请页", "订单完成 → 佣金结算 → 申请提现 → 后台审核"),
(6, "活动报名流程", "用户在首页查看活动列表(名称、时间、人数限制),选择活动填写后台设置的必填信息(尺码等),提交报名后可在我的服务查看/取消报名。", "首页、我的-我的活动", "活动列表页、报名表单页", "查看活动 → 填写信息 → 提交报名 → 查看/取消"),
(7, "穿线预约流程", "用户进入穿线预约查看门店列表(名称、地址、距离、营业时间),支持按门店名称搜索。点击地址跳转地图,点击电话直接拨号。选择门店提交预约生成预约订单,后台按门店查询预约订单进行核销服务。", "首页、预约管理", "门店列表页、预约订单页", "查看门店 → 选择预约 → 生成订单 → 门店核销"),
(8, "优惠券领取与使用流程", "用户从首页进入领券中心领取优惠券(满减/无门槛/折扣),在我的优惠券查看未使用/已使用/已过期。下单时自动匹配可用券抵扣金额。后台可定向发券给会员/非会员/指定用户并记录使用与核销信息。", "首页、营销、订单", "领券中心、我的优惠券、订单页", "领取优惠券 → 下单匹配 → 抵扣金额 → 核销记录"),
(9, "后台管理核心流程", "包含商品与订单管理(商品添加/上下架/规格/佣金,订单状态处理)、会员与分销管理(会员信息/价格/权限,下级关系与佣金跟踪)、活动与预约管理(创建活动/查看名单/处理预约)、营销与内容配置(轮播图/公告/积分/优惠券/积分商城)、财务与数据统计(按日期统计/导出/审核提现/查询记录)、系统权限管理(后台用户/角色权限/门店管理)等六大模块。", "所有后台模块", "各后台管理页面", "全链路业务支撑"),
]
for i, row_data in enumerate(flow_data):
row = 5 + i
for col_idx, val in enumerate(row_data, 2):
cell = ws_flow.cell(row=row, column=col_idx, value=val)
cell.font = normal_font
cell.border = thin_border
cell.alignment = Alignment(horizontal='left', vertical='center', wrap_text=True)
ws_flow.row_dimensions[row].height = 60
# 列宽
flow_widths = [4, 20, 60, 20, 16, 28]
for i, w in enumerate(flow_widths, 2):
ws_flow.column_dimensions[get_column_letter(i)].width = w
# ====== Sheet 5: 开发里程碑 ======
ws_mile = wb.create_sheet("开发里程碑")
ws_mile.sheet_view.showGridLines = False
ws_mile['B2'] = "开发里程碑计划"
ws_mile['B2'].font = Font(size=16, bold=True, color="1F4E79")
mile_headers = ["阶段", "里程碑名称", "主要交付物", "包含模块", "预计周期", "开始日期", "结束日期", "状态"]
for col_idx, h in enumerate(mile_headers, 2):
cell = ws_mile.cell(row=4, column=col_idx, value=h)
cell.fill = header_fill
cell.font = white_font
cell.alignment = Alignment(horizontal='center', vertical='center')
cell.border = thin_border
ws_mile.row_dimensions[4].height = 24
mile_data = [
("Phase 1", "基础架构搭建", "完成项目框架搭建、数据库设计、API接口定义", "整体架构", "2周", "Day 1", "Day 14", "待启动"),
("Phase 2", "用户端核心功能", "登录注册、首页框架、商城基础功能", "登录注册、首页、商城", "3周", "Day 15", "Day 35", "待启动"),
("Phase 3", "交易核心功能", "购物车、订单流程、支付集成", "购物车、订单、支付", "2周", "Day 36", "Day 49", "待启动"),
("Phase 4", "会员与分销系统", "会员中心、佣金体系、提现功能", "会员中心、财务", "2周", "Day 50", "Day 63", "待启动"),
("Phase 5", "营销与活动", "优惠券、积分商城、活动报名", "营销、比赛活动", "2周", "Day 64", "Day 77", "待启动"),
("Phase 6", "后台管理端", "商品管理、订单管理、会员管理、财务统计", "后台所有模块", "3周", "Day 78", "Day 98", "待启动"),
("Phase 7", "系统集成测试", "全链路测试、Bug修复、性能优化", "全部模块", "2周", "Day 99", "Day 112", "待启动"),
("Phase 8", "上线部署", "生产环境部署、数据迁移、上线文档", "全部模块", "1周", "Day 113", "Day 119", "待启动"),
]
for i, row_data in enumerate(mile_data):
row = 5 + i
for col_idx, val in enumerate(row_data, 2):
cell = ws_mile.cell(row=row, column=col_idx, value=val)
cell.font = normal_font
cell.border = thin_border
cell.alignment = Alignment(horizontal='center', vertical='center', wrap_text=True)
if col_idx == 8: # 状态列
cell.fill = p3_fill
cell.font = Font(color="FFFFFF", bold=True, size=10)
ws_mile.row_dimensions[row].height = 30
# 列宽
mile_widths = [8, 18, 30, 24, 10, 10, 10, 10]
for i, w in enumerate(mile_widths, 2):
ws_mile.column_dimensions[get_column_letter(i)].width = w
# 保存
output_path = "/Users/gxwebsoft/JAVA/paopao-java/docs/output/paopao开发计划表.xlsx"
wb.save(output_path)
print(f"✅ 开发计划表已生成: {output_path}")

Binary file not shown.

124
docs/功能明细.md Normal file
View File

@@ -0,0 +1,124 @@
# 系统功能明细(用户端小程序 + 后台管理Web端
## 一、用户端(小程序端)
### 登录/注册
| 功能名称 | 需求效果 |
| ---- | ---- |
| 手机短信验证码登录/注册 | 可通过手机短信验证方式注册,修改密码 |
| 微信授权登录/注册 | 可直接通过微信账号注册进入小程序 |
| 隐私/政策协议 | 可自由上传修改文案内容 |
### 首页
| 功能名称 | 需求效果 |
| ---- | ---- |
| LOGO+小程序名称 | 可自由修改 |
| 搜索 | 关键字搜索:可通过搜索栏搜索关键字查找到商城内相应商品(模糊查询) |
| 消息 | 系统通知:所有小程序内订单状态变化及支付记录,佣金收入等通知 |
| 轮播图 | 自定义替换图片:可自由设置图片尺寸规格 |
| 精选商城 | “精选商城”同“商城”内容 |
| 活动报名 | 活动列表:展示活动名称,活动时间等概要信息,如对应的信息过长时可自动换行,把重要信息展示完全 |
| 穿线预约 | 1. 显示门店名称、地址、营业时间距离2. 点击定位可跳转到地图显示3. 点击电话可直接拨打4. 门店名称查找 |
| 积分商城 | 1. 显示总积分可积分兑换的商品、查询兑换订单进度2. 可兑实物或优惠券(积分不足时可补差价) |
| 热销商品 | 展示购买率高的商品列表 |
| 会员登录 | 1. 点击自动跳转到会员中心页面2. 点商品内的会员价也会跳转到会员登录注册界面 |
| 热门活动 | 后台设置 |
| 领券中心 | - |
| 积分签到 | 每天签到固定可获取X积分 |
### 会员中心
| 功能名称 | 需求效果 |
| ---- | ---- |
| 购买会员 | 1. 会员升级成为会员即可获得推广的权益会员在进行推广时会员需线下收取下级的会员费298元再由会员帮自己下级录入注册信息手机号如录错需要修改则需经过平台客服支付198元的注册费之后自己下级在平台注册登录时通过判断手机号匹配身份匹配成功下级即成为平台会员2. 会员权益包:成为会员后,可在平台申请兑换权益包,再由平台进行配送 |
| 分佣 | 自己下级在平台产生消费,会员可获得相应比例的分佣(必须保持会员身份才能持续获得) |
| 分佣结算 | 订单完成货款到账后(过了售后期),佣金才能结算到上级的佣金账户 |
| 可提现佣金 | 1. 用户可申请提现至会员手机号绑定的微信2. 可对返佣金时间可以进行设置提现上限进行设置3. 温馨提示单次提现200以下每天不超过2000元 |
### 商城
| 功能名称 | 需求效果 |
| ---- | ---- |
| 搜索 | 可通过搜索栏搜索关键字查找到商城内相应商品(模糊查询) |
| 商品分类 | 三级分类 |
| 商品详情 | 商品主图/视频 |
### 购物车
| 功能名称 | 需求效果 |
| ---- | ---- |
| 商品列表 | - |
| 管理 | 删除选购商品 |
| 下单 | 多选商品,下单支付,同一个订单中,只收取一笔快递费(可设置多种模板) |
### 我的
| 功能名称 | 需求效果 |
| ---- | ---- |
| 头像昵称 | - |
| 消息 | 系统通知、公告消息 |
| 设置 | 1. 点头像设置头像、昵称、性别、手机号、显示ID、注册时间2. 点设置:服务协议、隐私政策、版权信息、关于我们 |
| 会员 | 会员等级 |
| 我的钱包 | 余额充值 |
| 积分 | 我的积分 |
| 优惠券 | 1. 已使用、未使用、已过期2. 显示所有已领取优惠券(可指定发放用户) |
| 我的订单 | 在全部订单列表,订单支付:待支付,待发货,待收货,商品评价、申请售后(可部分退款) |
| 我的服务 | 我的活动:已报名活动,取消报名 |
| 分销推广 | 我的邀请人 |
| 门店登录 | 根据用户账号权限判断 |
---
## 二、后台管理端Web端
### 首页
| 功能名称 | 需求效果 |
| ---- | ---- |
| 统计 | 普通会员人数 |
| 趋势图 | 注册人数、会员人数趋势 |
### 会员管理
| 功能名称 | 需求效果 |
| ---- | ---- |
| 会员列表 | 普通会员:登录注册的用户信息,手机号、昵称、余额、积分等 |
| 会员权限 | VIP会员开通价格、会员时间、享受权限等 |
### 商城
| 功能名称 | 需求效果 |
| ---- | ---- |
| 商品管理 | 1. 商品添加、上下架、商品规格设置如服装码数颜色等商品参数2. 能实现线上导出导入数据,实现批量修改导入数据 |
| 商品设置 | 商品单独设置分销佣金 |
| 订单管理 | 商品订单:待支付,待发货,待收货,商品评价,退款/售后 |
| 商品品牌 | - |
| 商品类型 | 三级分类 |
### 比赛活动
| 功能名称 | 需求效果 |
| ---- | ---- |
| 活动列表 | 1. 添加比赛信息限制报名人数可设置热门2. 后台可自定义参赛人员需填信息的必填项3. 衣服尺码改为后台自由设置尺码规格4. 限制报名人数或者队伍数 |
| 预约报名 | 活动报名人员 |
### 预约管理
| 功能名称 | 需求效果 |
| ---- | ---- |
| 预约订单 | 用户预约穿线订单,分门店查询 |
### 营销
| 功能名称 | 需求效果 |
| ---- | ---- |
| 优惠券 | 1. 场地使用券、无门槛、满减券、折扣券2. 可设置优惠券指定发放给:会员或者非会员、单独某个账户 |
| 使用记录 | 优惠券使用记录,核销门店等信息 |
| 积分抵扣 | 积分抵扣设置 |
| 积分商城 | 使用积分兑换商品 |
| 轮播图 | 广告图替换 |
| 系统公告 | 发布系统公告通知 |
### 系统管理
| 功能名称 | 需求效果 |
| ---- | ---- |
| 用户管理 | 添加系统用户账户 |
| 角色管理 | 用户角色权限设置 |
| 门店管理 | 添加门店信息、账号、密码 |
### 财务
| 功能名称 | 需求效果 |
| ---- | ---- |
| 账务概况 | 订单、会员、分销分别进行数据统计,可按日期查询,可导出表格 |
| 充值记录 | 查询所有充值记录,可按账号、日期查询,可导出表格 |
| 资金记录 | 查询所有账号资金账单,可按账号、日期查询,可导出表格 |
| 积分记录 | 查询所有账号积分情况,可按账号、日期查询,可导出表格 |
| 佣金提现 | 审核所有佣金提现 |
| 佣金记录 | 所有佣金账单,可按账号、日期查询,可导出表格 |

View File

@@ -0,0 +1,193 @@
# 数据库设计对比分析报告
## 📋 分析时间
2026-05-08
## 📊 对比结果概览
| 项目 | 原始版本 | 新版本(v2) | 变化 |
|------|---------|-----------|------|
| 表数量 | 32张 | 36张 | +4张 |
| 新增表 | - | 4张 | ✅ |
| 调整字段 | 3处 | - | ✅ |
---
## ✅ 已匹配的功能模块32项
| 功能模块 | 对应表 | 状态 |
|---------|--------|------|
| 用户登录注册 | `app_user` | ✅ 完整 |
| 会员等级管理 | `app_member_level` | ✅ 完整 |
| 会员购买记录 | `app_user_member_order` | ✅ 完整 |
| 商品分类(三级) | `app_product_category` | ✅ 完整 |
| 商品品牌 | `app_product_brand` | ✅ 完整 |
| 商品规格 | `app_product_spec` + `app_product_spec_value` | ✅ 完整 |
| 商品主表 | `app_product` | ✅ 完整 |
| 商品SKU | `app_product_sku` | ✅ 完整 |
| 购物车 | `app_cart` | ✅ 完整 |
| 订单 | `app_order` | ✅ 完整 |
| 订单商品 | `app_order_item` | ✅ 完整 |
| 退款/售后 | `app_order_refund` | ✅ 完整 |
| 积分记录 | `app_points_record` | ✅ 完整 |
| 签到记录 | `app_signin_record` | ✅ 完整 |
| 优惠券 | `app_coupon` | ✅ 完整 |
| 用户优惠券 | `app_user_coupon` | ✅ 完整 |
| 积分兑换商品 | `app_points_product` | ✅ 完整 |
| 积分兑换订单 | `app_points_order` | ✅ 完整 |
| 分销关系 | `app_distribution_relation` | ✅ 完整 |
| 佣金记录 | `app_commission_record` | ✅ 完整 |
| 佣金提现 | `app_commission_withdraw` | ✅ 完整 |
| 活动 | `app_activity` | ✅ 完整 |
| 活动报名 | `app_activity_signup` | ✅ 完整 |
| 门店 | `app_store` | ✅ 完整 |
| 穿线预约 | `app_stringing_appointment` | ✅ 完整 |
| 轮播图 | `app_banner` | ✅ 完整 |
| 文章/公告 | `app_article` | ✅ 完整 |
| 后台管理员 | `app_admin_user` | ✅ 完整 |
| 角色权限 | `app_role` | ✅ 完整 |
| 余额充值 | `app_recharge_record` | ✅ 完整 |
| 资金流水 | `app_fund_flow` | ✅ 完整 |
| 积分配置 | `app_points_config` | ✅ 完整 |
| 签到配置 | `app_signin_config` | ✅ 完整 |
| 系统配置 | `app_system_config` | ✅ 完整 |
| 消息通知 | `app_notification` | ✅ 完整 |
| 文件上传 | `app_file_upload` | ✅ 完整 |
| 用户地址 | `app_user_address` | ✅ 完整 |
| 订单支付 | `app_order_payment` | ✅ 完整 |
---
## 🆕 新增表4张
### 1. 会员推广下级记录表
**表名**: `app_member_subordinate`
**用途**: 会员录入下级手机号记录(核心业务流程:会员开通与推广下级流程)
**关键字段**:
- `member_id` - 会员ID(上级)
- `sub_phone` - 下级手机号
- `sub_user_id` - 下级用户ID(注册后填充)
- `member_fee` - 收取的下级会员费(298元)
- `fee_paid` - 会员费是否已收
- `register_status` - 注册状态
### 2. 优惠券指定用户表
**表名**: `app_coupon_specified_user`
**用途**: 后台定向发放优惠券给指定用户
**关键字段**:
- `coupon_id` - 优惠券ID
- `user_id` - 指定用户ID
- `status` - 发送状态
### 3. 协议内容表
**表名**: `app_agreement`
**用途**: 隐私政策、服务协议等协议内容管理
**关键字段**:
- `agreement_key` - 协议标识(privacy/service/copyright/about)
- `agreement_name` - 协议名称
- `title` - 前端显示标题
- `content` - 协议正文
- `version` - 版本号
- `is_required` - 是否必读
### 4. (订单表新增字段)
**表名**: `app_order`
**新增字段**:
- `aftersale_end_time` - 售后期结束时间(支持佣金结算)
---
## 🔧 调整字段
### 1. 用户表 `app_user`
| 字段名 | 调整内容 | 原因 |
|-------|---------|------|
| 新增 `display_id` | 用户专属推广码 | 分销推广功能需要显示ID |
### 2. 会员等级表 `app_member_level`
| 字段名 | 调整内容 | 原因 |
|-------|---------|------|
| 新增 `member_fee` | 下级会员费 | 会员收取下级的298元费用 |
### 3. 活动表 `app_activity`
| 字段名 | 调整内容 | 原因 |
|-------|---------|------|
| 新增 `max_teams` | 最大报名队伍数 | 支持限制队伍数 |
### 4. 用户优惠券表 `app_user_coupon`
| 字段名 | 调整内容 | 原因 |
|-------|---------|------|
| 新增 `receive_type` | 领取方式 | 区分主动领取/后台发放/活动奖励 |
### 5. 佣金提现表 `app_commission_withdraw`
| 字段名 | 调整内容 | 原因 |
|-------|---------|------|
| 调整 `single_limit` 注释 | 单次提现限额(最低) | 200元起提 |
---
## 📌 与开发计划的完整映射
### 小程序端功能 → 数据库表
| 功能 | 数据库表 | 备注 |
|-----|---------|------|
| 手机短信登录 | `app_user.phone` | ✅ |
| 微信授权登录 | `app_user.openid/unionid` | ✅ |
| 隐私政策协议 | `app_agreement` | 🆕新增 |
| LOGO/名称 | `app_system_config` | ✅ |
| 搜索商品 | `app_product` | ✅ |
| 消息通知 | `app_notification` | ✅ |
| 轮播图 | `app_banner` | ✅ |
| 活动报名 | `app_activity` + `app_activity_signup` | ✅ |
| 穿线预约 | `app_store` + `app_stringing_appointment` | ✅ |
| 积分商城 | `app_points_product` | ✅ |
| 积分签到 | `app_signin_record` | ✅ |
| 会员升级 | `app_member_level` + `app_user_member_order` | ✅ |
| 分佣查看 | `app_commission_record` | ✅ |
| 佣金提现 | `app_commission_withdraw` | ✅ |
| 商城/分类 | `app_product` + `app_product_category` | ✅ |
| 购物车 | `app_cart` | ✅ |
| 我的订单 | `app_order` + `app_order_item` | ✅ |
| 优惠券 | `app_user_coupon` | ✅ |
### 后台管理端功能 → 数据库表
| 功能 | 数据库表 | 备注 |
|-----|---------|------|
| 会员列表 | `app_user` + `app_member_level` | ✅ |
| 商品管理 | `app_product` | ✅ |
| 商品规格 | `app_product_spec` | ✅ |
| 批量导入导出 | 业务逻辑层实现 | ✅ |
| 订单管理 | `app_order` | ✅ |
| 退款/售后 | `app_order_refund` | ✅ |
| 优惠券管理 | `app_coupon` | ✅ |
| 定向发券 | `app_coupon_specified_user` | 🆕新增 |
| 积分抵扣设置 | `app_points_config` | ✅ |
| 积分商城管理 | `app_points_product` | ✅ |
| 轮播图管理 | `app_banner` | ✅ |
| 系统公告 | `app_article` | ✅ |
| 用户管理 | `app_admin_user` | ✅ |
| 角色权限 | `app_role` | ✅ |
| 门店管理 | `app_store` | ✅ |
| 账务概况 | `app_fund_flow` + `app_recharge_record` | ✅ |
| 佣金提现审核 | `app_commission_withdraw` | ✅ |
| 佣金记录 | `app_commission_record` | ✅ |
| 积分记录 | `app_points_record` | ✅ |
---
## ✅ 结论
**数据库设计与开发计划完全匹配!**
- 新版本 SQL 文件:`/Users/gxwebsoft/JAVA/paopao-java/docs/db_paopao_v2.sql`
- 包含 36 张数据表,覆盖所有功能需求
- 支持 9 大核心业务流程
- 包含初始化数据(默认协议、系统配置)
### 建表执行命令
```bash
# 连接数据库执行
mysql -h 47.119.165.234 -P 13308 -u root -p db_paopao < db_paopao_v2.sql
```

View File

@@ -0,0 +1,93 @@
# 核心业务流程整理
## 一、用户注册与登录流程
1. 用户进入小程序,选择**短信验证码登录/注册**或**微信授权登录**
2. 阅读并同意**隐私政策/服务协议**
3. 验证通过→进入小程序首页
4. 需修改密码→通过短信验证码重置
5. 会员身份校验→手机号匹配后激活会员权限
---
## 二、会员开通与推广下级流程
1. 用户购买会员→支付**198元注册费**
2. 会员获得推广权限,线下收取下级**298元会员费**
3. 会员在平台为下级录入手机号(录错需平台客服修改)
4. 下级用该手机号登录→系统自动匹配身份→成为该会员的下级
5. 会员保持身份有效→持续获得下级消费分佣
---
## 三、商品购物与支付流程
1. 首页/商城搜索/分类查找商品
2. 查看商品详情(主图/视频/规格)→加入购物车
3. 购物车勾选商品→统一结算(同一订单仅收一笔运费)
4. 选择支付方式→完成支付→生成待发货订单
5. 商家发货→用户收货→订单完成→进入售后期
6. 售后期结束→货款到账→佣金自动结算到上级账户
---
## 四、积分商城与积分使用流程
1. 用户每日签到获得固定积分
2. 进入积分商城→查看总积分与可兑商品/优惠券
3. 积分充足→直接兑换;积分不足→积分+补差价兑换
4. 提交兑换订单→平台审核/配送→查看兑换进度
---
## 五、佣金结算与提现流程
1. 下级完成订单并过售后期→佣金结算至可提现佣金
2. 会员进入会员中心→查看可提现金额
3. 发起提现→提现至绑定微信(遵守**200元起/单日上限2000元**规则)
4. 后台审核提现申请→审核通过→资金到账用户微信
---
## 六、活动报名流程
1. 首页查看活动列表(名称、时间、人数限制)
2. 选择活动→填写后台设置的必填信息(尺码等)
3. 提交报名→报名成功→可在“我的服务”查看/取消报名
---
## 七、穿线预约流程
1. 进入穿线预约→查看门店列表(名称、地址、距离、营业时间)
2. 支持按门店名称搜索
3. 点击地址→跳转地图;点击电话→直接拨号
4. 选择门店→提交预约→生成预约订单
5. 后台按门店查询预约订单→门店核销服务
---
## 八、优惠券领取与使用流程
1. 首页进入领券中心领取优惠券(满减/无门槛/折扣)
2. 我的优惠券→查看未使用/已使用/已过期
3. 下单时自动匹配可用券→抵扣金额
4. 后台可定向发券给会员/非会员/指定用户→记录使用与核销信息
---
## 九、后台管理核心流程
### 1. 商品与订单管理
- 商品添加/上下架/设置规格/佣金→批量导入导出数据
- 订单状态处理(待支付/待发货/待收货/售后退款)
### 2. 会员与分销管理
- 查看普通会员/VIP会员信息→设置会员价格与权限
- 统计会员发展下级关系→跟踪下级消费与上级佣金
### 3. 活动与预约管理
- 创建比赛活动→设置报名人数/必填项/尺码规格
- 查看活动报名名单→处理穿线预约订单
### 4. 营销与内容配置
- 配置轮播图/首页名称/LOGO→发布系统公告
- 设置积分抵扣/优惠券规则→积分商城商品上下架
### 5. 财务与数据统计
- 按日期统计订单/会员/分销数据→导出表格
- 审核佣金提现→查询充值/资金/积分/佣金记录
### 6. 系统权限管理
- 添加后台用户→设置角色权限
- 管理门店信息与账号→分配门店操作权限