Browse Source

初始化商品模块

mssql
Yen 3 years ago
parent
commit
33c79663fb
  1. 1
      src/main/java/com/qs/serve/common/model/enums/SystemModule.java
  2. 103
      src/main/java/com/qs/serve/modules/goods/controller/GoodsCategoryController.java
  3. 103
      src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java
  4. 103
      src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuSpecValueController.java
  5. 103
      src/main/java/com/qs/serve/modules/goods/controller/GoodsSpecController.java
  6. 103
      src/main/java/com/qs/serve/modules/goods/controller/GoodsSpecValueController.java
  7. 103
      src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java
  8. 103
      src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuSpecController.java
  9. 87
      src/main/java/com/qs/serve/modules/goods/entity/GoodsCategory.java
  10. 103
      src/main/java/com/qs/serve/modules/goods/entity/GoodsSku.java
  11. 77
      src/main/java/com/qs/serve/modules/goods/entity/GoodsSkuSpecValue.java
  12. 66
      src/main/java/com/qs/serve/modules/goods/entity/GoodsSpec.java
  13. 70
      src/main/java/com/qs/serve/modules/goods/entity/GoodsSpecValue.java
  14. 102
      src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java
  15. 74
      src/main/java/com/qs/serve/modules/goods/entity/GoodsSpuSpec.java
  16. 14
      src/main/java/com/qs/serve/modules/goods/mapper/GoodsCategoryMapper.java
  17. 14
      src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuMapper.java
  18. 14
      src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuSpecValueMapper.java
  19. 14
      src/main/java/com/qs/serve/modules/goods/mapper/GoodsSpecMapper.java
  20. 14
      src/main/java/com/qs/serve/modules/goods/mapper/GoodsSpecValueMapper.java
  21. 14
      src/main/java/com/qs/serve/modules/goods/mapper/GoodsSpuMapper.java
  22. 14
      src/main/java/com/qs/serve/modules/goods/mapper/GoodsSpuSpecMapper.java
  23. 14
      src/main/java/com/qs/serve/modules/goods/service/GoodsCategoryService.java
  24. 14
      src/main/java/com/qs/serve/modules/goods/service/GoodsSkuService.java
  25. 14
      src/main/java/com/qs/serve/modules/goods/service/GoodsSkuSpecValueService.java
  26. 14
      src/main/java/com/qs/serve/modules/goods/service/GoodsSpecService.java
  27. 14
      src/main/java/com/qs/serve/modules/goods/service/GoodsSpecValueService.java
  28. 14
      src/main/java/com/qs/serve/modules/goods/service/GoodsSpuService.java
  29. 14
      src/main/java/com/qs/serve/modules/goods/service/GoodsSpuSpecService.java
  30. 22
      src/main/java/com/qs/serve/modules/goods/service/impl/GoodsCategoryServiceImpl.java
  31. 22
      src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuServiceImpl.java
  32. 22
      src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuSpecValueServiceImpl.java
  33. 22
      src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpecServiceImpl.java
  34. 22
      src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpecValueServiceImpl.java
  35. 22
      src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuServiceImpl.java
  36. 22
      src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuSpecServiceImpl.java

1
src/main/java/com/qs/serve/common/model/enums/SystemModule.java

@ -12,6 +12,7 @@ import lombok.Getter;
public enum SystemModule {
QUESTION("qms","问卷"),
GOODS("goods","商品"),
SYSTEM("sys","系统"),
UMS("ums","手机用户");

103
src/main/java/com/qs/serve/modules/goods/controller/GoodsCategoryController.java

@ -0,0 +1,103 @@
package com.qs.serve.modules.goods.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.model.annotation.SysLog;
import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.PageUtil;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import com.qs.serve.modules.goods.entity.GoodsCategory;
import com.qs.serve.modules.goods.service.GoodsCategoryService;
import javax.validation.Valid;
import java.util.List;
/**
* 商品 分类 后台接口
* @author YenHex
* @since 2022-10-09
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("goods/category")
public class GoodsCategoryController {
private GoodsCategoryService goodsCategoryService;
/**
* 翻页查询
* @param param
* @return
*/
@GetMapping("/page")
@PreAuthorize("hasRole('goods:category:query')")
public R<PageVo<GoodsCategory>> getPage(GoodsCategory param){
PageUtil.startPage();
LambdaQueryWrapper<GoodsCategory> categoryWrapper = new LambdaQueryWrapper<>(param);
List<GoodsCategory> list = goodsCategoryService.list(categoryWrapper);
return R.byPageHelperList(list);
}
/**
* 根据ID查询
* @param id
* @return
*/
@GetMapping("/getById/{id}")
@SysLog(module = SystemModule.GOODS, title = "分类", biz = BizType.QUERY)
@PreAuthorize("hasRole('goods:category:query')")
public R<GoodsCategory> getById(@PathVariable("id") String id){
GoodsCategory goodsCategory = goodsCategoryService.getById(id);
return R.ok(goodsCategory);
}
/**
* 根据ID更新
* @param param
* @return
*/
@PostMapping("/updateById")
@SysLog(module = SystemModule.GOODS, title = "分类", biz = BizType.UPDATE)
@PreAuthorize("hasRole('goods:category:update')")
public R<?> updateById(@RequestBody @Valid GoodsCategory param){
boolean result = goodsCategoryService.updateById(param);
return R.isTrue(result);
}
/**
* 新增分类
* @param param
* @return
*/
@PostMapping("/save")
@SysLog(module = SystemModule.GOODS, title = "分类", biz = BizType.INSERT)
@PreAuthorize("hasRole('goods:category:insert')")
public R<?> save(@RequestBody @Valid GoodsCategory param){
boolean result = goodsCategoryService.save(param);
return R.isTrue(result);
}
/**
* 删除分类
* @param id
* @return
*/
@DeleteMapping("/deleteById/{id}")
@SysLog(module = SystemModule.GOODS, title = "分类", biz = BizType.DELETE)
@PreAuthorize("hasRole('goods:category:delete')")
public R<?> deleteById(@PathVariable("id") String id){
boolean result = goodsCategoryService.removeById(id);
return R.isTrue(result);
}
}

