文章目录

  • 1收货模块功能演示
  • 2开发收货地址模块流程
  • 2.1数据库表设计
  • 2.2设计流程
  • 3接口设计
  • 3.1新增地址接口
  • 3.1.1代码分析
  • 3.2删除地址接口
  • 3.2.1代码分析
  • 3.3地址列表信息查询接口
  • 3.3.1代码分析
  • 4个人说明
  • 5[我的个人网站](http://www.liph.fun)


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

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

1收货模块功能演示

java pdf 电商 项目 电商java项目步骤详解_java电商项目实战

2开发收货地址模块流程

2.1数据库表设计

java pdf 电商 项目 电商java项目步骤详解_java电商项目实战_02

表字段

中文含义

user_id

用户ID

receiver_name

收货人姓名

receiver_mobile

收货人联系电话

receiver_province

收货人所在省份

receiver_city

收货人所在市

receiver_district

收货人所在区

receiver_address

收货人详细地址

receiver_zip

邮编

2.2设计流程

(1)用户购买商品,首先的选择一个用户自己的地址,也就是如下图所示的地址列表

java pdf 电商 项目 电商java项目步骤详解_spring  boot_03

(2)地址列表需要对应数据库表中的查询,数据库一张表中的数据必须从另外一个渠道插入进来。也就是下面的图片:

java pdf 电商 项目 电商java项目步骤详解_spring  boot_04


(3)有了收货地址,假如客户有的收货地址,长期不使用得给客户提供一个删除功能。

java pdf 电商 项目 电商java项目步骤详解_JAVA增删改查案例_05

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

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