springboot第二章---打造企业级微信点餐系统(4)--买家订单01---service(创建订单)

第一步:新建一个类OrderDTO.java

这个类包含order_master表中的所有信息,以及关联order_detail的信息

package com.fjz.vxsell.dto;

import com.fjz.vxsell.bean.OrderDetail;
import com.fjz.vxsell.enums.OrderStatusEnums;
import com.fjz.vxsell.enums.PayStatusEnums;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author 冯师兄
 * @date 2020-05-08 16:47
 */
@Data
public class OrderDTO {
    /*订单id*/
    private String orderId;

    /*买家名字*/
    private String buyerName;

    /*买家电话*/
    private String buyerPhone;

    /*买家地址*/
    private String buyerAddress;

    /*买家微信id*/
    private String buyerOpenid;

    /*订单总金额*/
    private BigDecimal orderAmount;

    /*订单状态,默认是新订单为0,实体类中最好不要出现=0,这里用一个枚举*/
    private Integer orderStatus;

    /*支付状态,默认为0 未支付*/
    private Integer payerStatus;

    /*创建时间*/
    private Date createTime;

    /*修改时间*/
    private Date updateTime;

    /*关联order_detail*/
    List<OrderDetail> orderDetailList;
}

 第二步:service

package com.fjz.vxsell.service;

import com.fjz.vxsell.dto.OrderDTO;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

/**
 * @author 冯师兄
 * @date 2020-05-08 16:53
 */
public interface OrderService {

    //创建订单
    OrderDTO create(OrderDTO orderDTO);

    //根据id查询订单
    OrderDTO findById(String orderId);

    //查询订单列表
    Page<OrderDTO> findOrderList(String buyerOpenid, Pageable pageable);

    //取消订单
    OrderDTO cancel(OrderDTO orderDTO);

    //完结订单
    OrderDTO finish(OrderDTO orderDTO);

    //支付订单
    OrderDTO paid(OrderDTO orderDTO);
}

第三步:serviceImpl

分析:1. 这里涉及到减少库存,所以还需要在商品表进行操作

           2. 参考接口文档,items是购物车的内容,所以还需要购物车

           3. 里面判断,需要抛出异常

           4. orderId/detailId需要生成随机数. 格式:时间(精确到毫秒)+ 随机数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值