103
src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java

@ -0,0 +1,103 @@
package com.qs.serve.modules.goods.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.model.annotation.SysLog;
import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.PageUtil;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import com.qs.serve.modules.goods.entity.GoodsSku;
import com.qs.serve.modules.goods.service.GoodsSkuService;
import javax.validation.Valid;
import java.util.List;
/**
* 商品 sku 后台接口
* @author YenHex
* @since 2022-10-09
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("goods/sku")
public class GoodsSkuController {
private GoodsSkuService goodsSkuService;
/**
* 翻页查询
* @param param
* @return
*/
@GetMapping("/page")
@PreAuthorize("hasRole('goods:sku:query')")
public R<PageVo<GoodsSku>> getPage(GoodsSku param){
PageUtil.startPage();
LambdaQueryWrapper<GoodsSku> skuWrapper = new LambdaQueryWrapper<>(param);
List<GoodsSku> list = goodsSkuService.list(skuWrapper);
return R.byPageHelperList(list);
}
/**
* 根据ID查询
* @param id
* @return
*/
@GetMapping("/getById/{id}")
@SysLog(module = SystemModule.GOODS, title = "sku", biz = BizType.QUERY)
@PreAuthorize("hasRole('goods:sku:query')")
public R<GoodsSku> getById(@PathVariable("id") String id){
GoodsSku goodsSku = goodsSkuService.getById(id);
return R.ok(goodsSku);
}
/**
* 根据ID更新
* @param param
* @return
*/
@PostMapping("/updateById")
@SysLog(module = SystemModule.GOODS, title = "sku", biz = BizType.UPDATE)
@PreAuthorize("hasRole('goods:sku:update')")
public R<?> updateById(@RequestBody @Valid GoodsSku param){
boolean result = goodsSkuService.updateById(param);
return R.isTrue(result);
}
/**
* 新增sku
* @param param
* @return
*/
@PostMapping("/save")
@SysLog(module = SystemModule.GOODS, title = "sku", biz = BizType.INSERT)
@PreAuthorize("hasRole('goods:sku:insert')")
public R<?> save(@RequestBody @Valid GoodsSku param){
boolean result = goodsSkuService.save(param);
return R.isTrue(result);
}
/**
* 删除sku
* @param id
* @return
*/
@DeleteMapping("/deleteById/{id}")
@SysLog(module = SystemModule.GOODS, title = "sku", biz = BizType.DELETE)
@PreAuthorize("hasRole('goods:sku:delete')")
public R<?> deleteById(@PathVariable("id") String id){
boolean result = goodsSkuService.removeById(id);
return R.isTrue(result);
}
}

103
src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuSpecValueController.java

@ -0,0 +1,103 @@
package com.qs.serve.modules.goods.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.model.annotation.SysLog;
import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.PageUtil;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import com.qs.serve.modules.goods.entity.GoodsSkuSpecValue;
import com.qs.serve.modules.goods.service.GoodsSkuSpecValueService;
import javax.validation.Valid;
import java.util.List;
/**
* 商品 sku规格值 后台接口
* @author YenHex
* @since 2022-10-09
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("goods/skuSpecValue")
public class GoodsSkuSpecValueController {
private GoodsSkuSpecValueService goodsSkuSpecValueService;
/**
* 翻页查询
* @param param
* @return
*/
@GetMapping("/page")
@PreAuthorize("hasRole('goods:skuSpecValue:query')")
public R<PageVo<GoodsSkuSpecValue>> getPage(GoodsSkuSpecValue param){
PageUtil.startPage();
LambdaQueryWrapper<GoodsSkuSpecValue> skuSpecValueWrapper = new LambdaQueryWrapper<>(param);
List<GoodsSkuSpecValue> list = goodsSkuSpecValueService.list(skuSpecValueWrapper);
return R.byPageHelperList(list);
}
/**
* 根据ID查询
* @param id
* @return
*/
@GetMapping("/getById/{id}")
@SysLog(module = SystemModule.GOODS, title = "sku规格值", biz = BizType.QUERY)
@PreAuthorize("hasRole('goods:skuSpecValue:query')")
public R<GoodsSkuSpecValue> getById(@PathVariable("id") String id){
GoodsSkuSpecValue goodsSkuSpecValue = goodsSkuSpecValueService.getById(id);
return R.ok(goodsSkuSpecValue);
}
/**
* 根据ID更新
* @param param
* @return
*/
@PostMapping("/updateById")
@SysLog(module = SystemModule.GOODS, title = "sku规格值", biz = BizType.UPDATE)
@PreAuthorize("hasRole('goods:skuSpecValue:update')")
public R<?> updateById(@RequestBody @Valid GoodsSkuSpecValue param){
boolean result = goodsSkuSpecValueService.updateById(param);
return R.isTrue(result);
}
/**
* 新增sku规格值
* @param param
* @return
*/
@PostMapping("/save")
@SysLog(module = SystemModule.GOODS, title = "sku规格值", biz = BizType.INSERT)
@PreAuthorize("hasRole('goods:skuSpecValue:insert')")
public R<?> save(@RequestBody @Valid GoodsSkuSpecValue param){
boolean result = goodsSkuSpecValueService.save(param);
return R.isTrue(result);
}
/**
* 删除sku规格值
* @param id
* @return
*/
@DeleteMapping("/deleteById/{id}")
@SysLog(module = SystemModule.GOODS, title = "sku规格值", biz = BizType.DELETE)
@PreAuthorize("hasRole('goods:skuSpecValue:delete')")
public R<?> deleteById(@PathVariable("id") String id){
boolean result = goodsSkuSpecValueService.removeById(id);
return R.isTrue(result);
}
}

