美文网首页产品
JAVA项目实战开发电商项目案例(九)收货地址模块开发

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

作者: LRyab博客 | 来源:发表于2020-01-02 21:22 被阅读0次

    好久没有写项目实战开发了,这次项目实战主要讲的是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个人说明

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

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/avqaoctx.html