[TOC]java
Brand數據庫
/** * @author 庭前雲落 * @date 2019/11/14 16:53 * @description */ @Table(name = "tb_brand") @Data @AllArgsConstructor @NoArgsConstructor public class Brand { @Id private Integer id; private String image; private String letter; private String name; private Integer seq; }
BrandControllerapp
/** * @author 庭前雲落 * @date 2019/11/14 16:58 * @description */ @RestController @RequestMapping("/brand") public class BrandController { @Resource private BrandService brandServiceImpl; @GetMapping public BaseResult selectAll(){ List<Brand> blist = brandServiceImpl.selectAll(); return BaseResult.ok("查詢成功",blist); } }
BrandServiceImplide
/** * @author 庭前雲落 * @date 2019/11/14 16:58 * @description */ @Service @Transactional public class BrandServiceImpl implements BrandService { @Resource private BrandMapper brandMapper; @Override public List<Brand> selectAll() { return brandMapper.selectAll(); } }
Sku工具
/** * @author 庭前雲落 * @date 2019/11/14 17:14 * @description */ @Table(name = "tb_sku") @Data @AllArgsConstructor @NoArgsConstructor public class Sku { @Id private String id; //商品id private String sn; //商品條碼 private String name; //SKU名稱 private Integer price; //價格(分) private Integer num; //庫存數量 @Column(name="alert_num") private Integer alertNum; //庫存預警數量 private String image; //商品圖片 private String images; //商品圖片列表 private Integer weight; //重量(克) @Column(name="create_time") private Date createTime; //建立時間 @Column(name="update_time") private Date updateTime; //更新時間 @Column(name="spu_id") private String spuId; //SPUID @Column(name="category_id") private Integer categoryId; //類目ID @Column(name="category_name") private String categoryName; //類目名稱 @Column(name="brand_name") private String brandName; //品牌名稱 private String spec; //規格 @Column(name="sale_num") private Integer saleNum; //銷量 @Column(name="comment_num") private Integer commentNum; //評論數 private String status; //商品狀態 1-正常,2-下架,3-刪除 }
Spu學習
/** * @author 庭前雲落 * @date 2019/11/14 17:14 * @description */ @Data @Table(name = "tb_spu") @AllArgsConstructor @NoArgsConstructor public class Spu { @Id private String id; //主鍵 private String sn; //貨號 private String name; //SPU名 private String caption; //副標題 @Column(name="brand_id") private Integer brandId; //品牌ID @Column(name="category1_id") private Integer category1Id; //一級分類 @Column(name="category2_id") private Integer category2Id; //二級分類 @Column(name="category3_id") private Integer category3Id; //三級分類 @Column(name="template_id") private Integer templateId; //模板ID @Column(name="freight_id") private Integer freightId; //運費模板id private String image; //圖片 private String images; //圖片列表 @Column(name="sale_service") private String saleService; //售後服務 private String introduction; //介紹 @Column(name="spec_items") private String specItems; //規格列表 @Column(name="para_items") private String paraItems; //參數列表 @Column(name="sale_num") private Integer saleNum; //銷量 @Column(name="comment_num") private Integer commentNum; //評論數 @Column(name="is_marketable") private String isMarketable; //是否上架 @Column(name="is_enable_spec") private String isEnableSpec; //是否啓用規格 @Column(name="is_delete") private String isDelete; //是否刪除 private String status; //審覈狀態 private List<Sku> skuData; //全部sku信息 }
IdWorkerConfig測試
//啓用IdWorkerProperties @EnableConfigurationProperties(IdWorkerProperties.class) @Component //@Service做用同樣 public class IdWorkerConfig { @Bean public IdWorker idWorker(IdWorkerProperties idWorkerProperties){ return new IdWorker(idWorkerProperties.getWorkerId() ,idWorkerProperties.getDatacenterId()); } }
IdWorkerPropertiesui
@ConfigurationProperties(prefix = "sc.worker")//對應yml @Data public class IdWorkerProperties { private Long workerId; private Long datacenterId; }
SpuController3d
/** * @author 庭前雲落 * @date 2019/11/15 16:54 * @description */ @RestController @RequestMapping("/spu") public class SpuController { @Resource private SpuService spuServiceImpl; @PostMapping public BaseResult add(@RequestBody Spu spu){ spuServiceImpl.add(spu); return BaseResult.ok("添加成功"); } }
SpuServiceImplcode
/** * @author 庭前雲落 * @date 2019/11/15 17:00 * @description */ @Service @Transactional public class SpuServiceImpl implements SpuService { @Resource private IdWorker idWorker; @Resource private SpuMapper spuMapper; @Resource private SkuMapper skuMapper; @Resource private CategoryMapper categoryMapper; @Resource private BrandMapper brandMapper; @Override public void add(Spu spu) { //一、spu //1.1自動生成id,全局惟一,使用IdWorker spu.setId(idWorker.nextId() + ""); //1.2其餘 spu.setSaleNum(0);//銷量 spu.setCommentNum(0); //評論數 spu.setIsEnableSpec("1");//是否啓用規格 spu.setIsDelete("0");//是否刪除,邏輯刪除,數據庫沒有真刪 //1.3保存spu spuMapper.insertSelective(spu); //3.一、查詢分類--三級分類 Category category = categoryMapper.selectByPrimaryKey(spu.getCategory3Id()); Brand brand = brandMapper.selectByPrimaryKey(spu.getBrandId()); //二、保存sku spu.getSkuData().forEach((sku)->{ //2.1生成id sku.setId(idWorker.nextId()+""); //2.2 sku.setCreateTime(new Date()); sku.setUpdateTime(new Date()); //2.3skuid sku.setSpuId(spu.getId()); //2.4分類 sku.setCategoryId(category.getId()); sku.setCategoryName(category.getName()); //2.5品牌 sku.setBrandName(brand.getName()); //2.6其餘 sku.setSaleNum(0); sku.setCommentNum(0); skuMapper.insertSelective(sku); }); // for(Sku sku :spu.getSkuData()){ // 同上遍歷 // } } }
平常學習的總結,主要是爲了本身之後看,固然你們有什麼好的建議,歡迎評論留言。