103
src/main/java/com/qs/serve/modules/goods/controller/GoodsSpecController.java

@ -0,0 +1,103 @@
package com.qs.serve.modules.goods.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.model.annotation.SysLog;
import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.PageUtil;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import com.qs.serve.modules.goods.entity.GoodsSpec;
import com.qs.serve.modules.goods.service.GoodsSpecService;
import javax.validation.Valid;
import java.util.List;
/**
* 商品 规格 后台接口
* @author YenHex
* @since 2022-10-09
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("goods/spec")
public class GoodsSpecController {
private GoodsSpecService goodsSpecService;
/**
* 翻页查询
* @param param
* @return
*/
@GetMapping("/page")
@PreAuthorize("hasRole('goods:spec:query')")
public R<PageVo<GoodsSpec>> getPage(GoodsSpec param){
PageUtil.startPage();
LambdaQueryWrapper<GoodsSpec> specWrapper = new LambdaQueryWrapper<>(param);
List<GoodsSpec> list = goodsSpecService.list(specWrapper);
return R.byPageHelperList(list);
}
/**
* 根据ID查询
* @param id
* @return
*/
@GetMapping("/getById/{id}")
@SysLog(module = SystemModule.GOODS, title = "规格", biz = BizType.QUERY)
@PreAuthorize("hasRole('goods:spec:query')")
public R<GoodsSpec> getById(@PathVariable("id") String id){
GoodsSpec goodsSpec = goodsSpecService.getById(id);
return R.ok(goodsSpec);
}
/**
* 根据ID更新
* @param param
* @return
*/
@PostMapping("/updateById")
@SysLog(module = SystemModule.GOODS, title = "规格", biz = BizType.UPDATE)
@PreAuthorize("hasRole('goods:spec:update')")
public R<?> updateById(@RequestBody @Valid GoodsSpec param){
boolean result = goodsSpecService.updateById(param);
return R.isTrue(result);
}
/**
* 新增规格
* @param param
* @return
*/
@PostMapping("/save")
@SysLog(module = SystemModule.GOODS, title = "规格", biz = BizType.INSERT)
@PreAuthorize("hasRole('goods:spec:insert')")
public R<?> save(@RequestBody @Valid GoodsSpec param){
boolean result = goodsSpecService.save(param);
return R.isTrue(result);
}
/**
* 删除规格
* @param id
* @return
*/
@DeleteMapping("/deleteById/{id}")
@SysLog(module = SystemModule.GOODS, title = "规格", biz = BizType.DELETE)
@PreAuthorize("hasRole('goods:spec:delete')")
public R<?> deleteById(@PathVariable("id") String id){
boolean result = goodsSpecService.removeById(id);
return R.isTrue(result);
}
}

103
src/main/java/com/qs/serve/modules/goods/controller/GoodsSpecValueController.java

