# product-review **Repository Path**: javaalpha/product-review ## Basic Information - **Project Name**: product-review - **Description**: 商品评价系统 基于SSM(Spring + Spring MVC + MyBatis)框架开发的商品评价系统,实现了用户管理、商品管理和评价管理等核心功能。 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-07-05 - **Last Updated**: 2025-07-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 商品评价系统 基于SSM(Spring + Spring MVC + MyBatis)框架开发的商品评价系统,实现了用户管理、商品管理和评价管理等核心功能。 ## 项目概述 本项目是一个完整的商品评价系统,包含以下主要功能: - **用户管理**:用户注册、登录、个人信息管理 - **商品管理**:商品的增删改查、分类管理、库存管理 - **评价管理**:商品评价、评分统计、评价审核 - **权限控制**:基于Session的用户认证和权限管理 ## 技术栈 ### 后端技术 - **Spring Framework 5.3.21**:IoC容器和依赖注入 - **Spring MVC 5.3.21**:Web层框架,处理HTTP请求 - **MyBatis 3.5.10**:持久层框架,数据库操作 - **MySQL 8.0**:关系型数据库 - **Maven 3.8+**:项目构建和依赖管理 - **Tomcat 9.0**:Web服务器 - **SLF4J + Logback**:日志框架 - **Jackson**:JSON序列化/反序列化 - **Druid**:数据库连接池 ### 前端技术 - **HTML5 + CSS3 + JavaScript**:基础前端技术 - **Bootstrap**:响应式UI框架 - **jQuery**:JavaScript库 - **Ajax**:异步数据交互 ## 项目结构 ``` product-review/ ├── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── example/ │ │ │ ├── common/ # 公共类 │ │ │ │ └── Result.java # 统一响应结果 │ │ │ ├── controller/ # 控制器层 │ │ │ │ ├── UserController.java │ │ │ │ ├── ProductController.java │ │ │ │ └── ReviewController.java │ │ │ ├── dao/ # 数据访问层 │ │ │ │ ├── UserDao.java │ │ │ │ ├── ProductDao.java │ │ │ │ └── ReviewDao.java │ │ │ ├── entity/ # 实体类 │ │ │ │ ├── User.java │ │ │ │ ├── Product.java │ │ │ │ └── Review.java │ │ │ ├── exception/ # 异常处理 │ │ │ │ └── GlobalExceptionHandler.java │ │ │ ├── interceptor/ # 拦截器 │ │ │ │ └── LoginInterceptor.java │ │ │ └── service/ # 服务层 │ │ │ ├── UserService.java │ │ │ ├── ProductService.java │ │ │ ├── ReviewService.java │ │ │ └── impl/ # 服务实现 │ │ │ ├── UserServiceImpl.java │ │ │ ├── ProductServiceImpl.java │ │ │ └── ReviewServiceImpl.java │ │ ├── resources/ │ │ │ ├── spring/ │ │ │ │ ├── spring-context.xml # Spring配置 │ │ │ │ └── spring-mvc.xml # Spring MVC配置 │ │ │ ├── mybatis/ │ │ │ │ ├── mybatis-config.xml # MyBatis配置 │ │ │ │ └── mapper/ # SQL映射文件 │ │ │ │ ├── UserMapper.xml │ │ │ │ ├── ProductMapper.xml │ │ │ │ └── ReviewMapper.xml │ │ │ ├── sql/ │ │ │ │ └── init.sql # 数据库初始化脚本 │ │ │ ├── db.properties # 数据库配置 │ │ │ └── logback.xml # 日志配置 │ │ └── webapp/ │ │ ├── WEB-INF/ │ │ │ └── web.xml # Web应用配置 │ │ └── static/ # 静态资源 │ └── test/ # 测试代码 └── pom.xml # Maven配置 ``` ## 数据库设计 ### 用户表 (user) - `id`:用户ID(主键) - `username`:用户名(唯一) - `password`:密码(MD5加密) - `email`:邮箱(唯一) - `phone`:手机号 - `real_name`:真实姓名 - `status`:状态(0-禁用,1-启用) - `create_time`:创建时间 - `update_time`:更新时间 ### 商品表 (product) - `id`:商品ID(主键) - `name`:商品名称 - `description`:商品描述 - `price`:商品价格 - `image_url`:商品图片URL - `category`:商品分类 - `stock`:库存数量 - `status`:状态(0-下架,1-上架) - `create_time`:创建时间 - `update_time`:更新时间 ### 评价表 (review) - `id`:评价ID(主键) - `user_id`:用户ID(外键) - `product_id`:商品ID(外键) - `rating`:评分(1-5星) - `content`:评价内容 - `status`:状态(0-待审核,1-已通过,2-已拒绝) - `create_time`:创建时间 - `update_time`:更新时间 ## 功能特性 ### 用户功能 - ✅ 用户注册和登录 - ✅ 个人信息管理 - ✅ 密码修改 - ✅ 商品浏览和搜索 - ✅ 商品评价和评分 - ✅ 个人评价管理 ### 管理员功能 - ✅ 用户管理(查看、禁用/启用、删除) - ✅ 商品管理(增删改查、上架/下架、库存管理) - ✅ 评价管理(查看、审核、删除) - ✅ 数据统计(用户数量、商品数量、评价统计) ### 系统功能 - ✅ 登录拦截器(权限控制) - ✅ 全局异常处理 - ✅ 统一响应格式 - ✅ 日志记录 - ✅ 数据库连接池 - ✅ 事务管理 ## 快速开始 ### 环境要求 - JDK 1.8+ - Maven 3.6+ - MySQL 8.0+ - Tomcat 9.0+ ### 安装步骤 1. **克隆项目** ```bash git clone cd product-review ``` 2. **创建数据库** ```sql -- 执行 src/main/resources/sql/init.sql 脚本 mysql -u root -p < src/main/resources/sql/init.sql ``` 3. **配置数据库连接** 编辑 `src/main/resources/db.properties` 文件: ```properties jdbc.driver=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/product_review?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai jdbc.username=your_username jdbc.password=your_password ``` 4. **编译项目** ```bash mvn clean compile ``` 5. **运行项目** ```bash mvn tomcat7:run # 或者打包后部署到Tomcat mvn clean package ``` 6. **访问应用** 打开浏览器访问:`http://localhost:8080/product-review` ### 默认账户 - **管理员账户** - 用户名:`admin` - 密码:`admin123` - **测试用户** - 用户名:`testuser1` - 密码:`123456` ## API接口 ### 用户相关接口 - `POST /user/register` - 用户注册 - `POST /user/login` - 用户登录 - `POST /user/logout` - 用户退出 - `GET /user/current` - 获取当前用户信息 - `GET /user/{id}` - 根据ID查询用户 - `GET /user/list` - 查询所有用户 - `GET /user/page` - 分页查询用户 - `PUT /user/update` - 更新用户信息 - `PUT /user/password` - 修改密码 - `DELETE /user/{id}` - 删除用户 ### 商品相关接口 - `POST /product/add` - 添加商品 - `GET /product/{id}` - 根据ID查询商品 - `GET /product/list` - 查询所有商品 - `GET /product/available` - 查询可用商品 - `GET /product/page` - 分页查询商品 - `GET /product/category/{category}` - 根据分类查询商品 - `GET /product/search` - 搜索商品 - `PUT /product/update` - 更新商品信息 - `PUT /product/status` - 更新商品状态 - `DELETE /product/{id}` - 删除商品 ### 评价相关接口 - `POST /review/add` - 添加评价 - `GET /review/{id}` - 根据ID查询评价 - `GET /review/list` - 查询所有评价 - `GET /review/product/{productId}` - 根据商品ID查询评价 - `GET /review/user/{userId}` - 根据用户ID查询评价 - `GET /review/page` - 分页查询评价 - `PUT /review/update` - 更新评价 - `PUT /review/audit` - 审核评价 - `DELETE /review/{id}` - 删除评价 ## 开发规范 ### 代码规范 - 遵循Java编码规范 - 使用驼峰命名法 - 添加必要的注释 - 合理的异常处理 ### 数据库规范 - 表名使用下划线命名 - 字段名使用下划线命名 - 必要的索引优化 - 外键约束 ### 接口规范 - RESTful API设计 - 统一的响应格式 - 合理的HTTP状态码 - 完善的错误处理 ## 部署说明 ### 开发环境部署 1. 使用Maven Tomcat插件:`mvn tomcat7:run` 2. 访问地址:`http://localhost:8080/product-review` ### 生产环境部署 1. 打包项目:`mvn clean package` 2. 将生成的war包部署到Tomcat服务器 3. 配置数据库连接 4. 启动Tomcat服务 ## 常见问题 ### Q: 数据库连接失败 A: 检查数据库配置文件 `db.properties` 中的连接信息是否正确 ### Q: 登录后访问接口返回401 A: 检查Session是否正常,确认登录拦截器配置正确 ### Q: 中文乱码问题 A: 确保数据库、项目编码都设置为UTF-8 ## 贡献指南 1. Fork 本项目 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 创建 Pull Request ## 许可证 本项目采用 MulanPSL-2.0 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情 ## 联系方式 如有问题或建议,请通过以下方式联系: - 邮箱:shl12315@163.com - 项目地址:[Gitee Repository](https://gitee.com/sunhailin12315/product-review) ## 更新日志 ### v1.0.0 (2025-06-05) - ✅ 完成基础的SSM框架搭建 - ✅ 实现用户管理功能 - ✅ 实现商品管理功能 - ✅ 实现评价管理功能 - ✅ 添加权限控制和异常处理 - ✅ 完善数据库设计和初始化脚本