Initial commit: 单商户积分商城 - 管理后台前端 + CRMEB 后端
Made-with: Cursor
This commit is contained in:
392
backend/docs/后续工作完成情况.md
Normal file
392
backend/docs/后续工作完成情况.md
Normal file
@@ -0,0 +1,392 @@
|
||||
# 商品寄卖服务模块 - 后续工作完成情况
|
||||
|
||||
## 完成时间
|
||||
2025-11-08
|
||||
|
||||
## 一、已完成工作清单
|
||||
|
||||
### 1. ✅ Dao/Mapper 接口创建(14个)
|
||||
|
||||
所有 Dao 接口已创建在:`crmeb-service/src/main/java/com/zbkj/service/dao/consignment/`
|
||||
|
||||
| 序号 | 文件名 | 说明 | 状态 |
|
||||
|------|--------|------|------|
|
||||
| 1 | WaUsersDao.java | 用户表 Mapper | ✅ 已完成 |
|
||||
| 2 | WaGoodsDao.java | 商品表 Mapper | ✅ 已完成 |
|
||||
| 3 | WaMerchandiseDao.java | 寄售商品表 Mapper | ✅ 已完成 |
|
||||
| 4 | WaOrderDao.java | 订单表 Mapper | ✅ 已完成 |
|
||||
| 5 | WaCategoryDao.java | 商品分类表 Mapper | ✅ 已完成 |
|
||||
| 6 | WaAddressDao.java | 收货地址表 Mapper | ✅ 已完成 |
|
||||
| 7 | WaMoneyLogDao.java | 余额变动表 Mapper | ✅ 已完成 |
|
||||
| 8 | WaCouponLogDao.java | 优惠券变动表 Mapper | ✅ 已完成 |
|
||||
| 9 | WaSelfbonusLogDao.java | 个人奖金变动表 Mapper | ✅ 已完成 |
|
||||
| 10 | WaSharebonusLogDao.java | 推广奖金变动表 Mapper | ✅ 已完成 |
|
||||
| 11 | WaWithdrawDao.java | 提现表 Mapper | ✅ 已完成 |
|
||||
| 12 | WaAlipayDao.java | 用户支付宝表 Mapper | ✅ 已完成 |
|
||||
| 13 | WaBankDao.java | 用户银行卡表 Mapper | ✅ 已完成 |
|
||||
| 14 | WaBannerDao.java | 轮播图表 Mapper | ✅ 已完成 |
|
||||
|
||||
---
|
||||
|
||||
### 2. ✅ MyBatis XML 映射文件创建(14个)
|
||||
|
||||
所有 XML 映射文件已创建在:`crmeb-service/src/main/resources/mapper/consignment/`
|
||||
|
||||
| 序号 | 文件名 | 对应 Dao | 状态 |
|
||||
|------|--------|----------|------|
|
||||
| 1 | WaUsersMapper.xml | WaUsersDao | ✅ 已完成 |
|
||||
| 2 | WaGoodsMapper.xml | WaGoodsDao | ✅ 已完成 |
|
||||
| 3 | WaMerchandiseMapper.xml | WaMerchandiseDao | ✅ 已完成 |
|
||||
| 4 | WaOrderMapper.xml | WaOrderDao | ✅ 已完成 |
|
||||
| 5 | WaCategoryMapper.xml | WaCategoryDao | ✅ 已完成 |
|
||||
| 6 | WaAddressMapper.xml | WaAddressDao | ✅ 已完成 |
|
||||
| 7 | WaMoneyLogMapper.xml | WaMoneyLogDao | ✅ 已完成 |
|
||||
| 8 | WaCouponLogMapper.xml | WaCouponLogDao | ✅ 已完成 |
|
||||
| 9 | WaSelfbonusLogMapper.xml | WaSelfbonusLogDao | ✅ 已完成 |
|
||||
| 10 | WaSharebonusLogMapper.xml | WaSharebonusLogDao | ✅ 已完成 |
|
||||
| 11 | WaWithdrawMapper.xml | WaWithdrawDao | ✅ 已完成 |
|
||||
| 12 | WaAlipayMapper.xml | WaAlipayDao | ✅ 已完成 |
|
||||
| 13 | WaBankMapper.xml | WaBankDao | ✅ 已完成 |
|
||||
| 14 | WaBannerMapper.xml | WaBannerDao | ✅ 已完成 |
|
||||
|
||||
**说明**:XML 文件已创建基础结构,使用 MyBatis Plus 的 BaseMapper,常用的 CRUD 操作无需手动编写 SQL。
|
||||
|
||||
---
|
||||
|
||||
### 3. ✅ 数据库建表 SQL 脚本创建
|
||||
|
||||
**文件位置**:`sql/wa_consignment_tables.sql`
|
||||
|
||||
**包含内容**:
|
||||
- 14 张数据表的完整建表语句
|
||||
- 所有字段定义和注释
|
||||
- 主键、唯一键、普通索引定义
|
||||
- 表引擎和字符集配置
|
||||
- 初始化数据(商品分类)
|
||||
|
||||
**表清单**:
|
||||
1. wa_users - 寄卖服务用户表
|
||||
2. wa_goods - 商品表
|
||||
3. wa_merchandise - 寄售商品表
|
||||
4. wa_order - 订单表
|
||||
5. wa_category - 商品分类表
|
||||
6. wa_address - 收货地址表
|
||||
7. wa_money_log - 余额变动表
|
||||
8. wa_coupon_log - 优惠券变动表
|
||||
9. wa_selfbonus_log - 个人奖金变动表
|
||||
10. wa_sharebonus_log - 推广奖金变动表
|
||||
11. wa_withdraw - 提现表
|
||||
12. wa_alipay - 用户支付宝表
|
||||
13. wa_bank - 用户银行卡表
|
||||
14. wa_banner - 轮播图表
|
||||
|
||||
**使用方法**:
|
||||
```bash
|
||||
# 连接到 MySQL 数据库
|
||||
mysql -u root -p your_database_name
|
||||
|
||||
# 执行建表脚本
|
||||
source sql/wa_consignment_tables.sql
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 4. ✅ 拦截器配置更新
|
||||
|
||||
**文件位置**:`crmeb-common/src/main/java/com/zbkj/common/token/FrontTokenComponent.java`
|
||||
|
||||
**更新内容**:在 `checkRouter` 方法中添加了商品寄卖服务模块不需要登录验证的接口路由
|
||||
|
||||
**新增的公开访问路由**:
|
||||
```java
|
||||
"api/user/login", // 用户登录
|
||||
"api/user/register", // 用户注册
|
||||
"api/goods/category", // 获取商品分类
|
||||
"api/goods/list", // 获取商品列表
|
||||
"api/goods/detail", // 获取商品详情
|
||||
"api/index/banner", // 获取轮播图
|
||||
"api/index/get", // 获取首页配置
|
||||
"api/sms/send" // 发送短信验证码
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 5. ✅ Service 实现类创建
|
||||
|
||||
**已创建**:
|
||||
- `WaUserServiceImpl.java` - 用户服务实现类(包含完整的登录、注册、获取信息等逻辑)
|
||||
|
||||
**其他 8 个 Service 实现类状态**:
|
||||
由于业务逻辑复杂,需要根据实际业务需求完善,建议采用以下方式:
|
||||
|
||||
1. **WaGoodsServiceImpl** - 商品服务
|
||||
- 实现商品分类查询
|
||||
- 实现商品列表查询
|
||||
- 实现商品详情查询
|
||||
|
||||
2. **WaOrderServiceImpl** - 订单服务
|
||||
- 实现订单创建(抢单)
|
||||
- 实现订单支付
|
||||
- 实现订单确认
|
||||
- 实现订单取消
|
||||
- 实现订单转拍
|
||||
- 实现订单列表和详情查询
|
||||
|
||||
3. **WaAddressServiceImpl** - 地址服务
|
||||
- 实现地址的增删改查
|
||||
- 实现默认地址设置
|
||||
|
||||
4. **WaMoneyServiceImpl** - 财务服务
|
||||
- 实现财务记录查询
|
||||
- 实现提现申请
|
||||
- 实现财务变动日志记录
|
||||
|
||||
5. **WaPayServiceImpl** - 支付服务
|
||||
- 实现支付宝绑定
|
||||
- 实现银行卡绑定
|
||||
- 实现支付信息查询
|
||||
|
||||
6. **WaShareServiceImpl** - 分享推广服务
|
||||
- 实现分享数据统计
|
||||
- 实现粉丝列表查询
|
||||
|
||||
7. **WaIndexServiceImpl** - 首页服务
|
||||
- 实现轮播图查询
|
||||
- 实现配置数据查询
|
||||
|
||||
8. **WaSmsServiceImpl** - 短信服务
|
||||
- 实现短信验证码发送
|
||||
- 实现验证码验证
|
||||
|
||||
---
|
||||
|
||||
## 二、Service 实现类编写指南
|
||||
|
||||
### 2.1 基本结构模板
|
||||
|
||||
```java
|
||||
package com.zbkj.front.service.impl;
|
||||
|
||||
import com.zbkj.common.token.FrontTokenComponent;
|
||||
import com.zbkj.front.service.XXXService;
|
||||
import com.zbkj.service.dao.consignment.XXXDao;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
public class XXXServiceImpl implements XXXService {
|
||||
|
||||
@Autowired
|
||||
private XXXDao xxxDao;
|
||||
|
||||
@Autowired
|
||||
private FrontTokenComponent frontTokenComponent;
|
||||
|
||||
// 实现接口方法...
|
||||
}
|
||||
```
|
||||
|
||||
### 2.2 获取当前用户ID
|
||||
|
||||
```java
|
||||
Integer userId = frontTokenComponent.getUserId();
|
||||
if (userId == null) {
|
||||
throw new CrmebException("请先登录");
|
||||
}
|
||||
```
|
||||
|
||||
### 2.3 分页查询示例
|
||||
|
||||
```java
|
||||
@Override
|
||||
public PageInfo<XXXResponse> getList(PageParamRequest pageParamRequest) {
|
||||
PageHelper.startPage(pageParamRequest.getPage(), pageParamRequest.getLimit());
|
||||
|
||||
LambdaQueryWrapper<XXX> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.orderByDesc(XXX::getCreatedAt);
|
||||
|
||||
List<XXX> list = xxxDao.selectList(wrapper);
|
||||
|
||||
// 转换为 Response 对象
|
||||
List<XXXResponse> responseList = list.stream()
|
||||
.map(this::convertToResponse)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
return new PageInfo<>(responseList);
|
||||
}
|
||||
```
|
||||
|
||||
### 2.4 事务处理示例
|
||||
|
||||
```java
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean createOrder(OrderRequest request) {
|
||||
// 1. 检查库存
|
||||
// 2. 创建订单
|
||||
// 3. 扣减库存
|
||||
// 4. 记录日志
|
||||
return true;
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 三、数据库部署说明
|
||||
|
||||
### 3.1 执行建表脚本
|
||||
|
||||
```bash
|
||||
# 1. 登录 MySQL
|
||||
mysql -u root -p
|
||||
|
||||
# 2. 选择数据库
|
||||
use your_database_name;
|
||||
|
||||
# 3. 执行建表脚本
|
||||
source /path/to/sql/wa_consignment_tables.sql;
|
||||
|
||||
# 4. 验证表是否创建成功
|
||||
show tables like 'wa_%';
|
||||
|
||||
# 5. 检查表结构
|
||||
desc wa_users;
|
||||
```
|
||||
|
||||
### 3.2 初始化数据
|
||||
|
||||
建表脚本中已包含商品分类的初始化数据:
|
||||
- 手机数码
|
||||
- 家用电器
|
||||
- 服装鞋帽
|
||||
- 图书音像
|
||||
- 运动户外
|
||||
|
||||
---
|
||||
|
||||
## 四、测试建议
|
||||
|
||||
### 4.1 单元测试
|
||||
|
||||
建议为每个 Service 方法编写单元测试:
|
||||
|
||||
```java
|
||||
@RunWith(SpringRunner.class)
|
||||
@SpringBootTest
|
||||
public class WaUserServiceTest {
|
||||
|
||||
@Autowired
|
||||
private WaUserService waUserService;
|
||||
|
||||
@Test
|
||||
public void testLogin() {
|
||||
WaUserLoginRequest request = new WaUserLoginRequest();
|
||||
request.setAccount("18888888888");
|
||||
request.setPassword("123456");
|
||||
|
||||
WaLoginResponse response = waUserService.login(request);
|
||||
assertNotNull(response.getToken());
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 4.2 接口测试
|
||||
|
||||
使用 Postman 或其他工具测试 API 接口:
|
||||
|
||||
1. **用户注册**
|
||||
```http
|
||||
POST /api/user/register
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"mobile": "18888888888",
|
||||
"password": "123456",
|
||||
"code": "123456",
|
||||
"inviteCode": ""
|
||||
}
|
||||
```
|
||||
|
||||
2. **用户登录**
|
||||
```http
|
||||
POST /api/user/login
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"account": "18888888888",
|
||||
"password": "123456"
|
||||
}
|
||||
```
|
||||
|
||||
3. **获取用户信息(需要Token)**
|
||||
```http
|
||||
POST /api/user/info
|
||||
Authori-zation: Bearer YOUR_TOKEN
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 五、注意事项
|
||||
|
||||
1. **密码加密**:使用 `CrmebUtil.encryptPassword()` 方法加密密码
|
||||
2. **事务处理**:涉及多表操作时使用 `@Transactional` 注解
|
||||
3. **异常处理**:使用 `CrmebException` 抛出业务异常
|
||||
4. **日志记录**:使用 `@Slf4j` 注解记录关键操作日志
|
||||
5. **Token 验证**:通过 `FrontTokenComponent` 获取当前用户信息
|
||||
6. **分页处理**:使用 `PageHelper` 和 `PageInfo` 处理分页
|
||||
7. **时间处理**:统一使用 `Date` 类型,数据库使用 `datetime` 类型
|
||||
8. **金额处理**:统一使用 `BigDecimal` 类型,避免精度丢失
|
||||
|
||||
---
|
||||
|
||||
## 六、下一步工作
|
||||
|
||||
1. ⏳ **完善 Service 实现类**:根据业务需求实现剩余 8 个 Service 的业务逻辑
|
||||
2. ⏳ **编写单元测试**:为所有 Service 方法编写单元测试
|
||||
3. ⏳ **接口测试**:使用 Postman 测试所有 API 接口
|
||||
4. ⏳ **性能优化**:对频繁查询的接口添加缓存
|
||||
5. ⏳ **安全加固**:添加接口防刷、限流等安全措施
|
||||
6. ⏳ **API 文档**:使用 Swagger 生成完整的 API 文档
|
||||
|
||||
---
|
||||
|
||||
## 七、文件清单汇总
|
||||
|
||||
### 7.1 实体类(14个)
|
||||
- `crmeb-common/src/main/java/com/zbkj/common/model/consignment/`
|
||||
|
||||
### 7.2 Request 类(8个)
|
||||
- `crmeb-common/src/main/java/com/zbkj/common/request/`
|
||||
|
||||
### 7.3 Response 类(9个)
|
||||
- `crmeb-common/src/main/java/com/zbkj/common/response/`
|
||||
|
||||
### 7.4 Controller 类(9个)
|
||||
- `crmeb-front/src/main/java/com/zbkj/front/controller/`
|
||||
|
||||
### 7.5 Service 接口(9个)
|
||||
- `crmeb-front/src/main/java/com/zbkj/front/service/`
|
||||
|
||||
### 7.6 Service 实现类(部分完成)
|
||||
- `crmeb-front/src/main/java/com/zbkj/front/service/impl/`
|
||||
- ✅ WaUserServiceImpl.java
|
||||
- ⏳ 其他 8 个实现类待完善
|
||||
|
||||
### 7.7 Dao 接口(14个)
|
||||
- `crmeb-service/src/main/java/com/zbkj/service/dao/consignment/`
|
||||
|
||||
### 7.8 Mapper XML(14个)
|
||||
- `crmeb-service/src/main/resources/mapper/consignment/`
|
||||
|
||||
### 7.9 SQL 脚本(1个)
|
||||
- `sql/wa_consignment_tables.sql`
|
||||
|
||||
---
|
||||
|
||||
**维护人员**: AI Assistant
|
||||
**完成日期**: 2025-11-08
|
||||
**文档状态**: 基础框架已完成,业务逻辑待完善
|
||||
|
||||
Reference in New Issue
Block a user