@ -0,0 +1,103 @@
package com.qs.serve.modules.goods.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.model.annotation.SysLog;
import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.PageUtil;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import com.qs.serve.modules.goods.entity.GoodsSpecValue;
import com.qs.serve.modules.goods.service.GoodsSpecValueService;
import javax.validation.Valid;
import java.util.List;
/**
* 商品 规格值 后台接口
* @author YenHex
* @since 2022-10-09
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("goods/specValue")
public class GoodsSpecValueController {
private GoodsSpecValueService goodsSpecValueService;
/**
* 翻页查询
* @param param
* @return
*/
@GetMapping("/page")
@PreAuthorize("hasRole('goods:specValue:query')")
public R<PageVo<GoodsSpecValue>> getPage(GoodsSpecValue param){
PageUtil.startPage();
LambdaQueryWrapper<GoodsSpecValue> specValueWrapper = new LambdaQueryWrapper<>(param);
List<GoodsSpecValue> list = goodsSpecValueService.list(specValueWrapper);
return R.byPageHelperList(list);
}
/**
* 根据ID查询
* @param id
* @return
*/
@GetMapping("/getById/{id}")
@SysLog(module = SystemModule.GOODS, title = "规格值", biz = BizType.QUERY)
@PreAuthorize("hasRole('goods:specValue:query')")
public R<GoodsSpecValue> getById(@PathVariable("id") String id){
GoodsSpecValue goodsSpecValue = goodsSpecValueService.getById(id);
return R.ok(goodsSpecValue);
}
/**
* 根据ID更新
* @param param
* @return
*/
@PostMapping("/updateById")
@SysLog(module = SystemModule.GOODS, title = "规格值", biz = BizType.UPDATE)
@PreAuthorize("hasRole('goods:specValue:update')")
public R<?> updateById(@RequestBody @Valid GoodsSpecValue param){
boolean result = goodsSpecValueService.updateById(param);
return R.isTrue(result);
}
/**
* 新增规格值
* @param param
* @return
*/
@PostMapping("/save")
@SysLog(module = SystemModule.GOODS, title = "规格值", biz = BizType.INSERT)
@PreAuthorize("hasRole('goods:specValue:insert')")
public R<?> save(@RequestBody @Valid GoodsSpecValue param){
boolean result = goodsSpecValueService.save(param);
return R.isTrue(result);
}
/**
* 删除规格值
* @param id
* @return
*/
@DeleteMapping("/deleteById/{id}")
@SysLog(module = SystemModule.GOODS, title = "规格值", biz = BizType.DELETE)
@PreAuthorize("hasRole('goods:specValue:delete')")
public R<?> deleteById(@PathVariable("id") String id){
boolean result = goodsSpecValueService.removeById(id);
return R.isTrue(result);
}
}

103
src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java

@ -0,0 +1,103 @@
package com.qs.serve.modules.goods.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.model.annotation.SysLog;
import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.PageUtil;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import com.qs.serve.modules.goods.entity.GoodsSpu;
import com.qs.serve.modules.goods.service.GoodsSpuService;
import javax.validation.Valid;
import java.util.List;
/**
* 商品 spu 后台接口
* @author YenHex
* @since 2022-10-09
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("goods/spu")
public class GoodsSpuController {
private GoodsSpuService goodsSpuService;
/**
* 翻页查询
* @param param
* @return
*/
@GetMapping("/page")
@PreAuthorize("hasRole('goods:spu:query')")
public R<PageVo<GoodsSpu>> getPage(GoodsSpu param){
PageUtil.startPage();
LambdaQueryWrapper<GoodsSpu> spuWrapper = new LambdaQueryWrapper<>(param);
List<GoodsSpu> list = goodsSpuService.list(spuWrapper);
return R.byPageHelperList(list);
}
/**
* 根据ID查询
* @param id
* @return
*/
@GetMapping("/getById/{id}")
@SysLog(module = SystemModule.GOODS, title = "spu", biz = BizType.QUERY)
@PreAuthorize("hasRole('goods:spu:query')")
public R<GoodsSpu> getById(@PathVariable("id") String id){
GoodsSpu goodsSpu = goodsSpuService.getById(id);
return R.ok(goodsSpu);
}
/**
* 根据ID更新
* @param param
* @return
*/
@PostMapping("/updateById")
@SysLog(module = SystemModule.GOODS, title = "spu", biz = BizType.UPDATE)
@PreAuthorize("hasRole('goods:spu:update')")
public R<?> updateById(@RequestBody @Valid GoodsSpu param){
boolean result = goodsSpuService.updateById(param);
return R.isTrue(result);
}
/**
* 新增spu
* @param param
* @return
*/
@PostMapping("/save")
@SysLog(module = SystemModule.GOODS, title = "spu", biz = BizType.INSERT)
@PreAuthorize("hasRole('goods:spu:insert')")
public R<?> save(@RequestBody @Valid GoodsSpu param){
boolean result = goodsSpuService.save(param);
return R.isTrue(result);
}
/**
* 删除spu
* @param id
* @return
*/
@DeleteMapping("/deleteById/{id}")
@SysLog(module = SystemModule.GOODS, title = "spu", biz = BizType.DELETE)
@PreAuthorize("hasRole('goods:spu:delete')")
public R<?> deleteById(@PathVariable("id") String id){
boolean result = goodsSpuService.removeById(id);
return R.isTrue(result);
}
}

103
src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuSpecController.java

