[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()){ // 同上遍历 // } } }
平常学习的总结,主要是为了本身之后看,固然你们有什么好的建议,欢迎评论留言。