package com.java1234.miaosha.controller;
import com.java1234.miaosha.constant.Constant;
import com.java1234.miaosha.entity.Order;
import com.java1234.miaosha.entity.R;
import com.java1234.miaosha.service.IMiaoShaGoodsService;
import com.java1234.miaosha.service.IOrderService;
import com.java1234.miaosha.util.RedisUtil;
import com.java1234.miaosha.vo.MiaoShaGoodsVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 秒杀商品控制器
*/
@RestController
@RequestMapping("/order")
public class OrderController {
@Autowired
private IOrderService orderService;
/**
* 根据id查询秒杀商品详情
* @param id
* @return
*/
@RequestMapping("/detail")
public R detail(String id){
Order order = orderService.findById(id);
Map<String,Object> map=new HashMap<>();
map.put("data",order);
return R.ok(map);
}
}
package com.java1234.miaosha.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 订单实体
* @author java1234_小锋
* @site www.java1234.com
* @company Java知识分享网
* @create 2020-12-20 17:04
*/
@TableName("t_order")
@Data
public class Order implements Serializable {
private String id; // 编号
private User user; // 购买用户
private MiaoShaGoods miaoShaGoods; // 购买的秒杀商品
@JsonSerialize(using=CustomDateTimeSerializer.class)
private Date createDate; // 创建日期
private Date payDate; // 支付日期
private Integer count; // 购买数量
private double totalPrice; // 订单总金额
private String payMethod; // 支付方式
private Integer status; // 订单状态 0:订单生成 1:已支付 2 已发货 3:已收货
}
package com.java1234.miaosha.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.java1234.miaosha.entity.Order;
import com.java1234.miaosha.entity.User;
/**
* 用户Mapper接口
*/
public interface OrderMapper extends BaseMapper<Order> {
/**
* 根据id查询订单
* @param id
* @return
*/
public Order findById(String id);
}
package com.java1234.miaosha.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.java1234.miaosha.entity.Order;
/**
* 用户Service接口
*/
public interface IOrderService extends IService<Order> {
/**
* 根据id查询订单
* @param id
* @return
*/
public Order findById(String id);
}
package com.java1234.miaosha.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.java1234.miaosha.entity.Order;
import com.java1234.miaosha.mapper.OrderMapper;
import com.java1234.miaosha.service.IOrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* 用户Service实现类
*/
@Service("orderService")
public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements IOrderService {
@Autowired
private OrderMapper orderMapper;
@Override
public Order findById(String id) {
return orderMapper.findById(id);
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.java1234.miaosha.mapper.OrderMapper">
<resultMap type="com.java1234.miaosha.entity.Order" id="OrderResult">
<association property="miaoShaGoods" column="miaosha_goods_id" select="com.java1234.miaosha.mapper.MiaoShaGoodsMapper.findById" ></association>
<association property="user" column="user_id" select="com.java1234.miaosha.mapper.UserMapper.findById" ></association>
</resultMap>
<select id="findById" parameterType="String" resultMap="OrderResult">
select * from t_order where id=
</select>
</mapper>
/*Table structure for table `t_order` */
DROP TABLE IF EXISTS `t_order`;
CREATE TABLE `t_order` (
`id` VARCHAR(50) DEFAULT NULL COMMENT '订单号',
`user_id` INT(11) DEFAULT NULL COMMENT '用户ID',
`miaosha_goods_id` INT(11) DEFAULT NULL COMMENT '秒杀商品ID',
`count` INT(11) DEFAULT NULL COMMENT '购买数量',
`total_price` DECIMAL(10,0) DEFAULT NULL COMMENT '订单总金额',
`pay_method` VARCHAR(20) DEFAULT NULL COMMENT '支付方式',
`status` INT(11) DEFAULT NULL COMMENT '订单状态',
`create_date` DATETIME DEFAULT NULL COMMENT '订单创建日期',
`pay_date` DATETIME DEFAULT NULL COMMENT '订单支付日期',
UNIQUE KEY `user_id` (`user_id`,`miaosha_goods_id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;
/*Data for the table `t_order` */
INSERT INTO `t_order`(`id`,`user_id`,`miaosha_goods_id`,`count`,`total_price`,`pay_method`,`status`,`create_date`,`pay_date`) VALUES ('20210123074426000000346',1,1,1,'1',NULL,0,'2021-01-23 19:44:26',NULL);