@ -0,0 +1,103 @@
package com.qs.serve.modules.goods.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.model.annotation.SysLog;
import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.PageUtil;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import com.qs.serve.modules.goods.entity.GoodsSpuSpec;
import com.qs.serve.modules.goods.service.GoodsSpuSpecService;
import javax.validation.Valid;
import java.util.List;
/**
* 商品 spu规格 后台接口
* @author YenHex
* @since 2022-10-09
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("goods/spuSpec")
public class GoodsSpuSpecController {
private GoodsSpuSpecService goodsSpuSpecService;
/**
* 翻页查询
* @param param
* @return
*/
@GetMapping("/page")
@PreAuthorize("hasRole('goods:spuSpec:query')")
public R<PageVo<GoodsSpuSpec>> getPage(GoodsSpuSpec param){
PageUtil.startPage();
LambdaQueryWrapper<GoodsSpuSpec> spuSpecWrapper = new LambdaQueryWrapper<>(param);
List<GoodsSpuSpec> list = goodsSpuSpecService.list(spuSpecWrapper);
return R.byPageHelperList(list);
}
/**
* 根据ID查询
* @param id
* @return
*/
@GetMapping("/getById/{id}")
@SysLog(module = SystemModule.GOODS, title = "spu规格", biz = BizType.QUERY)
@PreAuthorize("hasRole('goods:spuSpec:query')")
public R<GoodsSpuSpec> getById(@PathVariable("id") String id){
GoodsSpuSpec goodsSpuSpec = goodsSpuSpecService.getById(id);
return R.ok(goodsSpuSpec);
}
/**
* 根据ID更新
* @param param
* @return
*/
@PostMapping("/updateById")
@SysLog(module = SystemModule.GOODS, title = "spu规格", biz = BizType.UPDATE)
@PreAuthorize("hasRole('goods:spuSpec:update')")
public R<?> updateById(@RequestBody @Valid GoodsSpuSpec param){
boolean result = goodsSpuSpecService.updateById(param);
return R.isTrue(result);
}
/**
* 新增spu规格
* @param param
* @return
*/
@PostMapping("/save")
@SysLog(module = SystemModule.GOODS, title = "spu规格", biz = BizType.INSERT)
@PreAuthorize("hasRole('goods:spuSpec:insert')")
public R<?> save(@RequestBody @Valid GoodsSpuSpec param){
boolean result = goodsSpuSpecService.save(param);
return R.isTrue(result);
}
/**
* 删除spu规格
* @param id
* @return
*/
@DeleteMapping("/deleteById/{id}")
@SysLog(module = SystemModule.GOODS, title = "spu规格", biz = BizType.DELETE)
@PreAuthorize("hasRole('goods:spuSpec:delete')")
public R<?> deleteById(@PathVariable("id") String id){
boolean result = goodsSpuSpecService.removeById(id);
return R.isTrue(result);
}
}

87
src/main/java/com/qs/serve/modules/goods/entity/GoodsCategory.java

@ -0,0 +1,87 @@
package com.qs.serve.modules.goods.entity;
import java.time.LocalDateTime;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotBlank;
/**
* 分类 实体类
* @author YenHex
* @since 2022-10-09
*/
@Data
@TableName("goods_category")
public class GoodsCategory implements Serializable {
private static final long serialVersionUID = 1L;
/** PK */
@TableId(type = IdType.AUTO)
private Long id;
/** (1:开启;0:关闭) */
@NotBlank(message = "(1:开启;0:关闭)不能为空")
@Length(max = 2,message = "(1:开启;0:关闭)长度不能超过2字")
private String enable;
/** 父分类编号 */
@Length(max = 32,message = "父分类编号长度不能超过32字")
private String parentId;
/** 名称 */
@Length(max = 16,message = "名称长度不能超过16字")
private String name;
/** 描述 */
@Length(max = 255,message = "描述长度不能超过255字")
private String description;
/** 图片 */
@Length(max = 255,message = "图片长度不能超过255字")
private String picUrl;
/** 排序 */
private Integer sort;
/** 创建时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 最后更新时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@TableField(fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
/** 所属租户 */
@JsonIgnore
@JsonProperty
private String tenantId;
/** 逻辑删除标记(0:显示;1:隐藏) */
@JsonIgnore
@JsonProperty
private String delFlag;
/** 创建人 */
@TableField(fill = FieldFill.INSERT)
private String createBy;
/** 更新人 */
@TableField(fill = FieldFill.UPDATE)
private String updateBy;
}

103
src/main/java/com/qs/serve/modules/goods/entity/GoodsSku.java

