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

第四天的内容

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

第四天的内容

新增收货地址的编写,首先导入t_address数据表,接着创建实体类

package com.cy.store.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Objects;

@Data//set get
@AllArgsConstructor
@NoArgsConstructor
public class Address extends BaseEntity implements Serializable {
    private Integer aid;
    private Integer uid;
    private String name;
    private String provinceName;
    private String provinceCode;
    private String cityName;
    private String cityCode;
    private String areaName;
    private String areaCode;
    private String zip;
    private String address;
    private String phone;
    private String tel;
    private String tag;
    private Integer isDefault;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        if (!super.equals(o)) return false;
        Address address1 = (Address) o;
        return Objects.equals(aid, address1.aid) && Objects.equals(uid, address1.uid) && Objects.equals(name, address1.name) && Objects.equals(provinceName, address1.provinceName) && Objects.equals(provinceCode, address1.provinceCode) && Objects.equals(cityName, address1.cityName) && Objects.equals(cityCode, address1.cityCode) && Objects.equals(areaName, address1.areaName) && Objects.equals(areaCode, address1.areaCode) && Objects.equals(zip, address1.zip) && Objects.equals(address, address1.address) && Objects.equals(phone, address1.phone) && Objects.equals(tel, address1.tel) && Objects.equals(isDefault, address1.isDefault);
    }

    @Override
    public int hashCode() {
        return Objects.hash(super.hashCode(), aid, uid, name, provinceName, provinceCode, cityName, cityCode, areaName, areaCode, zip, address, phone, tel, isDefault);
    }
}

接着设计mapper层

public interface AddressMapper {
    Integer insert(Address address);
    Integer countByUid(Integer uid);
}



    
        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
    
    
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    
    
    
    
        insert into t_address ()
        values(
               #{uid},
               #{name},
               #{provinceName},
               #{provinceCode},
               #{cityName},
               #{cityCode},
               #{areaName},
               #{areaCode},
               #{zip},
               #{address},
               #{phone},
               #{tel},
               #{tag},
               #{isDefault},
               #{createdUser},
               #{createdTime},
               #{modifiedUser},
               #{modifiedTime}
                )
    
    
        select count(*) from t_address where uid=#{uid}
    



接着设计service层

public interface IAddressService {
    void AddAddress(Integer uid,String username,Address address);
}
@Service
public class IAddressServiceImpl implements IAddressService {
    @Autowired
    private AddressMapper addressMapper;
    @Value("${user.address.max-count}")
    private Integer maxCount;
    @Override
    public void AddAddress(Integer uid, String username, Address address) {
        //调用收货地址通知的方法
        Integer count = addressMapper.countByUid(uid);
        if (count >= maxCount){
            throw new AddressCountLimitException("收货地址条数超出限制");
        }
        address.setUid(uid);
        Integer isDefault = count == 0 ? 1 : 0;
        address.setIsDefault(isDefault);
        address.setCreatedUser(username);
        address.setCreatedTime(new Date());
        address.setModifiedUser(username);
        address.setModifiedTime(new Date());
        //插入收货地址的方法
        Integer rows = addressMapper.insert(address);
        if (rows != 1){
            throw new InsertException("插入用户的收货地址产生异常");
        }
    }
}

最后编写controller层

@RestController
@RequestMapping("address")
public class AddressController extends BaseController{
    @Autowired
    private IAddressService addressService;
    @RequestMapping("add_new_address")
    public JsonResult addAddress(Address address, HttpSession session){
        Integer uid = getUidFromSession(session);
        String username = getUsernameFromSession(session);
        addressService.AddAddress(uid,username,address);
        return new JsonResult<>(OK);
    }
}

前端代码

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/994345.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号