好久没有写项目实战开发了,这次项目实战主要讲的是PC端电商平台,用户购买商品,选择邮寄的地址,需要用户添加收货地址,或者添加多个收货地址,以及删除收货地址。
1收货模块功能演示
在这里插入图片描述2开发收货地址模块流程
2.1数据库表设计
在这里插入图片描述表字段 | 中文含义 |
---|---|
user_id | 用户ID |
receiver_name | 收货人姓名 |
receiver_mobile | 收货人联系电话 |
receiver_province | 收货人所在省份 |
receiver_city | 收货人所在市 |
receiver_district | 收货人所在区 |
receiver_address | 收货人详细地址 |
receiver_zip | 邮编 |
2.2设计流程
(1)用户购买商品,首先的选择一个用户自己的地址,也就是如下图所示的地址列表
在这里插入图片描述
(2)地址列表需要对应数据库表中的查询,数据库一张表中的数据必须从另外一个渠道插入进来。也就是下面的图片:
在这里插入图片描述
(3)有了收货地址,假如客户有的收货地址,长期不使用得给客户提供一个删除功能。
在这里插入图片描述
3接口设计
通过第二部分分析可得出收货地址功能后台共计提供3个接口,增加地址接口,删除地址接口,收货地址列表查询接口。
说明每个地址之前都需要判断用户是否登录,用户登录了则可以调用接口否则跳转登录页面提示用户登录
3.1新增地址接口
参数:登录用户ID,收货人,收货人手机号,收货人省市区和详细地址,
收货人地址邮编
返回结果:返回成功
3.1.1代码分析
/**
* 地址管理
*/
@RestController
@RequestMapping("api")
public class ShipingController {
@Autowired
private ShippingService shippingService;
@RequestMapping("/add/shiping")
public CommonResult addshiping(TbShipping shipping,HttpSession session){
TbMember tbMember= (TbMember) session.getAttribute(Constant.CURRENT_LOGIN_USER);
if(tbMember==null){
//未登录返回0 啊
return CommonResult.failed(ResultCode.UNAUTHORIZED);
}
shipping.setUserId(tbMember.getId().intValue());
int result= shippingService.addshipping(shipping);
return CommonResult.success(result);
}
}
3.2删除地址接口
参数:地址主键ID
返回结果:返回成功
3.2.1代码分析
@RequestMapping("/delete/shiping")
public CommonResult deleteshiping(TbShipping shipping,HttpSession session){
TbMember tbMember= (TbMember) session.getAttribute(Constant.CURRENT_LOGIN_USER);
if(tbMember==null){
//未登录返回0 啊
return CommonResult.failed(ResultCode.UNAUTHORIZED);
}
int result= shippingService.deleteshipping(shipping);
return CommonResult.success(result);
}
3.3地址列表信息查询接口
参数:用户ID
返回结果:返回地址信息列表
CommonResult
3.3.1代码分析
/***
* 查询当前用户的所有地址信息
*/
@RequestMapping("/get/shipinglist")
public CommonResult<List<TbShipping>> getshipinglist(HttpSession session){
TbMember tbMember= (TbMember) session.getAttribute(Constant.CURRENT_LOGIN_USER);
if(tbMember==null){
//未登录返回0 啊
return CommonResult.failed(ResultCode.UNAUTHORIZED);
}
List<TbShipping> List= shippingService.getshipinglist(tbMember.getId().intValue());
return CommonResult.success(List);
}
4个人说明
经验是由一点一点积累的,思维也是由一天一天训练出来的。
网友评论