1
0
mirror of https://gitee.com/coder-xiaomo/flashsale synced 2025-09-12 06:51:38 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee

秒杀(SpringBoot构建电商基础秒杀项目 基础部分完成)

This commit is contained in:
2022-03-05 16:48:37 +08:00
parent bad79611bf
commit 029fb6432e
11 changed files with 128 additions and 52 deletions

View File

@@ -1,3 +1,5 @@
MavenRepo: 不存在的Maven依赖需要手动复制到本地Maven仓库中 MavenRepo: 不存在的Maven依赖需要手动复制到本地Maven仓库中
sql: 项目数据库文件 sql: 项目数据库文件
课程https://www.imooc.com/video/18469

View File

@@ -11,7 +11,7 @@
Target Server Version : 50726 Target Server Version : 50726
File Encoding : 65001 File Encoding : 65001
Date: 05/03/2022 15:19:32 Date: 05/03/2022 16:32:52
*/ */
SET NAMES utf8mb4; SET NAMES utf8mb4;
@@ -93,6 +93,7 @@ CREATE TABLE `order_info` (
`item_price` decimal(10, 2) NOT NULL, `item_price` decimal(10, 2) NOT NULL,
`amount` int(255) NOT NULL, `amount` int(255) NOT NULL,
`order_price` decimal(10, 2) NOT NULL, `order_price` decimal(10, 2) NOT NULL,
`promo_id` int(11) NOT NULL DEFAULT 0,
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = DYNAMIC; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = DYNAMIC;
@@ -114,7 +115,7 @@ CREATE TABLE `promo_info` (
PRIMARY KEY (`id`) USING BTREE, PRIMARY KEY (`id`) USING BTREE,
INDEX `item_id`(`item_id`) USING BTREE, INDEX `item_id`(`item_id`) USING BTREE,
CONSTRAINT `promo_info_ibfk_1` FOREIGN KEY (`item_id`) REFERENCES `item_info` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT CONSTRAINT `promo_info_ibfk_1` FOREIGN KEY (`item_id`) REFERENCES `item_info` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; ) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = DYNAMIC;
-- ---------------------------- -- ----------------------------
-- Records of promo_info -- Records of promo_info
@@ -135,7 +136,7 @@ CREATE TABLE `sequence_info` (
-- ---------------------------- -- ----------------------------
-- Records of sequence_info -- Records of sequence_info
-- ---------------------------- -- ----------------------------
INSERT INTO `sequence_info` VALUES ('order_info', 0, 1); INSERT INTO `sequence_info` VALUES ('order_info', 5, 1);
-- ---------------------------- -- ----------------------------
-- Table structure for user_info -- Table structure for user_info

View File

@@ -108,6 +108,7 @@
data: { data: {
"itemId": g_itemVO.id, "itemId": g_itemVO.id,
"amount": 1, // 暂时写死买1件 "amount": 1, // 暂时写死买1件
"promoId": g_itemVO.promoId,
}, },
xhrFields: {withCredentials: true}, xhrFields: {withCredentials: true},
success: function (data) { success: function (data) {

View File

@@ -82,7 +82,7 @@ public class ItemController extends BaseController {
if (itemModel.getPromoModel() != null) { if (itemModel.getPromoModel() != null) {
// 有正在进行或即将进行的秒杀活动 // 有正在进行或即将进行的秒杀活动
itemVO.setPromoStatus(itemModel.getPromoModel().getStatus()); itemVO.setPromoStatus(itemModel.getPromoModel().getStatus());
itemVO.setPromoId(itemModel.getId()); itemVO.setPromoId(itemModel.getPromoModel().getId());
itemVO.setStartDate(itemModel.getPromoModel().getStartDate().toString(DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss"))); itemVO.setStartDate(itemModel.getPromoModel().getStartDate().toString(DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss")));
itemVO.setPromoPrice(itemModel.getPromoModel().getPromoPrice()); itemVO.setPromoPrice(itemModel.getPromoModel().getPromoPrice());
} else { } else {

View File

@@ -27,7 +27,8 @@ public class OrderController extends BaseController {
@RequestMapping(value = "/createorder", method = {RequestMethod.POST}, consumes = {CONTENT_TYPE_FORMED}) @RequestMapping(value = "/createorder", method = {RequestMethod.POST}, consumes = {CONTENT_TYPE_FORMED})
@ResponseBody @ResponseBody
public CommonReturnType createOrder(@RequestParam(name = "itemId") Integer itemId, public CommonReturnType createOrder(@RequestParam(name = "itemId") Integer itemId,
@RequestParam(name = "amount") Integer amount) throws BusinessException { @RequestParam(name = "amount") Integer amount,
@RequestParam(name = "promoId", required = false) Integer promoId) throws BusinessException {
// 获取用户登陆状态 // 获取用户登陆状态
Boolean isLogin = (Boolean) httpServletRequest.getSession().getAttribute("IS_LOGIN"); Boolean isLogin = (Boolean) httpServletRequest.getSession().getAttribute("IS_LOGIN");
if (isLogin == null || !isLogin.booleanValue()) { if (isLogin == null || !isLogin.booleanValue()) {
@@ -36,7 +37,7 @@ public class OrderController extends BaseController {
// 获取用户的登录信息 // 获取用户的登录信息
UserModel userModel = (UserModel) httpServletRequest.getSession().getAttribute("LOGIN_USER"); UserModel userModel = (UserModel) httpServletRequest.getSession().getAttribute("LOGIN_USER");
OrderModel orderModel = orderService.createOrder(userModel.getId(), itemId, amount); OrderModel orderModel = orderService.createOrder(userModel.getId(), itemId, promoId, amount);
return CommonReturnType.create(null); return CommonReturnType.create(null);
} }

View File

@@ -7,7 +7,7 @@ public interface OrderDOMapper {
* This method was generated by MyBatis Generator. * This method was generated by MyBatis Generator.
* This method corresponds to the database table order_info * This method corresponds to the database table order_info
* *
* @mbg.generated Thu Mar 03 22:04:45 CST 2022 * @mbg.generated Sat Mar 05 15:52:04 CST 2022
*/ */
int deleteByPrimaryKey(String id); int deleteByPrimaryKey(String id);
@@ -15,7 +15,7 @@ public interface OrderDOMapper {
* This method was generated by MyBatis Generator. * This method was generated by MyBatis Generator.
* This method corresponds to the database table order_info * This method corresponds to the database table order_info
* *
* @mbg.generated Thu Mar 03 22:04:45 CST 2022 * @mbg.generated Sat Mar 05 15:52:04 CST 2022
*/ */
int insert(OrderDO record); int insert(OrderDO record);
@@ -23,7 +23,7 @@ public interface OrderDOMapper {
* This method was generated by MyBatis Generator. * This method was generated by MyBatis Generator.
* This method corresponds to the database table order_info * This method corresponds to the database table order_info
* *
* @mbg.generated Thu Mar 03 22:04:45 CST 2022 * @mbg.generated Sat Mar 05 15:52:04 CST 2022
*/ */
int insertSelective(OrderDO record); int insertSelective(OrderDO record);
@@ -31,7 +31,7 @@ public interface OrderDOMapper {
* This method was generated by MyBatis Generator. * This method was generated by MyBatis Generator.
* This method corresponds to the database table order_info * This method corresponds to the database table order_info
* *
* @mbg.generated Thu Mar 03 22:04:45 CST 2022 * @mbg.generated Sat Mar 05 15:52:04 CST 2022
*/ */
OrderDO selectByPrimaryKey(String id); OrderDO selectByPrimaryKey(String id);
@@ -39,7 +39,7 @@ public interface OrderDOMapper {
* This method was generated by MyBatis Generator. * This method was generated by MyBatis Generator.
* This method corresponds to the database table order_info * This method corresponds to the database table order_info
* *
* @mbg.generated Thu Mar 03 22:04:45 CST 2022 * @mbg.generated Sat Mar 05 15:52:04 CST 2022
*/ */
int updateByPrimaryKeySelective(OrderDO record); int updateByPrimaryKeySelective(OrderDO record);
@@ -47,7 +47,7 @@ public interface OrderDOMapper {
* This method was generated by MyBatis Generator. * This method was generated by MyBatis Generator.
* This method corresponds to the database table order_info * This method corresponds to the database table order_info
* *
* @mbg.generated Thu Mar 03 22:04:45 CST 2022 * @mbg.generated Sat Mar 05 15:52:04 CST 2022
*/ */
int updateByPrimaryKey(OrderDO record); int updateByPrimaryKey(OrderDO record);
} }

View File

@@ -8,7 +8,7 @@ public class OrderDO {
* This field was generated by MyBatis Generator. * This field was generated by MyBatis Generator.
* This field corresponds to the database column order_info.id * This field corresponds to the database column order_info.id
* *
* @mbg.generated Thu Mar 03 22:04:45 CST 2022 * @mbg.generated Sat Mar 05 15:52:04 CST 2022
*/ */
private String id; private String id;
@@ -17,7 +17,7 @@ public class OrderDO {
* This field was generated by MyBatis Generator. * This field was generated by MyBatis Generator.
* This field corresponds to the database column order_info.user_id * This field corresponds to the database column order_info.user_id
* *
* @mbg.generated Thu Mar 03 22:04:45 CST 2022 * @mbg.generated Sat Mar 05 15:52:04 CST 2022
*/ */
private Integer userId; private Integer userId;
@@ -26,7 +26,7 @@ public class OrderDO {
* This field was generated by MyBatis Generator. * This field was generated by MyBatis Generator.
* This field corresponds to the database column order_info.item_id * This field corresponds to the database column order_info.item_id
* *
* @mbg.generated Thu Mar 03 22:04:45 CST 2022 * @mbg.generated Sat Mar 05 15:52:04 CST 2022
*/ */
private Integer itemId; private Integer itemId;
@@ -35,7 +35,7 @@ public class OrderDO {
* This field was generated by MyBatis Generator. * This field was generated by MyBatis Generator.
* This field corresponds to the database column order_info.item_price * This field corresponds to the database column order_info.item_price
* *
* @mbg.generated Thu Mar 03 22:04:45 CST 2022 * @mbg.generated Sat Mar 05 15:52:04 CST 2022
*/ */
private BigDecimal itemPrice; private BigDecimal itemPrice;
@@ -44,7 +44,7 @@ public class OrderDO {
* This field was generated by MyBatis Generator. * This field was generated by MyBatis Generator.
* This field corresponds to the database column order_info.amount * This field corresponds to the database column order_info.amount
* *
* @mbg.generated Thu Mar 03 22:04:45 CST 2022 * @mbg.generated Sat Mar 05 15:52:04 CST 2022
*/ */
private Integer amount; private Integer amount;
@@ -53,17 +53,26 @@ public class OrderDO {
* This field was generated by MyBatis Generator. * This field was generated by MyBatis Generator.
* This field corresponds to the database column order_info.order_price * This field corresponds to the database column order_info.order_price
* *
* @mbg.generated Thu Mar 03 22:04:45 CST 2022 * @mbg.generated Sat Mar 05 15:52:04 CST 2022
*/ */
private BigDecimal orderPrice; private BigDecimal orderPrice;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column order_info.promo_id
*
* @mbg.generated Sat Mar 05 15:52:04 CST 2022
*/
private Integer promoId;
/** /**
* This method was generated by MyBatis Generator. * This method was generated by MyBatis Generator.
* This method returns the value of the database column order_info.id * This method returns the value of the database column order_info.id
* *
* @return the value of order_info.id * @return the value of order_info.id
* *
* @mbg.generated Thu Mar 03 22:04:45 CST 2022 * @mbg.generated Sat Mar 05 15:52:04 CST 2022
*/ */
public String getId() { public String getId() {
return id; return id;
@@ -75,7 +84,7 @@ public class OrderDO {
* *
* @param id the value for order_info.id * @param id the value for order_info.id
* *
* @mbg.generated Thu Mar 03 22:04:45 CST 2022 * @mbg.generated Sat Mar 05 15:52:04 CST 2022
*/ */
public void setId(String id) { public void setId(String id) {
this.id = id == null ? null : id.trim(); this.id = id == null ? null : id.trim();
@@ -87,7 +96,7 @@ public class OrderDO {
* *
* @return the value of order_info.user_id * @return the value of order_info.user_id
* *
* @mbg.generated Thu Mar 03 22:04:45 CST 2022 * @mbg.generated Sat Mar 05 15:52:04 CST 2022
*/ */
public Integer getUserId() { public Integer getUserId() {
return userId; return userId;
@@ -99,7 +108,7 @@ public class OrderDO {
* *
* @param userId the value for order_info.user_id * @param userId the value for order_info.user_id
* *
* @mbg.generated Thu Mar 03 22:04:45 CST 2022 * @mbg.generated Sat Mar 05 15:52:04 CST 2022
*/ */
public void setUserId(Integer userId) { public void setUserId(Integer userId) {
this.userId = userId; this.userId = userId;
@@ -111,7 +120,7 @@ public class OrderDO {
* *
* @return the value of order_info.item_id * @return the value of order_info.item_id
* *
* @mbg.generated Thu Mar 03 22:04:45 CST 2022 * @mbg.generated Sat Mar 05 15:52:04 CST 2022
*/ */
public Integer getItemId() { public Integer getItemId() {
return itemId; return itemId;
@@ -123,7 +132,7 @@ public class OrderDO {
* *
* @param itemId the value for order_info.item_id * @param itemId the value for order_info.item_id
* *
* @mbg.generated Thu Mar 03 22:04:45 CST 2022 * @mbg.generated Sat Mar 05 15:52:04 CST 2022
*/ */
public void setItemId(Integer itemId) { public void setItemId(Integer itemId) {
this.itemId = itemId; this.itemId = itemId;
@@ -135,7 +144,7 @@ public class OrderDO {
* *
* @return the value of order_info.item_price * @return the value of order_info.item_price
* *
* @mbg.generated Thu Mar 03 22:04:45 CST 2022 * @mbg.generated Sat Mar 05 15:52:04 CST 2022
*/ */
public BigDecimal getItemPrice() { public BigDecimal getItemPrice() {
return itemPrice; return itemPrice;
@@ -147,7 +156,7 @@ public class OrderDO {
* *
* @param itemPrice the value for order_info.item_price * @param itemPrice the value for order_info.item_price
* *
* @mbg.generated Thu Mar 03 22:04:45 CST 2022 * @mbg.generated Sat Mar 05 15:52:04 CST 2022
*/ */
public void setItemPrice(BigDecimal itemPrice) { public void setItemPrice(BigDecimal itemPrice) {
this.itemPrice = itemPrice; this.itemPrice = itemPrice;
@@ -159,7 +168,7 @@ public class OrderDO {
* *
* @return the value of order_info.amount * @return the value of order_info.amount
* *
* @mbg.generated Thu Mar 03 22:04:45 CST 2022 * @mbg.generated Sat Mar 05 15:52:04 CST 2022
*/ */
public Integer getAmount() { public Integer getAmount() {
return amount; return amount;
@@ -171,7 +180,7 @@ public class OrderDO {
* *
* @param amount the value for order_info.amount * @param amount the value for order_info.amount
* *
* @mbg.generated Thu Mar 03 22:04:45 CST 2022 * @mbg.generated Sat Mar 05 15:52:04 CST 2022
*/ */
public void setAmount(Integer amount) { public void setAmount(Integer amount) {
this.amount = amount; this.amount = amount;
@@ -183,7 +192,7 @@ public class OrderDO {
* *
* @return the value of order_info.order_price * @return the value of order_info.order_price
* *
* @mbg.generated Thu Mar 03 22:04:45 CST 2022 * @mbg.generated Sat Mar 05 15:52:04 CST 2022
*/ */
public BigDecimal getOrderPrice() { public BigDecimal getOrderPrice() {
return orderPrice; return orderPrice;
@@ -195,9 +204,33 @@ public class OrderDO {
* *
* @param orderPrice the value for order_info.order_price * @param orderPrice the value for order_info.order_price
* *
* @mbg.generated Thu Mar 03 22:04:45 CST 2022 * @mbg.generated Sat Mar 05 15:52:04 CST 2022
*/ */
public void setOrderPrice(BigDecimal orderPrice) { public void setOrderPrice(BigDecimal orderPrice) {
this.orderPrice = orderPrice; this.orderPrice = orderPrice;
} }
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column order_info.promo_id
*
* @return the value of order_info.promo_id
*
* @mbg.generated Sat Mar 05 15:52:04 CST 2022
*/
public Integer getPromoId() {
return promoId;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column order_info.promo_id
*
* @param promoId the value for order_info.promo_id
*
* @mbg.generated Sat Mar 05 15:52:04 CST 2022
*/
public void setPromoId(Integer promoId) {
this.promoId = promoId;
}
} }

View File

@@ -11,5 +11,5 @@ public interface OrderService {
* @param amount 购买商品数量 * @param amount 购买商品数量
* @return * @return
*/ */
OrderModel createOrder(Integer userId, Integer itemId, Integer amount) throws BusinessException; OrderModel createOrder(Integer userId, Integer itemId, Integer promoId, Integer amount) throws BusinessException;
} }

View File

@@ -39,7 +39,7 @@ public class OrderServiceImpl implements OrderService {
@Override @Override
@Transactional @Transactional
public OrderModel createOrder(Integer userId, Integer itemId, Integer amount) throws BusinessException { public OrderModel createOrder(Integer userId, Integer itemId, Integer promoId, Integer amount) throws BusinessException {
// 1. 校验下单状态 // 1. 校验下单状态
// 下单的商品是否存在;用户是否合法;购买数量是否正确 // 下单的商品是否存在;用户是否合法;购买数量是否正确
ItemModel itemModel = itemService.getItemById(itemId); ItemModel itemModel = itemService.getItemById(itemId);
@@ -56,7 +56,18 @@ public class OrderServiceImpl implements OrderService {
throw new BusinessException(EmBusinessError.PARAMETER_VALIDATION_ERROR, "数量信息不正确"); throw new BusinessException(EmBusinessError.PARAMETER_VALIDATION_ERROR, "数量信息不正确");
} }
// 2. 落单减库存 / 支付减库存(有可能超卖) // 校验活动信息
if (promoId != null) {
if (promoId.intValue() != itemModel.getPromoModel().getId()) {
// (1) 校验对应活动是否存在这个适用商品
throw new BusinessException(EmBusinessError.PARAMETER_VALIDATION_ERROR, "活动信息不正确");
} else if (itemModel.getPromoModel().getStatus() != 2) {
// (2) 校验活动是否进行中
throw new BusinessException(EmBusinessError.PARAMETER_VALIDATION_ERROR, "不在活动时间内");
}
}
// 2. 落单减库存
boolean result = itemService.decreaseStock(itemId, amount); boolean result = itemService.decreaseStock(itemId, amount);
if (!result) { if (!result) {
throw new BusinessException(EmBusinessError.STOCK_NOT_ENOUGH); throw new BusinessException(EmBusinessError.STOCK_NOT_ENOUGH);
@@ -67,8 +78,13 @@ public class OrderServiceImpl implements OrderService {
orderModel.setUserId(userId); orderModel.setUserId(userId);
orderModel.setItemId(itemId); orderModel.setItemId(itemId);
orderModel.setAmount(amount); orderModel.setAmount(amount);
orderModel.setItemPrice(itemModel.getPrice()); if (promoId != null) {
orderModel.setOrderPrice(itemModel.getPrice().multiply(new BigDecimal(amount))); orderModel.setItemPrice(itemModel.getPromoModel().getPromoPrice());
} else {
orderModel.setItemPrice(itemModel.getPrice());
}
orderModel.setPromoId(promoId);
orderModel.setOrderPrice(orderModel.getItemPrice().multiply(new BigDecimal(amount)));
// 生成交易流水号(订单号) // 生成交易流水号(订单号)
orderModel.setId(generateOrderNo()); orderModel.setId(generateOrderNo());

View File

@@ -14,13 +14,16 @@ public class OrderModel {
// 购买的商品Id // 购买的商品Id
private Integer itemId; private Integer itemId;
// 购买商品的单价 // 若非空,则表示是以秒杀商品方式下单
private Integer promoId;
// 购买商品的单价若promoId非空则表示秒杀商品价格
private BigDecimal itemPrice; private BigDecimal itemPrice;
// 购买数量 // 购买数量
private Integer amount; private Integer amount;
// 购买金额 // 购买金额若promoId非空则表示秒杀商品价格
private BigDecimal orderPrice; private BigDecimal orderPrice;
public String getId() { public String getId() {
@@ -47,6 +50,14 @@ public class OrderModel {
this.itemId = itemId; this.itemId = itemId;
} }
public Integer getPromoId() {
return promoId;
}
public void setPromoId(Integer promoId) {
this.promoId = promoId;
}
public BigDecimal getItemPrice() { public BigDecimal getItemPrice() {
return itemPrice; return itemPrice;
} }

View File

@@ -5,7 +5,7 @@
<!-- <!--
WARNING - @mbg.generated WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify. This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Thu Mar 03 22:04:45 CST 2022. This element was generated on Sat Mar 05 15:52:04 CST 2022.
--> -->
<id column="id" jdbcType="VARCHAR" property="id" /> <id column="id" jdbcType="VARCHAR" property="id" />
<result column="user_id" jdbcType="INTEGER" property="userId" /> <result column="user_id" jdbcType="INTEGER" property="userId" />
@@ -13,20 +13,21 @@
<result column="item_price" jdbcType="DECIMAL" property="itemPrice" /> <result column="item_price" jdbcType="DECIMAL" property="itemPrice" />
<result column="amount" jdbcType="INTEGER" property="amount" /> <result column="amount" jdbcType="INTEGER" property="amount" />
<result column="order_price" jdbcType="DECIMAL" property="orderPrice" /> <result column="order_price" jdbcType="DECIMAL" property="orderPrice" />
<result column="promo_id" jdbcType="INTEGER" property="promoId" />
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
<!-- <!--
WARNING - @mbg.generated WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify. This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Thu Mar 03 22:04:45 CST 2022. This element was generated on Sat Mar 05 15:52:04 CST 2022.
--> -->
id, user_id, item_id, item_price, amount, order_price id, user_id, item_id, item_price, amount, order_price, promo_id
</sql> </sql>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap"> <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
<!-- <!--
WARNING - @mbg.generated WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify. This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Thu Mar 03 22:04:45 CST 2022. This element was generated on Sat Mar 05 15:52:04 CST 2022.
--> -->
select select
<include refid="Base_Column_List" /> <include refid="Base_Column_List" />
@@ -37,7 +38,7 @@
<!-- <!--
WARNING - @mbg.generated WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify. This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Thu Mar 03 22:04:45 CST 2022. This element was generated on Sat Mar 05 15:52:04 CST 2022.
--> -->
delete from order_info delete from order_info
where id = #{id,jdbcType=VARCHAR} where id = #{id,jdbcType=VARCHAR}
@@ -46,20 +47,20 @@
<!-- <!--
WARNING - @mbg.generated WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify. This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Thu Mar 03 22:04:45 CST 2022. This element was generated on Sat Mar 05 15:52:04 CST 2022.
--> -->
insert into order_info (id, user_id, item_id, insert into order_info (id, user_id, item_id,
item_price, amount, order_price item_price, amount, order_price,
) promo_id)
values (#{id,jdbcType=VARCHAR}, #{userId,jdbcType=INTEGER}, #{itemId,jdbcType=INTEGER}, values (#{id,jdbcType=VARCHAR}, #{userId,jdbcType=INTEGER}, #{itemId,jdbcType=INTEGER},
#{itemPrice,jdbcType=DECIMAL}, #{amount,jdbcType=INTEGER}, #{orderPrice,jdbcType=DECIMAL} #{itemPrice,jdbcType=DECIMAL}, #{amount,jdbcType=INTEGER}, #{orderPrice,jdbcType=DECIMAL},
) #{promoId,jdbcType=INTEGER})
</insert> </insert>
<insert id="insertSelective" parameterType="com.cxyxiaomo.flashsale.dataobject.OrderDO"> <insert id="insertSelective" parameterType="com.cxyxiaomo.flashsale.dataobject.OrderDO">
<!-- <!--
WARNING - @mbg.generated WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify. This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Thu Mar 03 22:04:45 CST 2022. This element was generated on Sat Mar 05 15:52:04 CST 2022.
--> -->
insert into order_info insert into order_info
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
@@ -81,6 +82,9 @@
<if test="orderPrice != null"> <if test="orderPrice != null">
order_price, order_price,
</if> </if>
<if test="promoId != null">
promo_id,
</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null"> <if test="id != null">
@@ -101,13 +105,16 @@
<if test="orderPrice != null"> <if test="orderPrice != null">
#{orderPrice,jdbcType=DECIMAL}, #{orderPrice,jdbcType=DECIMAL},
</if> </if>
<if test="promoId != null">
#{promoId,jdbcType=INTEGER},
</if>
</trim> </trim>
</insert> </insert>
<update id="updateByPrimaryKeySelective" parameterType="com.cxyxiaomo.flashsale.dataobject.OrderDO"> <update id="updateByPrimaryKeySelective" parameterType="com.cxyxiaomo.flashsale.dataobject.OrderDO">
<!-- <!--
WARNING - @mbg.generated WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify. This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Thu Mar 03 22:04:45 CST 2022. This element was generated on Sat Mar 05 15:52:04 CST 2022.
--> -->
update order_info update order_info
<set> <set>
@@ -126,6 +133,9 @@
<if test="orderPrice != null"> <if test="orderPrice != null">
order_price = #{orderPrice,jdbcType=DECIMAL}, order_price = #{orderPrice,jdbcType=DECIMAL},
</if> </if>
<if test="promoId != null">
promo_id = #{promoId,jdbcType=INTEGER},
</if>
</set> </set>
where id = #{id,jdbcType=VARCHAR} where id = #{id,jdbcType=VARCHAR}
</update> </update>
@@ -133,14 +143,15 @@
<!-- <!--
WARNING - @mbg.generated WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify. This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Thu Mar 03 22:04:45 CST 2022. This element was generated on Sat Mar 05 15:52:04 CST 2022.
--> -->
update order_info update order_info
set user_id = #{userId,jdbcType=INTEGER}, set user_id = #{userId,jdbcType=INTEGER},
item_id = #{itemId,jdbcType=INTEGER}, item_id = #{itemId,jdbcType=INTEGER},
item_price = #{itemPrice,jdbcType=DECIMAL}, item_price = #{itemPrice,jdbcType=DECIMAL},
amount = #{amount,jdbcType=INTEGER}, amount = #{amount,jdbcType=INTEGER},
order_price = #{orderPrice,jdbcType=DECIMAL} order_price = #{orderPrice,jdbcType=DECIMAL},
promo_id = #{promoId,jdbcType=INTEGER}
where id = #{id,jdbcType=VARCHAR} where id = #{id,jdbcType=VARCHAR}
</update> </update>
</mapper> </mapper>