JAVA项目实战开发电商项目案例(九)收货地址模块开发

好久没有写项目实战开发了,这次项目实战主要讲的是PC端电商平台,用户购买商品,选择邮寄的地址,需要用户添加收货地址,或者添加多个收货地址,以及删除收货地址。

演示地址:http://www.liph.fun/business-Admin/shop/

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个人说明

经验是由一点一点积累的,思维也是由一天一天训练出来的。

5我的个人网站

持续更新分享此项目电商在线演示地址为:演示地址

  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值