@ -0,0 +1,103 @@
package com.qs.serve.modules.goods.entity;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotBlank;
/**
* sku 实体类
* @author YenHex
* @since 2022-10-09
*/
@Data
@TableName("goods_sku")
public class GoodsSku implements Serializable {
private static final long serialVersionUID = 1L;
/** PK */
@TableId(type = IdType.AUTO)
private Long id;
/** sku编码 */
@Length(max = 32,message = "sku编码长度不能超过32字")
private String skuCode;
/** 商品Id */
@NotNull(message = "商品Id不能为空")
private Long spuId;
/** 图片 */
@Length(max = 500,message = "图片长度不能超过500字")
private String picUrl;
/** 销售价格 */
private BigDecimal salesPrice;
/** 市场价 */
private BigDecimal marketPrice;
/** 成本价 */
private BigDecimal costPrice;
/** 库存 */
@NotNull(message = "库存不能为空")
private Integer stock;
/** 重量(kg) */
@NotNull(message = "重量(kg)不能为空")
private BigDecimal weight;
/** 体积(m³) */
@NotNull(message = "体积(m³)不能为空")
private BigDecimal volume;
/** 是否启用1、是;0否 */
@NotBlank(message = "是否启用1、是;0否不能为空")
@Length(max = 2,message = "是否启用1、是;0否长度不能超过2字")
private String enable;
/** 版本号 */
private Integer version;
/** 最后更新时间 */
@TableField(fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
/** 创建时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 所属租户 */
@JsonIgnore
@JsonProperty
private String tenantId;
/** 逻辑删除标记(0:显示;1:隐藏) */
@JsonIgnore
@JsonProperty
private String delFlag;
/** 创建人 */
@TableField(fill = FieldFill.INSERT)
private String createBy;
/** 更新人 */
@TableField(fill = FieldFill.UPDATE)
private String updateBy;
}

77
src/main/java/com/qs/serve/modules/goods/entity/GoodsSkuSpecValue.java

@ -0,0 +1,77 @@
package com.qs.serve.modules.goods.entity;
import java.time.LocalDateTime;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotBlank;
/**
* sku规格值 实体类
* @author YenHex
* @since 2022-10-09
*/
@Data
@TableName("goods_sku_spec_value")
public class GoodsSkuSpecValue implements Serializable {
private static final long serialVersionUID = 1L;
/** PK */
@TableId(type = IdType.AUTO)
private Long id;
/** spu_id */
private Long spuId;
/** sku_id */
@NotNull(message = "sku_id不能为空")
private Long skuId;
/** 规格值id */
@NotNull(message = "规格值id不能为空")
private Long specValueId;
/** 排序字段 */
private Integer sort;
/** 创建时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 更新时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@TableField(fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
/** 创建人 */
@TableField(fill = FieldFill.INSERT)
private String createBy;
/** 更新人 */
@TableField(fill = FieldFill.UPDATE)
private String updateBy;
/** 所属租户 */
@JsonIgnore
@JsonProperty
private String tenantId;
/** 逻辑删除标记(0:显示;1:隐藏) */
@JsonIgnore
@JsonProperty
private String delFlag;
}

66
src/main/java/com/qs/serve/modules/goods/entity/GoodsSpec.java

@ -0,0 +1,66 @@
package com.qs.serve.modules.goods.entity;
import java.time.LocalDateTime;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotBlank;
/**
* 规格 实体类
* @author YenHex
* @since 2022-10-09
*/
@Data
@TableName("goods_spec")
public class GoodsSpec implements Serializable {
private static final long serialVersionUID = 1L;
/** PK */
@TableId(type = IdType.AUTO)
private Long id;
/** 名称 */
@NotBlank(message = "名称不能为空")
@Length(max = 50,message = "名称长度不能超过50字")
private String name;
/** 创建时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 最后更新时间 */
@TableField(fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
/** 创建人 */
@TableField(fill = FieldFill.INSERT)
private String createBy;
/** 更新人 */
@TableField(fill = FieldFill.UPDATE)
private String updateBy;
/** 所属租户 */
@JsonIgnore
@JsonProperty
private String tenantId;
/** 逻辑删除标记(0:显示;1:隐藏) */
@JsonIgnore
@JsonProperty
private String delFlag;
}

70
src/main/java/com/qs/serve/modules/goods/entity/GoodsSpecValue.java

@ -0,0 +1,70 @@
package com.qs.serve.modules.goods.entity;
import java.time.LocalDateTime;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotBlank;
/**
* 规格值 实体类
* @author YenHex
* @since 2022-10-09
*/
@Data
@TableName("goods_spec_value")
public class GoodsSpecValue implements Serializable {
private static final long serialVersionUID = 1L;
/** PK */
@TableId(type = IdType.AUTO)
private Long id;
/** 规格Id */
@NotNull(message = "规格Id不能为空")
private Long specId;
/** 名称 */
@NotBlank(message = "名称不能为空")
@Length(max = 50,message = "名称长度不能超过50字")
private String name;
/** 创建时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 最后更新时间 */
@TableField(fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
/** 创建人 */
@TableField(fill = FieldFill.INSERT)
private String createBy;
/** 更新人 */
@TableField(fill = FieldFill.UPDATE)
private String updateBy;
/** 所属租户 */
@JsonIgnore
@JsonProperty
private String tenantId;
/** 逻辑删除标记(0:显示;1:隐藏) */
@JsonIgnore
@JsonProperty
private String delFlag;
}

102
src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java

@ -0,0 +1,102 @@
package com.qs.serve.modules.goods.entity;
import java.time.LocalDateTime;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotBlank;
/**
* spu 实体类
* @author YenHex
* @since 2022-10-09
*/
@Data
@TableName("goods_spu")
public class GoodsSpu implements Serializable {
private static final long serialVersionUID = 1L;
/** PK */
@TableId(type = IdType.AUTO)
private Long id;
/** 商品编码 */
@NotBlank(message = "商品编码不能为空")
@Length(max = 32,message = "商品编码长度不能超过32字")
private String spuCode;
/** 商品名字 */
@NotBlank(message = "商品名字不能为空")
@Length(max = 200,message = "商品名字长度不能超过200字")
private String name;
/** 一级分类ID */
@NotNull(message = "一级分类ID不能为空")
private Long categoryFirst;
/** 二级分类ID */
private Long categorySecond;
/** 三级分类ID */
private Long categoryThird;
/** 商品图片 */
@NotBlank(message = "商品图片不能为空")
@Length(max = 1024,message = "商品图片长度不能超过1024字")
private String picUrls;
/** 是否上架(1是 0否) */
@NotBlank(message = "是否上架(1是 0否)不能为空")
@Length(max = 2,message = "是否上架(1是 0否)长度不能超过2字")
private String shelf;
/** 排序字段 */
@NotNull(message = "排序字段不能为空")
private Integer sort;
/** 销量 */
private Integer saleNum;
/** 0统一规格;1多规格 */
@Length(max = 2,message = "0统一规格;1多规格长度不能超过2字")
private String specType;
/** 创建时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 最后更新时间 */
@TableField(fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
/** 创建人 */
@TableField(fill = FieldFill.INSERT)
private String createBy;
/** 更新人 */
@TableField(fill = FieldFill.UPDATE)
private String updateBy;
/** 所属租户 */
@JsonIgnore
@JsonProperty
private String tenantId;
/** 逻辑删除标记(0:显示;1:隐藏) */
@JsonIgnore
@JsonProperty
private String delFlag;
}

74
src/main/java/com/qs/serve/modules/goods/entity/GoodsSpuSpec.java

@ -0,0 +1,74 @@
package com.qs.serve.modules.goods.entity;
import java.time.LocalDateTime;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotBlank;
/**
* spu规格 实体类
* @author YenHex
* @since 2022-10-09
*/
@Data
@TableName("goods_spu_spec")
public class GoodsSpuSpec implements Serializable {
private static final long serialVersionUID = 1L;
/** PK */
@TableId(type = IdType.ASSIGN_UUID)
private String id;
/** spu_id */
@NotNull(message = "spu_id不能为空")
private Long spuId;
/** spec_id */
@NotNull(message = "spec_id不能为空")
private Long specId;
/** 排序字段 */
private Integer sort;
/** 创建时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 更新时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@TableField(fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
/** 创建人 */
@TableField(fill = FieldFill.INSERT)
private String createBy;
/** 更新人 */
@TableField(fill = FieldFill.UPDATE)
private String updateBy;
/** 所属租户 */
@JsonIgnore
@JsonProperty
private String tenantId;
/** 逻辑删除标记(0:显示;1:隐藏) */
@JsonIgnore
@JsonProperty
private String delFlag;
}

14
src/main/java/com/qs/serve/modules/goods/mapper/GoodsCategoryMapper.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.goods.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.goods.entity.GoodsCategory;
/**
* 分类 Mapper
* @author YenHex
* @date 2022-10-09
*/
public interface GoodsCategoryMapper extends BaseMapper<GoodsCategory> {
}

14
src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuMapper.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.goods.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.goods.entity.GoodsSku;
/**
* sku Mapper
* @author YenHex
* @date 2022-10-09
*/
public interface GoodsSkuMapper extends BaseMapper<GoodsSku> {
}

14
src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuSpecValueMapper.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.goods.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.goods.entity.GoodsSkuSpecValue;
/**
* sku规格值 Mapper
* @author YenHex
* @date 2022-10-09
*/
public interface GoodsSkuSpecValueMapper extends BaseMapper<GoodsSkuSpecValue> {
}

14
src/main/java/com/qs/serve/modules/goods/mapper/GoodsSpecMapper.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.goods.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.goods.entity.GoodsSpec;
/**
* 规格 Mapper
* @author YenHex
* @date 2022-10-09
*/
public interface GoodsSpecMapper extends BaseMapper<GoodsSpec> {
}

14
src/main/java/com/qs/serve/modules/goods/mapper/GoodsSpecValueMapper.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.goods.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.goods.entity.GoodsSpecValue;
/**
* 规格值 Mapper
* @author YenHex
* @date 2022-10-09
*/
public interface GoodsSpecValueMapper extends BaseMapper<GoodsSpecValue> {
}

14
src/main/java/com/qs/serve/modules/goods/mapper/GoodsSpuMapper.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.goods.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.goods.entity.GoodsSpu;
/**
* spu Mapper
* @author YenHex
* @date 2022-10-09
*/
public interface GoodsSpuMapper extends BaseMapper<GoodsSpu> {
}

14
src/main/java/com/qs/serve/modules/goods/mapper/GoodsSpuSpecMapper.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.goods.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.goods.entity.GoodsSpuSpec;
/**
* spu规格 Mapper
* @author YenHex
* @date 2022-10-09
*/
public interface GoodsSpuSpecMapper extends BaseMapper<GoodsSpuSpec> {
}

14
src/main/java/com/qs/serve/modules/goods/service/GoodsCategoryService.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.goods.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.goods.entity.GoodsCategory;
/**
* 分类 服务接口
* @author YenHex
* @date 2022-10-09
*/
public interface GoodsCategoryService extends IService<GoodsCategory> {
}

14
src/main/java/com/qs/serve/modules/goods/service/GoodsSkuService.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.goods.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.goods.entity.GoodsSku;
/**
* sku 服务接口
* @author YenHex
* @date 2022-10-09
*/
public interface GoodsSkuService extends IService<GoodsSku> {
}

14
src/main/java/com/qs/serve/modules/goods/service/GoodsSkuSpecValueService.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.goods.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.goods.entity.GoodsSkuSpecValue;
/**
* sku规格值 服务接口
* @author YenHex
* @date 2022-10-09
*/
public interface GoodsSkuSpecValueService extends IService<GoodsSkuSpecValue> {
}

14
src/main/java/com/qs/serve/modules/goods/service/GoodsSpecService.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.goods.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.goods.entity.GoodsSpec;
/**
* 规格 服务接口
* @author YenHex
* @date 2022-10-09
*/
public interface GoodsSpecService extends IService<GoodsSpec> {
}

14
src/main/java/com/qs/serve/modules/goods/service/GoodsSpecValueService.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.goods.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.goods.entity.GoodsSpecValue;
/**
* 规格值 服务接口
* @author YenHex
* @date 2022-10-09
*/
public interface GoodsSpecValueService extends IService<GoodsSpecValue> {
}

14
src/main/java/com/qs/serve/modules/goods/service/GoodsSpuService.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.goods.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.goods.entity.GoodsSpu;
/**
* spu 服务接口
* @author YenHex
* @date 2022-10-09
*/
public interface GoodsSpuService extends IService<GoodsSpu> {
}

14
src/main/java/com/qs/serve/modules/goods/service/GoodsSpuSpecService.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.goods.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.goods.entity.GoodsSpuSpec;
/**
* spu规格 服务接口
* @author YenHex
* @date 2022-10-09
*/
public interface GoodsSpuSpecService extends IService<GoodsSpuSpec> {
}

22
src/main/java/com/qs/serve/modules/goods/service/impl/GoodsCategoryServiceImpl.java

@ -0,0 +1,22 @@
package com.qs.serve.modules.goods.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import com.qs.serve.modules.goods.entity.GoodsCategory;
import com.qs.serve.modules.goods.service.GoodsCategoryService;
import com.qs.serve.modules.goods.mapper.GoodsCategoryMapper;
/**
* 分类 服务实现类
* @author YenHex
* @since 2022-10-09
*/
@Slf4j
@Service
@AllArgsConstructor
public class GoodsCategoryServiceImpl extends ServiceImpl<GoodsCategoryMapper,GoodsCategory> implements GoodsCategoryService {
}

22
src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuServiceImpl.java

@ -0,0 +1,22 @@
package com.qs.serve.modules.goods.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import com.qs.serve.modules.goods.entity.GoodsSku;
import com.qs.serve.modules.goods.service.GoodsSkuService;
import com.qs.serve.modules.goods.mapper.GoodsSkuMapper;
/**
* sku 服务实现类
* @author YenHex
* @since 2022-10-09
*/
@Slf4j
@Service
@AllArgsConstructor
public class GoodsSkuServiceImpl extends ServiceImpl<GoodsSkuMapper,GoodsSku> implements GoodsSkuService {
}

22
src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuSpecValueServiceImpl.java

@ -0,0 +1,22 @@
package com.qs.serve.modules.goods.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import com.qs.serve.modules.goods.entity.GoodsSkuSpecValue;
import com.qs.serve.modules.goods.service.GoodsSkuSpecValueService;
import com.qs.serve.modules.goods.mapper.GoodsSkuSpecValueMapper;
/**
* sku规格值 服务实现类
* @author YenHex
* @since 2022-10-09
*/
@Slf4j
@Service
@AllArgsConstructor
public class GoodsSkuSpecValueServiceImpl extends ServiceImpl<GoodsSkuSpecValueMapper,GoodsSkuSpecValue> implements GoodsSkuSpecValueService {
}

22
src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpecServiceImpl.java

@ -0,0 +1,22 @@
package com.qs.serve.modules.goods.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import com.qs.serve.modules.goods.entity.GoodsSpec;
import com.qs.serve.modules.goods.service.GoodsSpecService;
import com.qs.serve.modules.goods.mapper.GoodsSpecMapper;
/**
* 规格 服务实现类
* @author YenHex
* @since 2022-10-09
*/
@Slf4j
@Service
@AllArgsConstructor
public class GoodsSpecServiceImpl extends ServiceImpl<GoodsSpecMapper,GoodsSpec> implements GoodsSpecService {
}

22
src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpecValueServiceImpl.java

@ -0,0 +1,22 @@
package com.qs.serve.modules.goods.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import com.qs.serve.modules.goods.entity.GoodsSpecValue;
import com.qs.serve.modules.goods.service.GoodsSpecValueService;
import com.qs.serve.modules.goods.mapper.GoodsSpecValueMapper;
/**
* 规格值 服务实现类
* @author YenHex
* @since 2022-10-09
*/
@Slf4j
@Service
@AllArgsConstructor
public class GoodsSpecValueServiceImpl extends ServiceImpl<GoodsSpecValueMapper,GoodsSpecValue> implements GoodsSpecValueService {
}

22
src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuServiceImpl.java

@ -0,0 +1,22 @@
package com.qs.serve.modules.goods.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import com.qs.serve.modules.goods.entity.GoodsSpu;
import com.qs.serve.modules.goods.service.GoodsSpuService;
import com.qs.serve.modules.goods.mapper.GoodsSpuMapper;
/**
* spu 服务实现类
* @author YenHex
* @since 2022-10-09
*/
@Slf4j
@Service
@AllArgsConstructor
public class GoodsSpuServiceImpl extends ServiceImpl<GoodsSpuMapper,GoodsSpu> implements GoodsSpuService {
}

22
src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuSpecServiceImpl.java

@ -0,0 +1,22 @@
package com.qs.serve.modules.goods.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import com.qs.serve.modules.goods.entity.GoodsSpuSpec;
import com.qs.serve.modules.goods.service.GoodsSpuSpecService;
import com.qs.serve.modules.goods.mapper.GoodsSpuSpecMapper;
/**
* spu规格 服务实现类
* @author YenHex
* @since 2022-10-09
*/
@Slf4j
@Service
@AllArgsConstructor
public class GoodsSpuSpecServiceImpl extends ServiceImpl<GoodsSpuSpecMapper,GoodsSpuSpec> implements GoodsSpuSpecService {
}
Loading…
Cancel
Save