栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

11.收货地址模块-新增收货地址①

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

11.收货地址模块-新增收货地址①

1.前端输入的信息

  • 后端用Address实体类对象接收,接收的数据存到对象中的数据有

    private String name; // 收货人姓名
    private String provinceCode; // 省份编号
    private String cityCode; // 城市编号
    private String areaCode; // 区县编号
    private String zip; // 邮政编号
    private String address; // 详细地址
    private String phone; // 手机
    private String tel; // 固定电话
    private String tag; // 地址类型
    
  • 业务层需要补全的其他信息

    private Integer uid; // 正在添加新地址的用户,从session中获取即可
    // 在持久层通过编号查找省或市或区的名字
    private String provinceName;
    private String cityName;
    private String areaName;
    // 在添加地址的业务层做一个判断,如果用户是第一次添加地址,将isDefault设置成1,即该地址就是默认地址
    private Integer isDefault;
    // 补全日志信息
    private String createdUser;
    private Date createdTime;
    private String modifiedUser;
    private Date modifiedTime;
    
2.新增收货地址的业务功能
  1. 用户在第一次添加用户地址的时候,将该地址设置成默认,即is_default字段设置成1
  2. 规定用户的收货地址最多是20条,用户在添加收货地址的时候,判断如果超出20,抛出自定义异常AddressCountOverLimitException异常, 定义一个持久层接口selectAddressCountByUid,将用户的地址数查询出来,进行第一条和第二条业务处理
  3. 业务层补全收货地址信息过程中,provinceName、cityName、areaName这三个字段是根据前端传过来的provinceCode、cityCode、areaCode查询数据库得到,省市区下拉框选择大体地址的业务先分离出来,后面做,目前先将前两条+新增用户地址实现完成
3.持久层接口及mapper映射文件
package com.cy.store.dao;

import com.cy.store.entity.Address;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;


public interface AddressDao {

    
    Integer insertAddress(Address address);

    
    Integer selectAddressCountByUid(Integer uid);
}


  INSERT INTO t_address
    ( uid, name, province_name, province_code, city_name, city_code, area_name, area_code, zip, address, phone, tel, tag, is_default, created_user, created_time, modified_user, modified_time )
  VALUES
    ( #{uid}, #{name}, #{provinceName}, #{provinceCode}, #{cityName}, #{cityCode}, #{areaName}, #{areaCode}, #{zip}, #{address}, #{phone}, #{tel}, #{tag}, #{isDefault}, #{createdUser}, #{createdTime}, #{modifiedUser}, #{modifiedTime} )