From bd2815406287eaee30e486d355c2592af2ca1168 Mon Sep 17 00:00:00 2001 From: delicacylee Date: Sat, 29 Jul 2023 21:09:41 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=95=86=E5=93=81?= =?UTF-8?q?=E3=80=81=E5=BA=93=E5=AD=98=E3=80=81=E5=95=86=E9=93=BA=E5=92=8C?= =?UTF-8?q?=E8=B4=AD=E7=89=A9=E8=BD=A6=E7=AD=89=E6=8E=A5=E5=8F=A3=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hiver-admin/pom.xml | 5 ++ hiver-admin/test-output/test-report.html | 16 ++-- .../core/common/constant/ShopConstant.java | 28 ++++++ hiver-modules/hiver-shop/pom.xml | 13 +++ .../shop/controller/AddressController.java | 61 +++++++++++++ .../controller/CustomAddressController.java | 63 +++++++++++++ .../controller/GoodsAttributeController.java | 89 +++++++++++++++++++ .../controller/GoodsCategoryController.java | 41 +++++++++ .../shop/controller/GoodsController.java | 19 ++++ .../shop/controller/GoodsStockController.java | 39 ++++++++ .../hiver/shop/controller/MallController.java | 79 ++++++++++++++++ .../shop/controller/PopularUrlController.java | 49 ++++++++++ .../controller/RoleSettingController.java | 19 ++++ .../controller/ShoppingCartController.java | 38 ++++++++ .../controller/UserClockInController.java | 33 +++++++ .../java/cc/hiver/shop/dao/AddressDao.java | 10 +++ .../cc/hiver/shop/dao/CustomAddressDao.java | 7 ++ .../hiver/shop/dao/GoodsAttributeKeyDao.java | 7 ++ .../shop/dao/GoodsAttributeValueDao.java | 10 +++ .../cc/hiver/shop/dao/GoodsCategoryDao.java | 7 ++ .../main/java/cc/hiver/shop/dao/GoodsDao.java | 7 ++ .../cc/hiver/shop/dao/GoodsInStockDao.java | 7 ++ .../java/cc/hiver/shop/dao/GoodsStockDao.java | 7 ++ .../main/java/cc/hiver/shop/dao/MallDao.java | 10 +++ .../java/cc/hiver/shop/dao/PopularUrlDao.java | 7 ++ .../cc/hiver/shop/dao/PopularUrlGoodsDao.java | 10 +++ .../cc/hiver/shop/dao/RoleSettingDao.java | 7 ++ .../cc/hiver/shop/dao/ShoppingCartDao.java | 7 ++ .../hiver/shop/dao/ShoppingCartGoodsDao.java | 7 ++ .../cc/hiver/shop/dao/UserClockInDao.java | 7 ++ .../java/cc/hiver/shop/dao/UserMallDao.java | 8 ++ .../shop/dto/CustomAddressQueryCriteria.java | 15 ++++ .../cc/hiver/shop/dto/GoodsAttributeDto.java | 24 +++++ .../java/cc/hiver/shop/dto/PopularUrlDto.java | 17 ++++ .../java/cc/hiver/shop/dto/SalesSlipDto.java | 20 +++++ .../java/cc/hiver/shop/entity/Address.java | 50 +++++++++++ .../cc/hiver/shop/entity/CustomAddress.java | 50 +++++++++++ .../main/java/cc/hiver/shop/entity/Goods.java | 77 ++++++++++++++++ .../hiver/shop/entity/GoodsAttributeKey.java | 45 ++++++++++ .../shop/entity/GoodsAttributeValue.java | 29 ++++++ .../cc/hiver/shop/entity/GoodsCategory.java | 56 ++++++++++++ .../cc/hiver/shop/entity/GoodsInStock.java | 35 ++++++++ .../java/cc/hiver/shop/entity/GoodsStock.java | 56 ++++++++++++ .../main/java/cc/hiver/shop/entity/Mall.java | 48 ++++++++++ .../java/cc/hiver/shop/entity/PopularUrl.java | 29 ++++++ .../cc/hiver/shop/entity/PopularUrlGoods.java | 46 ++++++++++ .../cc/hiver/shop/entity/RoleSetting.java | 35 ++++++++ .../cc/hiver/shop/entity/ShoppingCart.java | 45 ++++++++++ .../hiver/shop/entity/ShoppingCartGoods.java | 49 ++++++++++ .../cc/hiver/shop/entity/UserClockIn.java | 51 +++++++++++ .../java/cc/hiver/shop/entity/UserMall.java | 31 +++++++ .../cc/hiver/shop/service/AddressService.java | 10 +++ .../shop/service/CustomAddressService.java | 11 +++ .../service/GoodsAttributeKeyService.java | 7 ++ .../service/GoodsAttributeValueService.java | 10 +++ .../shop/service/GoodsCategoryService.java | 7 ++ .../shop/service/GoodsInStockService.java | 7 ++ .../cc/hiver/shop/service/GoodsService.java | 7 ++ .../hiver/shop/service/GoodsStockService.java | 7 ++ .../cc/hiver/shop/service/MallService.java | 10 +++ .../shop/service/PopularUrlGoodsService.java | 10 +++ .../hiver/shop/service/PopularUrlService.java | 7 ++ .../shop/service/RoleSettingService.java | 7 ++ .../service/ShoppingCartGoodsService.java | 7 ++ .../shop/service/ShoppingCartService.java | 7 ++ .../shop/service/UserClockInService.java | 7 ++ .../hiver/shop/service/UserMallService.java | 8 ++ .../shop/serviceimpl/AddressServiceImpl.java | 30 +++++++ .../serviceimpl/CustomAddressServiceImpl.java | 33 +++++++ .../GoodsAttributeKeyServiceImpl.java | 23 +++++ .../GoodsAttributeValueServiceImpl.java | 30 +++++++ .../serviceimpl/GoodsCategoryServiceImpl.java | 23 +++++ .../serviceimpl/GoodsInStockServiceImpl.java | 23 +++++ .../shop/serviceimpl/GoodsServiceImpl.java | 23 +++++ .../serviceimpl/GoodsStockServiceImpl.java | 23 +++++ .../shop/serviceimpl/MallServiceImpl.java | 30 +++++++ .../PopularUrlGoodsServiceImpl.java | 30 +++++++ .../serviceimpl/PopularUrlServiceImpl.java | 23 +++++ .../serviceimpl/RoleSettingServiceImpl.java | 23 +++++ .../ShoppingCartGoodsServiceImpl.java | 23 +++++ .../serviceimpl/ShoppingCartServiceImpl.java | 23 +++++ .../serviceimpl/UserClockInServiceImpl.java | 23 +++++ .../shop/serviceimpl/UserMallServiceImpl.java | 28 ++++++ hiver-modules/pom.xml | 1 + 84 files changed, 2058 insertions(+), 8 deletions(-) create mode 100644 hiver-core/src/main/java/cc/hiver/core/common/constant/ShopConstant.java create mode 100644 hiver-modules/hiver-shop/pom.xml create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/AddressController.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/CustomAddressController.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsAttributeController.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsCategoryController.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsController.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsStockController.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/MallController.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/PopularUrlController.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/RoleSettingController.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/ShoppingCartController.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/UserClockInController.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/AddressDao.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/CustomAddressDao.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsAttributeKeyDao.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsAttributeValueDao.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsCategoryDao.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsDao.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsInStockDao.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsStockDao.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/MallDao.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/PopularUrlDao.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/PopularUrlGoodsDao.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/RoleSettingDao.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/ShoppingCartDao.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/ShoppingCartGoodsDao.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/UserClockInDao.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/UserMallDao.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/CustomAddressQueryCriteria.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/GoodsAttributeDto.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/PopularUrlDto.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/SalesSlipDto.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/Address.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/CustomAddress.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/Goods.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsAttributeKey.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsAttributeValue.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsCategory.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsInStock.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsStock.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/Mall.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/PopularUrl.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/PopularUrlGoods.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/RoleSetting.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/ShoppingCart.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/ShoppingCartGoods.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/UserClockIn.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/UserMall.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/AddressService.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/CustomAddressService.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsAttributeKeyService.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsAttributeValueService.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsCategoryService.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsInStockService.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsService.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsStockService.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/MallService.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/PopularUrlGoodsService.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/PopularUrlService.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/RoleSettingService.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/ShoppingCartGoodsService.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/ShoppingCartService.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/UserClockInService.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/UserMallService.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/AddressServiceImpl.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/CustomAddressServiceImpl.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsAttributeKeyServiceImpl.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsAttributeValueServiceImpl.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsCategoryServiceImpl.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsInStockServiceImpl.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsServiceImpl.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsStockServiceImpl.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/MallServiceImpl.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/PopularUrlGoodsServiceImpl.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/PopularUrlServiceImpl.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/RoleSettingServiceImpl.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/ShoppingCartGoodsServiceImpl.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/ShoppingCartServiceImpl.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/UserClockInServiceImpl.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/UserMallServiceImpl.java diff --git a/hiver-admin/pom.xml b/hiver-admin/pom.xml index fb8d5b75..7c3cab6a 100644 --- a/hiver-admin/pom.xml +++ b/hiver-admin/pom.xml @@ -43,6 +43,11 @@ hiver-open 1.0-SNAPSHOT + + cc.hiver + hiver-shop + 1.0-SNAPSHOT + com.alibaba diff --git a/hiver-admin/test-output/test-report.html b/hiver-admin/test-output/test-report.html index 08710052..fe893fc1 100644 --- a/hiver-admin/test-output/test-report.html +++ b/hiver-admin/test-output/test-report.html @@ -35,7 +35,7 @@ Hiver
  • - 27, 2023 11:49:37 + 09, 2023 12:54:01
  • @@ -84,7 +84,7 @@

    passTest

    -

    11:49:37 / 0.017 secs

    +

    12:54:02 / 0.009 secs

    @@ -92,9 +92,9 @@
    #test-id=1
    passTest
    -06.27.2023 11:49:37 -06.27.2023 11:49:37 -0.017 secs +07.09.2023 12:54:02 +07.09.2023 12:54:02 +0.009 secs
    @@ -104,7 +104,7 @@ Pass - 11:49:37 + 12:54:02 Test passed @@ -128,13 +128,13 @@

    Started

    -

    27, 2023 11:49:37

    +

    09, 2023 12:54:01

    Ended

    -

    27, 2023 11:49:38

    +

    09, 2023 12:54:02

    diff --git a/hiver-core/src/main/java/cc/hiver/core/common/constant/ShopConstant.java b/hiver-core/src/main/java/cc/hiver/core/common/constant/ShopConstant.java new file mode 100644 index 00000000..a992fbbd --- /dev/null +++ b/hiver-core/src/main/java/cc/hiver/core/common/constant/ShopConstant.java @@ -0,0 +1,28 @@ +package cc.hiver.core.common.constant; + +/** + * 商城静态常量 + * + * @author Yazhi Li + */ +public interface ShopConstant { + /** + * 上架 + */ + Integer GOODS_PUT_ON_SALE = 0; + + /** + * 下架 + */ + Integer GOODS_PULL_ON_SALE = -1; + + /** + * 通用规格 + */ + Integer GOODS_ATTRIBUTE_COMMON = 0; + + /** + * 定制规格 + */ + Integer GOODS_ATTRIBUTE_CUSTOM = 1; +} diff --git a/hiver-modules/hiver-shop/pom.xml b/hiver-modules/hiver-shop/pom.xml new file mode 100644 index 00000000..aa1d6d88 --- /dev/null +++ b/hiver-modules/hiver-shop/pom.xml @@ -0,0 +1,13 @@ + + + + cc.hiver + hiver-modules + 1.0-SNAPSHOT + + 4.0.0 + 商铺模块 + hiver-shop + \ No newline at end of file diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/AddressController.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/AddressController.java new file mode 100644 index 00000000..30edc201 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/AddressController.java @@ -0,0 +1,61 @@ +package cc.hiver.shop.controller; + +import cc.hiver.core.common.utils.ResultUtil; +import cc.hiver.core.common.vo.Result; +import cc.hiver.shop.entity.Address; +import cc.hiver.shop.service.AddressService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Slf4j +@RestController +@Api(tags = "收货地址接口") +@RequestMapping(value = "/hiver/app/address/") +@Transactional +public class AddressController { + @Autowired + private AddressService addressService; + + @RequestMapping(value = "/getAll/{memberId}", method = RequestMethod.GET) + @ApiOperation(value = "根据会员id获得收货地址列表") + public Result getAllByMemberId(@PathVariable String memberId) { + List
    list = addressService.findAllByMemberId(memberId); + return ResultUtil.data(list); + } + + @RequestMapping(value = "/get/{id}", method = RequestMethod.GET) + @ApiOperation(value = "通过id获取") + public Result
    get(@PathVariable String id) { + Address data = addressService.findById(id); + return new ResultUtil
    ().setData(data); + } + + @RequestMapping(value = "/save", method = RequestMethod.POST) + @ApiOperation(value = "保存数据") + public Result
    save(Address entity) { + Address address = addressService.save(entity); + return new ResultUtil
    ().setData(address); + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @ApiOperation(value = "更新数据") + public Result
    edit(Address entity) { + Address address = addressService.update(entity); + return new ResultUtil
    ().setData(address); + } + + @RequestMapping(value = "/delByIds", method = RequestMethod.POST) + @ApiOperation(value = "批量通过ids删除") + public Result delByIds(@RequestParam String[] ids) { + for (String id : ids) { + addressService.delete(id); + } + return ResultUtil.success("批量通过id删除数据成功"); + } +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/CustomAddressController.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/CustomAddressController.java new file mode 100644 index 00000000..ea56f2e2 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/CustomAddressController.java @@ -0,0 +1,63 @@ +package cc.hiver.shop.controller; + +import cc.hiver.core.common.utils.PageUtil; +import cc.hiver.core.common.utils.ResultUtil; +import cc.hiver.core.common.vo.PageVo; +import cc.hiver.core.common.vo.Result; +import cc.hiver.shop.entity.CustomAddress; +import cc.hiver.shop.service.CustomAddressService; +import cc.hiver.shop.dto.CustomAddressQueryCriteria; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +@Slf4j +@RestController +@Api(tags = "客户地址接口") +@RequestMapping(value = "/hiver/app/customAddress/") +@Transactional +public class CustomAddressController { + @Autowired + private CustomAddressService customAddressService; + + @RequestMapping(value = "/getByCondition", method = RequestMethod.POST) + @ApiOperation(value = "根据条件获得分页") + public Result> queryAll(CustomAddressQueryCriteria criteria, PageVo pageVo) { + Page users = customAddressService.queryAll(criteria, PageUtil.initPage(pageVo)); + return new ResultUtil>().setData(users); + } + + @RequestMapping(value = "/get/{id}", method = RequestMethod.GET) + @ApiOperation(value = "通过id获取") + public Result get(@PathVariable String id) { + CustomAddress data = customAddressService.findById(id); + return new ResultUtil().setData(data); + } + + @RequestMapping(value = "/save", method = RequestMethod.POST) + @ApiOperation(value = "保存数据") + public Result save(CustomAddress entity) { + CustomAddress address = customAddressService.save(entity); + return new ResultUtil().setData(address); + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @ApiOperation(value = "更新数据") + public Result edit(CustomAddress entity) { + CustomAddress address = customAddressService.update(entity); + return new ResultUtil().setData(address); + } + + @RequestMapping(value = "/delByIds", method = RequestMethod.POST) + @ApiOperation(value = "批量通过ids删除") + public Result delByIds(@RequestParam String[] ids) { + for (String id : ids) { + customAddressService.delete(id); + } + return ResultUtil.success("批量通过id删除数据成功"); + } +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsAttributeController.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsAttributeController.java new file mode 100644 index 00000000..785cb237 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsAttributeController.java @@ -0,0 +1,89 @@ +package cc.hiver.shop.controller; + +import cc.hiver.core.common.utils.ResultUtil; +import cc.hiver.core.common.vo.Result; +import cc.hiver.shop.entity.GoodsAttributeKey; +import cc.hiver.shop.entity.GoodsAttributeValue; +import cc.hiver.shop.entity.Mall; +import cc.hiver.shop.service.GoodsAttributeKeyService; +import cc.hiver.shop.service.GoodsAttributeValueService; +import cc.hiver.shop.service.MallService; +import cc.hiver.shop.dto.GoodsAttributeDto; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@Slf4j +@RestController +@Api(tags = "商品规格接口") +@RequestMapping(value = "/hiver/app/goodsAttribute/") +@Transactional +public class GoodsAttributeController { + @Autowired + private GoodsAttributeKeyService goodsAttributeKeyService; + + @Autowired + private GoodsAttributeValueService goodsAttributeValueService; + + @Autowired + private MallService mallService; + + @RequestMapping(value = "/save", method = RequestMethod.POST) + @ApiOperation(value = "保存数据") + public Result save(GoodsAttributeDto entity) { + GoodsAttributeKey attributeKey = new GoodsAttributeKey(); + attributeKey.setMallId(entity.getMallId()); + attributeKey.setCategoryId(entity.getCategoryId()); + attributeKey.setAttributeKey(entity.getAttributeKey()); + Mall mall = mallService.findById(entity.getMallId()); + if(mall == null) { + return ResultUtil.error("商铺不存在"); + } + attributeKey.setRegion(mall.getRegion()); + GoodsAttributeKey goodsAttributeKey = goodsAttributeKeyService.save(attributeKey); + for(String value : entity.getAttributeValues()) { + GoodsAttributeValue goodsAttributeValue = new GoodsAttributeValue(); + goodsAttributeValue.setAttributeId(goodsAttributeKey.getId()); + goodsAttributeValue.setAttributeValue(value); + goodsAttributeValueService.save(goodsAttributeValue); + } + return ResultUtil.success(); + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @ApiOperation(value = "更新数据") + public Result edit(GoodsAttributeDto entity) { + GoodsAttributeKey goodsAttributeKey = goodsAttributeKeyService.findById(entity.getId()); + goodsAttributeKey.setAttributeKey(entity.getAttributeKey()); + List values = goodsAttributeValueService.findAllBykAndAttributeId(entity.getId()); + goodsAttributeValueService.delete(values); + for(String v : entity.getAttributeValues()) { + GoodsAttributeValue goodsAttributeValue = new GoodsAttributeValue(); + goodsAttributeValue.setAttributeId(entity.getId()); + goodsAttributeValue.setAttributeValue(v); + goodsAttributeValueService.save(goodsAttributeValue); + } + return ResultUtil.success(); + } + + @RequestMapping(value = "/delByIds", method = RequestMethod.POST) + @ApiOperation(value = "批量通过ids删除") + public Result delByIds(@RequestParam String[] ids) { + for (String id : ids) { + List values = goodsAttributeValueService.getAll(); + for(GoodsAttributeValue value : values) { + goodsAttributeValueService.delete(value); + } + goodsAttributeKeyService.delete(id); + } + return ResultUtil.success("批量通过id删除数据成功"); + } +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsCategoryController.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsCategoryController.java new file mode 100644 index 00000000..ca2a69f6 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsCategoryController.java @@ -0,0 +1,41 @@ +package cc.hiver.shop.controller; + +import cc.hiver.core.common.utils.ResultUtil; +import cc.hiver.core.common.vo.Result; +import cc.hiver.shop.entity.GoodsCategory; +import cc.hiver.shop.service.GoodsCategoryService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@RestController +@Api(tags = "商品分类接口") +@RequestMapping(value = "/hiver/app/goodsCategory/") +@Transactional +public class GoodsCategoryController { + @Autowired + private GoodsCategoryService goodsCategoryService; + + @RequestMapping(value = "/save", method = RequestMethod.POST) + @ApiOperation(value = "保存数据") + public Result save(GoodsCategory entity) { + GoodsCategory address = goodsCategoryService.save(entity); + return new ResultUtil().setData(address); + } + + @RequestMapping(value = "/delByIds", method = RequestMethod.POST) + @ApiOperation(value = "批量通过ids删除") + public Result delByIds(@RequestParam String[] ids) { + for (String id : ids) { + goodsCategoryService.delete(id); + } + return ResultUtil.success("批量通过id删除数据成功"); + } +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsController.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsController.java new file mode 100644 index 00000000..ca0133c2 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsController.java @@ -0,0 +1,19 @@ +package cc.hiver.shop.controller; + +import cc.hiver.shop.service.GoodsService; +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@RestController +@Api(tags = "商品接口") +@RequestMapping(value = "/hiver/app/goods/") +@Transactional +public class GoodsController { + @Autowired + private GoodsService goodsService; +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsStockController.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsStockController.java new file mode 100644 index 00000000..0d326ab9 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsStockController.java @@ -0,0 +1,39 @@ +package cc.hiver.shop.controller; + +import cc.hiver.core.common.utils.ResultUtil; +import cc.hiver.core.common.vo.Result; +import cc.hiver.shop.entity.GoodsInStock; +import cc.hiver.shop.entity.GoodsStock; +import cc.hiver.shop.service.GoodsInStockService; +import cc.hiver.shop.service.GoodsStockService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@RestController +@Api(tags = "商品库存接口") +@RequestMapping(value = "/hiver/app/goodsStock/") +@Transactional +public class GoodsStockController { + @Autowired + private GoodsStockService goodsStockService; + + @Autowired + private GoodsInStockService goodsInStockService; + + @RequestMapping(value = "/stockIn", method = RequestMethod.POST) + @ApiOperation(value = "入库操作") + public Result save(GoodsInStock entity) { + goodsInStockService.save(entity); + GoodsStock goodsStock = goodsStockService.findById(entity.getGoodsStockId()); + goodsStock.setStock(goodsStock.getStock() + entity.getNum()); + goodsStockService.update(goodsStock); + return ResultUtil.success(); + } +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/MallController.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/MallController.java new file mode 100644 index 00000000..7d1ac552 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/MallController.java @@ -0,0 +1,79 @@ +package cc.hiver.shop.controller; + +import cc.hiver.core.common.utils.ResultUtil; +import cc.hiver.core.common.vo.Result; +import cc.hiver.shop.entity.Mall; +import cc.hiver.shop.entity.UserMall; +import cc.hiver.shop.service.MallService; +import cc.hiver.shop.service.UserMallService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Slf4j +@RestController +@Api(tags = "商铺接口") +@RequestMapping(value = "/hiver/app/mall/") +@Transactional +public class MallController { + @Autowired + private MallService mallService; + + @Autowired + private UserMallService userMallService; + + @RequestMapping(value = "/get/{id}", method = RequestMethod.GET) + @ApiOperation(value = "通过id获取") + public Result get(@PathVariable String id) { + Mall data = mallService.findById(id); + return new ResultUtil().setData(data); + } + + @RequestMapping(value = "/save", method = RequestMethod.POST) + @ApiOperation(value = "保存数据") + public Result save(Mall entity) { + Mall mall = mallService.save(entity); + return new ResultUtil().setData(mall); + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @ApiOperation(value = "更新数据") + public Result edit(Mall entity) { + Mall mall = mallService.update(entity); + return new ResultUtil().setData(mall); + } + + @RequestMapping(value = "/delByIds", method = RequestMethod.POST) + @ApiOperation(value = "批量通过ids删除") + public Result delByIds(@RequestParam String[] ids) { + for (String id : ids) { + mallService.delete(id); + } + return ResultUtil.success("批量通过id删除数据成功"); + } + + @RequestMapping(value = "/set", method = RequestMethod.POST) + @ApiOperation(value = "设置用户对应商铺") + public Result save(String mallId, List userIds) { + userMallService.deleteAllByMallId(mallId); + for(String userId : userIds) { + UserMall userMall = new UserMall(); + userMall.setMallId(mallId); + userMall.setUserId(userId); + userMallService.save(userMall); + } + return ResultUtil.success(); + } + + @RequestMapping(value = "/getAll", method = RequestMethod.GET) + @ApiOperation(value = "根据会员id获得商铺列表") + public Result getAllByUserId(String userId) { + List list = mallService.findAllByUserId(userId); + return ResultUtil.data(list); + } +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/PopularUrlController.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/PopularUrlController.java new file mode 100644 index 00000000..b7d6aa86 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/PopularUrlController.java @@ -0,0 +1,49 @@ +package cc.hiver.shop.controller; + +import cc.hiver.core.common.utils.ResultUtil; +import cc.hiver.core.common.vo.Result; +import cc.hiver.shop.dto.PopularUrlDto; +import cc.hiver.shop.entity.PopularUrlGoods; +import cc.hiver.shop.service.PopularUrlGoodsService; +import cc.hiver.shop.service.PopularUrlService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@RestController +@Api(tags = "热销商品接口") +@RequestMapping(value = "/hiver/app/popularUrl/") +@Transactional +public class PopularUrlController { + @Autowired + private PopularUrlService popularUrlService; + + @Autowired + private PopularUrlGoodsService popularUrlGoodsService; + + @RequestMapping(value = "/create", method = RequestMethod.POST) + @ApiOperation(value = "创建分享链接") + public Result create(PopularUrlDto entity) { + popularUrlService.save(entity.getUrl()); + for(PopularUrlGoods good : entity.getGoods()) { + popularUrlGoodsService.save(good); + } + return ResultUtil.data(entity.getUrl().getUrl()); + } + + @RequestMapping(value = "/get/{id}", method = RequestMethod.GET) + @ApiOperation(value = "通过id获取") + public Result get(@PathVariable String id) { + PopularUrlDto data = new PopularUrlDto(); + data.setUrl(popularUrlService.get(id)); + data.setGoods(popularUrlGoodsService.findAllByUrlId(id)); + return new ResultUtil().setData(data); + } +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/RoleSettingController.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/RoleSettingController.java new file mode 100644 index 00000000..77c35f58 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/RoleSettingController.java @@ -0,0 +1,19 @@ +package cc.hiver.shop.controller; + +import cc.hiver.shop.service.RoleSettingService; +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@RestController +@Api(tags = "角色配置接口") +@RequestMapping(value = "/hiver/app/roleSetting/") +@Transactional +public class RoleSettingController { + @Autowired + private RoleSettingService roleSettingService; +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/ShoppingCartController.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/ShoppingCartController.java new file mode 100644 index 00000000..f1348f23 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/ShoppingCartController.java @@ -0,0 +1,38 @@ +package cc.hiver.shop.controller; + +import cc.hiver.core.common.utils.ResultUtil; +import cc.hiver.core.common.vo.Result; +import cc.hiver.shop.entity.ShoppingCart; +import cc.hiver.shop.service.ShoppingCartGoodsService; +import cc.hiver.shop.service.ShoppingCartService; +import cc.hiver.shop.dto.SalesSlipDto; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@RestController +@Api(tags = "购物车接口") +@RequestMapping(value = "/hiver/app/shoppingCart/") +@Transactional +public class ShoppingCartController { + @Autowired + private ShoppingCartService shoppingCartService; + + @Autowired + private ShoppingCartGoodsService shoppingCartGoodsService; + + @RequestMapping(value = "/create", method = RequestMethod.POST) + @ApiOperation(value = "创建销售单") + public Result create(ShoppingCart entity) { + ShoppingCart shoppingCart = shoppingCartService.save(entity); + SalesSlipDto salesSlip = new SalesSlipDto(); + salesSlip.setShoppingCart(shoppingCart); + return new ResultUtil().setData(salesSlip); + } +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/UserClockInController.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/UserClockInController.java new file mode 100644 index 00000000..784aa2a6 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/UserClockInController.java @@ -0,0 +1,33 @@ +package cc.hiver.shop.controller; + +import cc.hiver.core.common.utils.ResultUtil; +import cc.hiver.core.common.vo.Result; +import cc.hiver.shop.entity.UserClockIn; +import cc.hiver.shop.service.UserClockInService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@RestController +@Api(tags = "用户打卡接口") +@RequestMapping(value = "/hiver/app/clockIn") +@Transactional +public class UserClockInController { + @Autowired + private UserClockInService userClockInService; + + @RequestMapping(value = "/", method = RequestMethod.GET) + @ApiOperation(value = "打卡操作") + public Result clockIn(String userId) { + UserClockIn userClockIn = new UserClockIn(); + userClockIn.setUserId(userId); + userClockInService.save(userClockIn); + return ResultUtil.success(); + } +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/AddressDao.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/AddressDao.java new file mode 100644 index 00000000..9daaee0c --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/AddressDao.java @@ -0,0 +1,10 @@ +package cc.hiver.shop.dao; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.entity.Address; + +import java.util.List; + +public interface AddressDao extends HiverBaseDao { + List
    findAllByMemberId(String memberId); +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/CustomAddressDao.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/CustomAddressDao.java new file mode 100644 index 00000000..79a86494 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/CustomAddressDao.java @@ -0,0 +1,7 @@ +package cc.hiver.shop.dao; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.entity.CustomAddress; + +public interface CustomAddressDao extends HiverBaseDao { +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsAttributeKeyDao.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsAttributeKeyDao.java new file mode 100644 index 00000000..f566bdf0 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsAttributeKeyDao.java @@ -0,0 +1,7 @@ +package cc.hiver.shop.dao; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.entity.GoodsAttributeKey; + +public interface GoodsAttributeKeyDao extends HiverBaseDao { +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsAttributeValueDao.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsAttributeValueDao.java new file mode 100644 index 00000000..6c29a398 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsAttributeValueDao.java @@ -0,0 +1,10 @@ +package cc.hiver.shop.dao; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.entity.GoodsAttributeValue; + +import java.util.List; + +public interface GoodsAttributeValueDao extends HiverBaseDao { + List findAllBykAndAttributeId(String attributeId); +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsCategoryDao.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsCategoryDao.java new file mode 100644 index 00000000..c59efe7d --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsCategoryDao.java @@ -0,0 +1,7 @@ +package cc.hiver.shop.dao; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.entity.GoodsCategory; + +public interface GoodsCategoryDao extends HiverBaseDao { +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsDao.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsDao.java new file mode 100644 index 00000000..e8eb810b --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsDao.java @@ -0,0 +1,7 @@ +package cc.hiver.shop.dao; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.entity.Goods; + +public interface GoodsDao extends HiverBaseDao { +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsInStockDao.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsInStockDao.java new file mode 100644 index 00000000..ba1512d4 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsInStockDao.java @@ -0,0 +1,7 @@ +package cc.hiver.shop.dao; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.entity.GoodsInStock; + +public interface GoodsInStockDao extends HiverBaseDao { +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsStockDao.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsStockDao.java new file mode 100644 index 00000000..27bd7d23 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsStockDao.java @@ -0,0 +1,7 @@ +package cc.hiver.shop.dao; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.entity.GoodsStock; + +public interface GoodsStockDao extends HiverBaseDao { +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/MallDao.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/MallDao.java new file mode 100644 index 00000000..14c599fa --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/MallDao.java @@ -0,0 +1,10 @@ +package cc.hiver.shop.dao; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.entity.Mall; + +import java.util.List; + +public interface MallDao extends HiverBaseDao { + List findAllByUserId(String userId); +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/PopularUrlDao.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/PopularUrlDao.java new file mode 100644 index 00000000..3d95f4b6 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/PopularUrlDao.java @@ -0,0 +1,7 @@ +package cc.hiver.shop.dao; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.entity.PopularUrl; + +public interface PopularUrlDao extends HiverBaseDao { +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/PopularUrlGoodsDao.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/PopularUrlGoodsDao.java new file mode 100644 index 00000000..504b7e00 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/PopularUrlGoodsDao.java @@ -0,0 +1,10 @@ +package cc.hiver.shop.dao; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.entity.PopularUrlGoods; + +import java.util.List; + +public interface PopularUrlGoodsDao extends HiverBaseDao { + List findAllByUrlId(String urlId); +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/RoleSettingDao.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/RoleSettingDao.java new file mode 100644 index 00000000..69cb08cf --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/RoleSettingDao.java @@ -0,0 +1,7 @@ +package cc.hiver.shop.dao; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.entity.RoleSetting; + +public interface RoleSettingDao extends HiverBaseDao { +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/ShoppingCartDao.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/ShoppingCartDao.java new file mode 100644 index 00000000..3df529f9 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/ShoppingCartDao.java @@ -0,0 +1,7 @@ +package cc.hiver.shop.dao; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.entity.ShoppingCart; + +public interface ShoppingCartDao extends HiverBaseDao { +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/ShoppingCartGoodsDao.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/ShoppingCartGoodsDao.java new file mode 100644 index 00000000..94760c8b --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/ShoppingCartGoodsDao.java @@ -0,0 +1,7 @@ +package cc.hiver.shop.dao; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.entity.ShoppingCartGoods; + +public interface ShoppingCartGoodsDao extends HiverBaseDao { +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/UserClockInDao.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/UserClockInDao.java new file mode 100644 index 00000000..0aa221cb --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/UserClockInDao.java @@ -0,0 +1,7 @@ +package cc.hiver.shop.dao; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.entity.UserClockIn; + +public interface UserClockInDao extends HiverBaseDao { +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/UserMallDao.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/UserMallDao.java new file mode 100644 index 00000000..88b62d30 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/UserMallDao.java @@ -0,0 +1,8 @@ +package cc.hiver.shop.dao; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.entity.UserMall; + +public interface UserMallDao extends HiverBaseDao { + void deleteAllByMallId(String mallId); +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/CustomAddressQueryCriteria.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/CustomAddressQueryCriteria.java new file mode 100644 index 00000000..6aad054e --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/CustomAddressQueryCriteria.java @@ -0,0 +1,15 @@ +package cc.hiver.shop.dto; + +import cc.hiver.core.common.annotation.Query; +import lombok.Data; + +import java.io.Serializable; + +@Data +public class CustomAddressQueryCriteria implements Serializable { + @Query + private String userId; + + @Query(blurry = "consignee,receivingMobile,receivingCompany") + private String blurry; +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/GoodsAttributeDto.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/GoodsAttributeDto.java new file mode 100644 index 00000000..b33e2faf --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/GoodsAttributeDto.java @@ -0,0 +1,24 @@ +package cc.hiver.shop.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class GoodsAttributeDto { + @ApiModelProperty(value = "编号") + private String id; + + @ApiModelProperty(value = "商铺id") + private String mallId; + + @ApiModelProperty(value = "分类id") + private String categoryId; + + @ApiModelProperty(value = "规格名称") + private String attributeKey; + + @ApiModelProperty(value = "规格值列表") + private List attributeValues; +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/PopularUrlDto.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/PopularUrlDto.java new file mode 100644 index 00000000..a6b42d95 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/PopularUrlDto.java @@ -0,0 +1,17 @@ +package cc.hiver.shop.dto; + +import cc.hiver.shop.entity.PopularUrl; +import cc.hiver.shop.entity.PopularUrlGoods; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class PopularUrlDto { + @ApiModelProperty(value = "链接主表") + private PopularUrl url; + + @ApiModelProperty(value = "链接子表") + private List goods; +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/SalesSlipDto.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/SalesSlipDto.java new file mode 100644 index 00000000..e7e0bd21 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/SalesSlipDto.java @@ -0,0 +1,20 @@ +package cc.hiver.shop.dto; + +import cc.hiver.shop.entity.ShoppingCart; +import cc.hiver.shop.entity.ShoppingCartGoods; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * 销售单 + */ +@Data +public class SalesSlipDto { + @ApiModelProperty(value = "购物车主表") + private ShoppingCart shoppingCart; + + @ApiModelProperty(value = "购物车列表") + List shoppingCartGoodsList; +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/Address.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/Address.java new file mode 100644 index 00000000..6a48a8dd --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/Address.java @@ -0,0 +1,50 @@ +package cc.hiver.shop.entity; + +import cc.hiver.core.base.HiverBaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Entity; +import javax.persistence.Table; + +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@Table(name = "t_address") +@TableName("t_address") +@ApiModel(value = "收获地址表") +public class Address extends HiverBaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "收货人") + private String consignee; + + @ApiModelProperty(value = "收货电话") + private String receivingMobile; + + @ApiModelProperty(value = "收货公司") + private String receivingCompany; + + @ApiModelProperty(value = "收货区域") + private String receivingArea; + + @ApiModelProperty(value = "收货地址") + private String address; + + @ApiModelProperty(value = "邮政编码") + private String zipCode; + + @ApiModelProperty(value = "会员id") + private String memberId; + + @ApiModelProperty(value = "默认地址") + private Integer defaultAddress; + + @ApiModelProperty(value = "收货注释") + private String note; +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/CustomAddress.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/CustomAddress.java new file mode 100644 index 00000000..c11d28a8 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/CustomAddress.java @@ -0,0 +1,50 @@ +package cc.hiver.shop.entity; + +import cc.hiver.core.base.HiverBaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Entity; +import javax.persistence.Table; + +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@Table(name = "t_custom_address") +@TableName("t_custom_address") +@ApiModel(value = "客户地址表") +public class CustomAddress extends HiverBaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "收货人") + private String consignee; + + @ApiModelProperty(value = "收货电话") + private String receivingMobile; + + @ApiModelProperty(value = "收货公司") + private String receivingCompany; + + @ApiModelProperty(value = "收货区域") + private String receivingArea; + + @ApiModelProperty(value = "收货地址") + private String address; + + @ApiModelProperty(value = "邮政编码") + private String zipCode; + + @ApiModelProperty(value = "用户id") + private String userId; + + @ApiModelProperty(value = "会员id 0表示未注册用户 1已注册用户对应id") + private String memberId; + + @ApiModelProperty(value = "客户简介") + private String intro; +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/Goods.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/Goods.java new file mode 100644 index 00000000..199e3cbc --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/Goods.java @@ -0,0 +1,77 @@ +package cc.hiver.shop.entity; + +import cc.hiver.core.base.HiverBaseEntity; +import cc.hiver.core.common.constant.ShopConstant; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; +import java.math.BigDecimal; + +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@Table(name = "t_goods") +@TableName("t_goods") +@ApiModel(value = "商品表") +public class Goods extends HiverBaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "商品编号") + private String goodsNo; + + @ApiModelProperty(value = "商品二维码") + private String goodsBarcode; + + @ApiModelProperty(value = "商品名称") + private String goodsTitle; + + @ApiModelProperty(value = "分类id") + private String categoryId; + + @ApiModelProperty(value = "规格类型") + private Integer attributeType = ShopConstant.GOODS_ATTRIBUTE_COMMON; + + @ApiModelProperty(value = "规格列表") + private String attributeList; + + @ApiModelProperty(value = "商品描述") + private String intro; + + @ApiModelProperty(value = "商品详情") + private String detail; + + @ApiModelProperty(value = "库存") + private Integer stock = 0; + + @ApiModelProperty(value = "是否启用 0上架 -1下架") + private Integer status = ShopConstant.GOODS_PUT_ON_SALE; + + @ApiModelProperty(value = "采购价") + @Column(precision = 10, scale = 2) + private BigDecimal purchasePrice = new BigDecimal(0); + + @ApiModelProperty(value = "市场价") + @Column(precision = 10, scale = 2) + private BigDecimal price = new BigDecimal(0); + + @ApiModelProperty(value = "批发价") + @Column(precision = 10, scale = 2) + private BigDecimal wholesalePrice = new BigDecimal(0); + + @ApiModelProperty(value = "商铺id") + private String mallId; + + @ApiModelProperty(value = "视频地址") + private String videoPath; + + @ApiModelProperty("办公区域") + private String region; +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsAttributeKey.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsAttributeKey.java new file mode 100644 index 00000000..a89a1533 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsAttributeKey.java @@ -0,0 +1,45 @@ +package cc.hiver.shop.entity; + +import cc.hiver.core.base.HiverBaseEntity; +import cc.hiver.core.common.constant.CommonConstant; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; +import java.math.BigDecimal; + +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@Table(name = "t_goods_attribute_key") +@TableName("t_goods_attribute_key") +@ApiModel(value = "商品规格主键表") +public class GoodsAttributeKey extends HiverBaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "分类id") + private String categoryId; + + @ApiModelProperty(value = "属性名") + private String attributeKey; + + @ApiModelProperty(value = "排序值") + @Column(precision = 10, scale = 2) + private BigDecimal sortOrder; + + @ApiModelProperty(value = "是否启用 0启用 -1禁用") + private Integer status = CommonConstant.STATUS_NORMAL; + + @ApiModelProperty(value = "商铺id") + private String mallId; + + @ApiModelProperty("办公区域") + private String region; +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsAttributeValue.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsAttributeValue.java new file mode 100644 index 00000000..8e3dded1 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsAttributeValue.java @@ -0,0 +1,29 @@ +package cc.hiver.shop.entity; + +import cc.hiver.core.base.HiverBaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Entity; +import javax.persistence.Table; + +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@Table(name = "t_goods_attribute_value") +@TableName("t_goods_attribute_value") +@ApiModel(value = "商品规格键值表") +public class GoodsAttributeValue extends HiverBaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "规格主键id") + private String attributeId; + + @ApiModelProperty(value = "规格值") + private String attributeValue; +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsCategory.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsCategory.java new file mode 100644 index 00000000..3a4c0d17 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsCategory.java @@ -0,0 +1,56 @@ +package cc.hiver.shop.entity; + +import cc.hiver.core.base.HiverBaseEntity; +import cc.hiver.core.common.constant.CommonConstant; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; +import javax.persistence.Transient; +import java.math.BigDecimal; + +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@Table(name = "t_goods_category") +@TableName("t_goods_category") +@ApiModel(value = "商品分类表") +public class GoodsCategory extends HiverBaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "分类名称") + private String categoryName; + + @ApiModelProperty(value = "父id") + @Column(nullable = false) + private String parentId; + + @ApiModelProperty(value = "是否为父节点(含子节点) 默认false") + private Boolean isParent = false; + + @ApiModelProperty(value = "排序值") + @Column(precision = 10, scale = 2) + private BigDecimal sortOrder; + + @ApiModelProperty(value = "是否启用 0启用 -1禁用") + private Integer status = CommonConstant.STATUS_NORMAL; + + @Transient + @TableField(exist = false) + @ApiModelProperty(value = "父节点名称") + private String parentTitle; + + @ApiModelProperty(value = "商铺id") + private String mallId; + + @ApiModelProperty("办公区域") + private String region; +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsInStock.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsInStock.java new file mode 100644 index 00000000..d9882a1a --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsInStock.java @@ -0,0 +1,35 @@ +package cc.hiver.shop.entity; + +import cc.hiver.core.base.HiverBaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Entity; +import javax.persistence.Table; + +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@Table(name = "t_goods_in_stock") +@TableName("t_goods_in_stock") +@ApiModel(value = "商品入库表") +public class GoodsInStock extends HiverBaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "在库商品id") + private String goodsStockId; + + @ApiModelProperty(value = "入库数量") + private Integer num; + + @ApiModelProperty(value = "商铺id") + private String mallId; + + @ApiModelProperty("办公区域") + private String region; +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsStock.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsStock.java new file mode 100644 index 00000000..b340021e --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsStock.java @@ -0,0 +1,56 @@ +package cc.hiver.shop.entity; + +import cc.hiver.core.base.HiverBaseEntity; +import cc.hiver.core.common.constant.ShopConstant; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; +import java.math.BigDecimal; + +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@Table(name = "t_goods_stock") +@TableName("t_goods_stock") +@ApiModel(value = "商品库存表") +public class GoodsStock extends HiverBaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "商品id") + private String goodsId; + + @ApiModelProperty(value = "商品规格") + private String goodsSpecs; + + @ApiModelProperty(value = "库存") + private Integer stock = 0; + + @ApiModelProperty(value = "是否启用 0上架 -1下架") + private Integer status = ShopConstant.GOODS_PUT_ON_SALE; + + @ApiModelProperty(value = "采购价") + @Column(precision = 10, scale = 2) + private BigDecimal purchasePrice = new BigDecimal(0); + + @ApiModelProperty(value = "市场价") + @Column(precision = 10, scale = 2) + private BigDecimal price = new BigDecimal(0); + + @ApiModelProperty(value = "批发价") + @Column(precision = 10, scale = 2) + private BigDecimal wholesalePrice = new BigDecimal(0); + + @ApiModelProperty(value = "商铺id") + private String mallId; + + @ApiModelProperty("办公区域") + private String region; +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/Mall.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/Mall.java new file mode 100644 index 00000000..3d476da1 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/Mall.java @@ -0,0 +1,48 @@ +package cc.hiver.shop.entity; + +import cc.hiver.core.base.HiverBaseEntity; +import cc.hiver.core.common.constant.CommonConstant; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; +import java.math.BigDecimal; + +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@Table(name = "t_mall") +@TableName("t_mall") +@ApiModel(value = "商铺表") +public class Mall extends HiverBaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "商铺名称") + private String title; + + @ApiModelProperty(value = "商铺介绍") + private String intro; + + @ApiModelProperty(value = "商铺图片") + private String img; + + @ApiModelProperty(value = "排序值") + @Column(precision = 10, scale = 2) + private BigDecimal sortOrder; + + @ApiModelProperty(value = "是否启用 0启用 -1禁用") + private Integer status = CommonConstant.STATUS_NORMAL; + + @ApiModelProperty(value = "默认店铺") + private Integer defaultMall; + + @ApiModelProperty("办公区域") + private String region; +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/PopularUrl.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/PopularUrl.java new file mode 100644 index 00000000..59780431 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/PopularUrl.java @@ -0,0 +1,29 @@ +package cc.hiver.shop.entity; + +import cc.hiver.core.base.HiverBaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Entity; +import javax.persistence.Table; + +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@Table(name = "t_popular_url") +@TableName("t_popular_url") +@ApiModel(value = "热销推荐地址表") +public class PopularUrl extends HiverBaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "热销地址") + private String url; + + @ApiModelProperty(value = "商铺id") + private String mallId; +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/PopularUrlGoods.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/PopularUrlGoods.java new file mode 100644 index 00000000..2043f2f1 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/PopularUrlGoods.java @@ -0,0 +1,46 @@ +package cc.hiver.shop.entity; + +import cc.hiver.core.base.HiverBaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; +import java.math.BigDecimal; + +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@Table(name = "t_popular_url_goods") +@TableName("t_popular_url_goods") +@ApiModel(value = "热销推荐地址对应商品表") +public class PopularUrlGoods extends HiverBaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "链接id") + private String urlId; + + @ApiModelProperty(value = "商铺id") + private String mallId; + + @ApiModelProperty(value = "商品id") + private String goodsId; + + @ApiModelProperty(value = "采购价") + @Column(precision = 10, scale = 2) + private BigDecimal purchasePrice = new BigDecimal(0); + + @ApiModelProperty(value = "市场价") + @Column(precision = 10, scale = 2) + private BigDecimal price = new BigDecimal(0); + + @ApiModelProperty(value = "批发价") + @Column(precision = 10, scale = 2) + private BigDecimal wholesalePrice = new BigDecimal(0); +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/RoleSetting.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/RoleSetting.java new file mode 100644 index 00000000..2b7f162e --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/RoleSetting.java @@ -0,0 +1,35 @@ +package cc.hiver.shop.entity; + +import cc.hiver.core.base.HiverBaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Entity; +import javax.persistence.Table; + +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@Table(name = "t_role_setting") +@TableName("t_role_setting") +@ApiModel(value = "角色配置表") +@NoArgsConstructor +public class RoleSetting extends HiverBaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "关联角色id") + private String roleId; + + @ApiModelProperty(value = "配置值value") + private String value; + + public RoleSetting(String id) { + super.setId(id); + } +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/ShoppingCart.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/ShoppingCart.java new file mode 100644 index 00000000..6898225b --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/ShoppingCart.java @@ -0,0 +1,45 @@ +package cc.hiver.shop.entity; + +import cc.hiver.core.base.HiverBaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Entity; +import javax.persistence.Table; +import java.math.BigDecimal; + +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@Table(name = "t_shopping_cart") +@TableName("t_shopping_cart") +@ApiModel(value = "购物车主表") +public class ShoppingCart extends HiverBaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "订单编号") + private String no; + + @ApiModelProperty(value = "下单人 0表示会员自己购买") + private String userId; + + @ApiModelProperty(value = "购买人 0表示用户购买") + private String memberId; + + @ApiModelProperty(value = "收货地址") + private String addressId; + + @ApiModelProperty(value = "总价") + private BigDecimal totalPrice = new BigDecimal(0); + + @ApiModelProperty(value = "商铺id") + private String mallId; + + @ApiModelProperty("办公区域") + private String region; +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/ShoppingCartGoods.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/ShoppingCartGoods.java new file mode 100644 index 00000000..d12e66d4 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/ShoppingCartGoods.java @@ -0,0 +1,49 @@ +package cc.hiver.shop.entity; + +import cc.hiver.core.base.HiverBaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; +import java.math.BigDecimal; + +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@Table(name = "t_shopping_cart_goods") +@TableName("t_shopping_cart_goods") +@ApiModel(value = "购物车子表") +public class ShoppingCartGoods extends HiverBaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "购物车主表id") + private String cartId; + + @ApiModelProperty(value = "商品id") + private String goodsId; + + @ApiModelProperty(value = "商品规格") + private String goodsSpecs; + + @ApiModelProperty(value = "采购价") + @Column(precision = 10, scale = 2) + private BigDecimal purchasePrice = new BigDecimal(0); + + @ApiModelProperty(value = "市场价") + @Column(precision = 10, scale = 2) + private BigDecimal price = new BigDecimal(0); + + @ApiModelProperty(value = "批发价") + @Column(precision = 10, scale = 2) + private BigDecimal wholesalePrice = new BigDecimal(0); + + @ApiModelProperty(value = "购买数量") + private Integer num; +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/UserClockIn.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/UserClockIn.java new file mode 100644 index 00000000..69221b59 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/UserClockIn.java @@ -0,0 +1,51 @@ +package cc.hiver.shop.entity; + +import cc.hiver.core.common.utils.SnowFlakeUtil; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; +import org.springframework.data.annotation.CreatedBy; +import org.springframework.data.annotation.CreatedDate; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import java.util.Date; + +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@Table(name = "t_user_clock_in") +@TableName("t_user_clock_in") +@ApiModel(value = "用户打卡表") +public class UserClockIn { + private static final long serialVersionUID = 1L; + + @Id + @TableId + @ApiModelProperty(value = "唯一标识") + private String id = SnowFlakeUtil.nextId().toString(); + + @ApiModelProperty(value = "用户id") + private String userId; + + @ApiModelProperty(value = "打卡人") + @CreatedBy + @TableField(fill = FieldFill.INSERT) + private String clockInBy; + + @CreatedDate + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "打卡时间") + private Date clockInTime; +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/UserMall.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/UserMall.java new file mode 100644 index 00000000..29285b24 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/UserMall.java @@ -0,0 +1,31 @@ +package cc.hiver.shop.entity; + +import cc.hiver.core.base.HiverBaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Entity; +import javax.persistence.Table; + +@Data +@Accessors(chain = true) +@Entity +@DynamicInsert +@DynamicUpdate +@Table(name = "t_user_mall") +@TableName("t_user_mall") +@ApiModel(value = "用户管理商铺表") +public class UserMall extends HiverBaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "用户id") + private String userId; + + @ApiModelProperty(value = "商铺id") + private String mallId; +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/AddressService.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/AddressService.java new file mode 100644 index 00000000..fe2de0c2 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/AddressService.java @@ -0,0 +1,10 @@ +package cc.hiver.shop.service; + +import cc.hiver.core.base.HiverBaseService; +import cc.hiver.shop.entity.Address; + +import java.util.List; + +public interface AddressService extends HiverBaseService { + List
    findAllByMemberId(String memberId); +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/CustomAddressService.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/CustomAddressService.java new file mode 100644 index 00000000..9e471f68 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/CustomAddressService.java @@ -0,0 +1,11 @@ +package cc.hiver.shop.service; + +import cc.hiver.core.base.HiverBaseService; +import cc.hiver.shop.entity.CustomAddress; +import cc.hiver.shop.dto.CustomAddressQueryCriteria; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; + +public interface CustomAddressService extends HiverBaseService { + Page queryAll(CustomAddressQueryCriteria criteria, Pageable pageable); +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsAttributeKeyService.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsAttributeKeyService.java new file mode 100644 index 00000000..31c2e783 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsAttributeKeyService.java @@ -0,0 +1,7 @@ +package cc.hiver.shop.service; + +import cc.hiver.core.base.HiverBaseService; +import cc.hiver.shop.entity.GoodsAttributeKey; + +public interface GoodsAttributeKeyService extends HiverBaseService { +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsAttributeValueService.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsAttributeValueService.java new file mode 100644 index 00000000..fdf8b109 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsAttributeValueService.java @@ -0,0 +1,10 @@ +package cc.hiver.shop.service; + +import cc.hiver.core.base.HiverBaseService; +import cc.hiver.shop.entity.GoodsAttributeValue; + +import java.util.List; + +public interface GoodsAttributeValueService extends HiverBaseService { + List findAllBykAndAttributeId(String attributeId); +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsCategoryService.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsCategoryService.java new file mode 100644 index 00000000..2bf0b1bb --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsCategoryService.java @@ -0,0 +1,7 @@ +package cc.hiver.shop.service; + +import cc.hiver.core.base.HiverBaseService; +import cc.hiver.shop.entity.GoodsCategory; + +public interface GoodsCategoryService extends HiverBaseService { +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsInStockService.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsInStockService.java new file mode 100644 index 00000000..843f19cc --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsInStockService.java @@ -0,0 +1,7 @@ +package cc.hiver.shop.service; + +import cc.hiver.core.base.HiverBaseService; +import cc.hiver.shop.entity.GoodsInStock; + +public interface GoodsInStockService extends HiverBaseService { +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsService.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsService.java new file mode 100644 index 00000000..8fc6e1e2 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsService.java @@ -0,0 +1,7 @@ +package cc.hiver.shop.service; + +import cc.hiver.core.base.HiverBaseService; +import cc.hiver.shop.entity.Goods; + +public interface GoodsService extends HiverBaseService { +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsStockService.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsStockService.java new file mode 100644 index 00000000..f4eee93d --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsStockService.java @@ -0,0 +1,7 @@ +package cc.hiver.shop.service; + +import cc.hiver.core.base.HiverBaseService; +import cc.hiver.shop.entity.GoodsStock; + +public interface GoodsStockService extends HiverBaseService { +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/MallService.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/MallService.java new file mode 100644 index 00000000..b9725a96 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/MallService.java @@ -0,0 +1,10 @@ +package cc.hiver.shop.service; + +import cc.hiver.core.base.HiverBaseService; +import cc.hiver.shop.entity.Mall; + +import java.util.List; + +public interface MallService extends HiverBaseService { + List findAllByUserId(String userId); +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/PopularUrlGoodsService.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/PopularUrlGoodsService.java new file mode 100644 index 00000000..f70da829 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/PopularUrlGoodsService.java @@ -0,0 +1,10 @@ +package cc.hiver.shop.service; + +import cc.hiver.core.base.HiverBaseService; +import cc.hiver.shop.entity.PopularUrlGoods; + +import java.util.List; + +public interface PopularUrlGoodsService extends HiverBaseService { + List findAllByUrlId(String urlId); +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/PopularUrlService.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/PopularUrlService.java new file mode 100644 index 00000000..223c3799 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/PopularUrlService.java @@ -0,0 +1,7 @@ +package cc.hiver.shop.service; + +import cc.hiver.core.base.HiverBaseService; +import cc.hiver.shop.entity.PopularUrl; + +public interface PopularUrlService extends HiverBaseService { +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/RoleSettingService.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/RoleSettingService.java new file mode 100644 index 00000000..69d01bf3 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/RoleSettingService.java @@ -0,0 +1,7 @@ +package cc.hiver.shop.service; + +import cc.hiver.core.base.HiverBaseService; +import cc.hiver.shop.entity.RoleSetting; + +public interface RoleSettingService extends HiverBaseService { +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/ShoppingCartGoodsService.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/ShoppingCartGoodsService.java new file mode 100644 index 00000000..f83af02d --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/ShoppingCartGoodsService.java @@ -0,0 +1,7 @@ +package cc.hiver.shop.service; + +import cc.hiver.core.base.HiverBaseService; +import cc.hiver.shop.entity.ShoppingCartGoods; + +public interface ShoppingCartGoodsService extends HiverBaseService { +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/ShoppingCartService.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/ShoppingCartService.java new file mode 100644 index 00000000..08815ebe --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/ShoppingCartService.java @@ -0,0 +1,7 @@ +package cc.hiver.shop.service; + +import cc.hiver.core.base.HiverBaseService; +import cc.hiver.shop.entity.ShoppingCart; + +public interface ShoppingCartService extends HiverBaseService { +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/UserClockInService.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/UserClockInService.java new file mode 100644 index 00000000..6d7c0f45 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/UserClockInService.java @@ -0,0 +1,7 @@ +package cc.hiver.shop.service; + +import cc.hiver.core.base.HiverBaseService; +import cc.hiver.shop.entity.UserClockIn; + +public interface UserClockInService extends HiverBaseService { +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/UserMallService.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/UserMallService.java new file mode 100644 index 00000000..7bedfe8f --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/UserMallService.java @@ -0,0 +1,8 @@ +package cc.hiver.shop.service; + +import cc.hiver.core.base.HiverBaseService; +import cc.hiver.shop.entity.UserMall; + +public interface UserMallService extends HiverBaseService { + void deleteAllByMallId(String mallId); +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/AddressServiceImpl.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/AddressServiceImpl.java new file mode 100644 index 00000000..c54cb955 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/AddressServiceImpl.java @@ -0,0 +1,30 @@ +package cc.hiver.shop.serviceimpl; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.dao.AddressDao; +import cc.hiver.shop.entity.Address; +import cc.hiver.shop.service.AddressService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +@Slf4j +@Service +@Transactional +public class AddressServiceImpl implements AddressService { + @Autowired + private AddressDao addressDao; + + @Override + public HiverBaseDao getRepository() { + return addressDao; + } + + @Override + public List
    findAllByMemberId(String memberId) { + return addressDao.findAllByMemberId(memberId); + } +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/CustomAddressServiceImpl.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/CustomAddressServiceImpl.java new file mode 100644 index 00000000..be68e1e9 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/CustomAddressServiceImpl.java @@ -0,0 +1,33 @@ +package cc.hiver.shop.serviceimpl; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.core.common.utils.QueryHelp; +import cc.hiver.shop.dao.CustomAddressDao; +import cc.hiver.shop.entity.CustomAddress; +import cc.hiver.shop.service.CustomAddressService; +import cc.hiver.shop.dto.CustomAddressQueryCriteria; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Slf4j +@Service +@Transactional +public class CustomAddressServiceImpl implements CustomAddressService { + @Autowired + private CustomAddressDao customAddressDao; + + @Override + public HiverBaseDao getRepository() { + return customAddressDao; + } + + @Override + public Page queryAll(CustomAddressQueryCriteria criteria, Pageable pageable) { + Page list = customAddressDao.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable); + return list; + } +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsAttributeKeyServiceImpl.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsAttributeKeyServiceImpl.java new file mode 100644 index 00000000..820fb6d8 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsAttributeKeyServiceImpl.java @@ -0,0 +1,23 @@ +package cc.hiver.shop.serviceimpl; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.dao.GoodsAttributeKeyDao; +import cc.hiver.shop.entity.GoodsAttributeKey; +import cc.hiver.shop.service.GoodsAttributeKeyService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Slf4j +@Service +@Transactional +public class GoodsAttributeKeyServiceImpl implements GoodsAttributeKeyService { + @Autowired + private GoodsAttributeKeyDao goodsAttributeKeyDao; + + @Override + public HiverBaseDao getRepository() { + return goodsAttributeKeyDao; + } +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsAttributeValueServiceImpl.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsAttributeValueServiceImpl.java new file mode 100644 index 00000000..b146ffdf --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsAttributeValueServiceImpl.java @@ -0,0 +1,30 @@ +package cc.hiver.shop.serviceimpl; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.dao.GoodsAttributeValueDao; +import cc.hiver.shop.entity.GoodsAttributeValue; +import cc.hiver.shop.service.GoodsAttributeValueService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +@Slf4j +@Service +@Transactional +public class GoodsAttributeValueServiceImpl implements GoodsAttributeValueService { + @Autowired + private GoodsAttributeValueDao goodsAttributeValueDao; + + @Override + public HiverBaseDao getRepository() { + return goodsAttributeValueDao; + } + + @Override + public List findAllBykAndAttributeId(String attributeId) { + return goodsAttributeValueDao.findAllBykAndAttributeId(attributeId); + } +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsCategoryServiceImpl.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsCategoryServiceImpl.java new file mode 100644 index 00000000..f4a3e29b --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsCategoryServiceImpl.java @@ -0,0 +1,23 @@ +package cc.hiver.shop.serviceimpl; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.dao.GoodsCategoryDao; +import cc.hiver.shop.entity.GoodsCategory; +import cc.hiver.shop.service.GoodsCategoryService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Slf4j +@Service +@Transactional +public class GoodsCategoryServiceImpl implements GoodsCategoryService { + @Autowired + private GoodsCategoryDao goodsCategoryDao; + + @Override + public HiverBaseDao getRepository() { + return goodsCategoryDao; + } +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsInStockServiceImpl.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsInStockServiceImpl.java new file mode 100644 index 00000000..a472484b --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsInStockServiceImpl.java @@ -0,0 +1,23 @@ +package cc.hiver.shop.serviceimpl; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.dao.GoodsInStockDao; +import cc.hiver.shop.entity.GoodsInStock; +import cc.hiver.shop.service.GoodsInStockService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Slf4j +@Service +@Transactional +public class GoodsInStockServiceImpl implements GoodsInStockService { + @Autowired + private GoodsInStockDao goodsInStockDao; + + @Override + public HiverBaseDao getRepository() { + return goodsInStockDao; + } +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsServiceImpl.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsServiceImpl.java new file mode 100644 index 00000000..9828ef25 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsServiceImpl.java @@ -0,0 +1,23 @@ +package cc.hiver.shop.serviceimpl; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.dao.GoodsDao; +import cc.hiver.shop.entity.Goods; +import cc.hiver.shop.service.GoodsService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Slf4j +@Service +@Transactional +public class GoodsServiceImpl implements GoodsService { + @Autowired + private GoodsDao goodsDao; + + @Override + public HiverBaseDao getRepository() { + return goodsDao; + } +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsStockServiceImpl.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsStockServiceImpl.java new file mode 100644 index 00000000..0cfb5718 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsStockServiceImpl.java @@ -0,0 +1,23 @@ +package cc.hiver.shop.serviceimpl; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.dao.GoodsStockDao; +import cc.hiver.shop.entity.GoodsStock; +import cc.hiver.shop.service.GoodsStockService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Slf4j +@Service +@Transactional +public class GoodsStockServiceImpl implements GoodsStockService { + @Autowired + private GoodsStockDao goodsStockDao; + + @Override + public HiverBaseDao getRepository() { + return goodsStockDao; + } +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/MallServiceImpl.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/MallServiceImpl.java new file mode 100644 index 00000000..77ebf95f --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/MallServiceImpl.java @@ -0,0 +1,30 @@ +package cc.hiver.shop.serviceimpl; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.dao.MallDao; +import cc.hiver.shop.entity.Mall; +import cc.hiver.shop.service.MallService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +@Slf4j +@Service +@Transactional +public class MallServiceImpl implements MallService { + @Autowired + private MallDao mallDao; + + @Override + public HiverBaseDao getRepository() { + return mallDao; + } + + @Override + public List findAllByUserId(String userId) { + return mallDao.findAllByUserId(userId); + } +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/PopularUrlGoodsServiceImpl.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/PopularUrlGoodsServiceImpl.java new file mode 100644 index 00000000..cafa59bc --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/PopularUrlGoodsServiceImpl.java @@ -0,0 +1,30 @@ +package cc.hiver.shop.serviceimpl; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.dao.PopularUrlGoodsDao; +import cc.hiver.shop.entity.PopularUrlGoods; +import cc.hiver.shop.service.PopularUrlGoodsService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +@Slf4j +@Service +@Transactional +public class PopularUrlGoodsServiceImpl implements PopularUrlGoodsService { + @Autowired + private PopularUrlGoodsDao popularUrlGoodsDao; + + @Override + public HiverBaseDao getRepository() { + return popularUrlGoodsDao; + } + + @Override + public List findAllByUrlId(String urlId) { + return popularUrlGoodsDao.findAllByUrlId(urlId); + } +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/PopularUrlServiceImpl.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/PopularUrlServiceImpl.java new file mode 100644 index 00000000..0d926d99 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/PopularUrlServiceImpl.java @@ -0,0 +1,23 @@ +package cc.hiver.shop.serviceimpl; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.dao.PopularUrlDao; +import cc.hiver.shop.entity.PopularUrl; +import cc.hiver.shop.service.PopularUrlService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Slf4j +@Service +@Transactional +public class PopularUrlServiceImpl implements PopularUrlService { + @Autowired + private PopularUrlDao popularUrlDao; + + @Override + public HiverBaseDao getRepository() { + return popularUrlDao; + } +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/RoleSettingServiceImpl.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/RoleSettingServiceImpl.java new file mode 100644 index 00000000..f2591ba8 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/RoleSettingServiceImpl.java @@ -0,0 +1,23 @@ +package cc.hiver.shop.serviceimpl; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.dao.RoleSettingDao; +import cc.hiver.shop.entity.RoleSetting; +import cc.hiver.shop.service.RoleSettingService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Slf4j +@Service +@Transactional +public class RoleSettingServiceImpl implements RoleSettingService { + @Autowired + private RoleSettingDao roleSettingDao; + + @Override + public HiverBaseDao getRepository() { + return roleSettingDao; + } +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/ShoppingCartGoodsServiceImpl.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/ShoppingCartGoodsServiceImpl.java new file mode 100644 index 00000000..463c6a41 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/ShoppingCartGoodsServiceImpl.java @@ -0,0 +1,23 @@ +package cc.hiver.shop.serviceimpl; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.dao.ShoppingCartGoodsDao; +import cc.hiver.shop.entity.ShoppingCartGoods; +import cc.hiver.shop.service.ShoppingCartGoodsService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Slf4j +@Service +@Transactional +public class ShoppingCartGoodsServiceImpl implements ShoppingCartGoodsService { + @Autowired + private ShoppingCartGoodsDao shoppingCartGoodsDao; + + @Override + public HiverBaseDao getRepository() { + return shoppingCartGoodsDao; + } +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/ShoppingCartServiceImpl.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/ShoppingCartServiceImpl.java new file mode 100644 index 00000000..e40c73bc --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/ShoppingCartServiceImpl.java @@ -0,0 +1,23 @@ +package cc.hiver.shop.serviceimpl; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.dao.ShoppingCartDao; +import cc.hiver.shop.entity.ShoppingCart; +import cc.hiver.shop.service.ShoppingCartService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Slf4j +@Service +@Transactional +public class ShoppingCartServiceImpl implements ShoppingCartService { + @Autowired + private ShoppingCartDao shoppingCartDao; + + @Override + public HiverBaseDao getRepository() { + return shoppingCartDao; + } +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/UserClockInServiceImpl.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/UserClockInServiceImpl.java new file mode 100644 index 00000000..fc819636 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/UserClockInServiceImpl.java @@ -0,0 +1,23 @@ +package cc.hiver.shop.serviceimpl; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.dao.UserClockInDao; +import cc.hiver.shop.entity.UserClockIn; +import cc.hiver.shop.service.UserClockInService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Slf4j +@Service +@Transactional +public class UserClockInServiceImpl implements UserClockInService { + @Autowired + private UserClockInDao userClockInDao; + + @Override + public HiverBaseDao getRepository() { + return userClockInDao; + } +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/UserMallServiceImpl.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/UserMallServiceImpl.java new file mode 100644 index 00000000..8f614980 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/UserMallServiceImpl.java @@ -0,0 +1,28 @@ +package cc.hiver.shop.serviceimpl; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.shop.dao.UserMallDao; +import cc.hiver.shop.entity.UserMall; +import cc.hiver.shop.service.UserMallService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Slf4j +@Service +@Transactional +public class UserMallServiceImpl implements UserMallService { + @Autowired + private UserMallDao userMallDao; + + @Override + public HiverBaseDao getRepository() { + return userMallDao; + } + + @Override + public void deleteAllByMallId(String mallId) { + userMallDao.deleteAllByMallId(mallId); + } +} diff --git a/hiver-modules/pom.xml b/hiver-modules/pom.xml index 4b8f28d3..e8709823 100644 --- a/hiver-modules/pom.xml +++ b/hiver-modules/pom.xml @@ -19,6 +19,7 @@ hiver-social hiver-app hiver-open + hiver-shop From 7490c6ba0cafe9c668e9b26970c1dd4fb1be9e4c Mon Sep 17 00:00:00 2001 From: delicacylee Date: Sun, 30 Jul 2023 11:55:40 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E6=8E=A5=E5=8F=A3BUG?= =?UTF-8?q?=EF=BC=8C=E4=BF=9D=E8=AF=81=E8=BF=90=E8=A1=8C=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=AD=A3=E7=A1=AE=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/GoodsAttributeController.java | 2 +- .../controller/GoodsCategoryController.java | 28 ++++++++++++++++--- .../hiver/shop/controller/MallController.java | 6 +++- .../shop/dao/GoodsAttributeValueDao.java | 2 +- .../cc/hiver/shop/dao/GoodsCategoryDao.java | 18 ++++++++++++ .../main/java/cc/hiver/shop/dao/MallDao.java | 3 -- .../cc/hiver/shop/dao/mapper/MallMapper.java | 19 +++++++++++++ .../shop/dto/CustomAddressQueryCriteria.java | 3 ++ .../service/GoodsAttributeValueService.java | 2 +- .../shop/service/GoodsCategoryService.java | 18 ++++++++++++ .../cc/hiver/shop/service/MallService.java | 3 -- .../shop/service/mybatis/IMallService.java | 17 +++++++++++ .../GoodsAttributeValueServiceImpl.java | 4 +-- .../serviceimpl/GoodsCategoryServiceImpl.java | 12 ++++++++ .../shop/serviceimpl/MallServiceImpl.java | 7 ----- .../serviceimpl/mybatis/IMallServiceImpl.java | 21 ++++++++++++++ .../src/main/resources/mapper/MallMapper.xml | 11 ++++++++ 17 files changed, 153 insertions(+), 23 deletions(-) create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/mapper/MallMapper.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/mybatis/IMallService.java create mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/mybatis/IMallServiceImpl.java create mode 100644 hiver-modules/hiver-shop/src/main/resources/mapper/MallMapper.xml diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsAttributeController.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsAttributeController.java index 785cb237..3b405920 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsAttributeController.java +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsAttributeController.java @@ -63,7 +63,7 @@ public class GoodsAttributeController { public Result edit(GoodsAttributeDto entity) { GoodsAttributeKey goodsAttributeKey = goodsAttributeKeyService.findById(entity.getId()); goodsAttributeKey.setAttributeKey(entity.getAttributeKey()); - List values = goodsAttributeValueService.findAllBykAndAttributeId(entity.getId()); + List values = goodsAttributeValueService.findAllByAttributeId(entity.getId()); goodsAttributeValueService.delete(values); for(String v : entity.getAttributeValues()) { GoodsAttributeValue goodsAttributeValue = new GoodsAttributeValue(); diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsCategoryController.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsCategoryController.java index ca2a69f6..2b52076f 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsCategoryController.java +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsCategoryController.java @@ -1,5 +1,6 @@ package cc.hiver.shop.controller; +import cc.hiver.core.common.constant.CommonConstant; import cc.hiver.core.common.utils.ResultUtil; import cc.hiver.core.common.vo.Result; import cc.hiver.shop.entity.GoodsCategory; @@ -9,10 +10,9 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import java.util.List; @Slf4j @RestController @@ -23,6 +23,14 @@ public class GoodsCategoryController { @Autowired private GoodsCategoryService goodsCategoryService; + @RequestMapping(value = "/getByParentId/{parentId}", method = RequestMethod.GET) + @ApiOperation(value = "通过parentId获取") + public Result> getByParentId(@PathVariable String parentId) { + List list = goodsCategoryService.findByParentIdOrderBySortOrder(parentId); + setInfo(list); + return new ResultUtil>().setData(list); + } + @RequestMapping(value = "/save", method = RequestMethod.POST) @ApiOperation(value = "保存数据") public Result save(GoodsCategory entity) { @@ -38,4 +46,16 @@ public class GoodsCategoryController { } return ResultUtil.success("批量通过id删除数据成功"); } + + public void setInfo(List list) { + // lambda表达式 + list.forEach(item -> { + if (!CommonConstant.PARENT_ID.equals(item.getParentId())) { + GoodsCategory parent = goodsCategoryService.get(item.getParentId()); + item.setParentTitle(parent.getCategoryName()); + } else { + item.setParentTitle("一级分类"); + } + }); + } } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/MallController.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/MallController.java index 7d1ac552..eee92f4a 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/MallController.java +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/MallController.java @@ -6,6 +6,7 @@ import cc.hiver.shop.entity.Mall; import cc.hiver.shop.entity.UserMall; import cc.hiver.shop.service.MallService; import cc.hiver.shop.service.UserMallService; +import cc.hiver.shop.service.mybatis.IMallService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -27,6 +28,9 @@ public class MallController { @Autowired private UserMallService userMallService; + @Autowired + private IMallService iMallService; + @RequestMapping(value = "/get/{id}", method = RequestMethod.GET) @ApiOperation(value = "通过id获取") public Result get(@PathVariable String id) { @@ -73,7 +77,7 @@ public class MallController { @RequestMapping(value = "/getAll", method = RequestMethod.GET) @ApiOperation(value = "根据会员id获得商铺列表") public Result getAllByUserId(String userId) { - List list = mallService.findAllByUserId(userId); + List list = iMallService.findByUserId(userId); return ResultUtil.data(list); } } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsAttributeValueDao.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsAttributeValueDao.java index 6c29a398..c57f2058 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsAttributeValueDao.java +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsAttributeValueDao.java @@ -6,5 +6,5 @@ import cc.hiver.shop.entity.GoodsAttributeValue; import java.util.List; public interface GoodsAttributeValueDao extends HiverBaseDao { - List findAllBykAndAttributeId(String attributeId); + List findAllByAttributeId(String attributeId); } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsCategoryDao.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsCategoryDao.java index c59efe7d..b8ff35f7 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsCategoryDao.java +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsCategoryDao.java @@ -3,5 +3,23 @@ package cc.hiver.shop.dao; import cc.hiver.core.base.HiverBaseDao; import cc.hiver.shop.entity.GoodsCategory; +import java.util.List; + public interface GoodsCategoryDao extends HiverBaseDao { + /** + * 通过父id获取 升序 + * + * @param parentId + * @return + */ + List findByParentIdOrderBySortOrder(String parentId); + + /** + * 通过父id和状态获取 升序 + * + * @param parentId + * @param status + * @return + */ + List findByParentIdAndStatusOrderBySortOrder(String parentId, Integer status); } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/MallDao.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/MallDao.java index 14c599fa..def15385 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/MallDao.java +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/MallDao.java @@ -3,8 +3,5 @@ package cc.hiver.shop.dao; import cc.hiver.core.base.HiverBaseDao; import cc.hiver.shop.entity.Mall; -import java.util.List; - public interface MallDao extends HiverBaseDao { - List findAllByUserId(String userId); } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/mapper/MallMapper.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/mapper/MallMapper.java new file mode 100644 index 00000000..a2bda514 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/mapper/MallMapper.java @@ -0,0 +1,19 @@ +package cc.hiver.shop.dao.mapper; + +import cc.hiver.shop.entity.Mall; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository +public interface MallMapper extends BaseMapper { + /** + * 通过用户id获取 + * + * @param userId + * @return + */ + List findByUserId(@Param("userId") String userId); +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/CustomAddressQueryCriteria.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/CustomAddressQueryCriteria.java index 6aad054e..b8b2bce3 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/CustomAddressQueryCriteria.java +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/CustomAddressQueryCriteria.java @@ -7,6 +7,9 @@ import java.io.Serializable; @Data public class CustomAddressQueryCriteria implements Serializable { + @Query + private String id; + @Query private String userId; diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsAttributeValueService.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsAttributeValueService.java index fdf8b109..6fee0efe 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsAttributeValueService.java +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsAttributeValueService.java @@ -6,5 +6,5 @@ import cc.hiver.shop.entity.GoodsAttributeValue; import java.util.List; public interface GoodsAttributeValueService extends HiverBaseService { - List findAllBykAndAttributeId(String attributeId); + List findAllByAttributeId(String attributeId); } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsCategoryService.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsCategoryService.java index 2bf0b1bb..0f04a50a 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsCategoryService.java +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsCategoryService.java @@ -3,5 +3,23 @@ package cc.hiver.shop.service; import cc.hiver.core.base.HiverBaseService; import cc.hiver.shop.entity.GoodsCategory; +import java.util.List; + public interface GoodsCategoryService extends HiverBaseService { + /** + * 通过父id获取 升序 + * + * @param parentId + * @return + */ + List findByParentIdOrderBySortOrder(String parentId); + + /** + * 通过父id和状态获取 升序 + * + * @param parentId + * @param status + * @return + */ + List findByParentIdAndStatusOrderBySortOrder(String parentId, Integer status); } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/MallService.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/MallService.java index b9725a96..8674785e 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/MallService.java +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/MallService.java @@ -3,8 +3,5 @@ package cc.hiver.shop.service; import cc.hiver.core.base.HiverBaseService; import cc.hiver.shop.entity.Mall; -import java.util.List; - public interface MallService extends HiverBaseService { - List findAllByUserId(String userId); } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/mybatis/IMallService.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/mybatis/IMallService.java new file mode 100644 index 00000000..e92804bf --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/mybatis/IMallService.java @@ -0,0 +1,17 @@ +package cc.hiver.shop.service.mybatis; + +import cc.hiver.shop.entity.Mall; +import com.baomidou.mybatisplus.extension.service.IService; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface IMallService extends IService { + /** + * 通过用户id获取 + * + * @param userId + * @return + */ + List findByUserId(@Param("userId") String userId); +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsAttributeValueServiceImpl.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsAttributeValueServiceImpl.java index b146ffdf..53152870 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsAttributeValueServiceImpl.java +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsAttributeValueServiceImpl.java @@ -24,7 +24,7 @@ public class GoodsAttributeValueServiceImpl implements GoodsAttributeValueServic } @Override - public List findAllBykAndAttributeId(String attributeId) { - return goodsAttributeValueDao.findAllBykAndAttributeId(attributeId); + public List findAllByAttributeId(String attributeId) { + return goodsAttributeValueDao.findAllByAttributeId(attributeId); } } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsCategoryServiceImpl.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsCategoryServiceImpl.java index f4a3e29b..594930e6 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsCategoryServiceImpl.java +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsCategoryServiceImpl.java @@ -9,6 +9,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.List; + @Slf4j @Service @Transactional @@ -20,4 +22,14 @@ public class GoodsCategoryServiceImpl implements GoodsCategoryService { public HiverBaseDao getRepository() { return goodsCategoryDao; } + + @Override + public List findByParentIdOrderBySortOrder(String parentId) { + return goodsCategoryDao.findByParentIdOrderBySortOrder(parentId); + } + + @Override + public List findByParentIdAndStatusOrderBySortOrder(String parentId, Integer status) { + return goodsCategoryDao.findByParentIdAndStatusOrderBySortOrder(parentId, status); + } } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/MallServiceImpl.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/MallServiceImpl.java index 77ebf95f..a0f4a901 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/MallServiceImpl.java +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/MallServiceImpl.java @@ -9,8 +9,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.List; - @Slf4j @Service @Transactional @@ -22,9 +20,4 @@ public class MallServiceImpl implements MallService { public HiverBaseDao getRepository() { return mallDao; } - - @Override - public List findAllByUserId(String userId) { - return mallDao.findAllByUserId(userId); - } } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/mybatis/IMallServiceImpl.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/mybatis/IMallServiceImpl.java new file mode 100644 index 00000000..386e73a7 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/mybatis/IMallServiceImpl.java @@ -0,0 +1,21 @@ +package cc.hiver.shop.serviceimpl.mybatis; + +import cc.hiver.shop.dao.mapper.MallMapper; +import cc.hiver.shop.entity.Mall; +import cc.hiver.shop.service.mybatis.IMallService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class IMallServiceImpl extends ServiceImpl implements IMallService { + @Autowired + private MallMapper mallMapper; + + @Override + public List findByUserId(String userId) { + return mallMapper.findByUserId(userId); + } +} diff --git a/hiver-modules/hiver-shop/src/main/resources/mapper/MallMapper.xml b/hiver-modules/hiver-shop/src/main/resources/mapper/MallMapper.xml new file mode 100644 index 00000000..69f2fde7 --- /dev/null +++ b/hiver-modules/hiver-shop/src/main/resources/mapper/MallMapper.xml @@ -0,0 +1,11 @@ + + + + + \ No newline at end of file From 15c2aed2f1d8beb1651528005c14210795dd838d Mon Sep 17 00:00:00 2001 From: delicacylee Date: Sun, 30 Jul 2023 20:58:15 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=BB=93=E6=9E=84?= =?UTF-8?q?=E5=92=8C=E7=BB=86=E8=8A=82=E9=80=BB=E8=BE=91=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hiver-admin/pom.xml | 2 +- hiver-admin/test-output/test-report.html | 16 ++-- .../hiver/core/base/HiverBaseMallEntity.java | 68 ++++++++++++++ .../core/common/constant/CommonConstant.java | 10 +++ .../{ShopConstant.java => MallConstant.java} | 10 +-- .../{hiver-shop => hiver-mall}/pom.xml | 4 +- .../mall}/controller/AddressController.java | 39 ++++---- .../controller/CustomAddressController.java | 8 +- .../mall/controller/GoodsBrandController.java | 20 +++++ .../controller/GoodsCategoryController.java | 19 +--- .../mall}/controller/GoodsController.java | 4 +- .../controller/GoodsStockController.java | 10 +-- .../mall}/controller/MallController.java | 12 +-- .../controller/PopularUrlController.java | 14 +-- .../controller/RoleSettingController.java | 4 +- .../controller/UserClockInController.java | 6 +- .../cc/hiver/mall}/dao/CustomAddressDao.java | 4 +- .../cc/hiver/mall/dao/GoodsAttributeDao.java | 7 ++ .../java/cc/hiver/mall/dao/GoodsBrandDao.java | 7 ++ .../mall/dao/GoodsCategoryAttributeDao.java | 7 ++ .../hiver/mall/dao/GoodsCategoryBrandDao.java | 7 ++ .../cc/hiver/mall}/dao/GoodsCategoryDao.java | 4 +- .../java/cc/hiver/mall}/dao/GoodsDao.java | 4 +- .../cc/hiver/mall}/dao/GoodsInStockDao.java | 4 +- .../cc/hiver/mall}/dao/GoodsStockDao.java | 4 +- .../main/java/cc/hiver/mall}/dao/MallDao.java | 4 +- .../cc/hiver/mall}/dao/PopularUrlDao.java | 4 +- .../hiver/mall}/dao/PopularUrlGoodsDao.java | 4 +- .../cc/hiver/mall}/dao/RoleSettingDao.java | 4 +- .../java/cc/hiver/mall/dao/SalesOrderDao.java | 7 ++ .../cc/hiver/mall/dao/SalesOrderItemDao.java | 7 ++ .../cc/hiver/mall}/dao/UserClockInDao.java | 4 +- .../java/cc/hiver/mall}/dao/UserMallDao.java | 4 +- .../hiver/mall/dao/mapper/AddressMapper.java | 16 ++++ .../cc/hiver/mall}/dao/mapper/MallMapper.java | 4 +- .../java/cc/hiver/mall}/entity/Address.java | 32 +++---- .../cc/hiver/mall}/entity/CustomAddress.java | 34 +++---- .../java/cc/hiver/mall}/entity/Goods.java | 62 ++++++------- .../cc/hiver/mall/entity/GoodsAttribute.java | 41 +++++++++ .../cc/hiver/mall/entity/GoodsBrand.java} | 26 +++--- .../cc/hiver/mall}/entity/GoodsCategory.java | 32 +++---- .../mall/entity/GoodsCategoryAttribute.java | 32 +++++++ .../hiver/mall/entity/GoodsCategoryBrand.java | 27 ++++++ .../cc/hiver/mall}/entity/GoodsInStock.java | 12 +-- .../cc/hiver/mall}/entity/GoodsStock.java | 34 +++---- .../main/java/cc/hiver/mall}/entity/Mall.java | 21 ++--- .../cc/hiver/mall}/entity/PopularUrl.java | 2 +- .../hiver/mall}/entity/PopularUrlGoods.java | 19 +--- .../cc/hiver/mall}/entity/RoleSetting.java | 2 +- .../java/cc/hiver/mall/entity/SalesOrder.java | 56 ++++++++++++ .../cc/hiver/mall/entity/SalesOrderItem.java | 51 +++++++++++ .../cc/hiver/mall}/entity/UserClockIn.java | 2 +- .../java/cc/hiver/mall}/entity/UserMall.java | 2 +- .../mall/pojo/dto/CategoryAttributeDto.java | 38 ++++++++ .../cc/hiver/mall/pojo/dto/PopularUrlDto.java | 19 ++++ .../cc/hiver/mall/pojo/dto/SalesOrderDto.java | 19 ++++ .../query}/CustomAddressQueryCriteria.java | 2 +- .../mall}/service/CustomAddressService.java | 6 +- .../mall/service/GoodsAttributeService.java | 7 ++ .../hiver/mall/service/GoodsBrandService.java | 12 +++ .../GoodsCategoryAttributeService.java | 7 ++ .../service/GoodsCategoryBrandService.java | 7 ++ .../mall}/service/GoodsCategoryService.java | 4 +- .../mall}/service/GoodsInStockService.java | 4 +- .../cc/hiver/mall}/service/GoodsService.java | 4 +- .../mall}/service/GoodsStockService.java | 4 +- .../cc/hiver/mall}/service/MallService.java | 4 +- .../mall}/service/PopularUrlGoodsService.java | 4 +- .../mall}/service/PopularUrlService.java | 4 +- .../mall}/service/RoleSettingService.java | 4 +- .../mall/service/SalesOrderItemService.java | 7 ++ .../hiver/mall/service/SalesOrderService.java | 7 ++ .../mall}/service/UserClockInService.java | 4 +- .../hiver/mall}/service/UserMallService.java | 4 +- .../mall/service/mybatis/IAddressService.java | 31 +++++++ .../mall}/service/mybatis/IMallService.java | 4 +- .../serviceimpl/CustomAddressServiceImpl.java | 10 +-- .../GoodsAttributeServiceImpl.java | 23 +++++ .../serviceimpl/GoodsBrandServiceImpl.java | 23 +++++ .../GoodsCategoryAttributeServiceImpl.java | 23 +++++ .../GoodsCategoryBrandServiceImpl.java | 23 +++++ .../serviceimpl/GoodsCategoryServiceImpl.java | 8 +- .../serviceimpl/GoodsInStockServiceImpl.java | 8 +- .../mall}/serviceimpl/GoodsServiceImpl.java | 8 +- .../serviceimpl/GoodsStockServiceImpl.java | 8 +- .../mall}/serviceimpl/MallServiceImpl.java | 8 +- .../PopularUrlGoodsServiceImpl.java | 8 +- .../serviceimpl/PopularUrlServiceImpl.java | 8 +- .../serviceimpl/RoleSettingServiceImpl.java | 8 +- .../SalesOrderItemServiceImpl.java | 23 +++++ .../serviceimpl/SalesOrderServiceImpl.java | 23 +++++ .../serviceimpl/UserClockInServiceImpl.java | 8 +- .../serviceimpl/UserMallServiceImpl.java | 8 +- .../mybatis/IAddressServiceImpl.java | 63 +++++++++++++ .../serviceimpl/mybatis/IMallServiceImpl.java | 8 +- .../src/main/resources/mapper/MallMapper.xml | 4 +- .../controller/GoodsAttributeController.java | 89 ------------------- .../controller/ShoppingCartController.java | 38 -------- .../java/cc/hiver/shop/dao/AddressDao.java | 10 --- .../hiver/shop/dao/GoodsAttributeKeyDao.java | 7 -- .../shop/dao/GoodsAttributeValueDao.java | 10 --- .../cc/hiver/shop/dao/ShoppingCartDao.java | 7 -- .../hiver/shop/dao/ShoppingCartGoodsDao.java | 7 -- .../cc/hiver/shop/dto/GoodsAttributeDto.java | 24 ----- .../java/cc/hiver/shop/dto/PopularUrlDto.java | 17 ---- .../java/cc/hiver/shop/dto/SalesSlipDto.java | 20 ----- .../shop/entity/GoodsAttributeValue.java | 29 ------ .../cc/hiver/shop/entity/ShoppingCart.java | 45 ---------- .../hiver/shop/entity/ShoppingCartGoods.java | 49 ---------- .../cc/hiver/shop/service/AddressService.java | 10 --- .../service/GoodsAttributeKeyService.java | 7 -- .../service/GoodsAttributeValueService.java | 10 --- .../service/ShoppingCartGoodsService.java | 7 -- .../shop/service/ShoppingCartService.java | 7 -- .../shop/serviceimpl/AddressServiceImpl.java | 30 ------- .../GoodsAttributeKeyServiceImpl.java | 23 ----- .../GoodsAttributeValueServiceImpl.java | 30 ------- .../ShoppingCartGoodsServiceImpl.java | 23 ----- .../serviceimpl/ShoppingCartServiceImpl.java | 23 ----- hiver-modules/pom.xml | 2 +- 120 files changed, 1002 insertions(+), 870 deletions(-) create mode 100644 hiver-core/src/main/java/cc/hiver/core/base/HiverBaseMallEntity.java rename hiver-core/src/main/java/cc/hiver/core/common/constant/{ShopConstant.java => MallConstant.java} (62%) rename hiver-modules/{hiver-shop => hiver-mall}/pom.xml (84%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/controller/AddressController.java (55%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/controller/CustomAddressController.java (92%) create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/GoodsBrandController.java rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/controller/GoodsCategoryController.java (74%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/controller/GoodsController.java (87%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/controller/GoodsStockController.java (85%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/controller/MallController.java (91%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/controller/PopularUrlController.java (81%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/controller/RoleSettingController.java (86%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/controller/UserClockInController.java (89%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/dao/CustomAddressDao.java (63%) create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/GoodsAttributeDao.java create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/GoodsBrandDao.java create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/GoodsCategoryAttributeDao.java create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/GoodsCategoryBrandDao.java rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/dao/GoodsCategoryDao.java (88%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/dao/GoodsDao.java (63%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/dao/GoodsInStockDao.java (63%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/dao/GoodsStockDao.java (63%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/dao/MallDao.java (63%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/dao/PopularUrlDao.java (63%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/dao/PopularUrlGoodsDao.java (74%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/dao/RoleSettingDao.java (63%) create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/SalesOrderDao.java create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/SalesOrderItemDao.java rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/dao/UserClockInDao.java (63%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/dao/UserMallDao.java (70%) create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/AddressMapper.java rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/dao/mapper/MallMapper.java (85%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/entity/Address.java (52%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/entity/CustomAddress.java (51%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/entity/Goods.java (56%) create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/GoodsAttribute.java rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsAttributeKey.java => hiver-mall/src/main/java/cc/hiver/mall/entity/GoodsBrand.java} (59%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/entity/GoodsCategory.java (56%) create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/GoodsCategoryAttribute.java create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/GoodsCategoryBrand.java rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/entity/GoodsInStock.java (72%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/entity/GoodsStock.java (62%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/entity/Mall.java (71%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/entity/PopularUrl.java (96%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/entity/PopularUrlGoods.java (57%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/entity/RoleSetting.java (96%) create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/SalesOrder.java create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/SalesOrderItem.java rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/entity/UserClockIn.java (98%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/entity/UserMall.java (96%) create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/dto/CategoryAttributeDto.java create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/dto/PopularUrlDto.java create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/dto/SalesOrderDto.java rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop/dto => hiver-mall/src/main/java/cc/hiver/mall/pojo/query}/CustomAddressQueryCriteria.java (90%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/service/CustomAddressService.java (70%) create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/GoodsAttributeService.java create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/GoodsBrandService.java create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/GoodsCategoryAttributeService.java create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/GoodsCategoryBrandService.java rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/service/GoodsCategoryService.java (88%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/service/GoodsInStockService.java (64%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/service/GoodsService.java (64%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/service/GoodsStockService.java (64%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/service/MallService.java (64%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/service/PopularUrlGoodsService.java (74%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/service/PopularUrlService.java (64%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/service/RoleSettingService.java (64%) create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/SalesOrderItemService.java create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/SalesOrderService.java rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/service/UserClockInService.java (64%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/service/UserMallService.java (71%) create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/IAddressService.java rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/service/mybatis/IMallService.java (82%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/serviceimpl/CustomAddressServiceImpl.java (80%) create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/GoodsAttributeServiceImpl.java create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/GoodsBrandServiceImpl.java create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/GoodsCategoryAttributeServiceImpl.java create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/GoodsCategoryBrandServiceImpl.java rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/serviceimpl/GoodsCategoryServiceImpl.java (84%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/serviceimpl/GoodsInStockServiceImpl.java (75%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/serviceimpl/GoodsServiceImpl.java (76%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/serviceimpl/GoodsStockServiceImpl.java (76%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/serviceimpl/MallServiceImpl.java (76%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/serviceimpl/PopularUrlGoodsServiceImpl.java (80%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/serviceimpl/PopularUrlServiceImpl.java (76%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/serviceimpl/RoleSettingServiceImpl.java (75%) create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/SalesOrderItemServiceImpl.java create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/SalesOrderServiceImpl.java rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/serviceimpl/UserClockInServiceImpl.java (75%) rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/serviceimpl/UserMallServiceImpl.java (79%) create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/IAddressServiceImpl.java rename hiver-modules/{hiver-shop/src/main/java/cc/hiver/shop => hiver-mall/src/main/java/cc/hiver/mall}/serviceimpl/mybatis/IMallServiceImpl.java (73%) rename hiver-modules/{hiver-shop => hiver-mall}/src/main/resources/mapper/MallMapper.xml (73%) delete mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsAttributeController.java delete mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/ShoppingCartController.java delete mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/AddressDao.java delete mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsAttributeKeyDao.java delete mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsAttributeValueDao.java delete mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/ShoppingCartDao.java delete mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/ShoppingCartGoodsDao.java delete mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/GoodsAttributeDto.java delete mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/PopularUrlDto.java delete mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/SalesSlipDto.java delete mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsAttributeValue.java delete mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/ShoppingCart.java delete mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/ShoppingCartGoods.java delete mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/AddressService.java delete mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsAttributeKeyService.java delete mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsAttributeValueService.java delete mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/ShoppingCartGoodsService.java delete mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/ShoppingCartService.java delete mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/AddressServiceImpl.java delete mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsAttributeKeyServiceImpl.java delete mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsAttributeValueServiceImpl.java delete mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/ShoppingCartGoodsServiceImpl.java delete mode 100644 hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/ShoppingCartServiceImpl.java diff --git a/hiver-admin/pom.xml b/hiver-admin/pom.xml index 7c3cab6a..9874cf8a 100644 --- a/hiver-admin/pom.xml +++ b/hiver-admin/pom.xml @@ -45,7 +45,7 @@ cc.hiver - hiver-shop + hiver-mall 1.0-SNAPSHOT diff --git a/hiver-admin/test-output/test-report.html b/hiver-admin/test-output/test-report.html index fe893fc1..4f57d30b 100644 --- a/hiver-admin/test-output/test-report.html +++ b/hiver-admin/test-output/test-report.html @@ -35,7 +35,7 @@ Hiver
  • - 09, 2023 12:54:01 + 30, 2023 16:13:08
  • @@ -84,7 +84,7 @@

    passTest

    -

    12:54:02 / 0.009 secs

    +

    16:13:08 / 0.012 secs

    @@ -92,9 +92,9 @@
    #test-id=1
    passTest
    -07.09.2023 12:54:02 -07.09.2023 12:54:02 -0.009 secs +07.30.2023 16:13:08 +07.30.2023 16:13:08 +0.012 secs
    @@ -104,7 +104,7 @@ Pass - 12:54:02 + 16:13:08 Test passed @@ -128,13 +128,13 @@

    Started

    -

    09, 2023 12:54:01

    +

    30, 2023 16:13:08

    Ended

    -

    09, 2023 12:54:02

    +

    30, 2023 16:13:08

    diff --git a/hiver-core/src/main/java/cc/hiver/core/base/HiverBaseMallEntity.java b/hiver-core/src/main/java/cc/hiver/core/base/HiverBaseMallEntity.java new file mode 100644 index 00000000..00f747a1 --- /dev/null +++ b/hiver-core/src/main/java/cc/hiver/core/base/HiverBaseMallEntity.java @@ -0,0 +1,68 @@ +package cc.hiver.core.base; + +import cc.hiver.core.common.constant.CommonConstant; +import cc.hiver.core.common.utils.SnowFlakeUtil; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.data.annotation.CreatedBy; +import org.springframework.data.annotation.CreatedDate; +import org.springframework.data.annotation.LastModifiedBy; +import org.springframework.data.annotation.LastModifiedDate; +import org.springframework.data.jpa.domain.support.AuditingEntityListener; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.persistence.EntityListeners; +import javax.persistence.Id; +import javax.persistence.MappedSuperclass; +import java.io.Serializable; +import java.util.Date; + +@Data +@MappedSuperclass +@EntityListeners(AuditingEntityListener.class) +@JsonIgnoreProperties(value = {"hibernateLazyInitializer", "handler", "fieldHandler"}) +public abstract class HiverBaseMallEntity implements Serializable { + private static final long serialVersionUID = 1L; + + @Id + @TableId + @ApiModelProperty(value = "唯一标识") + private String id = SnowFlakeUtil.nextId().toString(); + + @ApiModelProperty("店铺id") + private String mallId; + + @ApiModelProperty("办公区域") + private String region; + + @ApiModelProperty(value = "创建者") + @CreatedBy + @TableField(fill = FieldFill.INSERT) + private String createBy; + + @CreatedDate + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建时间") + private Date createTime; + + @ApiModelProperty(value = "更新者") + @LastModifiedBy + @TableField(fill = FieldFill.UPDATE) + private String updateBy; + + @LastModifiedDate + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新时间") + @TableField(fill = FieldFill.UPDATE) + private Date updateTime; + + @ApiModelProperty(value = "删除标志 默认0") + private Integer delFlag = CommonConstant.STATUS_NORMAL; +} \ No newline at end of file diff --git a/hiver-core/src/main/java/cc/hiver/core/common/constant/CommonConstant.java b/hiver-core/src/main/java/cc/hiver/core/common/constant/CommonConstant.java index dced3c78..09c228e9 100644 --- a/hiver-core/src/main/java/cc/hiver/core/common/constant/CommonConstant.java +++ b/hiver-core/src/main/java/cc/hiver/core/common/constant/CommonConstant.java @@ -125,4 +125,14 @@ public interface CommonConstant { * 部门负责人类型 副负责人 */ Integer HEADER_TYPE_VICE = 1; + + /** + * 是 + */ + Integer STATUS_YES = 1; + + /** + * 否 + */ + Integer STATUS_NO = 0; } diff --git a/hiver-core/src/main/java/cc/hiver/core/common/constant/ShopConstant.java b/hiver-core/src/main/java/cc/hiver/core/common/constant/MallConstant.java similarity index 62% rename from hiver-core/src/main/java/cc/hiver/core/common/constant/ShopConstant.java rename to hiver-core/src/main/java/cc/hiver/core/common/constant/MallConstant.java index a992fbbd..0c67e87d 100644 --- a/hiver-core/src/main/java/cc/hiver/core/common/constant/ShopConstant.java +++ b/hiver-core/src/main/java/cc/hiver/core/common/constant/MallConstant.java @@ -5,7 +5,7 @@ package cc.hiver.core.common.constant; * * @author Yazhi Li */ -public interface ShopConstant { +public interface MallConstant { /** * 上架 */ @@ -17,12 +17,12 @@ public interface ShopConstant { Integer GOODS_PULL_ON_SALE = -1; /** - * 通用规格 + * 销售单处理中 */ - Integer GOODS_ATTRIBUTE_COMMON = 0; + Integer SALES_ORDER_PROCESS = 0; /** - * 定制规格 + * 销售单临时保存 */ - Integer GOODS_ATTRIBUTE_CUSTOM = 1; + Integer SALES_ORDER_SAVED = 1; } diff --git a/hiver-modules/hiver-shop/pom.xml b/hiver-modules/hiver-mall/pom.xml similarity index 84% rename from hiver-modules/hiver-shop/pom.xml rename to hiver-modules/hiver-mall/pom.xml index aa1d6d88..ce61ebe5 100644 --- a/hiver-modules/hiver-shop/pom.xml +++ b/hiver-modules/hiver-mall/pom.xml @@ -8,6 +8,6 @@ 1.0-SNAPSHOT 4.0.0 - 商铺模块 - hiver-shop + 商城模块 + hiver-mall \ No newline at end of file diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/AddressController.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/AddressController.java similarity index 55% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/AddressController.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/AddressController.java index 30edc201..29123a50 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/AddressController.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/AddressController.java @@ -1,11 +1,12 @@ -package cc.hiver.shop.controller; +package cc.hiver.mall.controller; import cc.hiver.core.common.utils.ResultUtil; import cc.hiver.core.common.vo.Result; -import cc.hiver.shop.entity.Address; -import cc.hiver.shop.service.AddressService; +import cc.hiver.mall.entity.Address; +import cc.hiver.mall.service.mybatis.IAddressService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; @@ -20,41 +21,47 @@ import java.util.List; @Transactional public class AddressController { @Autowired - private AddressService addressService; + private IAddressService addressService; @RequestMapping(value = "/getAll/{memberId}", method = RequestMethod.GET) @ApiOperation(value = "根据会员id获得收货地址列表") - public Result getAllByMemberId(@PathVariable String memberId) { - List
    list = addressService.findAllByMemberId(memberId); + public Result getAllByMemberId(@ApiParam("会员ID") @PathVariable String memberId) { + List
    list = addressService.listCurrentMemberAddresses(memberId); return ResultUtil.data(list); } - @RequestMapping(value = "/get/{id}", method = RequestMethod.GET) + @RequestMapping(value = "/{addressId}", method = RequestMethod.GET) @ApiOperation(value = "通过id获取") - public Result
    get(@PathVariable String id) { - Address data = addressService.findById(id); + public Result
    get(@ApiParam("地址ID") @PathVariable String addressId) { + Address data = addressService.getById(addressId); return new ResultUtil
    ().setData(data); } @RequestMapping(value = "/save", method = RequestMethod.POST) @ApiOperation(value = "保存数据") - public Result
    save(Address entity) { - Address address = addressService.save(entity); - return new ResultUtil
    ().setData(address); + public Result addAddress(Address entity) { + boolean result = addressService.addAddress(entity); + if(result) + return ResultUtil.success("添加成功"); + else + return ResultUtil.error("添加失败"); } @RequestMapping(value = "/edit", method = RequestMethod.POST) @ApiOperation(value = "更新数据") - public Result
    edit(Address entity) { - Address address = addressService.update(entity); - return new ResultUtil
    ().setData(address); + public Result updateAddress(Address entity) { + boolean result = addressService.updateAddress(entity); + if(result) + return ResultUtil.success("更新成功"); + else + return ResultUtil.error("更新失败"); } @RequestMapping(value = "/delByIds", method = RequestMethod.POST) @ApiOperation(value = "批量通过ids删除") public Result delByIds(@RequestParam String[] ids) { for (String id : ids) { - addressService.delete(id); + addressService.removeById(id); } return ResultUtil.success("批量通过id删除数据成功"); } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/CustomAddressController.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/CustomAddressController.java similarity index 92% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/CustomAddressController.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/CustomAddressController.java index ea56f2e2..eee21d18 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/CustomAddressController.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/CustomAddressController.java @@ -1,12 +1,12 @@ -package cc.hiver.shop.controller; +package cc.hiver.mall.controller; import cc.hiver.core.common.utils.PageUtil; import cc.hiver.core.common.utils.ResultUtil; import cc.hiver.core.common.vo.PageVo; import cc.hiver.core.common.vo.Result; -import cc.hiver.shop.entity.CustomAddress; -import cc.hiver.shop.service.CustomAddressService; -import cc.hiver.shop.dto.CustomAddressQueryCriteria; +import cc.hiver.mall.entity.CustomAddress; +import cc.hiver.mall.service.CustomAddressService; +import cc.hiver.mall.pojo.query.CustomAddressQueryCriteria; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/GoodsBrandController.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/GoodsBrandController.java new file mode 100644 index 00000000..6e1b0a88 --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/GoodsBrandController.java @@ -0,0 +1,20 @@ +package cc.hiver.mall.controller; + +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 商品品牌控制器 + * + * @author Yazhi Li + */ +@Slf4j +@RestController +@Api(tags = "商品品牌接口") +@RequestMapping(value = "/hiver/app/brand/") +@Transactional +public class GoodsBrandController { +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsCategoryController.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/GoodsCategoryController.java similarity index 74% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsCategoryController.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/GoodsCategoryController.java index 2b52076f..cb78cf2c 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsCategoryController.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/GoodsCategoryController.java @@ -1,10 +1,10 @@ -package cc.hiver.shop.controller; +package cc.hiver.mall.controller; import cc.hiver.core.common.constant.CommonConstant; import cc.hiver.core.common.utils.ResultUtil; import cc.hiver.core.common.vo.Result; -import cc.hiver.shop.entity.GoodsCategory; -import cc.hiver.shop.service.GoodsCategoryService; +import cc.hiver.mall.entity.GoodsCategory; +import cc.hiver.mall.service.GoodsCategoryService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -27,7 +27,6 @@ public class GoodsCategoryController { @ApiOperation(value = "通过parentId获取") public Result> getByParentId(@PathVariable String parentId) { List list = goodsCategoryService.findByParentIdOrderBySortOrder(parentId); - setInfo(list); return new ResultUtil>().setData(list); } @@ -46,16 +45,4 @@ public class GoodsCategoryController { } return ResultUtil.success("批量通过id删除数据成功"); } - - public void setInfo(List list) { - // lambda表达式 - list.forEach(item -> { - if (!CommonConstant.PARENT_ID.equals(item.getParentId())) { - GoodsCategory parent = goodsCategoryService.get(item.getParentId()); - item.setParentTitle(parent.getCategoryName()); - } else { - item.setParentTitle("一级分类"); - } - }); - } } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsController.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/GoodsController.java similarity index 87% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsController.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/GoodsController.java index ca0133c2..4ae2c689 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsController.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/GoodsController.java @@ -1,6 +1,6 @@ -package cc.hiver.shop.controller; +package cc.hiver.mall.controller; -import cc.hiver.shop.service.GoodsService; +import cc.hiver.mall.service.GoodsService; import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsStockController.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/GoodsStockController.java similarity index 85% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsStockController.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/GoodsStockController.java index 0d326ab9..175e5489 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsStockController.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/GoodsStockController.java @@ -1,11 +1,11 @@ -package cc.hiver.shop.controller; +package cc.hiver.mall.controller; import cc.hiver.core.common.utils.ResultUtil; import cc.hiver.core.common.vo.Result; -import cc.hiver.shop.entity.GoodsInStock; -import cc.hiver.shop.entity.GoodsStock; -import cc.hiver.shop.service.GoodsInStockService; -import cc.hiver.shop.service.GoodsStockService; +import cc.hiver.mall.entity.GoodsInStock; +import cc.hiver.mall.entity.GoodsStock; +import cc.hiver.mall.service.GoodsInStockService; +import cc.hiver.mall.service.GoodsStockService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/MallController.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/MallController.java similarity index 91% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/MallController.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/MallController.java index eee92f4a..09a292d8 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/MallController.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/MallController.java @@ -1,12 +1,12 @@ -package cc.hiver.shop.controller; +package cc.hiver.mall.controller; import cc.hiver.core.common.utils.ResultUtil; import cc.hiver.core.common.vo.Result; -import cc.hiver.shop.entity.Mall; -import cc.hiver.shop.entity.UserMall; -import cc.hiver.shop.service.MallService; -import cc.hiver.shop.service.UserMallService; -import cc.hiver.shop.service.mybatis.IMallService; +import cc.hiver.mall.entity.Mall; +import cc.hiver.mall.entity.UserMall; +import cc.hiver.mall.service.MallService; +import cc.hiver.mall.service.UserMallService; +import cc.hiver.mall.service.mybatis.IMallService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/PopularUrlController.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/PopularUrlController.java similarity index 81% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/PopularUrlController.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/PopularUrlController.java index b7d6aa86..642d6717 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/PopularUrlController.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/PopularUrlController.java @@ -1,11 +1,11 @@ -package cc.hiver.shop.controller; +package cc.hiver.mall.controller; import cc.hiver.core.common.utils.ResultUtil; import cc.hiver.core.common.vo.Result; -import cc.hiver.shop.dto.PopularUrlDto; -import cc.hiver.shop.entity.PopularUrlGoods; -import cc.hiver.shop.service.PopularUrlGoodsService; -import cc.hiver.shop.service.PopularUrlService; +import cc.hiver.mall.pojo.dto.PopularUrlDto; +import cc.hiver.mall.entity.PopularUrlGoods; +import cc.hiver.mall.service.PopularUrlGoodsService; +import cc.hiver.mall.service.PopularUrlService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -32,7 +32,7 @@ public class PopularUrlController { @ApiOperation(value = "创建分享链接") public Result create(PopularUrlDto entity) { popularUrlService.save(entity.getUrl()); - for(PopularUrlGoods good : entity.getGoods()) { + for(PopularUrlGoods good : entity.getGoodsList()) { popularUrlGoodsService.save(good); } return ResultUtil.data(entity.getUrl().getUrl()); @@ -43,7 +43,7 @@ public class PopularUrlController { public Result get(@PathVariable String id) { PopularUrlDto data = new PopularUrlDto(); data.setUrl(popularUrlService.get(id)); - data.setGoods(popularUrlGoodsService.findAllByUrlId(id)); + data.setGoodsList(popularUrlGoodsService.findAllByUrlId(id)); return new ResultUtil().setData(data); } } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/RoleSettingController.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/RoleSettingController.java similarity index 86% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/RoleSettingController.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/RoleSettingController.java index 77c35f58..1eec1769 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/RoleSettingController.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/RoleSettingController.java @@ -1,6 +1,6 @@ -package cc.hiver.shop.controller; +package cc.hiver.mall.controller; -import cc.hiver.shop.service.RoleSettingService; +import cc.hiver.mall.service.RoleSettingService; import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/UserClockInController.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/UserClockInController.java similarity index 89% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/UserClockInController.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/UserClockInController.java index 784aa2a6..7bbaecf4 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/UserClockInController.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/UserClockInController.java @@ -1,9 +1,9 @@ -package cc.hiver.shop.controller; +package cc.hiver.mall.controller; import cc.hiver.core.common.utils.ResultUtil; import cc.hiver.core.common.vo.Result; -import cc.hiver.shop.entity.UserClockIn; -import cc.hiver.shop.service.UserClockInService; +import cc.hiver.mall.entity.UserClockIn; +import cc.hiver.mall.service.UserClockInService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/CustomAddressDao.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/CustomAddressDao.java similarity index 63% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/CustomAddressDao.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/CustomAddressDao.java index 79a86494..8afe3dc0 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/CustomAddressDao.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/CustomAddressDao.java @@ -1,7 +1,7 @@ -package cc.hiver.shop.dao; +package cc.hiver.mall.dao; import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.entity.CustomAddress; +import cc.hiver.mall.entity.CustomAddress; public interface CustomAddressDao extends HiverBaseDao { } diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/GoodsAttributeDao.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/GoodsAttributeDao.java new file mode 100644 index 00000000..fc428439 --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/GoodsAttributeDao.java @@ -0,0 +1,7 @@ +package cc.hiver.mall.dao; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.mall.entity.GoodsAttribute; + +public interface GoodsAttributeDao extends HiverBaseDao { +} diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/GoodsBrandDao.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/GoodsBrandDao.java new file mode 100644 index 00000000..640a9200 --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/GoodsBrandDao.java @@ -0,0 +1,7 @@ +package cc.hiver.mall.dao; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.mall.entity.GoodsBrand; + +public interface GoodsBrandDao extends HiverBaseDao { +} diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/GoodsCategoryAttributeDao.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/GoodsCategoryAttributeDao.java new file mode 100644 index 00000000..9aaad8b8 --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/GoodsCategoryAttributeDao.java @@ -0,0 +1,7 @@ +package cc.hiver.mall.dao; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.mall.entity.GoodsCategoryAttribute; + +public interface GoodsCategoryAttributeDao extends HiverBaseDao { +} diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/GoodsCategoryBrandDao.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/GoodsCategoryBrandDao.java new file mode 100644 index 00000000..a174d85d --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/GoodsCategoryBrandDao.java @@ -0,0 +1,7 @@ +package cc.hiver.mall.dao; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.mall.entity.GoodsCategoryBrand; + +public interface GoodsCategoryBrandDao extends HiverBaseDao { +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsCategoryDao.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/GoodsCategoryDao.java similarity index 88% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsCategoryDao.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/GoodsCategoryDao.java index b8ff35f7..90816c05 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsCategoryDao.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/GoodsCategoryDao.java @@ -1,7 +1,7 @@ -package cc.hiver.shop.dao; +package cc.hiver.mall.dao; import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.entity.GoodsCategory; +import cc.hiver.mall.entity.GoodsCategory; import java.util.List; diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsDao.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/GoodsDao.java similarity index 63% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsDao.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/GoodsDao.java index e8eb810b..7223f080 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsDao.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/GoodsDao.java @@ -1,7 +1,7 @@ -package cc.hiver.shop.dao; +package cc.hiver.mall.dao; import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.entity.Goods; +import cc.hiver.mall.entity.Goods; public interface GoodsDao extends HiverBaseDao { } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsInStockDao.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/GoodsInStockDao.java similarity index 63% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsInStockDao.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/GoodsInStockDao.java index ba1512d4..01b5204c 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsInStockDao.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/GoodsInStockDao.java @@ -1,7 +1,7 @@ -package cc.hiver.shop.dao; +package cc.hiver.mall.dao; import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.entity.GoodsInStock; +import cc.hiver.mall.entity.GoodsInStock; public interface GoodsInStockDao extends HiverBaseDao { } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsStockDao.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/GoodsStockDao.java similarity index 63% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsStockDao.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/GoodsStockDao.java index 27bd7d23..8e9a599b 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsStockDao.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/GoodsStockDao.java @@ -1,7 +1,7 @@ -package cc.hiver.shop.dao; +package cc.hiver.mall.dao; import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.entity.GoodsStock; +import cc.hiver.mall.entity.GoodsStock; public interface GoodsStockDao extends HiverBaseDao { } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/MallDao.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/MallDao.java similarity index 63% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/MallDao.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/MallDao.java index def15385..f51e7ba6 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/MallDao.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/MallDao.java @@ -1,7 +1,7 @@ -package cc.hiver.shop.dao; +package cc.hiver.mall.dao; import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.entity.Mall; +import cc.hiver.mall.entity.Mall; public interface MallDao extends HiverBaseDao { } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/PopularUrlDao.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/PopularUrlDao.java similarity index 63% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/PopularUrlDao.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/PopularUrlDao.java index 3d95f4b6..a40ff2ff 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/PopularUrlDao.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/PopularUrlDao.java @@ -1,7 +1,7 @@ -package cc.hiver.shop.dao; +package cc.hiver.mall.dao; import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.entity.PopularUrl; +import cc.hiver.mall.entity.PopularUrl; public interface PopularUrlDao extends HiverBaseDao { } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/PopularUrlGoodsDao.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/PopularUrlGoodsDao.java similarity index 74% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/PopularUrlGoodsDao.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/PopularUrlGoodsDao.java index 504b7e00..d09f39df 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/PopularUrlGoodsDao.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/PopularUrlGoodsDao.java @@ -1,7 +1,7 @@ -package cc.hiver.shop.dao; +package cc.hiver.mall.dao; import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.entity.PopularUrlGoods; +import cc.hiver.mall.entity.PopularUrlGoods; import java.util.List; diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/RoleSettingDao.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/RoleSettingDao.java similarity index 63% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/RoleSettingDao.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/RoleSettingDao.java index 69cb08cf..9f186f7e 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/RoleSettingDao.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/RoleSettingDao.java @@ -1,7 +1,7 @@ -package cc.hiver.shop.dao; +package cc.hiver.mall.dao; import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.entity.RoleSetting; +import cc.hiver.mall.entity.RoleSetting; public interface RoleSettingDao extends HiverBaseDao { } diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/SalesOrderDao.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/SalesOrderDao.java new file mode 100644 index 00000000..800a4e55 --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/SalesOrderDao.java @@ -0,0 +1,7 @@ +package cc.hiver.mall.dao; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.mall.entity.SalesOrder; + +public interface SalesOrderDao extends HiverBaseDao { +} diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/SalesOrderItemDao.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/SalesOrderItemDao.java new file mode 100644 index 00000000..5dcbd30b --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/SalesOrderItemDao.java @@ -0,0 +1,7 @@ +package cc.hiver.mall.dao; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.mall.entity.SalesOrderItem; + +public interface SalesOrderItemDao extends HiverBaseDao { +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/UserClockInDao.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/UserClockInDao.java similarity index 63% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/UserClockInDao.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/UserClockInDao.java index 0aa221cb..77987c0a 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/UserClockInDao.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/UserClockInDao.java @@ -1,7 +1,7 @@ -package cc.hiver.shop.dao; +package cc.hiver.mall.dao; import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.entity.UserClockIn; +import cc.hiver.mall.entity.UserClockIn; public interface UserClockInDao extends HiverBaseDao { } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/UserMallDao.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/UserMallDao.java similarity index 70% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/UserMallDao.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/UserMallDao.java index 88b62d30..3d7da8ba 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/UserMallDao.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/UserMallDao.java @@ -1,7 +1,7 @@ -package cc.hiver.shop.dao; +package cc.hiver.mall.dao; import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.entity.UserMall; +import cc.hiver.mall.entity.UserMall; public interface UserMallDao extends HiverBaseDao { void deleteAllByMallId(String mallId); diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/AddressMapper.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/AddressMapper.java new file mode 100644 index 00000000..415386af --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/AddressMapper.java @@ -0,0 +1,16 @@ +package cc.hiver.mall.dao.mapper; + +import cc.hiver.mall.entity.Address; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +@Mapper +public interface AddressMapper extends BaseMapper
    { + @Select("") + List
    listByMemberId(String memberId); +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/mapper/MallMapper.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/MallMapper.java similarity index 85% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/mapper/MallMapper.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/MallMapper.java index a2bda514..1386eda3 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/mapper/MallMapper.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/MallMapper.java @@ -1,6 +1,6 @@ -package cc.hiver.shop.dao.mapper; +package cc.hiver.mall.dao.mapper; -import cc.hiver.shop.entity.Mall; +import cc.hiver.mall.entity.Mall; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/Address.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/Address.java similarity index 52% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/Address.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/Address.java index 6a48a8dd..e51f15a1 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/Address.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/Address.java @@ -1,4 +1,4 @@ -package cc.hiver.shop.entity; +package cc.hiver.mall.entity; import cc.hiver.core.base.HiverBaseEntity; import com.baomidou.mybatisplus.annotation.TableName; @@ -21,30 +21,24 @@ import javax.persistence.Table; public class Address extends HiverBaseEntity { private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "收货人") - private String consignee; + @ApiModelProperty(value = "会员ID") + private String memberId; - @ApiModelProperty(value = "收货电话") - private String receivingMobile; + @ApiModelProperty(value = "'收货人姓名") + private String consigneeName; - @ApiModelProperty(value = "收货公司") - private String receivingCompany; + @ApiModelProperty(value = "收货人联系方式") + private String consigneeMobile; - @ApiModelProperty(value = "收货区域") - private String receivingArea; + @ApiModelProperty(value = "收货人所属区域") + private String consigneeArea; - @ApiModelProperty(value = "收货地址") + @ApiModelProperty(value = "详细地址") private String address; - @ApiModelProperty(value = "邮政编码") + @ApiModelProperty(value = "邮编") private String zipCode; - @ApiModelProperty(value = "会员id") - private String memberId; - - @ApiModelProperty(value = "默认地址") - private Integer defaultAddress; - - @ApiModelProperty(value = "收货注释") - private String note; + @ApiModelProperty(value = "是否默认地址") + private Integer defaulted; } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/CustomAddress.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/CustomAddress.java similarity index 51% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/CustomAddress.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/CustomAddress.java index c11d28a8..6c708e6a 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/CustomAddress.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/CustomAddress.java @@ -1,4 +1,4 @@ -package cc.hiver.shop.entity; +package cc.hiver.mall.entity; import cc.hiver.core.base.HiverBaseEntity; import com.baomidou.mybatisplus.annotation.TableName; @@ -21,30 +21,24 @@ import javax.persistence.Table; public class CustomAddress extends HiverBaseEntity { private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "收货人") - private String consignee; + @ApiModelProperty(value = "用户ID") + private String userId; + + @ApiModelProperty(value = "收货人姓名") + private String consigneeName; - @ApiModelProperty(value = "收货电话") - private String receivingMobile; + @ApiModelProperty(value = "收货人联系方式") + private String consigneeMobile; - @ApiModelProperty(value = "收货公司") - private String receivingCompany; + @ApiModelProperty(value = "收货人公司") + private String consigneeCompany; - @ApiModelProperty(value = "收货区域") - private String receivingArea; + @ApiModelProperty(value = "收货人所属区域") + private String consigneeArea; - @ApiModelProperty(value = "收货地址") + @ApiModelProperty(value = "详细地址") private String address; - @ApiModelProperty(value = "邮政编码") + @ApiModelProperty(value = "邮编") private String zipCode; - - @ApiModelProperty(value = "用户id") - private String userId; - - @ApiModelProperty(value = "会员id 0表示未注册用户 1已注册用户对应id") - private String memberId; - - @ApiModelProperty(value = "客户简介") - private String intro; } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/Goods.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/Goods.java similarity index 56% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/Goods.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/Goods.java index 199e3cbc..8b354e82 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/Goods.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/Goods.java @@ -1,7 +1,7 @@ -package cc.hiver.shop.entity; +package cc.hiver.mall.entity; -import cc.hiver.core.base.HiverBaseEntity; -import cc.hiver.core.common.constant.ShopConstant; +import cc.hiver.core.base.HiverBaseMallEntity; +import cc.hiver.core.common.constant.MallConstant; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -21,38 +21,17 @@ import java.math.BigDecimal; @Table(name = "t_goods") @TableName("t_goods") @ApiModel(value = "商品表") -public class Goods extends HiverBaseEntity { +public class Goods extends HiverBaseMallEntity { private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "商品编号") - private String goodsNo; - - @ApiModelProperty(value = "商品二维码") - private String goodsBarcode; - @ApiModelProperty(value = "商品名称") - private String goodsTitle; + private String name; - @ApiModelProperty(value = "分类id") + @ApiModelProperty(value = "商品类型ID") private String categoryId; - @ApiModelProperty(value = "规格类型") - private Integer attributeType = ShopConstant.GOODS_ATTRIBUTE_COMMON; - - @ApiModelProperty(value = "规格列表") - private String attributeList; - - @ApiModelProperty(value = "商品描述") - private String intro; - - @ApiModelProperty(value = "商品详情") - private String detail; - - @ApiModelProperty(value = "库存") - private Integer stock = 0; - - @ApiModelProperty(value = "是否启用 0上架 -1下架") - private Integer status = ShopConstant.GOODS_PUT_ON_SALE; + @ApiModelProperty(value = "商品品牌ID") + private String brandId; @ApiModelProperty(value = "采购价") @Column(precision = 10, scale = 2) @@ -66,12 +45,27 @@ public class Goods extends HiverBaseEntity { @Column(precision = 10, scale = 2) private BigDecimal wholesalePrice = new BigDecimal(0); - @ApiModelProperty(value = "商铺id") - private String mallId; + @ApiModelProperty(value = "销量") + private Integer sales; + + @ApiModelProperty(value = "商品主图") + private String picUrl; @ApiModelProperty(value = "视频地址") - private String videoPath; + private String videoUrl; + + @ApiModelProperty(value = "商品图册") + private String album; + + @ApiModelProperty(value = "单位") + private String unit; + + @ApiModelProperty(value = "商品简介") + private String description; - @ApiModelProperty("办公区域") - private String region; + @ApiModelProperty(value = "商品详情") + private String detail; + + @ApiModelProperty(value = "是否启用 0上架 -1下架") + private Integer status = MallConstant.GOODS_PUT_ON_SALE; } diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/GoodsAttribute.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/GoodsAttribute.java new file mode 100644 index 00000000..7947bba1 --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/GoodsAttribute.java @@ -0,0 +1,41 @@ +package cc.hiver.mall.entity; + +import cc.hiver.core.base.HiverBaseMallEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Entity; +import javax.persistence.Table; + +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@Table(name = "t_goods_attribute") +@TableName("t_goods_attribute") +@ApiModel(value = "商品属性/规格表") +public class GoodsAttribute extends HiverBaseMallEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "商品ID") + private String goodsId; + + @ApiModelProperty(value = "属性ID") + private String attributeId; + + @ApiModelProperty(value = "属性名称") + private String name; + + @ApiModelProperty(value = "属性值") + private String value; + + @ApiModelProperty(value = "类型(1:规格;2:属性;)") + private Integer type; + + @ApiModelProperty(value = "规格图片") + private String picUrl; +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsAttributeKey.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/GoodsBrand.java similarity index 59% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsAttributeKey.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/GoodsBrand.java index a89a1533..c0b22092 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsAttributeKey.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/GoodsBrand.java @@ -1,6 +1,6 @@ -package cc.hiver.shop.entity; +package cc.hiver.mall.entity; -import cc.hiver.core.base.HiverBaseEntity; +import cc.hiver.core.base.HiverBaseMallEntity; import cc.hiver.core.common.constant.CommonConstant; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; @@ -18,17 +18,17 @@ import java.math.BigDecimal; @Entity @DynamicInsert @DynamicUpdate -@Table(name = "t_goods_attribute_key") -@TableName("t_goods_attribute_key") -@ApiModel(value = "商品规格主键表") -public class GoodsAttributeKey extends HiverBaseEntity { +@Table(name = "t_goods_brand") +@TableName("t_goods_brand") +@ApiModel(value = "商品品牌表") +public class GoodsBrand extends HiverBaseMallEntity { private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "分类id") - private String categoryId; + @ApiModelProperty(value = "品牌名称") + private String name; - @ApiModelProperty(value = "属性名") - private String attributeKey; + @ApiModelProperty(value = "LOGO图片") + private String logoUrl; @ApiModelProperty(value = "排序值") @Column(precision = 10, scale = 2) @@ -36,10 +36,4 @@ public class GoodsAttributeKey extends HiverBaseEntity { @ApiModelProperty(value = "是否启用 0启用 -1禁用") private Integer status = CommonConstant.STATUS_NORMAL; - - @ApiModelProperty(value = "商铺id") - private String mallId; - - @ApiModelProperty("办公区域") - private String region; } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsCategory.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/GoodsCategory.java similarity index 56% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsCategory.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/GoodsCategory.java index 3a4c0d17..6996b0eb 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsCategory.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/GoodsCategory.java @@ -1,8 +1,7 @@ -package cc.hiver.shop.entity; +package cc.hiver.mall.entity; -import cc.hiver.core.base.HiverBaseEntity; +import cc.hiver.core.base.HiverBaseMallEntity; import cc.hiver.core.common.constant.CommonConstant; -import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -13,7 +12,6 @@ import org.hibernate.annotations.DynamicUpdate; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; -import javax.persistence.Transient; import java.math.BigDecimal; @Data @@ -23,18 +21,21 @@ import java.math.BigDecimal; @Table(name = "t_goods_category") @TableName("t_goods_category") @ApiModel(value = "商品分类表") -public class GoodsCategory extends HiverBaseEntity { +public class GoodsCategory extends HiverBaseMallEntity { private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "分类名称") - private String categoryName; + @ApiModelProperty(value = "商品分类名称") + private String name; - @ApiModelProperty(value = "父id") + @ApiModelProperty(value = "父级ID") @Column(nullable = false) private String parentId; - @ApiModelProperty(value = "是否为父节点(含子节点) 默认false") - private Boolean isParent = false; + @ApiModelProperty(value = "层级") + private Integer level; + + @ApiModelProperty(value = "图标地址") + private String iconUrl; @ApiModelProperty(value = "排序值") @Column(precision = 10, scale = 2) @@ -42,15 +43,4 @@ public class GoodsCategory extends HiverBaseEntity { @ApiModelProperty(value = "是否启用 0启用 -1禁用") private Integer status = CommonConstant.STATUS_NORMAL; - - @Transient - @TableField(exist = false) - @ApiModelProperty(value = "父节点名称") - private String parentTitle; - - @ApiModelProperty(value = "商铺id") - private String mallId; - - @ApiModelProperty("办公区域") - private String region; } diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/GoodsCategoryAttribute.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/GoodsCategoryAttribute.java new file mode 100644 index 00000000..495ec7b0 --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/GoodsCategoryAttribute.java @@ -0,0 +1,32 @@ +package cc.hiver.mall.entity; + +import cc.hiver.core.base.HiverBaseMallEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Entity; +import javax.persistence.Table; + +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@Table(name = "t_goods_category_attribute") +@TableName("t_goods_category_attribute") +@ApiModel(value = "商品属性表") +public class GoodsCategoryAttribute extends HiverBaseMallEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "分类ID") + private String categoryId; + + @ApiModelProperty(value = "属性名称") + private String name; + + @ApiModelProperty(value = "类型(1:规格;2:属性;)") + private Integer type; +} diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/GoodsCategoryBrand.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/GoodsCategoryBrand.java new file mode 100644 index 00000000..7c31597b --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/GoodsCategoryBrand.java @@ -0,0 +1,27 @@ +package cc.hiver.mall.entity; + +import cc.hiver.core.base.HiverBaseMallEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Entity; +import javax.persistence.Table; + +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@Table(name = "t_goods_category_brand") +@TableName("t_goods_category_brand") +@ApiModel(value = "商品品牌表") +public class GoodsCategoryBrand extends HiverBaseMallEntity { + @ApiModelProperty(value = "分类ID") + private String categoryId; + + @ApiModelProperty(value = "品牌ID") + private String brandId; +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsInStock.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/GoodsInStock.java similarity index 72% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsInStock.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/GoodsInStock.java index d9882a1a..44d0569d 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsInStock.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/GoodsInStock.java @@ -1,6 +1,6 @@ -package cc.hiver.shop.entity; +package cc.hiver.mall.entity; -import cc.hiver.core.base.HiverBaseEntity; +import cc.hiver.core.base.HiverBaseMallEntity; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -18,7 +18,7 @@ import javax.persistence.Table; @Table(name = "t_goods_in_stock") @TableName("t_goods_in_stock") @ApiModel(value = "商品入库表") -public class GoodsInStock extends HiverBaseEntity { +public class GoodsInStock extends HiverBaseMallEntity { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "在库商品id") @@ -26,10 +26,4 @@ public class GoodsInStock extends HiverBaseEntity { @ApiModelProperty(value = "入库数量") private Integer num; - - @ApiModelProperty(value = "商铺id") - private String mallId; - - @ApiModelProperty("办公区域") - private String region; } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsStock.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/GoodsStock.java similarity index 62% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsStock.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/GoodsStock.java index b340021e..a4bfbb4b 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsStock.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/GoodsStock.java @@ -1,7 +1,6 @@ -package cc.hiver.shop.entity; +package cc.hiver.mall.entity; -import cc.hiver.core.base.HiverBaseEntity; -import cc.hiver.core.common.constant.ShopConstant; +import cc.hiver.core.base.HiverBaseMallEntity; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -21,20 +20,20 @@ import java.math.BigDecimal; @Table(name = "t_goods_stock") @TableName("t_goods_stock") @ApiModel(value = "商品库存表") -public class GoodsStock extends HiverBaseEntity { +public class GoodsStock extends HiverBaseMallEntity { private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "商品id") - private String goodsId; + @ApiModelProperty(value = "商品编码") + private String sn; - @ApiModelProperty(value = "商品规格") - private String goodsSpecs; + @ApiModelProperty(value = "商品ID") + private String goodsId; - @ApiModelProperty(value = "库存") - private Integer stock = 0; + @ApiModelProperty(value = "商品名称") + private String name; - @ApiModelProperty(value = "是否启用 0上架 -1下架") - private Integer status = ShopConstant.GOODS_PUT_ON_SALE; + @ApiModelProperty(value = "商品规格值,以英文逗号(,)分割") + private String specIds; @ApiModelProperty(value = "采购价") @Column(precision = 10, scale = 2) @@ -48,9 +47,12 @@ public class GoodsStock extends HiverBaseEntity { @Column(precision = 10, scale = 2) private BigDecimal wholesalePrice = new BigDecimal(0); - @ApiModelProperty(value = "商铺id") - private String mallId; + @ApiModelProperty(value = "库存数量") + private Integer stock = 0; + + @ApiModelProperty(value = "锁定库存数量") + private Integer lockedStock = 0; - @ApiModelProperty("办公区域") - private String region; + @ApiModelProperty(value = "商品图片") + private String picUrl; } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/Mall.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/Mall.java similarity index 71% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/Mall.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/Mall.java index 3d476da1..c029c402 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/Mall.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/Mall.java @@ -1,6 +1,6 @@ -package cc.hiver.shop.entity; +package cc.hiver.mall.entity; -import cc.hiver.core.base.HiverBaseEntity; +import cc.hiver.core.base.HiverBaseMallEntity; import cc.hiver.core.common.constant.CommonConstant; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; @@ -21,17 +21,17 @@ import java.math.BigDecimal; @Table(name = "t_mall") @TableName("t_mall") @ApiModel(value = "商铺表") -public class Mall extends HiverBaseEntity { +public class Mall extends HiverBaseMallEntity { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "商铺名称") - private String title; + private String name; - @ApiModelProperty(value = "商铺介绍") - private String intro; + @ApiModelProperty(value = "商铺简介") + private String description; @ApiModelProperty(value = "商铺图片") - private String img; + private String picUrl; @ApiModelProperty(value = "排序值") @Column(precision = 10, scale = 2) @@ -40,9 +40,6 @@ public class Mall extends HiverBaseEntity { @ApiModelProperty(value = "是否启用 0启用 -1禁用") private Integer status = CommonConstant.STATUS_NORMAL; - @ApiModelProperty(value = "默认店铺") - private Integer defaultMall; - - @ApiModelProperty("办公区域") - private String region; + @ApiModelProperty(value = "是否默认商铺") + private Integer defaulted; } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/PopularUrl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/PopularUrl.java similarity index 96% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/PopularUrl.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/PopularUrl.java index 59780431..8f7d72b9 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/PopularUrl.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/PopularUrl.java @@ -1,4 +1,4 @@ -package cc.hiver.shop.entity; +package cc.hiver.mall.entity; import cc.hiver.core.base.HiverBaseEntity; import com.baomidou.mybatisplus.annotation.TableName; diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/PopularUrlGoods.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/PopularUrlGoods.java similarity index 57% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/PopularUrlGoods.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/PopularUrlGoods.java index 2043f2f1..cc97be60 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/PopularUrlGoods.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/PopularUrlGoods.java @@ -1,4 +1,4 @@ -package cc.hiver.shop.entity; +package cc.hiver.mall.entity; import cc.hiver.core.base.HiverBaseEntity; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,10 +8,8 @@ import lombok.Data; import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; -import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; -import java.math.BigDecimal; @Data @Entity @@ -26,21 +24,6 @@ public class PopularUrlGoods extends HiverBaseEntity { @ApiModelProperty(value = "链接id") private String urlId; - @ApiModelProperty(value = "商铺id") - private String mallId; - @ApiModelProperty(value = "商品id") private String goodsId; - - @ApiModelProperty(value = "采购价") - @Column(precision = 10, scale = 2) - private BigDecimal purchasePrice = new BigDecimal(0); - - @ApiModelProperty(value = "市场价") - @Column(precision = 10, scale = 2) - private BigDecimal price = new BigDecimal(0); - - @ApiModelProperty(value = "批发价") - @Column(precision = 10, scale = 2) - private BigDecimal wholesalePrice = new BigDecimal(0); } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/RoleSetting.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/RoleSetting.java similarity index 96% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/RoleSetting.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/RoleSetting.java index 2b7f162e..cfb36150 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/RoleSetting.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/RoleSetting.java @@ -1,4 +1,4 @@ -package cc.hiver.shop.entity; +package cc.hiver.mall.entity; import cc.hiver.core.base.HiverBaseEntity; import com.baomidou.mybatisplus.annotation.TableName; diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/SalesOrder.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/SalesOrder.java new file mode 100644 index 00000000..270ac33d --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/SalesOrder.java @@ -0,0 +1,56 @@ +package cc.hiver.mall.entity; + +import cc.hiver.core.base.HiverBaseEntity; +import cc.hiver.core.common.constant.MallConstant; +import cc.hiver.core.common.utils.SnowFlakeUtil; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Entity; +import javax.persistence.Table; +import java.math.BigDecimal; + +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@Table(name = "t_sales_order") +@TableName("t_sales_order") +@ApiModel(value = "销售单主表") +public class SalesOrder extends HiverBaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "销售单号") + private String sn = "SN" + SnowFlakeUtil.nextId().toString(); + + @ApiModelProperty(value = "用户ID") + private String userId; + + @ApiModelProperty(value = "收货人姓名") + private String consigneeName; + + @ApiModelProperty(value = "收货人联系方式") + private String consigneeMobile; + + @ApiModelProperty(value = "收货人公司") + private String consigneeCompany; + + @ApiModelProperty(value = "收货人所属区域") + private String consigneeArea; + + @ApiModelProperty(value = "详细地址") + private String address; + + @ApiModelProperty(value = "邮编") + private String zipCode; + + @ApiModelProperty(value = "是否启用 0处理中 1已保存") + private Integer status = MallConstant.SALES_ORDER_PROCESS; + + @ApiModelProperty(value = "订单总额") + private BigDecimal totalAmount = new BigDecimal(0); +} diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/SalesOrderItem.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/SalesOrderItem.java new file mode 100644 index 00000000..11f7be1a --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/SalesOrderItem.java @@ -0,0 +1,51 @@ +package cc.hiver.mall.entity; + +import cc.hiver.core.base.HiverBaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Entity; +import javax.persistence.Table; +import java.math.BigDecimal; + +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@Table(name = "t_sales_order_item") +@TableName("t_sales_order_item") +@ApiModel(value = "销售单详细表") +public class SalesOrderItem extends HiverBaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "销售单主表id") + private String salesOrderId; + + @ApiModelProperty(value = "商品编号") + private String sn; + + @ApiModelProperty(value = "商品名称") + private String name; + + @ApiModelProperty(value = "商品ID") + private String goodsId; + + @ApiModelProperty(value = "商品规格值,以英文逗号(,)分割") + private String specIds; + + @ApiModelProperty(value = "商品图片") + private String picUrl; + + @ApiModelProperty(value = "商品单价") + private BigDecimal price = new BigDecimal(0); + + @ApiModelProperty(value = "商品数量") + private Integer count = 0; + + @ApiModelProperty(value = "商品总价") + private BigDecimal totalAmount = new BigDecimal(0); +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/UserClockIn.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/UserClockIn.java similarity index 98% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/UserClockIn.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/UserClockIn.java index 69221b59..590de91b 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/UserClockIn.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/UserClockIn.java @@ -1,4 +1,4 @@ -package cc.hiver.shop.entity; +package cc.hiver.mall.entity; import cc.hiver.core.common.utils.SnowFlakeUtil; import com.baomidou.mybatisplus.annotation.FieldFill; diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/UserMall.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/UserMall.java similarity index 96% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/UserMall.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/UserMall.java index 29285b24..4452deb4 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/UserMall.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/UserMall.java @@ -1,4 +1,4 @@ -package cc.hiver.shop.entity; +package cc.hiver.mall.entity; import cc.hiver.core.base.HiverBaseEntity; import com.baomidou.mybatisplus.annotation.TableName; diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/dto/CategoryAttributeDto.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/dto/CategoryAttributeDto.java new file mode 100644 index 00000000..79ee17c3 --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/dto/CategoryAttributeDto.java @@ -0,0 +1,38 @@ +package cc.hiver.mall.pojo.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.List; + +@Data +@ApiModel("属性表单") +public class CategoryAttributeDto { + @ApiModelProperty("分类ID") + @NotNull + private Long categoryId; + + + @ApiModelProperty("属性类型(1:规格;2:属性)") + @NotNull + private Integer type; + + @ApiModelProperty("属性集合") + @NotEmpty + private List attributes; + + @Data + public static class Attribute { + + @ApiModelProperty("属性ID") + private Long id; + + @ApiModelProperty("属性名称") + @NotBlank + private String name; + } +} diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/dto/PopularUrlDto.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/dto/PopularUrlDto.java new file mode 100644 index 00000000..92bd6efd --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/dto/PopularUrlDto.java @@ -0,0 +1,19 @@ +package cc.hiver.mall.pojo.dto; + +import cc.hiver.mall.entity.PopularUrl; +import cc.hiver.mall.entity.PopularUrlGoods; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.List; + +@Data +@Accessors(chain = true) +public class PopularUrlDto { + @ApiModelProperty(value = "热销链接主表") + private PopularUrl url; + + @ApiModelProperty(value = "热销商品列表") + private List goodsList; +} diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/dto/SalesOrderDto.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/dto/SalesOrderDto.java new file mode 100644 index 00000000..0e9ec9bb --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/dto/SalesOrderDto.java @@ -0,0 +1,19 @@ +package cc.hiver.mall.pojo.dto; + +import cc.hiver.mall.entity.SalesOrder; +import cc.hiver.mall.entity.SalesOrderItem; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.List; + +@Data +@Accessors(chain = true) +public class SalesOrderDto { + @ApiModelProperty("销售单主表") + private SalesOrder order; + + @ApiModelProperty(value = "销售单列表") + private List orderItems; +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/CustomAddressQueryCriteria.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/query/CustomAddressQueryCriteria.java similarity index 90% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/CustomAddressQueryCriteria.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/query/CustomAddressQueryCriteria.java index b8b2bce3..59a3d974 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/CustomAddressQueryCriteria.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/query/CustomAddressQueryCriteria.java @@ -1,4 +1,4 @@ -package cc.hiver.shop.dto; +package cc.hiver.mall.pojo.query; import cc.hiver.core.common.annotation.Query; import lombok.Data; diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/CustomAddressService.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/CustomAddressService.java similarity index 70% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/CustomAddressService.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/CustomAddressService.java index 9e471f68..9d9d1b3a 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/CustomAddressService.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/CustomAddressService.java @@ -1,8 +1,8 @@ -package cc.hiver.shop.service; +package cc.hiver.mall.service; import cc.hiver.core.base.HiverBaseService; -import cc.hiver.shop.entity.CustomAddress; -import cc.hiver.shop.dto.CustomAddressQueryCriteria; +import cc.hiver.mall.entity.CustomAddress; +import cc.hiver.mall.pojo.query.CustomAddressQueryCriteria; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/GoodsAttributeService.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/GoodsAttributeService.java new file mode 100644 index 00000000..8cb04c8c --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/GoodsAttributeService.java @@ -0,0 +1,7 @@ +package cc.hiver.mall.service; + +import cc.hiver.core.base.HiverBaseService; +import cc.hiver.mall.entity.GoodsAttribute; + +public interface GoodsAttributeService extends HiverBaseService { +} diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/GoodsBrandService.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/GoodsBrandService.java new file mode 100644 index 00000000..cce645b3 --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/GoodsBrandService.java @@ -0,0 +1,12 @@ +package cc.hiver.mall.service; + +import cc.hiver.core.base.HiverBaseService; +import cc.hiver.mall.entity.GoodsBrand; + +/** + * 商品品牌服务接口 + * + * @author Yazhi Li + */ +public interface GoodsBrandService extends HiverBaseService { +} diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/GoodsCategoryAttributeService.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/GoodsCategoryAttributeService.java new file mode 100644 index 00000000..64fcece3 --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/GoodsCategoryAttributeService.java @@ -0,0 +1,7 @@ +package cc.hiver.mall.service; + +import cc.hiver.core.base.HiverBaseService; +import cc.hiver.mall.entity.GoodsCategoryAttribute; + +public interface GoodsCategoryAttributeService extends HiverBaseService { +} diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/GoodsCategoryBrandService.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/GoodsCategoryBrandService.java new file mode 100644 index 00000000..978c0b8b --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/GoodsCategoryBrandService.java @@ -0,0 +1,7 @@ +package cc.hiver.mall.service; + +import cc.hiver.core.base.HiverBaseService; +import cc.hiver.mall.entity.GoodsCategoryBrand; + +public interface GoodsCategoryBrandService extends HiverBaseService { +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsCategoryService.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/GoodsCategoryService.java similarity index 88% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsCategoryService.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/GoodsCategoryService.java index 0f04a50a..45bee869 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsCategoryService.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/GoodsCategoryService.java @@ -1,7 +1,7 @@ -package cc.hiver.shop.service; +package cc.hiver.mall.service; import cc.hiver.core.base.HiverBaseService; -import cc.hiver.shop.entity.GoodsCategory; +import cc.hiver.mall.entity.GoodsCategory; import java.util.List; diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsInStockService.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/GoodsInStockService.java similarity index 64% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsInStockService.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/GoodsInStockService.java index 843f19cc..5a69a77e 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsInStockService.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/GoodsInStockService.java @@ -1,7 +1,7 @@ -package cc.hiver.shop.service; +package cc.hiver.mall.service; import cc.hiver.core.base.HiverBaseService; -import cc.hiver.shop.entity.GoodsInStock; +import cc.hiver.mall.entity.GoodsInStock; public interface GoodsInStockService extends HiverBaseService { } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsService.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/GoodsService.java similarity index 64% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsService.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/GoodsService.java index 8fc6e1e2..11b5555d 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsService.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/GoodsService.java @@ -1,7 +1,7 @@ -package cc.hiver.shop.service; +package cc.hiver.mall.service; import cc.hiver.core.base.HiverBaseService; -import cc.hiver.shop.entity.Goods; +import cc.hiver.mall.entity.Goods; public interface GoodsService extends HiverBaseService { } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsStockService.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/GoodsStockService.java similarity index 64% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsStockService.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/GoodsStockService.java index f4eee93d..287c80ba 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsStockService.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/GoodsStockService.java @@ -1,7 +1,7 @@ -package cc.hiver.shop.service; +package cc.hiver.mall.service; import cc.hiver.core.base.HiverBaseService; -import cc.hiver.shop.entity.GoodsStock; +import cc.hiver.mall.entity.GoodsStock; public interface GoodsStockService extends HiverBaseService { } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/MallService.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/MallService.java similarity index 64% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/MallService.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/MallService.java index 8674785e..01c41e14 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/MallService.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/MallService.java @@ -1,7 +1,7 @@ -package cc.hiver.shop.service; +package cc.hiver.mall.service; import cc.hiver.core.base.HiverBaseService; -import cc.hiver.shop.entity.Mall; +import cc.hiver.mall.entity.Mall; public interface MallService extends HiverBaseService { } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/PopularUrlGoodsService.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/PopularUrlGoodsService.java similarity index 74% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/PopularUrlGoodsService.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/PopularUrlGoodsService.java index f70da829..32ffc1e3 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/PopularUrlGoodsService.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/PopularUrlGoodsService.java @@ -1,7 +1,7 @@ -package cc.hiver.shop.service; +package cc.hiver.mall.service; import cc.hiver.core.base.HiverBaseService; -import cc.hiver.shop.entity.PopularUrlGoods; +import cc.hiver.mall.entity.PopularUrlGoods; import java.util.List; diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/PopularUrlService.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/PopularUrlService.java similarity index 64% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/PopularUrlService.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/PopularUrlService.java index 223c3799..d60d0663 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/PopularUrlService.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/PopularUrlService.java @@ -1,7 +1,7 @@ -package cc.hiver.shop.service; +package cc.hiver.mall.service; import cc.hiver.core.base.HiverBaseService; -import cc.hiver.shop.entity.PopularUrl; +import cc.hiver.mall.entity.PopularUrl; public interface PopularUrlService extends HiverBaseService { } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/RoleSettingService.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/RoleSettingService.java similarity index 64% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/RoleSettingService.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/RoleSettingService.java index 69d01bf3..25450429 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/RoleSettingService.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/RoleSettingService.java @@ -1,7 +1,7 @@ -package cc.hiver.shop.service; +package cc.hiver.mall.service; import cc.hiver.core.base.HiverBaseService; -import cc.hiver.shop.entity.RoleSetting; +import cc.hiver.mall.entity.RoleSetting; public interface RoleSettingService extends HiverBaseService { } diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/SalesOrderItemService.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/SalesOrderItemService.java new file mode 100644 index 00000000..53158086 --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/SalesOrderItemService.java @@ -0,0 +1,7 @@ +package cc.hiver.mall.service; + +import cc.hiver.core.base.HiverBaseService; +import cc.hiver.mall.entity.SalesOrderItem; + +public interface SalesOrderItemService extends HiverBaseService { +} diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/SalesOrderService.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/SalesOrderService.java new file mode 100644 index 00000000..7529b738 --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/SalesOrderService.java @@ -0,0 +1,7 @@ +package cc.hiver.mall.service; + +import cc.hiver.core.base.HiverBaseService; +import cc.hiver.mall.entity.SalesOrder; + +public interface SalesOrderService extends HiverBaseService { +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/UserClockInService.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/UserClockInService.java similarity index 64% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/UserClockInService.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/UserClockInService.java index 6d7c0f45..9011ad1e 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/UserClockInService.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/UserClockInService.java @@ -1,7 +1,7 @@ -package cc.hiver.shop.service; +package cc.hiver.mall.service; import cc.hiver.core.base.HiverBaseService; -import cc.hiver.shop.entity.UserClockIn; +import cc.hiver.mall.entity.UserClockIn; public interface UserClockInService extends HiverBaseService { } diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/UserMallService.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/UserMallService.java similarity index 71% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/UserMallService.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/UserMallService.java index 7bedfe8f..7912d3f4 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/UserMallService.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/UserMallService.java @@ -1,7 +1,7 @@ -package cc.hiver.shop.service; +package cc.hiver.mall.service; import cc.hiver.core.base.HiverBaseService; -import cc.hiver.shop.entity.UserMall; +import cc.hiver.mall.entity.UserMall; public interface UserMallService extends HiverBaseService { void deleteAllByMallId(String mallId); diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/IAddressService.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/IAddressService.java new file mode 100644 index 00000000..88ebee2c --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/IAddressService.java @@ -0,0 +1,31 @@ +package cc.hiver.mall.service.mybatis; + +import cc.hiver.mall.entity.Address; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +public interface IAddressService extends IService
    { + /** + * 新增地址 + * + * @param entity + * @return + */ + boolean addAddress(Address entity); + + /** + * 修改地址 + * + * @param entity + * @return + */ + boolean updateAddress(Address entity); + + /** + * 获取当前登录会员的地址列表 + * + * @return + */ + List
    listCurrentMemberAddresses(String memberId); +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/mybatis/IMallService.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/IMallService.java similarity index 82% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/mybatis/IMallService.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/IMallService.java index e92804bf..ca184fa2 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/mybatis/IMallService.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/IMallService.java @@ -1,6 +1,6 @@ -package cc.hiver.shop.service.mybatis; +package cc.hiver.mall.service.mybatis; -import cc.hiver.shop.entity.Mall; +import cc.hiver.mall.entity.Mall; import com.baomidou.mybatisplus.extension.service.IService; import org.apache.ibatis.annotations.Param; diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/CustomAddressServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/CustomAddressServiceImpl.java similarity index 80% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/CustomAddressServiceImpl.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/CustomAddressServiceImpl.java index be68e1e9..985e4830 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/CustomAddressServiceImpl.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/CustomAddressServiceImpl.java @@ -1,11 +1,11 @@ -package cc.hiver.shop.serviceimpl; +package cc.hiver.mall.serviceimpl; import cc.hiver.core.base.HiverBaseDao; import cc.hiver.core.common.utils.QueryHelp; -import cc.hiver.shop.dao.CustomAddressDao; -import cc.hiver.shop.entity.CustomAddress; -import cc.hiver.shop.service.CustomAddressService; -import cc.hiver.shop.dto.CustomAddressQueryCriteria; +import cc.hiver.mall.dao.CustomAddressDao; +import cc.hiver.mall.entity.CustomAddress; +import cc.hiver.mall.service.CustomAddressService; +import cc.hiver.mall.pojo.query.CustomAddressQueryCriteria; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/GoodsAttributeServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/GoodsAttributeServiceImpl.java new file mode 100644 index 00000000..024af2a1 --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/GoodsAttributeServiceImpl.java @@ -0,0 +1,23 @@ +package cc.hiver.mall.serviceimpl; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.mall.dao.GoodsAttributeDao; +import cc.hiver.mall.entity.GoodsAttribute; +import cc.hiver.mall.service.GoodsAttributeService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Slf4j +@Service +@Transactional +public class GoodsAttributeServiceImpl implements GoodsAttributeService { + @Autowired + private GoodsAttributeDao goodsAttributeDao; + + @Override + public HiverBaseDao getRepository() { + return goodsAttributeDao; + } +} diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/GoodsBrandServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/GoodsBrandServiceImpl.java new file mode 100644 index 00000000..c4254385 --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/GoodsBrandServiceImpl.java @@ -0,0 +1,23 @@ +package cc.hiver.mall.serviceimpl; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.mall.dao.GoodsBrandDao; +import cc.hiver.mall.entity.GoodsBrand; +import cc.hiver.mall.service.GoodsBrandService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Slf4j +@Service +@Transactional +public class GoodsBrandServiceImpl implements GoodsBrandService { + @Autowired + private GoodsBrandDao goodsBrandDao; + + @Override + public HiverBaseDao getRepository() { + return goodsBrandDao; + } +} diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/GoodsCategoryAttributeServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/GoodsCategoryAttributeServiceImpl.java new file mode 100644 index 00000000..e5d36c6f --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/GoodsCategoryAttributeServiceImpl.java @@ -0,0 +1,23 @@ +package cc.hiver.mall.serviceimpl; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.mall.dao.GoodsCategoryAttributeDao; +import cc.hiver.mall.entity.GoodsCategoryAttribute; +import cc.hiver.mall.service.GoodsCategoryAttributeService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Slf4j +@Service +@Transactional +public class GoodsCategoryAttributeServiceImpl implements GoodsCategoryAttributeService { + @Autowired + private GoodsCategoryAttributeDao goodsCategoryAttributeDao; + + @Override + public HiverBaseDao getRepository() { + return goodsCategoryAttributeDao; + } +} diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/GoodsCategoryBrandServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/GoodsCategoryBrandServiceImpl.java new file mode 100644 index 00000000..6edf6aac --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/GoodsCategoryBrandServiceImpl.java @@ -0,0 +1,23 @@ +package cc.hiver.mall.serviceimpl; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.mall.dao.GoodsCategoryBrandDao; +import cc.hiver.mall.entity.GoodsCategoryBrand; +import cc.hiver.mall.service.GoodsCategoryBrandService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Slf4j +@Service +@Transactional +public class GoodsCategoryBrandServiceImpl implements GoodsCategoryBrandService { + @Autowired + private GoodsCategoryBrandDao goodsCategoryBrandDao; + + @Override + public HiverBaseDao getRepository() { + return goodsCategoryBrandDao; + } +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsCategoryServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/GoodsCategoryServiceImpl.java similarity index 84% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsCategoryServiceImpl.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/GoodsCategoryServiceImpl.java index 594930e6..93170fbb 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsCategoryServiceImpl.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/GoodsCategoryServiceImpl.java @@ -1,9 +1,9 @@ -package cc.hiver.shop.serviceimpl; +package cc.hiver.mall.serviceimpl; import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.dao.GoodsCategoryDao; -import cc.hiver.shop.entity.GoodsCategory; -import cc.hiver.shop.service.GoodsCategoryService; +import cc.hiver.mall.dao.GoodsCategoryDao; +import cc.hiver.mall.entity.GoodsCategory; +import cc.hiver.mall.service.GoodsCategoryService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsInStockServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/GoodsInStockServiceImpl.java similarity index 75% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsInStockServiceImpl.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/GoodsInStockServiceImpl.java index a472484b..cbba43fe 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsInStockServiceImpl.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/GoodsInStockServiceImpl.java @@ -1,9 +1,9 @@ -package cc.hiver.shop.serviceimpl; +package cc.hiver.mall.serviceimpl; import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.dao.GoodsInStockDao; -import cc.hiver.shop.entity.GoodsInStock; -import cc.hiver.shop.service.GoodsInStockService; +import cc.hiver.mall.dao.GoodsInStockDao; +import cc.hiver.mall.entity.GoodsInStock; +import cc.hiver.mall.service.GoodsInStockService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/GoodsServiceImpl.java similarity index 76% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsServiceImpl.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/GoodsServiceImpl.java index 9828ef25..9f4605a3 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsServiceImpl.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/GoodsServiceImpl.java @@ -1,9 +1,9 @@ -package cc.hiver.shop.serviceimpl; +package cc.hiver.mall.serviceimpl; import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.dao.GoodsDao; -import cc.hiver.shop.entity.Goods; -import cc.hiver.shop.service.GoodsService; +import cc.hiver.mall.dao.GoodsDao; +import cc.hiver.mall.entity.Goods; +import cc.hiver.mall.service.GoodsService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsStockServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/GoodsStockServiceImpl.java similarity index 76% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsStockServiceImpl.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/GoodsStockServiceImpl.java index 0cfb5718..3523b377 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsStockServiceImpl.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/GoodsStockServiceImpl.java @@ -1,9 +1,9 @@ -package cc.hiver.shop.serviceimpl; +package cc.hiver.mall.serviceimpl; import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.dao.GoodsStockDao; -import cc.hiver.shop.entity.GoodsStock; -import cc.hiver.shop.service.GoodsStockService; +import cc.hiver.mall.dao.GoodsStockDao; +import cc.hiver.mall.entity.GoodsStock; +import cc.hiver.mall.service.GoodsStockService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/MallServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/MallServiceImpl.java similarity index 76% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/MallServiceImpl.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/MallServiceImpl.java index a0f4a901..49a9fa67 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/MallServiceImpl.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/MallServiceImpl.java @@ -1,9 +1,9 @@ -package cc.hiver.shop.serviceimpl; +package cc.hiver.mall.serviceimpl; import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.dao.MallDao; -import cc.hiver.shop.entity.Mall; -import cc.hiver.shop.service.MallService; +import cc.hiver.mall.dao.MallDao; +import cc.hiver.mall.entity.Mall; +import cc.hiver.mall.service.MallService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/PopularUrlGoodsServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/PopularUrlGoodsServiceImpl.java similarity index 80% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/PopularUrlGoodsServiceImpl.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/PopularUrlGoodsServiceImpl.java index cafa59bc..6ab89d67 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/PopularUrlGoodsServiceImpl.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/PopularUrlGoodsServiceImpl.java @@ -1,9 +1,9 @@ -package cc.hiver.shop.serviceimpl; +package cc.hiver.mall.serviceimpl; import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.dao.PopularUrlGoodsDao; -import cc.hiver.shop.entity.PopularUrlGoods; -import cc.hiver.shop.service.PopularUrlGoodsService; +import cc.hiver.mall.dao.PopularUrlGoodsDao; +import cc.hiver.mall.entity.PopularUrlGoods; +import cc.hiver.mall.service.PopularUrlGoodsService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/PopularUrlServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/PopularUrlServiceImpl.java similarity index 76% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/PopularUrlServiceImpl.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/PopularUrlServiceImpl.java index 0d926d99..316fc904 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/PopularUrlServiceImpl.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/PopularUrlServiceImpl.java @@ -1,9 +1,9 @@ -package cc.hiver.shop.serviceimpl; +package cc.hiver.mall.serviceimpl; import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.dao.PopularUrlDao; -import cc.hiver.shop.entity.PopularUrl; -import cc.hiver.shop.service.PopularUrlService; +import cc.hiver.mall.dao.PopularUrlDao; +import cc.hiver.mall.entity.PopularUrl; +import cc.hiver.mall.service.PopularUrlService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/RoleSettingServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/RoleSettingServiceImpl.java similarity index 75% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/RoleSettingServiceImpl.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/RoleSettingServiceImpl.java index f2591ba8..e6049047 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/RoleSettingServiceImpl.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/RoleSettingServiceImpl.java @@ -1,9 +1,9 @@ -package cc.hiver.shop.serviceimpl; +package cc.hiver.mall.serviceimpl; import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.dao.RoleSettingDao; -import cc.hiver.shop.entity.RoleSetting; -import cc.hiver.shop.service.RoleSettingService; +import cc.hiver.mall.dao.RoleSettingDao; +import cc.hiver.mall.entity.RoleSetting; +import cc.hiver.mall.service.RoleSettingService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/SalesOrderItemServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/SalesOrderItemServiceImpl.java new file mode 100644 index 00000000..34f8c4c0 --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/SalesOrderItemServiceImpl.java @@ -0,0 +1,23 @@ +package cc.hiver.mall.serviceimpl; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.mall.dao.SalesOrderItemDao; +import cc.hiver.mall.entity.SalesOrderItem; +import cc.hiver.mall.service.SalesOrderItemService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Slf4j +@Service +@Transactional +public class SalesOrderItemServiceImpl implements SalesOrderItemService { + @Autowired + private SalesOrderItemDao salesOrderItemDao; + + @Override + public HiverBaseDao getRepository() { + return salesOrderItemDao; + } +} diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/SalesOrderServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/SalesOrderServiceImpl.java new file mode 100644 index 00000000..aa7ffc88 --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/SalesOrderServiceImpl.java @@ -0,0 +1,23 @@ +package cc.hiver.mall.serviceimpl; + +import cc.hiver.core.base.HiverBaseDao; +import cc.hiver.mall.dao.SalesOrderDao; +import cc.hiver.mall.entity.SalesOrder; +import cc.hiver.mall.service.SalesOrderService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Slf4j +@Service +@Transactional +public class SalesOrderServiceImpl implements SalesOrderService { + @Autowired + private SalesOrderDao salesOrderDao; + + @Override + public HiverBaseDao getRepository() { + return salesOrderDao; + } +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/UserClockInServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/UserClockInServiceImpl.java similarity index 75% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/UserClockInServiceImpl.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/UserClockInServiceImpl.java index fc819636..58bb4864 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/UserClockInServiceImpl.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/UserClockInServiceImpl.java @@ -1,9 +1,9 @@ -package cc.hiver.shop.serviceimpl; +package cc.hiver.mall.serviceimpl; import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.dao.UserClockInDao; -import cc.hiver.shop.entity.UserClockIn; -import cc.hiver.shop.service.UserClockInService; +import cc.hiver.mall.dao.UserClockInDao; +import cc.hiver.mall.entity.UserClockIn; +import cc.hiver.mall.service.UserClockInService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/UserMallServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/UserMallServiceImpl.java similarity index 79% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/UserMallServiceImpl.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/UserMallServiceImpl.java index 8f614980..a22a2b02 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/UserMallServiceImpl.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/UserMallServiceImpl.java @@ -1,9 +1,9 @@ -package cc.hiver.shop.serviceimpl; +package cc.hiver.mall.serviceimpl; import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.dao.UserMallDao; -import cc.hiver.shop.entity.UserMall; -import cc.hiver.shop.service.UserMallService; +import cc.hiver.mall.dao.UserMallDao; +import cc.hiver.mall.entity.UserMall; +import cc.hiver.mall.service.UserMallService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/IAddressServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/IAddressServiceImpl.java new file mode 100644 index 00000000..aaf2b4f8 --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/IAddressServiceImpl.java @@ -0,0 +1,63 @@ +package cc.hiver.mall.serviceimpl.mybatis; + +import cc.hiver.core.common.constant.CommonConstant; +import cc.hiver.mall.dao.mapper.AddressMapper; +import cc.hiver.mall.entity.Address; +import cc.hiver.mall.service.mybatis.IAddressService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; + +@Service +public class IAddressServiceImpl extends ServiceImpl implements IAddressService { + @Override + @Transactional + public boolean addAddress(Address entity) { + boolean result = this.save(entity); + if (result) { + if (CommonConstant.STATUS_YES.equals(entity.getDefaulted())) { + this.update(new LambdaUpdateWrapper
    () + .eq(Address::getMemberId, entity.getMemberId()) + .eq(Address::getDefaulted, 1) + .ne(Address::getId, entity.getId()) + .set(Address::getDefaulted, 0)); + } + } + return result; + } + + @Override + public boolean updateAddress(Address entity) { + boolean result = this.updateById(entity); + if (result) { + // 修改其他默认地址为非默认 + if (CommonConstant.STATUS_YES.equals(entity.getDefaulted())) { + this.update(new LambdaUpdateWrapper
    () + .eq(Address::getMemberId, entity.getMemberId()) + .eq(Address::getDefaulted, 1) + .ne(Address::getId, entity.getId()) + .set(Address::getDefaulted, 0) + ); + } + } + return result; + } + + @Override + public List
    listCurrentMemberAddresses(String memberId) { + List
    umsAddressList = this.list(new LambdaQueryWrapper
    () + .eq(Address::getMemberId, memberId) + .orderByDesc(Address::getDefaulted) // 默认地址排在首位 + ); + List
    memberAddressList = Optional.ofNullable(umsAddressList).orElse(new ArrayList<>()).stream() + .collect(Collectors.toList()); + return memberAddressList; + } +} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/mybatis/IMallServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/IMallServiceImpl.java similarity index 73% rename from hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/mybatis/IMallServiceImpl.java rename to hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/IMallServiceImpl.java index 386e73a7..8776064c 100644 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/mybatis/IMallServiceImpl.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/IMallServiceImpl.java @@ -1,8 +1,8 @@ -package cc.hiver.shop.serviceimpl.mybatis; +package cc.hiver.mall.serviceimpl.mybatis; -import cc.hiver.shop.dao.mapper.MallMapper; -import cc.hiver.shop.entity.Mall; -import cc.hiver.shop.service.mybatis.IMallService; +import cc.hiver.mall.dao.mapper.MallMapper; +import cc.hiver.mall.entity.Mall; +import cc.hiver.mall.service.mybatis.IMallService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/hiver-modules/hiver-shop/src/main/resources/mapper/MallMapper.xml b/hiver-modules/hiver-mall/src/main/resources/mapper/MallMapper.xml similarity index 73% rename from hiver-modules/hiver-shop/src/main/resources/mapper/MallMapper.xml rename to hiver-modules/hiver-mall/src/main/resources/mapper/MallMapper.xml index 69f2fde7..408b5cd8 100644 --- a/hiver-modules/hiver-shop/src/main/resources/mapper/MallMapper.xml +++ b/hiver-modules/hiver-mall/src/main/resources/mapper/MallMapper.xml @@ -1,7 +1,7 @@ - - SELECT DISTINCT m.* FROM t_mall m LEFT JOIN t_user_mall um ON m.id = um.mall_id diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsAttributeController.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsAttributeController.java deleted file mode 100644 index 3b405920..00000000 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/GoodsAttributeController.java +++ /dev/null @@ -1,89 +0,0 @@ -package cc.hiver.shop.controller; - -import cc.hiver.core.common.utils.ResultUtil; -import cc.hiver.core.common.vo.Result; -import cc.hiver.shop.entity.GoodsAttributeKey; -import cc.hiver.shop.entity.GoodsAttributeValue; -import cc.hiver.shop.entity.Mall; -import cc.hiver.shop.service.GoodsAttributeKeyService; -import cc.hiver.shop.service.GoodsAttributeValueService; -import cc.hiver.shop.service.MallService; -import cc.hiver.shop.dto.GoodsAttributeDto; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; - -@Slf4j -@RestController -@Api(tags = "商品规格接口") -@RequestMapping(value = "/hiver/app/goodsAttribute/") -@Transactional -public class GoodsAttributeController { - @Autowired - private GoodsAttributeKeyService goodsAttributeKeyService; - - @Autowired - private GoodsAttributeValueService goodsAttributeValueService; - - @Autowired - private MallService mallService; - - @RequestMapping(value = "/save", method = RequestMethod.POST) - @ApiOperation(value = "保存数据") - public Result save(GoodsAttributeDto entity) { - GoodsAttributeKey attributeKey = new GoodsAttributeKey(); - attributeKey.setMallId(entity.getMallId()); - attributeKey.setCategoryId(entity.getCategoryId()); - attributeKey.setAttributeKey(entity.getAttributeKey()); - Mall mall = mallService.findById(entity.getMallId()); - if(mall == null) { - return ResultUtil.error("商铺不存在"); - } - attributeKey.setRegion(mall.getRegion()); - GoodsAttributeKey goodsAttributeKey = goodsAttributeKeyService.save(attributeKey); - for(String value : entity.getAttributeValues()) { - GoodsAttributeValue goodsAttributeValue = new GoodsAttributeValue(); - goodsAttributeValue.setAttributeId(goodsAttributeKey.getId()); - goodsAttributeValue.setAttributeValue(value); - goodsAttributeValueService.save(goodsAttributeValue); - } - return ResultUtil.success(); - } - - @RequestMapping(value = "/edit", method = RequestMethod.POST) - @ApiOperation(value = "更新数据") - public Result edit(GoodsAttributeDto entity) { - GoodsAttributeKey goodsAttributeKey = goodsAttributeKeyService.findById(entity.getId()); - goodsAttributeKey.setAttributeKey(entity.getAttributeKey()); - List values = goodsAttributeValueService.findAllByAttributeId(entity.getId()); - goodsAttributeValueService.delete(values); - for(String v : entity.getAttributeValues()) { - GoodsAttributeValue goodsAttributeValue = new GoodsAttributeValue(); - goodsAttributeValue.setAttributeId(entity.getId()); - goodsAttributeValue.setAttributeValue(v); - goodsAttributeValueService.save(goodsAttributeValue); - } - return ResultUtil.success(); - } - - @RequestMapping(value = "/delByIds", method = RequestMethod.POST) - @ApiOperation(value = "批量通过ids删除") - public Result delByIds(@RequestParam String[] ids) { - for (String id : ids) { - List values = goodsAttributeValueService.getAll(); - for(GoodsAttributeValue value : values) { - goodsAttributeValueService.delete(value); - } - goodsAttributeKeyService.delete(id); - } - return ResultUtil.success("批量通过id删除数据成功"); - } -} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/ShoppingCartController.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/ShoppingCartController.java deleted file mode 100644 index f1348f23..00000000 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/controller/ShoppingCartController.java +++ /dev/null @@ -1,38 +0,0 @@ -package cc.hiver.shop.controller; - -import cc.hiver.core.common.utils.ResultUtil; -import cc.hiver.core.common.vo.Result; -import cc.hiver.shop.entity.ShoppingCart; -import cc.hiver.shop.service.ShoppingCartGoodsService; -import cc.hiver.shop.service.ShoppingCartService; -import cc.hiver.shop.dto.SalesSlipDto; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RestController; - -@Slf4j -@RestController -@Api(tags = "购物车接口") -@RequestMapping(value = "/hiver/app/shoppingCart/") -@Transactional -public class ShoppingCartController { - @Autowired - private ShoppingCartService shoppingCartService; - - @Autowired - private ShoppingCartGoodsService shoppingCartGoodsService; - - @RequestMapping(value = "/create", method = RequestMethod.POST) - @ApiOperation(value = "创建销售单") - public Result create(ShoppingCart entity) { - ShoppingCart shoppingCart = shoppingCartService.save(entity); - SalesSlipDto salesSlip = new SalesSlipDto(); - salesSlip.setShoppingCart(shoppingCart); - return new ResultUtil().setData(salesSlip); - } -} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/AddressDao.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/AddressDao.java deleted file mode 100644 index 9daaee0c..00000000 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/AddressDao.java +++ /dev/null @@ -1,10 +0,0 @@ -package cc.hiver.shop.dao; - -import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.entity.Address; - -import java.util.List; - -public interface AddressDao extends HiverBaseDao { - List
    findAllByMemberId(String memberId); -} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsAttributeKeyDao.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsAttributeKeyDao.java deleted file mode 100644 index f566bdf0..00000000 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsAttributeKeyDao.java +++ /dev/null @@ -1,7 +0,0 @@ -package cc.hiver.shop.dao; - -import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.entity.GoodsAttributeKey; - -public interface GoodsAttributeKeyDao extends HiverBaseDao { -} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsAttributeValueDao.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsAttributeValueDao.java deleted file mode 100644 index c57f2058..00000000 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/GoodsAttributeValueDao.java +++ /dev/null @@ -1,10 +0,0 @@ -package cc.hiver.shop.dao; - -import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.entity.GoodsAttributeValue; - -import java.util.List; - -public interface GoodsAttributeValueDao extends HiverBaseDao { - List findAllByAttributeId(String attributeId); -} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/ShoppingCartDao.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/ShoppingCartDao.java deleted file mode 100644 index 3df529f9..00000000 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/ShoppingCartDao.java +++ /dev/null @@ -1,7 +0,0 @@ -package cc.hiver.shop.dao; - -import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.entity.ShoppingCart; - -public interface ShoppingCartDao extends HiverBaseDao { -} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/ShoppingCartGoodsDao.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/ShoppingCartGoodsDao.java deleted file mode 100644 index 94760c8b..00000000 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dao/ShoppingCartGoodsDao.java +++ /dev/null @@ -1,7 +0,0 @@ -package cc.hiver.shop.dao; - -import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.entity.ShoppingCartGoods; - -public interface ShoppingCartGoodsDao extends HiverBaseDao { -} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/GoodsAttributeDto.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/GoodsAttributeDto.java deleted file mode 100644 index b33e2faf..00000000 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/GoodsAttributeDto.java +++ /dev/null @@ -1,24 +0,0 @@ -package cc.hiver.shop.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.util.List; - -@Data -public class GoodsAttributeDto { - @ApiModelProperty(value = "编号") - private String id; - - @ApiModelProperty(value = "商铺id") - private String mallId; - - @ApiModelProperty(value = "分类id") - private String categoryId; - - @ApiModelProperty(value = "规格名称") - private String attributeKey; - - @ApiModelProperty(value = "规格值列表") - private List attributeValues; -} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/PopularUrlDto.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/PopularUrlDto.java deleted file mode 100644 index a6b42d95..00000000 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/PopularUrlDto.java +++ /dev/null @@ -1,17 +0,0 @@ -package cc.hiver.shop.dto; - -import cc.hiver.shop.entity.PopularUrl; -import cc.hiver.shop.entity.PopularUrlGoods; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.util.List; - -@Data -public class PopularUrlDto { - @ApiModelProperty(value = "链接主表") - private PopularUrl url; - - @ApiModelProperty(value = "链接子表") - private List goods; -} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/SalesSlipDto.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/SalesSlipDto.java deleted file mode 100644 index e7e0bd21..00000000 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/dto/SalesSlipDto.java +++ /dev/null @@ -1,20 +0,0 @@ -package cc.hiver.shop.dto; - -import cc.hiver.shop.entity.ShoppingCart; -import cc.hiver.shop.entity.ShoppingCartGoods; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.util.List; - -/** - * 销售单 - */ -@Data -public class SalesSlipDto { - @ApiModelProperty(value = "购物车主表") - private ShoppingCart shoppingCart; - - @ApiModelProperty(value = "购物车列表") - List shoppingCartGoodsList; -} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsAttributeValue.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsAttributeValue.java deleted file mode 100644 index 8e3dded1..00000000 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/GoodsAttributeValue.java +++ /dev/null @@ -1,29 +0,0 @@ -package cc.hiver.shop.entity; - -import cc.hiver.core.base.HiverBaseEntity; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.hibernate.annotations.DynamicInsert; -import org.hibernate.annotations.DynamicUpdate; - -import javax.persistence.Entity; -import javax.persistence.Table; - -@Data -@Entity -@DynamicInsert -@DynamicUpdate -@Table(name = "t_goods_attribute_value") -@TableName("t_goods_attribute_value") -@ApiModel(value = "商品规格键值表") -public class GoodsAttributeValue extends HiverBaseEntity { - private static final long serialVersionUID = 1L; - - @ApiModelProperty(value = "规格主键id") - private String attributeId; - - @ApiModelProperty(value = "规格值") - private String attributeValue; -} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/ShoppingCart.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/ShoppingCart.java deleted file mode 100644 index 6898225b..00000000 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/ShoppingCart.java +++ /dev/null @@ -1,45 +0,0 @@ -package cc.hiver.shop.entity; - -import cc.hiver.core.base.HiverBaseEntity; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.hibernate.annotations.DynamicInsert; -import org.hibernate.annotations.DynamicUpdate; - -import javax.persistence.Entity; -import javax.persistence.Table; -import java.math.BigDecimal; - -@Data -@Entity -@DynamicInsert -@DynamicUpdate -@Table(name = "t_shopping_cart") -@TableName("t_shopping_cart") -@ApiModel(value = "购物车主表") -public class ShoppingCart extends HiverBaseEntity { - private static final long serialVersionUID = 1L; - - @ApiModelProperty(value = "订单编号") - private String no; - - @ApiModelProperty(value = "下单人 0表示会员自己购买") - private String userId; - - @ApiModelProperty(value = "购买人 0表示用户购买") - private String memberId; - - @ApiModelProperty(value = "收货地址") - private String addressId; - - @ApiModelProperty(value = "总价") - private BigDecimal totalPrice = new BigDecimal(0); - - @ApiModelProperty(value = "商铺id") - private String mallId; - - @ApiModelProperty("办公区域") - private String region; -} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/ShoppingCartGoods.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/ShoppingCartGoods.java deleted file mode 100644 index d12e66d4..00000000 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/entity/ShoppingCartGoods.java +++ /dev/null @@ -1,49 +0,0 @@ -package cc.hiver.shop.entity; - -import cc.hiver.core.base.HiverBaseEntity; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.hibernate.annotations.DynamicInsert; -import org.hibernate.annotations.DynamicUpdate; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Table; -import java.math.BigDecimal; - -@Data -@Entity -@DynamicInsert -@DynamicUpdate -@Table(name = "t_shopping_cart_goods") -@TableName("t_shopping_cart_goods") -@ApiModel(value = "购物车子表") -public class ShoppingCartGoods extends HiverBaseEntity { - private static final long serialVersionUID = 1L; - - @ApiModelProperty(value = "购物车主表id") - private String cartId; - - @ApiModelProperty(value = "商品id") - private String goodsId; - - @ApiModelProperty(value = "商品规格") - private String goodsSpecs; - - @ApiModelProperty(value = "采购价") - @Column(precision = 10, scale = 2) - private BigDecimal purchasePrice = new BigDecimal(0); - - @ApiModelProperty(value = "市场价") - @Column(precision = 10, scale = 2) - private BigDecimal price = new BigDecimal(0); - - @ApiModelProperty(value = "批发价") - @Column(precision = 10, scale = 2) - private BigDecimal wholesalePrice = new BigDecimal(0); - - @ApiModelProperty(value = "购买数量") - private Integer num; -} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/AddressService.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/AddressService.java deleted file mode 100644 index fe2de0c2..00000000 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/AddressService.java +++ /dev/null @@ -1,10 +0,0 @@ -package cc.hiver.shop.service; - -import cc.hiver.core.base.HiverBaseService; -import cc.hiver.shop.entity.Address; - -import java.util.List; - -public interface AddressService extends HiverBaseService { - List
    findAllByMemberId(String memberId); -} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsAttributeKeyService.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsAttributeKeyService.java deleted file mode 100644 index 31c2e783..00000000 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsAttributeKeyService.java +++ /dev/null @@ -1,7 +0,0 @@ -package cc.hiver.shop.service; - -import cc.hiver.core.base.HiverBaseService; -import cc.hiver.shop.entity.GoodsAttributeKey; - -public interface GoodsAttributeKeyService extends HiverBaseService { -} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsAttributeValueService.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsAttributeValueService.java deleted file mode 100644 index 6fee0efe..00000000 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/GoodsAttributeValueService.java +++ /dev/null @@ -1,10 +0,0 @@ -package cc.hiver.shop.service; - -import cc.hiver.core.base.HiverBaseService; -import cc.hiver.shop.entity.GoodsAttributeValue; - -import java.util.List; - -public interface GoodsAttributeValueService extends HiverBaseService { - List findAllByAttributeId(String attributeId); -} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/ShoppingCartGoodsService.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/ShoppingCartGoodsService.java deleted file mode 100644 index f83af02d..00000000 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/ShoppingCartGoodsService.java +++ /dev/null @@ -1,7 +0,0 @@ -package cc.hiver.shop.service; - -import cc.hiver.core.base.HiverBaseService; -import cc.hiver.shop.entity.ShoppingCartGoods; - -public interface ShoppingCartGoodsService extends HiverBaseService { -} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/ShoppingCartService.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/ShoppingCartService.java deleted file mode 100644 index 08815ebe..00000000 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/service/ShoppingCartService.java +++ /dev/null @@ -1,7 +0,0 @@ -package cc.hiver.shop.service; - -import cc.hiver.core.base.HiverBaseService; -import cc.hiver.shop.entity.ShoppingCart; - -public interface ShoppingCartService extends HiverBaseService { -} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/AddressServiceImpl.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/AddressServiceImpl.java deleted file mode 100644 index c54cb955..00000000 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/AddressServiceImpl.java +++ /dev/null @@ -1,30 +0,0 @@ -package cc.hiver.shop.serviceimpl; - -import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.dao.AddressDao; -import cc.hiver.shop.entity.Address; -import cc.hiver.shop.service.AddressService; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -@Slf4j -@Service -@Transactional -public class AddressServiceImpl implements AddressService { - @Autowired - private AddressDao addressDao; - - @Override - public HiverBaseDao getRepository() { - return addressDao; - } - - @Override - public List
    findAllByMemberId(String memberId) { - return addressDao.findAllByMemberId(memberId); - } -} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsAttributeKeyServiceImpl.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsAttributeKeyServiceImpl.java deleted file mode 100644 index 820fb6d8..00000000 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsAttributeKeyServiceImpl.java +++ /dev/null @@ -1,23 +0,0 @@ -package cc.hiver.shop.serviceimpl; - -import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.dao.GoodsAttributeKeyDao; -import cc.hiver.shop.entity.GoodsAttributeKey; -import cc.hiver.shop.service.GoodsAttributeKeyService; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -@Slf4j -@Service -@Transactional -public class GoodsAttributeKeyServiceImpl implements GoodsAttributeKeyService { - @Autowired - private GoodsAttributeKeyDao goodsAttributeKeyDao; - - @Override - public HiverBaseDao getRepository() { - return goodsAttributeKeyDao; - } -} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsAttributeValueServiceImpl.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsAttributeValueServiceImpl.java deleted file mode 100644 index 53152870..00000000 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/GoodsAttributeValueServiceImpl.java +++ /dev/null @@ -1,30 +0,0 @@ -package cc.hiver.shop.serviceimpl; - -import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.dao.GoodsAttributeValueDao; -import cc.hiver.shop.entity.GoodsAttributeValue; -import cc.hiver.shop.service.GoodsAttributeValueService; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -@Slf4j -@Service -@Transactional -public class GoodsAttributeValueServiceImpl implements GoodsAttributeValueService { - @Autowired - private GoodsAttributeValueDao goodsAttributeValueDao; - - @Override - public HiverBaseDao getRepository() { - return goodsAttributeValueDao; - } - - @Override - public List findAllByAttributeId(String attributeId) { - return goodsAttributeValueDao.findAllByAttributeId(attributeId); - } -} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/ShoppingCartGoodsServiceImpl.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/ShoppingCartGoodsServiceImpl.java deleted file mode 100644 index 463c6a41..00000000 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/ShoppingCartGoodsServiceImpl.java +++ /dev/null @@ -1,23 +0,0 @@ -package cc.hiver.shop.serviceimpl; - -import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.dao.ShoppingCartGoodsDao; -import cc.hiver.shop.entity.ShoppingCartGoods; -import cc.hiver.shop.service.ShoppingCartGoodsService; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -@Slf4j -@Service -@Transactional -public class ShoppingCartGoodsServiceImpl implements ShoppingCartGoodsService { - @Autowired - private ShoppingCartGoodsDao shoppingCartGoodsDao; - - @Override - public HiverBaseDao getRepository() { - return shoppingCartGoodsDao; - } -} diff --git a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/ShoppingCartServiceImpl.java b/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/ShoppingCartServiceImpl.java deleted file mode 100644 index e40c73bc..00000000 --- a/hiver-modules/hiver-shop/src/main/java/cc/hiver/shop/serviceimpl/ShoppingCartServiceImpl.java +++ /dev/null @@ -1,23 +0,0 @@ -package cc.hiver.shop.serviceimpl; - -import cc.hiver.core.base.HiverBaseDao; -import cc.hiver.shop.dao.ShoppingCartDao; -import cc.hiver.shop.entity.ShoppingCart; -import cc.hiver.shop.service.ShoppingCartService; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -@Slf4j -@Service -@Transactional -public class ShoppingCartServiceImpl implements ShoppingCartService { - @Autowired - private ShoppingCartDao shoppingCartDao; - - @Override - public HiverBaseDao getRepository() { - return shoppingCartDao; - } -} diff --git a/hiver-modules/pom.xml b/hiver-modules/pom.xml index e8709823..b3289ed6 100644 --- a/hiver-modules/pom.xml +++ b/hiver-modules/pom.xml @@ -19,7 +19,7 @@ hiver-social hiver-app hiver-open - hiver-shop + hiver-mall From 73aff9031f06c8f0577740a795023bfd9c29304b Mon Sep 17 00:00:00 2001 From: delicacylee Date: Mon, 31 Jul 2023 10:38:44 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=93=81=E7=89=8C?= =?UTF-8?q?=E5=92=8C=E5=88=86=E7=B1=BB=E7=9A=84=E9=80=BB=E8=BE=91=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hiver-admin/test-output/test-report.html | 16 ++-- .../main/java/cc/hiver/core/vo/Option.java | 52 ++++++++++++ .../controller/GoodsAttributeController.java | 45 ++++++++++ .../mall/controller/GoodsBrandController.java | 29 ++++++- .../mall/controller/GoodsCartController.java | 41 ++++++++++ .../controller/GoodsCategoryController.java | 58 ++++++++++--- .../cc/hiver/mall/dao/GoodsCategoryDao.java | 25 ------ .../mall/dao/mapper/GoodsCategoryMapper.java | 27 ++++++ .../hiver/mall/pojo/vo/GoodsCategoryVO.java | 56 +++++++++++++ .../hiver/mall/service/GoodsBrandService.java | 3 + .../mall/service/GoodsCategoryService.java | 25 ------ .../service/mybatis/GoodsCategoryService.java | 16 ++++ .../serviceimpl/GoodsBrandServiceImpl.java | 32 ++++++++ .../serviceimpl/GoodsCategoryServiceImpl.java | 35 -------- .../mybatis/GoodsCategoryServiceImpl.java | 82 +++++++++++++++++++ 15 files changed, 435 insertions(+), 107 deletions(-) create mode 100644 hiver-core/src/main/java/cc/hiver/core/vo/Option.java create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/GoodsAttributeController.java create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/GoodsCartController.java delete mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/GoodsCategoryDao.java create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/GoodsCategoryMapper.java create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/GoodsCategoryVO.java delete mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/GoodsCategoryService.java create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/GoodsCategoryService.java delete mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/GoodsCategoryServiceImpl.java create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/GoodsCategoryServiceImpl.java diff --git a/hiver-admin/test-output/test-report.html b/hiver-admin/test-output/test-report.html index 4f57d30b..ddf3c480 100644 --- a/hiver-admin/test-output/test-report.html +++ b/hiver-admin/test-output/test-report.html @@ -35,7 +35,7 @@ Hiver
  • - 30, 2023 16:13:08 + 31, 2023 09:25:02
  • @@ -84,7 +84,7 @@

    passTest

    -

    16:13:08 / 0.012 secs

    +

    09:25:03 / 0.022 secs

    @@ -92,9 +92,9 @@
    #test-id=1
    passTest
    -07.30.2023 16:13:08 -07.30.2023 16:13:08 -0.012 secs +07.31.2023 09:25:03 +07.31.2023 09:25:03 +0.022 secs
    @@ -104,7 +104,7 @@ Pass - 16:13:08 + 9:25:03 Test passed @@ -128,13 +128,13 @@

    Started

    -

    30, 2023 16:13:08

    +

    31, 2023 09:25:02

    Ended

    -

    30, 2023 16:13:08

    +

    31, 2023 09:25:03

    diff --git a/hiver-core/src/main/java/cc/hiver/core/vo/Option.java b/hiver-core/src/main/java/cc/hiver/core/vo/Option.java new file mode 100644 index 00000000..1bcd9ee6 --- /dev/null +++ b/hiver-core/src/main/java/cc/hiver/core/vo/Option.java @@ -0,0 +1,52 @@ +/* +Copyright [2022] [https://hiver.cc] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + */ +package cc.hiver.core.vo; + +import com.fasterxml.jackson.annotation.JsonInclude; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * @author Yazhi Li + */ +@ApiModel("下拉选项对象") +@Data +@NoArgsConstructor +public class Option { + public Option(T value, String label) { + this.value = value; + this.label = label; + } + + public Option(T value, String label, List
    @@ -84,7 +84,7 @@

    passTest

    -

    09:25:03 / 0.022 secs

    +

    23:25:57 / 0.01 secs

    @@ -92,9 +92,9 @@
    #test-id=1
    passTest
    -07.31.2023 09:25:03 -07.31.2023 09:25:03 -0.022 secs +07.31.2023 23:25:57 +07.31.2023 23:25:57 +0.01 secs
    @@ -104,7 +104,7 @@ Pass - 9:25:03 + 23:25:57 Test passed @@ -128,13 +128,13 @@

    Started

    -

    31, 2023 09:25:02

    +

    31, 2023 23:25:57

    Ended

    -

    31, 2023 09:25:03

    +

    31, 2023 23:25:57

    diff --git a/hiver-core/src/main/java/cc/hiver/core/common/constant/MallConstant.java b/hiver-core/src/main/java/cc/hiver/core/common/constant/MallConstant.java index 32bc85e4..7fd4524b 100644 --- a/hiver-core/src/main/java/cc/hiver/core/common/constant/MallConstant.java +++ b/hiver-core/src/main/java/cc/hiver/core/common/constant/MallConstant.java @@ -35,4 +35,14 @@ public interface MallConstant { * 商品分布式锁key前缀 */ String SKU_LOCK_PREFIX = "product:stock:lock:"; + + /** + * 临时规格ID前缀 + */ + String SPEC_TEMP_ID_PREFIX = "tid_"; + + /** + * 会员购物车缓存KEY前缀 + */ + String MEMBER_CART_PREFIX = "MEMBER:CART:"; } diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/common/AttributeTypeEnum.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/common/AttributeTypeEnum.java new file mode 100644 index 00000000..fd9c9b96 --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/common/AttributeTypeEnum.java @@ -0,0 +1,30 @@ +package cc.hiver.mall.common; + +import lombok.Getter; + +public enum AttributeTypeEnum { + SPEC(1, "规格"), + ATTR(2, "属性"); + + AttributeTypeEnum(int value, String name) { + this.value = value; + this.name = name; + } + + @Getter + private Integer value; + + @Getter + private String name; + + public static AttributeTypeEnum getByValue(Integer value) { + AttributeTypeEnum attributeTypeEnum = null; + + for (AttributeTypeEnum item : values()) { + if (item.getValue().equals(value)) { + attributeTypeEnum = item; + } + } + return attributeTypeEnum; + } +} diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/GoodsCartController.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/GoodsCartController.java index 2ee2f67e..31a0d48b 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/GoodsCartController.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/GoodsCartController.java @@ -15,15 +15,23 @@ limitations under the License. */ package cc.hiver.mall.controller; -import cc.hiver.mall.service.SalesOrderItemService; -import cc.hiver.mall.service.SalesOrderService; +import cc.hiver.core.common.utils.ResultUtil; +import cc.hiver.core.common.utils.SecurityUtil; +import cc.hiver.core.common.vo.Result; +import cc.hiver.mall.pojo.dto.CartItemDTO; +import cc.hiver.mall.service.CartService; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * @author Yazhi Li */ @@ -34,8 +42,66 @@ import org.springframework.web.bind.annotation.RestController; @Transactional public class GoodsCartController { @Autowired - private SalesOrderService salesOrderService; + private CartService cartService; @Autowired - private SalesOrderItemService salesOrderItemService; + private SecurityUtil securityUtil; + + @RequestMapping(value = "/get", method = RequestMethod.GET) + @ApiOperation(value = "查询购物车") + public Result> getCart() { + List result = cartService.listCartItems(securityUtil.getCurrUser().getId()); + return new ResultUtil>().setData(result); + } + + @RequestMapping(value = "/delete", method = RequestMethod.POST) + @ApiOperation(value = "删除购物车") + public Result deleteCart() { + boolean result = cartService.deleteCart(securityUtil.getCurrUser().getId()); + if(result) { + return ResultUtil.success("删除成功"); + } else { + return ResultUtil.error("删除失败"); + } + } + + @RequestMapping(value = "/add", method = RequestMethod.POST) + @ApiOperation(value = "添加购物车商品") + public Result addCartItem(String skuId) { + cartService.addCartItem(skuId, securityUtil.getCurrUser().getId()); + return ResultUtil.success(); + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @ApiOperation(value = "更新购物车商品") + public Result updateCartItem(CartItemDTO cartItem) { + boolean result = cartService.updateCartItem(cartItem, securityUtil.getCurrUser().getId()); + if(result) { + return ResultUtil.success("更新成功"); + } else { + return ResultUtil.error("更新失败"); + } + } + + @RequestMapping(value = "/item/delete", method = RequestMethod.POST) + @ApiOperation(value = "删除购物车商品") + public Result removeCartItem(String goodsStockId) { + boolean result = cartService.removeCartItem(goodsStockId, securityUtil.getCurrUser().getId()); + if(result) { + return ResultUtil.success("删除成功"); + } else { + return ResultUtil.error("删除失败"); + } + } + + @RequestMapping(value = "/_check", method = RequestMethod.POST) + @ApiOperation(value = "全选/全不选购物车商品") + public Result check(@ApiParam("全选/全不选") boolean checked) { + boolean result = cartService.checkAll(checked, securityUtil.getCurrUser().getId()); + if(result) { + return ResultUtil.success("设置成功"); + } else { + return ResultUtil.error("设置失败"); + } + } } diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/GoodsController.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/GoodsController.java index 7fb302f6..c70dfce0 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/GoodsController.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/GoodsController.java @@ -6,6 +6,8 @@ import cc.hiver.mall.pojo.form.GoodsForm; import cc.hiver.mall.pojo.query.GoodsPageQuery; import cc.hiver.mall.pojo.vo.GoodsDetailVO; import cc.hiver.mall.pojo.vo.GoodsPageVO; +import cc.hiver.mall.pojo.vo.MallGoodsDetailVO; +import cc.hiver.mall.pojo.vo.MallGoodsPageVO; import cc.hiver.mall.service.mybatis.GoodsService; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; @@ -25,16 +27,16 @@ public class GoodsController { @Autowired private GoodsService goodsService; - @RequestMapping(value = "/getByCondition", method = RequestMethod.POST) + @RequestMapping(value = "/listGoodsPages", method = RequestMethod.POST) @ApiOperation(value = "商品分页列表") - public Result> listPmsSpuPages(GoodsPageQuery queryParams) { + public Result> listGoodsPages(GoodsPageQuery queryParams) { IPage result = goodsService.listGoodsPages(queryParams); return new ResultUtil>().setData(result); } - @RequestMapping(value = "/get/{id}", method = RequestMethod.GET) + @RequestMapping(value = "/getGoodsDetail/{id}", method = RequestMethod.GET) @ApiOperation(value = "商品详情") - public Result detail(@ApiParam("商品ID") @PathVariable String id) { + public Result getGoodsDetail(@ApiParam("商品ID") @PathVariable String id) { GoodsDetailVO goodsDetailVO = goodsService.getGoodsDetail(id); return new ResultUtil().setData(goodsDetailVO); } @@ -71,4 +73,18 @@ public class GoodsController { return ResultUtil.error("删除失败"); } } + + @RequestMapping(value = "/listMallGoodsPages", method = RequestMethod.POST) + @ApiOperation(value = "商品分页列表") + public Result listMallGoodsPages(GoodsPageQuery queryParams) { + IPage result = goodsService.listMallGoodsPages(queryParams); + return new ResultUtil>().setData(result); + } + + @RequestMapping(value = "/getMallGoodsDetail/{id}", method = RequestMethod.GET) + @ApiOperation(value = "获取商品详情") + public Result getMallGoodsDetail(@ApiParam("商品ID") @PathVariable String id) { + MallGoodsDetailVO mallGoodsDetailVO = goodsService.getMallGoodsDetail(id); + return new ResultUtil().setData(mallGoodsDetailVO); + } } diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/converter/GoodsAttributeConverter.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/converter/GoodsAttributeConverter.java new file mode 100644 index 00000000..dd42b9da --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/converter/GoodsAttributeConverter.java @@ -0,0 +1,15 @@ +package cc.hiver.mall.converter; + +import cc.hiver.mall.entity.GoodsAttribute; +import cc.hiver.mall.pojo.form.GoodsAttributeForm; +import org.mapstruct.Mapper; +import org.mapstruct.Mapping; +import org.mapstruct.Mappings; + +@Mapper(componentModel = "spring") +public interface GoodsAttributeConverter { + @Mappings({ + @Mapping(target = "id",ignore = true) + }) + GoodsAttribute form2Entity(GoodsAttributeForm form); +} diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/converter/GoodsConverter.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/converter/GoodsConverter.java new file mode 100644 index 00000000..accf6792 --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/converter/GoodsConverter.java @@ -0,0 +1,19 @@ +package cc.hiver.mall.converter; + +import cc.hiver.mall.entity.Goods; +import cc.hiver.mall.pojo.form.GoodsForm; +import org.mapstruct.InheritInverseConfiguration; +import org.mapstruct.Mapper; +import org.mapstruct.Mapping; +import org.mapstruct.Mappings; + +@Mapper(componentModel = "spring") +public interface GoodsConverter { + @Mappings({ + @Mapping(target = "album", source = "subPicUrls") + }) + Goods form2Entity(GoodsForm form); + + @InheritInverseConfiguration(name="form2Entity") + GoodsForm entity2Form(Goods entity); +} diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/GoodsMapper.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/GoodsMapper.java index ce2af98e..b08e3456 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/GoodsMapper.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/GoodsMapper.java @@ -18,9 +18,11 @@ package cc.hiver.mall.dao.mapper; import cc.hiver.mall.entity.Goods; import cc.hiver.mall.pojo.query.GoodsPageQuery; import cc.hiver.mall.pojo.vo.GoodsPageVO; +import cc.hiver.mall.pojo.vo.MallGoodsPageVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -30,11 +32,20 @@ import java.util.List; @Mapper public interface GoodsMapper extends BaseMapper { /** - * 商品分页列表 + * 商品分页列表(管理用) * * @param page * @param queryParams * @return */ - List listGoodsPages(Page page, GoodsPageQuery queryParams); + List listGoodsPages(Page page, @Param("queryParams") GoodsPageQuery queryParams); + + /** + * 商品分页列表(商铺用) + * + * @param page + * @param queryParams + * @return + */ + List listMallGoodsPages(Page page, @Param("queryParams") GoodsPageQuery queryParams); } diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/Goods.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/Goods.java index 8b354e82..35eeb459 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/Goods.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/Goods.java @@ -55,7 +55,7 @@ public class Goods extends HiverBaseMallEntity { private String videoUrl; @ApiModelProperty(value = "商品图册") - private String album; + private String[] album; @ApiModelProperty(value = "单位") private String unit; diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/dto/CartItemDTO.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/dto/CartItemDTO.java new file mode 100644 index 00000000..0f116608 --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/dto/CartItemDTO.java @@ -0,0 +1,36 @@ +package cc.hiver.mall.pojo.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +@Data +public class CartItemDTO implements Serializable { + @ApiModelProperty(value = "商品库存ID") + private String goodsStockId; + + @ApiModelProperty(value = "商品库存名称") + private String goodsStockName; + + @ApiModelProperty(value = "商品编码") + private String goodsStockSN; + + @ApiModelProperty(value = "商品图片") + private String picUrl; + + @ApiModelProperty(value = "商品数量") + private Integer count; + + @ApiModelProperty(value = "加入购物车时价格,因会变动,不能作为订单计算因子,订单提交时需验价") + private Long price; + + @ApiModelProperty(value = "是否选中") + private Boolean checked; + + @ApiModelProperty(value = "商品库存数量,页面控制能选择最大数量") + private Integer stock; + + @ApiModelProperty(value = "商品名称") + private String goodsName; +} diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/form/GoodsAttributeForm.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/form/GoodsAttributeForm.java new file mode 100644 index 00000000..e649f8b2 --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/form/GoodsAttributeForm.java @@ -0,0 +1,22 @@ +package cc.hiver.mall.pojo.form; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class GoodsAttributeForm { + @ApiModelProperty(value = "序号") + private String id; + + @ApiModelProperty(value = "属性ID") + private Long attributeId; + + @ApiModelProperty(value = "商品属性名") + private String name; + + @ApiModelProperty(value = "商品属性值") + private String value; + + @ApiModelProperty(value = "商品图片") + private String picUrl; +} diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/form/GoodsForm.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/form/GoodsForm.java index cf10d18d..d23a2a6f 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/form/GoodsForm.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/form/GoodsForm.java @@ -15,7 +15,6 @@ limitations under the License. */ package cc.hiver.mall.pojo.form; -import cc.hiver.mall.entity.GoodsAttribute; import cc.hiver.mall.entity.GoodsStock; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -72,10 +71,10 @@ public class GoodsForm { private Integer status; @ApiModelProperty(value = "属性列表") - private List attrList; + private List attrList; @ApiModelProperty(value = "规格列表") - private List specList; + private List specList; @ApiModelProperty(value = "库存列表") private List goodsStockList; diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/GoodsCategoryVO.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/GoodsCategoryVO.java index f6fc6a09..7c3d0c70 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/GoodsCategoryVO.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/GoodsCategoryVO.java @@ -18,7 +18,6 @@ package cc.hiver.mall.pojo.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import javax.persistence.Column; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @@ -35,7 +34,6 @@ public class GoodsCategoryVO { private String name; @ApiModelProperty(value = "父级ID") - @Column(nullable = false) private String parentId; @ApiModelProperty(value = "层级") @@ -45,7 +43,6 @@ public class GoodsCategoryVO { private String iconUrl; @ApiModelProperty(value = "排序值") - @Column(precision = 10, scale = 2) private BigDecimal sortOrder; @ApiModelProperty(value = "是否启用 0启用 -1禁用") diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/GoodsDetailVO.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/GoodsDetailVO.java index 9fdf7b0c..a0bacc20 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/GoodsDetailVO.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/GoodsDetailVO.java @@ -21,7 +21,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import javax.persistence.Column; import java.math.BigDecimal; import java.util.List; @@ -44,15 +43,12 @@ public class GoodsDetailVO { private String brandId; @ApiModelProperty(value = "采购价") - @Column(precision = 10, scale = 2) private BigDecimal purchasePrice; @ApiModelProperty(value = "市场价") - @Column(precision = 10, scale = 2) private BigDecimal price; @ApiModelProperty(value = "批发价") - @Column(precision = 10, scale = 2) private BigDecimal wholesalePrice; @ApiModelProperty(value = "商品主图") diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/GoodsPageVO.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/GoodsPageVO.java index 481c85ec..22a7fb62 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/GoodsPageVO.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/GoodsPageVO.java @@ -20,7 +20,6 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; -import javax.persistence.Column; import java.math.BigDecimal; import java.util.List; @@ -43,15 +42,12 @@ public class GoodsPageVO { private String brandId; @ApiModelProperty(value = "采购价") - @Column(precision = 10, scale = 2) private BigDecimal purchasePrice; @ApiModelProperty(value = "市场价") - @Column(precision = 10, scale = 2) private BigDecimal price; @ApiModelProperty(value = "批发价") - @Column(precision = 10, scale = 2) private BigDecimal wholesalePrice; @ApiModelProperty(value = "销量") diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/MallGoodsDetailVO.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/MallGoodsDetailVO.java new file mode 100644 index 00000000..a8b771a4 --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/MallGoodsDetailVO.java @@ -0,0 +1,113 @@ +package cc.hiver.mall.pojo.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@ApiModel("商品详情") +public class MallGoodsDetailVO { + @ApiModelProperty("商品基本信息") + private GoodsInfo goodsInfo; + + @ApiModelProperty("商品属性列表") + private List attributeList; + + @ApiModelProperty("商品规格列表") + private List specList; + + @ApiModelProperty("商品库存单元列表") + private List skuList; + + @Data + @ApiModel("商品信息") + public static class GoodsInfo { + @ApiModelProperty("商品ID") + private String id; + + @ApiModelProperty("商品名称") + private String name; + + @ApiModelProperty(value = "采购价") + private BigDecimal purchasePrice; + + @ApiModelProperty(value = "市场价") + private BigDecimal price; + + @ApiModelProperty(value = "批发价") + private BigDecimal wholesalePrice; + + @ApiModelProperty("销量") + private Integer sales; + + @ApiModelProperty("商品图册") + private List album; + + @ApiModelProperty("商品详情") + private String detail; + } + + @Data + @ApiModel("属性信息") + public static class Attribute { + @ApiModelProperty("属性ID") + private String id; + + @ApiModelProperty("属性名称") + private String name; + + @ApiModelProperty("属性值") + private String value; + } + + @Data + @ApiModel("规格信息") + public static class Specification { + @ApiModelProperty(value = "规格名称", example = "颜色") + private String name; + + @ApiModelProperty(value = "规格项列表", example = "黑,白") + private List values; + + @Data + @ApiModel("规格项") + public static class Value { + @ApiModelProperty("规格项ID") + private String id; + + @ApiModelProperty("规格项值") + private String value; + } + } + + @Data + @ApiModel("商品库存单元") + public static class Sku { + @ApiModelProperty("库存单元ID") + private String id; + + @ApiModelProperty("库存单元名称") + private String name; + + @ApiModelProperty("库存单元规格值ID集合,以英文逗号拼接") + private String specIds; + + @ApiModelProperty(value = "采购价") + private BigDecimal purchasePrice; + + @ApiModelProperty(value = "市场价") + private BigDecimal price; + + @ApiModelProperty(value = "批发价") + private BigDecimal wholesalePrice; + + @ApiModelProperty("库存") + private Integer stockNum; + + @ApiModelProperty("商品图片URL") + private String picUrl; + } +} diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/MallGoodsPageVO.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/MallGoodsPageVO.java new file mode 100644 index 00000000..b6dc0225 --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/MallGoodsPageVO.java @@ -0,0 +1,32 @@ +package cc.hiver.mall.pojo.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@ApiModel("商品分页对象") +@Data +public class MallGoodsPageVO { + @ApiModelProperty("商品ID") + private Long id; + + @ApiModelProperty("商品名称") + private String name; + + @ApiModelProperty(value = "采购价") + private BigDecimal purchasePrice; + + @ApiModelProperty(value = "市场价") + private BigDecimal price; + + @ApiModelProperty(value = "批发价") + private BigDecimal wholesalePrice; + + @ApiModelProperty("销量") + private Integer sales; + + @ApiModelProperty("图片地址") + private String picUrl; +} diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/CartService.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/CartService.java new file mode 100644 index 00000000..0f0ae9bf --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/CartService.java @@ -0,0 +1,21 @@ +package cc.hiver.mall.service; + +import cc.hiver.mall.pojo.dto.CartItemDTO; + +import java.util.List; + +public interface CartService { + List listCartItems(String memberId); + + boolean deleteCart(String memberId); + + boolean addCartItem(String goodsStockId, String memberId); + + boolean updateCartItem(CartItemDTO cartItem, String memberId); + + boolean removeCartItem(String goodsStockId, String memberId); + + boolean removeCheckedItem(String memberId); + + boolean checkAll(boolean checked, String memberId); +} diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/GoodsService.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/GoodsService.java index 68cd803f..c29b445a 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/GoodsService.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/GoodsService.java @@ -20,6 +20,8 @@ import cc.hiver.mall.pojo.form.GoodsForm; import cc.hiver.mall.pojo.query.GoodsPageQuery; import cc.hiver.mall.pojo.vo.GoodsDetailVO; import cc.hiver.mall.pojo.vo.GoodsPageVO; +import cc.hiver.mall.pojo.vo.MallGoodsDetailVO; +import cc.hiver.mall.pojo.vo.MallGoodsPageVO; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; @@ -35,6 +37,14 @@ public interface GoodsService extends IService { */ IPage listGoodsPages(GoodsPageQuery queryParams); + /** + * 「商铺端」商品分页列表 + * + * @param queryParams + * @return + */ + IPage listMallGoodsPages(GoodsPageQuery queryParams); + /** * 「管理端」获取商品详情 * @@ -43,6 +53,14 @@ public interface GoodsService extends IService { */ GoodsDetailVO getGoodsDetail(String id); + /** + * 「商铺端」获取商品详情 + * + * @param id + * @return + */ + MallGoodsDetailVO getMallGoodsDetail(String id); + /** * 新增商品 * diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/CartServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/CartServiceImpl.java new file mode 100644 index 00000000..b9794938 --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/CartServiceImpl.java @@ -0,0 +1,135 @@ +package cc.hiver.mall.serviceimpl; + +import cc.hiver.core.common.constant.MallConstant; +import cc.hiver.mall.pojo.dto.CartItemDTO; +import cc.hiver.mall.pojo.dto.GoodsStockDto; +import cc.hiver.mall.service.CartService; +import cc.hiver.mall.service.mybatis.GoodsStockService; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.lang.Assert; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.BoundHashOperations; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; + +import java.util.Collections; +import java.util.List; +import java.util.concurrent.CompletableFuture; + +@Service +@Slf4j +@AllArgsConstructor +public class CartServiceImpl implements CartService { + @Autowired + private RedisTemplate redisTemplate; + + @Autowired + private GoodsStockService goodsStockService; + + @Override + public List listCartItems(String memberId) { + if (memberId != null) { + BoundHashOperations cartHashOperations = getCartHashOperations(memberId); + List cartItems = cartHashOperations.values(); + return cartItems; + } + return Collections.EMPTY_LIST; + } + + @Override + public boolean deleteCart(String memberId) { + String key = MallConstant.MEMBER_CART_PREFIX + memberId; + redisTemplate.delete(key); + return true; + } + + @Override + public boolean addCartItem(String goodsStockId, String memberId) { + BoundHashOperations cartHashOperations = getCartHashOperations(memberId); + String hKey = goodsStockId + ""; + CartItemDTO cartItem; + // 购物车已存在该商品,更新商品数量 + if (cartHashOperations.get(hKey) != null) { + cartItem = (CartItemDTO) cartHashOperations.get(hKey); + cartItem.setCount(cartItem.getCount() + 1); // 点击一次“加入购物车”,数量+1 + cartItem.setChecked(true); + cartHashOperations.put(hKey, cartItem); + return true; + } + // 购物车不存在该商品,添加商品至购物车 + cartItem = new CartItemDTO(); + CompletableFuture cartItemCompletableFuture = CompletableFuture.runAsync(() -> { + GoodsStockDto goodsStockDto = goodsStockService.getStockInfo(goodsStockId); + if (goodsStockDto != null) { + BeanUtil.copyProperties(goodsStockDto, cartItem); + cartItem.setStock(goodsStockDto.getStock()); + cartItem.setCount(1); + cartItem.setChecked(true); + } + }); + CompletableFuture.allOf(cartItemCompletableFuture).join(); + Assert.isTrue(cartItem.getGoodsStockId() != null, "商品不存在"); + cartHashOperations.put(hKey, cartItem); + return true; + } + + @Override + public boolean updateCartItem(CartItemDTO cartItem, String memberId) { + BoundHashOperations cartHashOperations = getCartHashOperations(memberId); + String hKey = cartItem.getGoodsStockId() + ""; + if (cartHashOperations.get(hKey) != null) { + CartItemDTO cacheCartItem = (CartItemDTO) cartHashOperations.get(hKey); + if (cartItem.getChecked() != null) { + cacheCartItem.setChecked(cartItem.getChecked()); + } + if (cartItem.getCount() != null) { + cacheCartItem.setCount(cartItem.getCount()); + } + cartHashOperations.put(hKey, cacheCartItem); + } + return true; + } + + @Override + public boolean removeCartItem(String goodsStockId, String memberId) { + BoundHashOperations cartHashOperations = getCartHashOperations(memberId); + String hKey = goodsStockId + ""; + cartHashOperations.delete(hKey); + return true; + } + + @Override + public boolean removeCheckedItem(String memberId) { + BoundHashOperations cartHashOperations = getCartHashOperations(memberId); + for (Object value : cartHashOperations.values()) { + CartItemDTO cartItem = (CartItemDTO) value; + if (cartItem.getChecked()) { + cartHashOperations.delete(cartItem.getGoodsStockId() + ""); + } + } + return true; + } + + @Override + public boolean checkAll(boolean checked, String memberId) { + BoundHashOperations cartHashOperations = getCartHashOperations(memberId); + for (Object value : cartHashOperations.values()) { + CartItemDTO cartItem = (CartItemDTO) value; + cartItem.setChecked(checked); + String hKey = cartItem.getGoodsStockId() + ""; + cartHashOperations.put(hKey, cartItem); + } + return true; + } + + /** + * 获取第一层,即某个用户的购物车 + */ + private BoundHashOperations getCartHashOperations(String memberId) { + String cartKey = MallConstant.MEMBER_CART_PREFIX + memberId; + BoundHashOperations operations = redisTemplate.boundHashOps(cartKey); + return operations; + } +} diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/GoodsServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/GoodsServiceImpl.java index 3810acec..04b0f99d 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/GoodsServiceImpl.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/GoodsServiceImpl.java @@ -15,25 +15,61 @@ limitations under the License. */ package cc.hiver.mall.serviceimpl.mybatis; +import cc.hiver.core.common.constant.MallConstant; +import cc.hiver.mall.common.AttributeTypeEnum; +import cc.hiver.mall.converter.GoodsAttributeConverter; +import cc.hiver.mall.converter.GoodsConverter; import cc.hiver.mall.dao.mapper.GoodsMapper; import cc.hiver.mall.entity.Goods; +import cc.hiver.mall.entity.GoodsAttribute; +import cc.hiver.mall.entity.GoodsStock; +import cc.hiver.mall.pojo.form.GoodsAttributeForm; import cc.hiver.mall.pojo.form.GoodsForm; import cc.hiver.mall.pojo.query.GoodsPageQuery; import cc.hiver.mall.pojo.vo.GoodsDetailVO; import cc.hiver.mall.pojo.vo.GoodsPageVO; +import cc.hiver.mall.pojo.vo.MallGoodsDetailVO; +import cc.hiver.mall.pojo.vo.MallGoodsPageVO; +import cc.hiver.mall.service.mybatis.GoodsAttributeService; import cc.hiver.mall.service.mybatis.GoodsService; +import cc.hiver.mall.service.mybatis.GoodsStockService; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.List; +import javax.transaction.Transactional; +import java.util.*; +import java.util.stream.Collectors; /** * @author Yazhi Li */ @Service +@RequiredArgsConstructor public class GoodsServiceImpl extends ServiceImpl implements GoodsService { + @Autowired + private GoodsMapper goodsMapper; + + @Autowired + private GoodsStockService goodsStockService; + + @Autowired + private GoodsAttributeService goodsAttributeService; + + @Autowired + private GoodsConverter goodsConverter; + + @Autowired + private GoodsAttributeConverter goodsAttributeConverter; + @Override public IPage listGoodsPages(GoodsPageQuery queryParams) { Page page = new Page<>(queryParams.getPageNum(), queryParams.getPageSize()); @@ -42,23 +78,309 @@ public class GoodsServiceImpl extends ServiceImpl implements return page; } + @Override + public IPage listMallGoodsPages(GoodsPageQuery queryParams) { + Page page = new Page<>(queryParams.getPageNum(), queryParams.getPageSize()); + List list = this.baseMapper.listMallGoodsPages(page, queryParams); + page.setRecords(list); + return page; + } + @Override public GoodsDetailVO getGoodsDetail(String id) { - return null; + GoodsDetailVO goodsDetailVO = new GoodsDetailVO(); + + Goods entity = this.getById(id); + Assert.isTrue(entity != null, "商品不存在"); + + BeanUtil.copyProperties(entity, goodsDetailVO, "album"); + goodsDetailVO.setSubPicUrls(entity.getAlbum()); + + // 商品属性列表 + List attrList = goodsAttributeService.list(new LambdaQueryWrapper() + .eq(GoodsAttribute::getId, id) + .eq(GoodsAttribute::getType, AttributeTypeEnum.ATTR.getValue())); + goodsDetailVO.setAttrList(attrList); + + // 商品规格列表 + List specList = goodsAttributeService.list(new LambdaQueryWrapper() + .eq(GoodsAttribute::getId, id) + .eq(GoodsAttribute::getType, AttributeTypeEnum.SPEC.getValue())); + goodsDetailVO.setSpecList(specList); + + // 商品库存列表 + List goodsStockList = goodsStockService.list(new LambdaQueryWrapper().eq(GoodsStock::getGoodsId, id)); + goodsDetailVO.setGoodsStockList(goodsStockList); + return goodsDetailVO; + } + + @Override + public MallGoodsDetailVO getMallGoodsDetail(String id) { + Goods pmsSpu = this.getById(id); + Assert.isTrue(pmsSpu != null, "商品不存在"); + + MallGoodsDetailVO mallGoodsDetailVO = new MallGoodsDetailVO(); + + // 商品基本信息 + MallGoodsDetailVO.GoodsInfo goodsInfo = new MallGoodsDetailVO.GoodsInfo(); + BeanUtil.copyProperties(pmsSpu, goodsInfo, "album"); + + List album = new ArrayList<>(); + + if (StrUtil.isNotBlank(pmsSpu.getPicUrl())) { + album.add(pmsSpu.getPicUrl()); + } + if (pmsSpu.getAlbum() != null && pmsSpu.getAlbum().length > 0) { + album.addAll(Arrays.asList(pmsSpu.getAlbum())); + goodsInfo.setAlbum(album); + } + mallGoodsDetailVO.setGoodsInfo(goodsInfo); + + // 商品属性列表 + List attributeList = goodsAttributeService.list(new LambdaQueryWrapper() + .eq(GoodsAttribute::getType, AttributeTypeEnum.ATTR.getValue()).eq(GoodsAttribute::getGoodsId, id) + .select(GoodsAttribute::getId, GoodsAttribute::getName, GoodsAttribute::getValue)).stream(). + map(item -> { + MallGoodsDetailVO.Attribute attribute = new MallGoodsDetailVO.Attribute(); + BeanUtil.copyProperties(item, attribute); + return attribute; + }).collect(Collectors.toList()); + mallGoodsDetailVO.setAttributeList(attributeList); + + + // 商品规格列表 + List specSourceList = goodsAttributeService.list(new LambdaQueryWrapper() + .eq(GoodsAttribute::getType, AttributeTypeEnum.SPEC.getValue()) + .eq(GoodsAttribute::getGoodsId, id) + .select(GoodsAttribute::getId, GoodsAttribute::getName, GoodsAttribute::getValue)); + + List specList = new ArrayList<>(); + // 规格Map [key:"颜色",value:[{id:1,value:"黑"},{id:2,value:"白"}]] + Map> specValueMap = specSourceList.stream().collect(Collectors.groupingBy(GoodsAttribute::getName)); + + for (Map.Entry> entry : specValueMap.entrySet()) { + String specName = entry.getKey(); + List specValueSourceList = entry.getValue(); + + // 规格映射处理 + MallGoodsDetailVO.Specification spec = new MallGoodsDetailVO.Specification(); + spec.setName(specName); + if (CollectionUtil.isNotEmpty(specValueSourceList)) { + List specValueList = specValueSourceList.stream().map(item -> { + MallGoodsDetailVO.Specification.Value specValue = new MallGoodsDetailVO.Specification.Value(); + specValue.setId(item.getId()); + specValue.setValue(item.getValue()); + return specValue; + }).collect(Collectors.toList()); + spec.setValues(specValueList); + specList.add(spec); + } + } + mallGoodsDetailVO.setSpecList(specList); + + // 商品库存列表 + List skuSourceList = goodsStockService.list(new LambdaQueryWrapper().eq(GoodsStock::getGoodsId, id)); + if (CollectionUtil.isNotEmpty(skuSourceList)) { + List skuList = skuSourceList.stream().map(item -> { + MallGoodsDetailVO.Sku sku = new MallGoodsDetailVO.Sku(); + BeanUtil.copyProperties(item, sku); + return sku; + }).collect(Collectors.toList()); + mallGoodsDetailVO.setSkuList(skuList); + } + + return mallGoodsDetailVO; } @Override + @Transactional public boolean addGoods(GoodsForm formData) { - return false; + Goods entity = goodsConverter.form2Entity(formData); + boolean result = this.save(entity); + if (result) { + String goodsId = entity.getId(); + // 保存属性 + List attrList = formData.getAttrList(); + this.saveSpuAttrs(goodsId, attrList); + // 保存规格 + List specList = formData.getSpecList(); + Map tempWithNewSpecIdMap = this.saveSpuSpecs(goodsId, specList); + // 保存SKU + List skuList = formData.getGoodsStockList(); + this.saveSku(goodsId, skuList, tempWithNewSpecIdMap); + } + // 无异常返回true + return result; } @Override + @Transactional public boolean updateGoods(GoodsForm formData) { - return false; + Goods entity = goodsConverter.form2Entity(formData); + boolean result = this.updateById(entity); + if (result) { + // 属性保存 + List attrList = formData.getAttrList(); + this.saveSpuAttrs(entity.getId(), attrList); + + // 保存商品规格值 + List specList = formData.getSpecList(); + Map specTempIdIdMap = this.saveSpuSpecs(entity.getId(), specList); + + // SKU保存 + List skuList = formData.getGoodsStockList(); + this.saveSku(entity.getId(), skuList, specTempIdIdMap); + } + return result; } @Override + @Transactional public boolean removeByGoodsIds(String[] ids) { - return false; + for (String id : ids) { + goodsStockService.remove(new LambdaQueryWrapper().eq(GoodsStock::getGoodsId, id)); + // 规格 + goodsAttributeService.remove(new LambdaQueryWrapper().eq(GoodsAttribute::getGoodsId, id)); + // 属性 + goodsAttributeService.remove(new LambdaQueryWrapper().eq(GoodsAttribute::getGoodsId, id)); + // SPU + this.removeById(id); + } + // 无异常直接返回true + return true; + } + + /** + * 保存SKU,需要替换提交表单中的临时规格ID + * + * @param goodsId + * @param skuList + * @param specTempIdIdMap + * @return + */ + private boolean saveSku(String goodsId, List skuList, Map specTempIdIdMap) { + // 删除SKU + List formSkuIds = skuList.stream().map(GoodsStock::getId).collect(Collectors.toList()); + List dbSkuIds = goodsStockService.list(new LambdaQueryWrapper().eq(GoodsStock::getGoodsId, goodsId) + .select(GoodsStock::getId)).stream().map(GoodsStock::getId) + .collect(Collectors.toList()); + List removeSkuIds = dbSkuIds.stream().filter(dbSkuId -> !formSkuIds.contains(dbSkuId)).collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(removeSkuIds)) { + goodsStockService.removeByIds(removeSkuIds); + } + // 新增/修改SKU + List pmsSkuList = skuList.stream().map(sku -> { + // 临时规格ID转换 + String specIds = Arrays.stream(sku.getSpecIds().split("\\|")) + .map(specId -> specId.startsWith(MallConstant.SPEC_TEMP_ID_PREFIX) ? specTempIdIdMap.get(specId) + "" : specId) + .collect(Collectors.joining("_")); + sku.setSpecIds(specIds); + sku.setGoodsId(goodsId); + return sku; + }).collect(Collectors.toList()); + return goodsStockService.saveOrUpdateBatch(pmsSkuList); + } + + /** + * 保存商品属性 + * + * @param goodsId 商品ID + * @param attrList 商品属性集合 + * @return + */ + private boolean saveSpuAttrs(String goodsId, List attrList) { + // 1. 【删除】此次提交移除的商品规格 + // 1.1 此次提交保留的商品属性ID + List retainAttrIds = attrList.stream() + .filter(item -> item.getId() != null) + .map(item -> item.getId()) + .collect(Collectors.toList()); + // 1.2 获取原商品属性ID集合 + List originAttrIds = goodsAttributeService.list(new LambdaQueryWrapper() + .eq(GoodsAttribute::getGoodsId, goodsId).eq(GoodsAttribute::getType, AttributeTypeEnum.ATTR.getValue()) + .select(GoodsAttribute::getId)) + .stream() + .map(GoodsAttribute::getId) + .collect(Collectors.toList()); + // 1.3 需要删除的商品属性:原商品属性-此次提交保留的属性 + List removeAttrValIds = originAttrIds.stream() + .filter(id -> !retainAttrIds.contains(id)) + .collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(removeAttrValIds)) { + goodsStockService.removeByIds(removeAttrValIds); + } + // 新增或修改商品属性 + List entities = attrList.stream().map(item -> { + GoodsAttribute entity = goodsAttributeConverter.form2Entity(item); + entity.setId(item.getId()); + entity.setGoodsId(goodsId); + entity.setType(AttributeTypeEnum.ATTR.getValue()); + return entity; + }).collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(entities)) { + return goodsAttributeService.saveOrUpdateBatch(entities); + } + return true; + } + + /** + * 保存商品规格 + *

    + * 新增的规格需要返回临时ID和持久化到数据库的ID的映射关系,替换SKU中的规格ID集合 + * + * @param goodsId 商品ID + * @param specList 规格列表 + * @return Map: key-临时ID;value-持久化返回ID + */ + private Map saveSpuSpecs(String goodsId, List specList) { + // 1. 【删除】此次提交移除的商品规格 + // 1.1 此次提交保留的规格 + List retainSpuSpecIds = specList.stream() + .filter(item -> !item.getId().startsWith(MallConstant.SPEC_TEMP_ID_PREFIX)) + .map(item -> item.getId()) + .collect(Collectors.toList()); + // 1.2 原商品规格 + List originSpuSpecIds = goodsAttributeService.list(new LambdaQueryWrapper() + .eq(GoodsAttribute::getGoodsId, goodsId) + .eq(GoodsAttribute::getType, AttributeTypeEnum.SPEC.getValue()) + .select(GoodsAttribute::getId)) + .stream().map(GoodsAttribute::getId) + .collect(Collectors.toList()); + // 1.3 需要删除的商品规格:原商品规格-此次提交保留的规格 + List removeSpuSpecIds = originSpuSpecIds.stream().filter(id -> !retainSpuSpecIds.contains(id)) + .collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(removeSpuSpecIds)) { + // 删除商品的规格 + goodsAttributeService.removeByIds(removeSpuSpecIds); + } + // 2. 【新增】此次提交的新加的商品规格 + // 临时规格ID和持久化数据库得到的规格ID的映射,用于替换SKU临时的规格ID + Map tempWithNewSpecIdMap = new HashMap<>(); + List newSpecList = specList.stream() + .filter(item -> item.getId().startsWith(MallConstant.SPEC_TEMP_ID_PREFIX)) + .collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(newSpecList)) { + newSpecList.forEach(item -> { + GoodsAttribute entity = goodsAttributeConverter.form2Entity(item); + entity.setGoodsId(goodsId); + entity.setType(AttributeTypeEnum.SPEC.getValue()); + goodsAttributeService.save(entity); + tempWithNewSpecIdMap.put(item.getId(), entity.getId()); + }); + } + // 3. 【修改】此次提交的需要修改的商品规格 + List pmsSpuAttributeList = specList.stream() + .filter(item -> !item.getId().startsWith(MallConstant.SPEC_TEMP_ID_PREFIX)) + .map(item -> { + GoodsAttribute entity = goodsAttributeConverter.form2Entity(item); + entity.setId(item.getId()); + entity.setGoodsId(goodsId); + entity.setType(AttributeTypeEnum.SPEC.getValue()); + return entity; + }).collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(pmsSpuAttributeList)) { + goodsAttributeService.updateBatchById(pmsSpuAttributeList); + } + return tempWithNewSpecIdMap; } } diff --git a/hiver-modules/hiver-mall/src/main/resources/mapper/GoodsMapper.xml b/hiver-modules/hiver-mall/src/main/resources/mapper/GoodsMapper.xml index ce03f92a..fc31aa88 100644 --- a/hiver-modules/hiver-mall/src/main/resources/mapper/GoodsMapper.xml +++ b/hiver-modules/hiver-mall/src/main/resources/mapper/GoodsMapper.xml @@ -21,7 +21,7 @@ - + @@ -33,14 +33,15 @@ - + + +