# td_PetShop **Repository Path**: jsd2406-jn-champion/jsd2406_demo ## Basic Information - **Project Name**: td_PetShop - **Description**: JSD2406-第一次项目峰会 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-08-31 - **Last Updated**: 2024-10-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, SpringBoot, Vue ## README # 宠物商城开发文档 # 一、项目说明 ## 1.1 开发背景 随着人们生活水平的提高和生活方式的变化,越来越多的人选择饲养宠物作为生活的一部分,宠物已经成为了许多家庭不可或缺的家庭成员。然而,随着宠物数量的增长,宠物相关的服务需求也日益增加。无论是日常的宠物用品购买,还是特殊情况下的寄养需求,亦或是寻找合适的收养途径,都成为宠物主人关心的重要问题。 为了更好地满足宠物主人的需求,提供一站式的服务体验,我们决定开发一款集宠物寄养收养、用户管理、商品管理、宠物管理、订单管理及购物车、地址管理等功能于一体的综合性平台。该平台旨在通过先进的Java技术栈构建高效稳定的后端系统,并配合易用的前端界面,为用户提供便捷的服务。 本项目将采用模块化的设计理念,保证系统的灵活性和扩展性。寄养收养功能可以帮助宠物主人在出行时找到可靠的寄养服务,同时也能帮助流浪宠物找到新的家;用户管理系统可以维护用户的个人信息,保障用户数据的安全;商品管理与订单管理则可以让用户轻松选购所需的商品,并跟踪订单状态;购物车功能允许用户暂时保存商品以便后续购买;地址管理则方便用户在下单时选择送货地址。 通过这个平台,我们将致力于提升宠物及其主人的生活质量,同时也为那些需要帮助的宠物提供更多的关爱和支持。这不仅是一个商业项目,更是一个充满爱心的社会责任行动。 ## 1.2 项目利益相关者 - 宠物主人:作为直接用户,他们希望通过该平台方便地管理自己的宠物信息,购买宠物用品,预约寄养服务,以及在必要时为宠物寻找收养家庭。宠物主人对平台的可用性和服务质量有着较高的要求。 - 寄养服务提供商:这部分用户包括专业的宠物寄养机构和个人寄养者,他们希望利用平台来展示自己的服务,吸引更多的客户。寄养服务提供商关注的是平台能否带来充足的客源以及良好的服务评价体系。 - 宠物用品供应商:供应商希望借助平台扩大销售渠道,提高销售额。他们关心的是商品上架流程是否简便,销售数据是否透明,以及平台提供的营销工具是否有效。 - 收养者/救助组织:对于希望收养宠物的个人或救助组织来说,平台应该提供一个安全可靠的环境来寻找合适的收养对象。收养者期待平台能够提供详尽的宠物信息,以及完善的收养流程指导。 - 平台运营团队:负责平台的整体运营,包括技术维护、客户服务、市场推广等。他们需要确保平台稳定运行,及时解决用户反馈的问题,并持续优化用户体验。 - 第三方支付服务:为平台提供安全便捷的支付解决方案,确保交易过程中的资金安全。支付服务方关心的是平台能否遵守支付行业的合规要求,以及是否有足够的交易量支撑其服务价值。 - 广告商:希望在平台上投放广告,以吸引目标用户群体,提升品牌知名度。 ## 1.3 项目目标 本项目旨在开发一个基于Java技术的宠物综合服务平台,该平台将以小程序的形式呈现给用户,并辅以强大的后台管理系统支持。我们的首要目标是创建一个最小可行产品(Minimum Viable Product, MVP),该版本应具备以下核心功能: 1. 用户管理:用户注册、登录、个人信息维护功能。用户能够创建账户,并能够更新个人信息,如联系方式、偏好设置等。 2. 宠物管理:用户能够添加、编辑和删除宠物的信息,包括宠物的照片、品种、年龄等基本信息。 3. 寄养收养功能:用户可以发布寄养需求或提供寄养服务,也可以发布宠物领养信息或申请领养。平台需要提供审核机制,确保信息的真实性和安全性。 4. 商品管理:管理员能够上架、下架宠物用品,用户可以浏览商品信息,查看商品详情。 5. 购物车功能:用户能够将心仪的商品加入购物车,便于批量结算。 6. 订单管理:用户能够创建订单,跟踪订单状态,包括待支付、已支付、待发货、已发货、已完成等状态。 7. 地址管理:用户可以管理自己的收货地址,添加新的地址或修改已有地址。 在MVP阶段,我们将着重于确保上述功能的完整性和稳定性,为用户提供流畅的操作体验。此外,还将建立基本的数据统计和分析功能,为后续的产品迭代提供数据支持。通过不断收集用户反馈,逐步完善和丰富功能,最终实现一个全面覆盖宠物生活服务需求的一站式平台。 ## 1.4 业务需求 需要解决的业务问题: 1. 用户认证与权限管理:确保只有合法用户才能访问平台并进行操作。 2. 宠物信息管理:让用户能够方便地录入和管理宠物的相关信息,包括但不限于宠物的基本资料、健康状况等。 3. 寄养与收养服务:提供一个安全可靠的平台,让用户可以发布寄养需求或提供寄养服务,以及发布和申请宠物收养。 4. 商品管理与销售:为宠物用品供应商提供一个有效的渠道,让用户能够方便地浏览、购买宠物用品。 5. 订单跟踪与处理:使用户能够追踪订单的状态,从下单到收货的整个流程。 6. 购物车功能:允许用户临时存储想要购买的商品,方便批量结算。 7. 地址管理:简化用户的收货地址输入流程,并确保配送信息的准确性。 8. 社交功能:鼓励用户之间的互动交流,分享宠物护理经验和心得。 9. 教育内容:提供宠物护理知识、训练技巧等内容,帮助用户更好地照顾宠物。 需要创建的主要模块: 1. 用户管理模块: - 用户注册与登录 - 用户资料管理 - 用户权限分配与管理 - 忘记密码功能,支持通过邮箱或手机验证找回密码 - 账号安全设置:用户可以设置安全问题,绑定邮箱或手机号码,增强账号安全性 2. 宠物管理模块: - 宠物档案创建与维护 - 宠物健康记录管理 - 宠物照片上传与管理 3. 寄养收养模块: - 寄养信息发布与查询 - 收养信息发布与申请 - 寄养/收养请求审核与确认 - 评价系统:用户可以对寄养服务或收养经历进行评价 4. 商品管理模块: - 商品分类与上架 - 商品库存管理 - 商品价格与促销活动管理 - 商品评论与评分功能 5. 订单管理模块: - 订单生成与处理 - 订单状态跟踪 - 发货与退货管理 6. 购物车模块: - 商品添加与移除 - 购物车结算 7. 地址管理模块: - 地址录入与编辑 - 默认地址设置 8. 支付接口集成: - 第三方支付服务集成 - 支付状态同步 9. 消息通知模块: - 系统消息推送 - 重要事件提醒(如订单状态变更、寄养申请确认等) 10. 后台管理模块: - 数据统计与报表生成 - 用户行为分析 - 系统配置与监控 ## 1.5 用户需求 用户对项目的期望: 1. 便捷性:用户希望能够通过简单的操作完成宠物寄养、收养、购买宠物用品等一系列任务,无需复杂的步骤即可达到目的。 2. 安全性:用户期望平台能提供一个安全可靠的环境,确保个人信息、支付信息及宠物信息的安全。 3. 可靠性:用户希望平台提供的寄养服务和商品信息真实可靠,寄养服务提供者资质良好,商品质量有保障。 4. 个性化:用户希望能够根据自己的需求定制服务,比如设置默认地址、保存购物偏好等。 5. 及时性:用户期待订单处理、寄养请求等操作能够及时响应,避免延误。 6. 互动性:用户希望能够与平台或其他用户进行互动交流,如评论商品、分享经验等。 用户需要的功能和服务: 1. 用户管理: - 用户注册与登录功能,支持多种方式登录(如邮箱、手机号码)。 - 用户资料管理,包括个人信息编辑、密码修改等。 - 忘记密码功能,支持通过邮箱或手机验证找回密码。 2. 宠物管理: - 宠物档案创建与维护,用户可以录入宠物的基本信息(如种类、性别、年龄、健康状况等)。 - 可以上传宠物照片,记录宠物的成长历程。 - 宠物健康记录管理,如疫苗接种记录、体检报告等。 3. 寄养收养功能: - 寄养信息发布与查询,用户可以发布寄养需求或提供寄养服务。 - 收养信息发布,用户可以发布宠物收养信息。 - 寄养/收养请求审核,确保信息的真实性,保护宠物与用户的权益。 - 用户可以评价寄养服务和收养经历。 4. 商品管理: - 商品分类浏览,用户可以根据类别查找商品。 - 商品详情页,展示商品图片、描述、价格等信息。 - 商品搜索功能,支持关键词搜索。 - 商品评论与评分功能,帮助其他用户做出更好的决策。 5. 订单管理: - 订单创建与管理,用户可以查看订单状态(如待支付、已支付、待发货、已发货等)。 - 订单支付,支持主流的在线支付方式。 - 订单取消,在一定时间内用户可以取消订单。 - 订单评价,用户可以对已完成的订单进行评价。 6. 购物车功能: - 用户可以将商品添加到购物车,便于批量结算。 - 购物车内的商品可以增删改查。 7. 地址管理: - 用户可以添加、编辑、删除收货地址。 - 设置默认收货地址,简化下单流程。 ## 1.6 详细功能需求 为了确保宠物小程序和后台管理系统能够满足用户和管理的需求,以下是详细的各项功能需求列表: 1. 用户管理模块: - 用户注册:用户可以通过邮箱或手机号码进行注册。 - 用户登录:支持多种登录方式(邮箱、手机号码),并进行身份验证。 - 忘记密码:提供重置密码功能,通过邮箱或手机验证码验证用户身份后重置密码。 - 个人信息管理:用户可以修改个人资料,如姓名、联系方式、头像等。 - 账号安全设置:用户可以设置安全问题,绑定邮箱或手机号码,增强账号安全性。 2. 宠物管理模块: - 宠物档案创建:用户可以添加宠物的基本信息,如名称、种类、性别、年龄、照片等。 - 宠物信息编辑:用户可以编辑已添加的宠物信息。 - 宠物健康记录:用户可以记录宠物的疫苗接种、体检情况等健康信息。 - 宠物照片上传:用户可以上传宠物的照片,并进行管理(删除、排序等)。 3. 寄养收养功能模块: - 寄养信息发布:用户可以发布寄养需求或提供寄养服务。 - 寄养请求管理:用户可以查看寄养请求,接受或拒绝寄养申请。 - 收养信息发布:用户可以发布宠物的收养信息。 - 收养请求管理:用户可以查看收养请求,接受或拒绝收养申请。 - 寄养/收养审核:后台管理员需要审核寄养和收养信息,确保信息的真实性。 - 评价系统:用户可以对寄养服务或收养经历进行评价。 4. 商品管理模块: - 商品分类:商品按照不同的类型进行分类展示。 - 商品详情:展示商品的详细信息,如名称、价格、规格、图片等。 - 商品搜索:用户可以通过关键词搜索商品。 - 商品筛选:支持按价格、销量等条件筛选商品。 - 商品收藏:用户可以收藏喜欢的商品。 - 所属商家:用户可以根据商品详情,进入商家主页了解更多信息。 5. 购物车功能模块: - 商品添加:用户可以将商品添加至购物车。 - 商品移除:用户可以从购物车中移除商品。 - 商品数量调整:用户可以在购物车内调整商品的数量。 - 购物车结算:用户可以一次性结算购物车内的商品。 6. 订单管理模块: - 订单生成:用户下单后生成订单。 - 订单状态跟踪:用户可以查看订单状态,如待支付、已支付、待发货、已发货、已完成等。 - 订单支付:用户可以选择支付方式进行支付。 - 订单取消:用户可以在一定时间内取消订单。 - 订单评价:用户可以对已完成的订单进行评价。 7. 地址管理模块: - 地址新增:用户可以新增收货地址。 - 地址编辑:用户可以编辑已有的收货地址。 - 地址删除:用户可以删除不再使用的收货地址。 - 默认地址设置:用户可以设置默认收货地址。 8. 后台管理模块: - 用户管理:后台可以查看所有用户信息,并进行管理。 - 商品管理:后台可以添加、编辑、删除商品信息。 - 订单管理:后台可以查看所有订单状态,并进行处理。 - 寄养/收养审核:后台可以审核寄养和收养信息。 - 数据分析:后台可以查看统计数据,如用户增长、订单数量、销售额等。 - 系统配置与监控:后台可以配置系统参数,监控系统运行状态。 # 二、数据库设计 ## 2.1 用户表 (user) ### 表结构 | 字段名 | 字段类型 | 字段描述 | |----------------|--------------------|------------------------| | id | bigint(20) | 用户id(自增) | | username | varchar(255) | 用户名称 | | password | varchar(255) | 用户密码 | | realname | varchar(255) | 真实姓名 | | avatar | text | 头像路径(可为空) | | role | char(1) | 角色标识(默认'1') | | created_time | datetime | 创建时间(可为空) | | update_time | datetime | 更新时间(可为空) | ### sql代码 ```sql DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户id', `username` varchar(255) NOT NULL COMMENT '用户名称', `password` varchar(255) NOT NULL COMMENT '用户密码', `realname` varchar(255) NOT NULL COMMENT '真实姓名', `avatar` text DEFAULT NULL COMMENT '头像路径', `role` char(1) NOT NULL DEFAULT '1' COMMENT '角色标识', `created_time` datetime DEFAULT NULL COMMENT '创建时间', `update_time` datetime DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; ``` ## 2.2 商家表 (business) ### 表结构 | 字段名 | 字段类型 | 字段描述 | |------------------|--------------------|------------------------| | id | bigint(20) | 商家id(自增) | | password | varchar(255) | 密码 | | phone | char(11) | 电话 | | realname | varchar(255) | 真实姓名 | | avatar | text | 头像路径(可为空) | | bname | varchar(255) | 商铺名称 | | license | text | 营业执照路径 | | address | varchar(255) | 商家地址 | | role | char(1) | 角色表示(默认'2') | | status | char(2) | 商铺状态 | | description | varchar(255) | 商家描述(可为空) | | created-time | datetime | 创建时间(可为空) | | update_time | datetime | 更新时间(可为空) | ### SQL代码 ```sql DROP TABLE IF EXISTS `business`; CREATE TABLE `business` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '商家id', `password` varchar(255) NOT NULL COMMENT '密码', `phone` char(11) NOT NULL COMMENT '电话', `realname` varchar(255) NOT NULL COMMENT '真实姓名', `avatar` text DEFAULT NULL COMMENT '头像路径', `bname` varchar(255) NOT NULL COMMENT '商铺名称', `license` text NOT NULL COMMENT '营业执照路径', `address` varchar(255) NOT NULL COMMENT '商家地址', `role` char(1) NOT NULL DEFAULT '2' COMMENT '角色表示', `status` char(2) NOT NULL COMMENT '商铺状态', `description` varchar(255) DEFAULT NULL COMMENT '商家描述', `created-time` datetime DEFAULT NULL COMMENT '创建时间', `update_time` datetime DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; ``` ## 2.3 admin表 (admin) ### 表结构 | 字段名 | 字段类型 | 字段描述 | |------------------|--------------------|------------------------| | id | bigint(20) | 管理员id | | username | varchar(255) | 管理员名称 | | password | varchar(255) | 密码 | | phone | char(11) | 手机 | | realname | varchar(255) | 真实姓名 | | avatar | text | 图形路径(可为空) | | role | varchar(10) | 角色标识 | | created_time | datetime | 创建时间(可为空) | | update_time | datetime | 更新时间(可为空) | ### SQL代码 ```sql DROP TABLE IF EXISTS `admin`; CREATE TABLE `admin` ( `id` bigint(20) NOT NULL COMMENT '管理员id', `username` varchar(255) NOT NULL COMMENT '管理员名称', `password` varchar(255) NOT NULL COMMENT '密码', `phone` char(11) NOT NULL COMMENT '手机', `realname` varchar(255) NOT NULL COMMENT '真实姓名', `avatar` text DEFAULT NULL COMMENT '图形路径', `role` varchar(10) NOT NULL COMMENT '角色标识', `created_time` datetime DEFAULT NULL COMMENT '创建时间', `update_time` datetime DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; ``` ## 2.4 商品表 (product) ### 表结构 | 字段名 | 字段类型 | 字段描述 | |------------------|--------------------|------------------------| | id | bigint(20) | 商品id | | sort_id | bigint(20) | 分类id | | name | varchar(255) | 商品名称 | | price | decimal(10,0) | 商品单价 | | unit | varchar(10) | 商品单位 | | stock | int(11) | 库存 | | description | varchar(255) | 商品描述(可为空) | | img_url | text | 商品图片路径(可为空) | | business_id | bigint(20) | 商家id | | created_time | datetime | 创建时间(可为空) | | update_time | datetime | 更新时间(可为空) | ### SQL代码 ```sql DROP TABLE IF EXISTS `product`; CREATE TABLE `product` ( `id` bigint(20) NOT NULL COMMENT '商品id', `sort_id` bigint(20) NOT NULL COMMENT '分类id', `name` varchar(255) NOT NULL COMMENT '商品名称', `price` decimal(10,0) NOT NULL COMMENT '商品单价', `unit` varchar(10) NOT NULL COMMENT '商品单位', `stock` int(11) NOT NULL COMMENT '库存', `description` varchar(255) DEFAULT NULL COMMENT '商品描述', `img_url` text DEFAULT NULL COMMENT '商品图片路径', `business_id` bigint(20) NOT NULL COMMENT '商家id', `created_time` datetime DEFAULT NULL COMMENT '创建时间', `update_time` datetime DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; ``` ## 2.5 商品分类表 (product_sort) ### 表结构 | 字段名 | 字段类型 | 字段描述 | |------------------|--------------------|------------------------| | id | bigint(20) | 分类id | | name | varchar(255) | 分类名称 | | icon_url | text | 分类图标(可为空) | ### SQL代码 ```sql DROP TABLE IF EXISTS `product_sort`; CREATE TABLE `product_sort` ( `id` bigint(20) NOT NULL COMMENT '分类id', `name` varchar(255) NOT NULL COMMENT '分类名称', `icon_url` text DEFAULT NULL COMMENT '分类图标', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; ``` ## 2.6 购物车表 (shopping_cart) ### 表结构 | 字段名 | 字段类型 | 字段描述 | |------------------|--------------------|------------------------| | id | bigint(20) | 购物车id | | user_id | bigint(20) | 用户id | | business_id | bigint(20) | 商家id | | product_id | bigint(20) | 商品id | | quantity | int(11) | 商品数量 | ### SQL代码 ```sql DROP TABLE IF EXISTS `shopping_cart`; CREATE TABLE `shopping_cart` ( `id` bigint(20) NOT NULL COMMENT '购物车id', `user_id` bigint(20) NOT NULL COMMENT '用户id', `business_id` bigint(20) NOT NULL COMMENT '商家id', `product_id` bigint(20) NOT NULL COMMENT '商品id', `quantity` int(11) NOT NULL COMMENT '商品数量', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; ``` ## 2.7 订单表 (order) ### 表结构 | 字段名 | 字段类型 | 字段描述 | |------------------|--------------------|------------------------| | id | bigint(20) | 订单id | | user_id | bigint(20) | 用户id | | amount | decimal(10,0) | 总价 | | status | varchar(10) | 订单状态 | | pay_mothod | varchar(50) | 支付方式(可为空) | | address | varchar(255) | 收件人地址 | | phone | char(11) | 收件人电话 | | name | varchar(255) | 收件人姓名 | | created_time | datetime | 创建时间(可为空) | | update_time | datetime | 更新时间(可为空) | ### SQL代码 ```sql DROP TABLE IF EXISTS `order`; CREATE TABLE `order` ( `id` bigint(20) NOT NULL COMMENT '订单id', `user_id` bigint(20) NOT NULL COMMENT '用户id', `amount` decimal(10,0) NOT NULL COMMENT '总价', `status` varchar(10) NOT NULL COMMENT '订单状态', `pay_mothod` varchar(50) DEFAULT NULL COMMENT '支付方式', `address` varchar(255) NOT NULL COMMENT '收件人地址', `phone` char(11) NOT NULL COMMENT '收件人电话', `name` varchar(255) NOT NULL COMMENT '收件人姓名', `created_time` datetime DEFAULT NULL COMMENT '创建时间', `update_time` datetime DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; ``` ## 2.8 订单项表 (order_item) ### 表结构 | 字段名 | 字段类型 | 字段描述 | |------------------|--------------------|------------------------| | id | bigint(20) | 订单项id | | order_id | bigint(20) | 订单id | | product_id | bigint(20) | 商品id | | business_id | bigint(20) | 商家id | | quantity | int(11) | 商品数量 | ### SQL代码 ```sql DROP TABLE IF EXISTS `order_item`; CREATE TABLE `order_item` ( `id` bigint(20) NOT NULL COMMENT '订单项id', `order_id` bigint(20) NOT NULL COMMENT '订单id', `product_id` bigint(20) NOT NULL COMMENT '商品id', `business_id` bigint(20) NOT NULL COMMENT '商家id', `quantity` int(11) NOT NULL COMMENT '商品数量', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; ``` ## 2.9 地址表 (address) ### 表结构 | 字段名 | 字段类型 | 字段描述 | |------------------|--------------------|------------------------| | id | bigint(20) | 地址id | | user_id | bigint(20) | 用户id | | name | varchar(255) | 收件人姓名 | | phone | char(11) | 收件人电话 | | address_detail | varchar(255) | 地址信息 | ### SQL代码 ```sql DROP TABLE IF EXISTS `address`; CREATE TABLE `address` ( `id` bigint(20) NOT NULL COMMENT '地址id', `user_id` bigint(20) NOT NULL COMMENT '用户id', `name` varchar(255) NOT NULL COMMENT '收件人姓名', `phone` char(11) NOT NULL COMMENT '收件人电话', `address_detail` varchar(255) NOT NULL COMMENT '地址信息', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; ``` ## 2.10 评论表 (comment) ### 表结构 | 字段名 | 字段类型 | 字段描述 | |------------------|--------------------|------------------------| | id | bigint(20) | 评价id | | user_id | bigint(20) | 用户id | | business_id | bigint(20) | 商家id | | product_id | bigint(20) | 商品id | | order_item_id | bigint(20) | 订单项id | | score | int(11) | 评价分数(可为空) | | comment | varchar(255) | 评论(可为空) | | created_time | datetime | 创建时间(可为空) | | update_time | datetime | 更新时间(可为空) | ### SQL代码 ```sql DROP TABLE IF EXISTS `comment`; CREATE TABLE `comment` ( `id` bigint(20) NOT NULL COMMENT '评价id', `user_id` bigint(20) NOT NULL COMMENT '用户id', `business_id` bigint(20) NOT NULL COMMENT '商家id', `product_id` bigint(20) NOT NULL COMMENT '商品id', `order_item_id` bigint(20) NOT NULL COMMENT '订单项id', `score` int(11) DEFAULT NULL COMMENT '评价分数', `comment` varchar(255) DEFAULT NULL COMMENT '评论', `created_time` datetime DEFAULT NULL COMMENT '创建时间', `update_time` datetime DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; ``` # 三、接口设计 ## 1. 用户相关接口 - **注册用户** - **请求方法**: POST - **路径**: `/users/register` - **请求参数**: ```json { "username": "string", "password": "string", "realname": "string", "avatar": "string" } ``` - **响应示例**: ```json { "status": "success", "message": "User registered successfully", "data": { "id": 1, "username": "string", "role": "1", "created_time": "2024-09-29T17:12:00Z" } } ``` - **用户登录** - **请求方法**: POST - **路径**: `/users/login` - **请求参数**: ```json { "username": "string", "password": "string" } ``` - **响应示例**: ```json { "status": "success", "message": "Login successful", "data": { "token": "jwt_token_string" } } ``` - **获取用户信息** - **请求方法**: GET - **路径**: `/users/{userId}` - **响应示例**: ```json { "status": "success", "data": { "id": 1, "username": "string", "realname": "string", "avatar": "string", "role": "1", "created_time": "2024-09-29T17:12:00Z", "update_time": "2024-09-29T17:12:00Z" } } ``` ## 2. 地址相关接口 - **添加地址** - **请求方法**: POST - **路径**: `/addresses` - **请求参数**: ```json { "user_id": 1, "name": "string", "phone": "12345678901", "address_detail": "string" } ``` - **响应示例**: ```json { "status": "success", "message": "Address added successfully", "data": { "id": 1, "user_id": 1, "name": "string", "phone": "12345678901", "address_detail": "string" } } ``` - **获取用户地址列表** - **请求方法**: GET - **路径**: `/addresses/user/{userId}` - **响应示例**: ```json { "status": "success", "data": [ { "id": 1, "user_id": 1, "name": "string", "phone": "12345678901", "address_detail": "string" }, ... ] } ``` ## 3. 商品相关接口 - **获取商品列表** - **请求方法**: GET - **路径**: `/products` - **查询参数**: - `sort_id` (可选): 分类ID - `page` (可选): 页码 - `limit` (可选): 每页数量 - **响应示例**: ```json { "status": "success", "data": [ { "id": 1, "sort_id": 1, "name": "string", "price": 100, "unit": "件", "stock": 10, "description": "string", "img_url": "string", "business_id": 1, "created_time": "2024-09-29T17:12:00Z", "update_time": "2024-09-29T17:12:00Z" }, ... ], "pagination": { "total": 100, "current_page": 1, "per_page": 10 } } ``` - **获取单个商品详情** - **请求方法**: GET - **路径**: `/products/{productId}` - **响应示例**: ```json { "status": "success", "data": { "id": 1, "sort_id": 1, "name": "string", "price": 100, "unit": "件", "stock": 10, "description": "string", "img_url": "string", "business_id": 1, "created_time": "2024-09-29T17:12:00Z", "update_time": "2024-09-29T17:12:00Z" } } ``` ## 4. 订单相关接口 - **创建订单** - **请求方法**: POST - **路径**: `/orders` - **请求参数**: ```json { "user_id": 1, "amount": 100, "status": "pending", "pay_mothod": "credit_card", "address": "string", "phone": "12345678901", "name": "string" } ``` - **响应示例**: ```json { "status": "success", "message": "Order created successfully", "data": { "id": 1, "user_id": 1, "amount": 100, "status": "pending", "pay_mothod": "credit_card", "address": "string", "phone": "12345678901", "name": "string", "created_time": "2024-09-29T17:12:00Z", "update_time": "2024-09-29T17:12:00Z" } } ``` - **获取用户订单列表** - **请求方法**: GET - **路径**: `/orders/user/{userId}` - **响应示例**: ```json { "status": "success", "data": [ { "id": 1, "user_id": 1, "amount": 100, "status": "pending", "pay_mothod": "credit_card", "address": "string", "phone": "12345678901", "name": "string", "created_time": "2024-09-29T17:12:00Z", "update_time": "2024-09-29T17:12:00Z" }, ... ] } ``` ## 5. 评价相关接口 - **提交评价** - **请求方法**: POST - **路径**: `/comments` - **请求参数**: ```json { "user_id": 1, "business_id": 1, "product_id": 1, "order_item_id": 1, "score": 5, "comment": "Great product!" } ``` - **响应示例**: ```json { "status": "success", "message": "Comment submitted successfully", "data": { "id": 1, "user_id": 1, "business_id": 1, "product_id": 1, "order_item_id": 1, "score": 5, "comment": "Great product!", "created_time": "2024-09-29T17:12:00Z", "update_time": "2024-09-29T17:12:00Z" } } ``` - **获取商品评价列表** - **请求方法**: GET - **路径**: `/comments/product/{productId}` - **响应示例**: ```json { "status": "success", "data": [ { "id": 1, "user_id": 1, "business_id": 1, "product_id": 1, "order_item_id": 1, "score": 5, "comment": "Great product!", "created_time": "2024-09-29T17:12:00Z", "update_time": "2024-09-29T17:12:00Z" }, ... ] } ``` ## 6. 购物车相关接口 - **添加商品到购物车** - **请求方法**: POST - **路径**: `/shopping_carts` - **请求参数**: ```json { "user_id": 1, "business_id": 1, "product_id": 1, "quantity": 1 } ``` - **响应示例**: ```json { "status": "success", "message": "Item added to cart successfully", "data": { "id": 1, "user_id": 1, "business_id": 1, "product_id": 1, "quantity": 1 } } ``` - **获取用户购物车列表** - **请求方法**: GET - **路径**: `/shopping_carts/user/{userId}` - **响应示例**: ```json { "status": "success", "data": [ { "id": 1, "user_id": 1, "business_id": 1, "product_id": 1, "quantity": 1 }, ... ] } ```