mirror of
				https://gitee.com/coder-xiaomo/flashsale
				synced 2025-11-04 06:03:13 +08:00 
			
		
		
		
	秒杀(SpringBoot构建电商基础秒杀项目 基础部分完成)
This commit is contained in:
		@@ -1,3 +1,5 @@
 | 
				
			|||||||
MavenRepo: 不存在的Maven依赖,需要手动复制到本地Maven仓库中
 | 
					MavenRepo: 不存在的Maven依赖,需要手动复制到本地Maven仓库中
 | 
				
			||||||
 | 
					
 | 
				
			||||||
sql: 项目数据库文件
 | 
					sql: 项目数据库文件
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					课程:https://www.imooc.com/video/18469
 | 
				
			||||||
@@ -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
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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 {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -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;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -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;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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());
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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>
 | 
				
			||||||
		Reference in New Issue
	
	Block a user