mirror of
https://gitee.com/coder-xiaomo/flashsale
synced 2025-09-11 14:31:40 +08:00
商品列表
This commit is contained in:
@@ -11,7 +11,7 @@
|
|||||||
Target Server Version : 50726
|
Target Server Version : 50726
|
||||||
File Encoding : 65001
|
File Encoding : 65001
|
||||||
|
|
||||||
Date: 03/03/2022 15:29:13
|
Date: 03/03/2022 18:37:04
|
||||||
*/
|
*/
|
||||||
|
|
||||||
SET NAMES utf8mb4;
|
SET NAMES utf8mb4;
|
||||||
@@ -29,12 +29,26 @@ CREATE TABLE `item_info` (
|
|||||||
`sales` int(11) NOT NULL DEFAULT 0,
|
`sales` int(11) NOT NULL DEFAULT 0,
|
||||||
`img_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
|
`img_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||||
PRIMARY KEY (`id`) USING BTREE
|
PRIMARY KEY (`id`) USING BTREE
|
||||||
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
|
) ENGINE = InnoDB AUTO_INCREMENT = 16 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = DYNAMIC;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Records of item_info
|
-- Records of item_info
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
INSERT INTO `item_info` VALUES (1, 'item-h7p0wt-22680', 22.00, '0sddhs4aeowc26638j5fp2ox', 0, 'https://domain.com/pic/190ghi.jpg');
|
INSERT INTO `item_info` VALUES (1, 'item-h7p0wt-22680', 22.00, '0sddhs4aeowc26638j5fp2ox', 0, 'https://domain.com/pic/190ghi.jpg');
|
||||||
|
INSERT INTO `item_info` VALUES (2, '电视机', 1800.00, '一台电视机', 0, 'https://domain.com/pic/television.png');
|
||||||
|
INSERT INTO `item_info` VALUES (3, '电冰箱', 2800.00, '一台电冰箱', 0, 'https://domain.com/pic/电冰箱.png');
|
||||||
|
INSERT INTO `item_info` VALUES (4, '空调', 3600.00, '一台空调', 0, 'https://domain.com/pic/空调.png');
|
||||||
|
INSERT INTO `item_info` VALUES (5, 'item-2xmm6g-5492', 235.00, 'lsudsf67ghobos3q1olbwx27', 0, 'https://domain.com/pic/1fvojf.jpg');
|
||||||
|
INSERT INTO `item_info` VALUES (6, 'item-wlx9gu-1220', 270.00, '3q234qqp3wwo53mtdv0qjuvg', 0, 'https://domain.com/pic/tkxc5q.jpg');
|
||||||
|
INSERT INTO `item_info` VALUES (7, 'item-cqru11-3487', 259.00, '04q6lopvj3ubb4458k4wldok', 0, 'https://domain.com/pic/nxmx2h.jpg');
|
||||||
|
INSERT INTO `item_info` VALUES (8, 'item-7f7qa1-5168', 314.00, 'jqkgc5ks2r9e2k8za3zs9rlc', 0, 'https://domain.com/pic/gvwtzd.jpg');
|
||||||
|
INSERT INTO `item_info` VALUES (9, 'item-i8flrb-7649', 129.00, 'i0m9w2x5w4gugeq7hlyp8nqx', 0, 'https://domain.com/pic/rz85vu.jpg');
|
||||||
|
INSERT INTO `item_info` VALUES (10, 'item-epo4p3-8545', 40.00, 'x71zeodg46ziiid7pgfag4bc', 0, 'https://domain.com/pic/o0f3uk.jpg');
|
||||||
|
INSERT INTO `item_info` VALUES (11, 'item-o7iiuj-1056', 322.00, 'fm3r99ko038jbfhy5cg7kwp8', 0, 'https://domain.com/pic/u0rjr8.jpg');
|
||||||
|
INSERT INTO `item_info` VALUES (12, 'item-fi7q7p-11366', 24.00, '18e54me0cdbqt8n9mxjnisf8', 0, 'https://domain.com/pic/eetb26.jpg');
|
||||||
|
INSERT INTO `item_info` VALUES (13, 'item-9lwcps-12165', 9.00, 'hlxnhcfak89wengpsnehgtqs', 0, 'https://domain.com/pic/r9yxmi.jpg');
|
||||||
|
INSERT INTO `item_info` VALUES (14, 'item-pgdbqk-12664', 151.00, 'irydvab5wixg59c7scgt50yh', 0, 'https://domain.com/pic/xvfgwv.jpg');
|
||||||
|
INSERT INTO `item_info` VALUES (15, 'item-0lq98b-13424', 164.00, 'vwz4rsb4qhsnjs3phos35415', 0, 'https://domain.com/pic/9qhi3l.jpg');
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Table structure for item_stock
|
-- Table structure for item_stock
|
||||||
@@ -47,12 +61,26 @@ CREATE TABLE `item_stock` (
|
|||||||
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 `item_stock_ibfk_1` FOREIGN KEY (`item_id`) REFERENCES `item_info` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
|
CONSTRAINT `item_stock_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 = 16 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = DYNAMIC;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Records of item_stock
|
-- Records of item_stock
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
INSERT INTO `item_stock` VALUES (1, 140, 1);
|
INSERT INTO `item_stock` VALUES (1, 140, 1);
|
||||||
|
INSERT INTO `item_stock` VALUES (2, 876, 2);
|
||||||
|
INSERT INTO `item_stock` VALUES (3, 876, 3);
|
||||||
|
INSERT INTO `item_stock` VALUES (4, 87, 4);
|
||||||
|
INSERT INTO `item_stock` VALUES (5, 909, 5);
|
||||||
|
INSERT INTO `item_stock` VALUES (6, 960, 6);
|
||||||
|
INSERT INTO `item_stock` VALUES (7, 511, 7);
|
||||||
|
INSERT INTO `item_stock` VALUES (8, 444, 8);
|
||||||
|
INSERT INTO `item_stock` VALUES (9, 116, 9);
|
||||||
|
INSERT INTO `item_stock` VALUES (10, 93, 10);
|
||||||
|
INSERT INTO `item_stock` VALUES (11, 943, 11);
|
||||||
|
INSERT INTO `item_stock` VALUES (12, 917, 12);
|
||||||
|
INSERT INTO `item_stock` VALUES (13, 351, 13);
|
||||||
|
INSERT INTO `item_stock` VALUES (14, 117, 14);
|
||||||
|
INSERT INTO `item_stock` VALUES (15, 34, 15);
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Table structure for user_info
|
-- Table structure for user_info
|
||||||
|
@@ -54,29 +54,29 @@
|
|||||||
$("#create").on("click", function () {
|
$("#create").on("click", function () {
|
||||||
var title = $("#title").val();
|
var title = $("#title").val();
|
||||||
var description = $("#description").val();
|
var description = $("#description").val();
|
||||||
var imgUrl = $("#imgUrl").val();
|
|
||||||
var price = $("#price").val();
|
var price = $("#price").val();
|
||||||
|
var imgUrl = $("#imgUrl").val();
|
||||||
var stock = $("#stock").val();
|
var stock = $("#stock").val();
|
||||||
|
|
||||||
if (title == null || title == "") {
|
if (title == null || title == "") {
|
||||||
alert("商品名不能为空");
|
alert("商品名不能为空");
|
||||||
return false; // 捕获onclick事件,不让他传递到上一层
|
return false;
|
||||||
}
|
}
|
||||||
if (description == null || description == "") {
|
if (description == null || description == "") {
|
||||||
alert("商品描述不能为空");
|
alert("商品描述不能为空");
|
||||||
return false; // 捕获onclick事件,不让他传递到上一层
|
return false;
|
||||||
}
|
|
||||||
if (imgUrl == null || imgUrl == "") {
|
|
||||||
alert("图片Url不能为空");
|
|
||||||
return false; // 捕获onclick事件,不让他传递到上一层
|
|
||||||
}
|
}
|
||||||
if (price == null || price == "") {
|
if (price == null || price == "") {
|
||||||
alert("价格不能为空");
|
alert("价格不能为空");
|
||||||
return false; // 捕获onclick事件,不让他传递到上一层
|
return false;
|
||||||
|
}
|
||||||
|
if (imgUrl == null || imgUrl == "") {
|
||||||
|
alert("图片Url不能为空");
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
if (stock == null || stock == "") {
|
if (stock == null || stock == "") {
|
||||||
alert("库存不能为空");
|
alert("库存不能为空");
|
||||||
return false; // 捕获onclick事件,不让他传递到上一层
|
return false;
|
||||||
}
|
}
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: "POST",
|
type: "POST",
|
||||||
|
@@ -11,6 +11,8 @@ import org.springframework.stereotype.Controller;
|
|||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Controller("/item")
|
@Controller("/item")
|
||||||
@RequestMapping("/item")
|
@RequestMapping("/item")
|
||||||
@@ -53,6 +55,21 @@ public class ItemController extends BaseController {
|
|||||||
return CommonReturnType.create(itemVO);
|
return CommonReturnType.create(itemVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 商品列表页面浏览
|
||||||
|
@RequestMapping(value = "/list", method = {RequestMethod.GET})
|
||||||
|
@ResponseBody
|
||||||
|
public CommonReturnType listItem() {
|
||||||
|
List<ItemModel> itemModelList = itemService.listItem();
|
||||||
|
|
||||||
|
// 使用 Stream Api将list内的itemModel转化为ItemVO
|
||||||
|
List<ItemVO> itemVOList = itemModelList.stream().map(itemModel -> {
|
||||||
|
ItemVO itemVO = this.convertVOFromModel(itemModel);
|
||||||
|
return itemVO;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
|
||||||
|
return CommonReturnType.create(itemVOList);
|
||||||
|
}
|
||||||
|
|
||||||
private ItemVO convertVOFromModel(ItemModel itemModel) {
|
private ItemVO convertVOFromModel(ItemModel itemModel) {
|
||||||
if (itemModel == null) {
|
if (itemModel == null) {
|
||||||
return null;
|
return null;
|
||||||
|
@@ -2,6 +2,8 @@ package com.cxyxiaomo.flashsale.dao;
|
|||||||
|
|
||||||
import com.cxyxiaomo.flashsale.dataobject.ItemDO;
|
import com.cxyxiaomo.flashsale.dataobject.ItemDO;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public interface ItemDOMapper {
|
public interface ItemDOMapper {
|
||||||
/**
|
/**
|
||||||
* This method was generated by MyBatis Generator.
|
* This method was generated by MyBatis Generator.
|
||||||
@@ -35,6 +37,8 @@ public interface ItemDOMapper {
|
|||||||
*/
|
*/
|
||||||
ItemDO selectByPrimaryKey(Integer id);
|
ItemDO selectByPrimaryKey(Integer id);
|
||||||
|
|
||||||
|
List<ItemDO> listItem();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method was generated by MyBatis Generator.
|
* This method was generated by MyBatis Generator.
|
||||||
* This method corresponds to the database table item_info
|
* This method corresponds to the database table item_info
|
||||||
|
@@ -15,8 +15,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class ItemServiceImpl implements ItemService {
|
public class ItemServiceImpl implements ItemService {
|
||||||
@@ -78,7 +78,15 @@ public class ItemServiceImpl implements ItemService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ItemModel> listItem() {
|
public List<ItemModel> listItem() {
|
||||||
return null;
|
List<ItemDO> itemDOList = itemDOMapper.listItem();
|
||||||
|
|
||||||
|
List<ItemModel> itemModelList = itemDOList.stream().map(itemDO -> {
|
||||||
|
ItemStockDO itemStockDO = itemStockDOMapper.selectByItemId(itemDO.getId());
|
||||||
|
ItemModel itemModel = this.convertModelFromDataObject(itemDO, itemStockDO);
|
||||||
|
return itemModel;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
|
||||||
|
return itemModelList;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -143,4 +143,10 @@
|
|||||||
img_url = #{imgUrl,jdbcType=VARCHAR}
|
img_url = #{imgUrl,jdbcType=VARCHAR}
|
||||||
where id = #{id,jdbcType=INTEGER}
|
where id = #{id,jdbcType=INTEGER}
|
||||||
</update>
|
</update>
|
||||||
|
<select id="listItem" resultMap="BaseResultMap">
|
||||||
|
select
|
||||||
|
<include refid="Base_Column_List" />
|
||||||
|
from item_info
|
||||||
|
order by sales DESC
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
Reference in New Issue
Block a user