From 7b289e435cea333400022a280c5c952b8dfd4a5e Mon Sep 17 00:00:00 2001 From: "kuang.yifei@iwhalecloud.com" Date: Sat, 28 May 2022 15:41:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B6=88=E8=B4=B9=E8=80=85=E4=B8=8B=E5=8D=95?= =?UTF-8?q?=EF=BC=8C=E5=95=86=E5=93=81=E5=8F=91=E5=B8=83=EF=BC=8C=E5=95=86?= =?UTF-8?q?=E5=93=81=E8=AF=A6=E6=83=85=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/goods/GoodsController.java | 65 ++++++++++++- .../web/controller/order/OrderController.java | 21 ++-- .../main/java/com/ghy/goods/domain/Goods.java | 30 +++--- .../java/com/ghy/goods/domain/GoodsArea.java | 24 +++++ .../java/com/ghy/goods/domain/GoodsImgs.java | 3 + .../com/ghy/goods/domain/GoodsStandard.java | 39 ++++++++ .../com/ghy/goods/mapper/GoodsAreaMapper.java | 21 ++++ .../ghy/goods/mapper/GoodsStandardMapper.java | 45 +++++++++ .../ghy/goods/request/AppGoodsRequest.java | 4 +- .../ghy/goods/service/GoodsAreaService.java | 26 +++++ .../com/ghy/goods/service/GoodsService.java | 6 ++ .../goods/service/GoodsStandardService.java | 46 +++++++++ .../service/impl/GoodsAreaServiceImpl.java | 35 +++++++ .../goods/service/impl/GoodsServiceImpl.java | 41 +++++++- .../impl/GoodsStandardServiceImpl.java | 51 ++++++++++ .../mapper/goods/GoodsAreaMapper.xml | 43 +++++++++ .../mapper/goods/GoodsImgsMapper.xml | 11 +-- .../resources/mapper/goods/GoodsMapper.xml | 26 +---- .../mapper/goods/GoodsStandardMapper.xml | 95 +++++++++++++++++++ .../java/com/ghy/order/domain/OrderGoods.java | 2 +- .../ghy/order/request/AppOrderRequest.java | 3 + 21 files changed, 567 insertions(+), 70 deletions(-) create mode 100644 ghy-goods/src/main/java/com/ghy/goods/domain/GoodsArea.java create mode 100644 ghy-goods/src/main/java/com/ghy/goods/domain/GoodsStandard.java create mode 100644 ghy-goods/src/main/java/com/ghy/goods/mapper/GoodsAreaMapper.java create mode 100644 ghy-goods/src/main/java/com/ghy/goods/mapper/GoodsStandardMapper.java create mode 100644 ghy-goods/src/main/java/com/ghy/goods/service/GoodsAreaService.java create mode 100644 ghy-goods/src/main/java/com/ghy/goods/service/GoodsStandardService.java create mode 100644 ghy-goods/src/main/java/com/ghy/goods/service/impl/GoodsAreaServiceImpl.java create mode 100644 ghy-goods/src/main/java/com/ghy/goods/service/impl/GoodsStandardServiceImpl.java create mode 100644 ghy-goods/src/main/resources/mapper/goods/GoodsAreaMapper.xml create mode 100644 ghy-goods/src/main/resources/mapper/goods/GoodsStandardMapper.xml diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/goods/GoodsController.java b/ghy-admin/src/main/java/com/ghy/web/controller/goods/GoodsController.java index 12c2aadd..0c9ba4dc 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/goods/GoodsController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/goods/GoodsController.java @@ -5,12 +5,11 @@ import com.ghy.common.core.controller.BaseController; import com.ghy.common.core.domain.AjaxResult; import com.ghy.common.core.page.TableDataInfo; import com.ghy.common.enums.BusinessType; +import com.ghy.common.utils.ExceptionUtil; import com.ghy.common.utils.ShiroUtils; import com.ghy.common.utils.poi.ExcelUtil; -import com.ghy.goods.domain.DeptGoodsCategory; -import com.ghy.goods.domain.Goods; -import com.ghy.goods.service.DeptGoodsCategoryService; -import com.ghy.goods.service.GoodsService; +import com.ghy.goods.domain.*; +import com.ghy.goods.service.*; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; @@ -18,7 +17,11 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; @Controller @RequestMapping("/goods/goods") @@ -30,6 +33,12 @@ public class GoodsController extends BaseController { private GoodsService goodsService; @Resource private DeptGoodsCategoryService deptGoodsCategoryService; + @Resource + private GoodsImgsService goodsImgsService; + @Resource + private GoodsAreaService goodsAreaService; + @Resource + private GoodsStandardService goodsStandardService; @RequiresPermissions("goods:goods:view") @GetMapping() @@ -43,9 +52,57 @@ public class GoodsController extends BaseController { public TableDataInfo list(Goods goods) { startPage(); List list = goodsService.selectGoodsList(goods); + list.forEach(one->{ + // 补全商品 + List goodsAreas = goodsAreaService.selectByGoodsId(one.getGoodsId()); + one.setGoodsAreaList(goodsAreas); + }); return getDataTable(list); } + + @PostMapping("/addGoods") + @ResponseBody + public AjaxResult addGoods(@RequestBody Goods goods){ + try { + goodsService.addGoods(goods); + return AjaxResult.success("新增成功"); + }catch (Exception e){ + logger.error(e.getMessage()); + return AjaxResult.error(ExceptionUtil.getExceptionMessage(e)); + } + } + + @PostMapping("/getDetail") + @ResponseBody + public AjaxResult getDetail(@RequestBody Goods goods){ + try { + Goods result = goodsService.selectById(goods.getGoodsId()); + + // 补全商品图片信息 + List goodsImgs = goodsImgsService.selectByGoodsId(result.getGoodsId()); + Map> listMap = new HashMap<>(); + for (GoodsImgs goodsImg : goodsImgs) { + listMap.computeIfAbsent(goodsImg.getImgType(), k -> new ArrayList<>()).add(goodsImg); + } + result.setGoodsImgsMap(listMap); + + // 补全商品区域 + List goodsAreas = goodsAreaService.selectByGoodsId(result.getGoodsId()); + result.setGoodsAreaList(goodsAreas); + + // 补全商品类别 + List goodsStandards = goodsStandardService.selectByGoodsId(result.getGoodsId()); + result.setGoodsStandardList(goodsStandards); + + return AjaxResult.success(result); + }catch (Exception e){ + e.printStackTrace(); + logger.error(e.getMessage()); + return AjaxResult.error(ExceptionUtil.getExceptionMessage(e)); + } + } + @Log(title = "商品管理", businessType = BusinessType.EXPORT) @RequiresPermissions("goods:goods:export") @PostMapping("/export") diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java index 78fd0a97..c0c1a36d 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java @@ -6,8 +6,10 @@ import com.ghy.common.utils.StringUtils; import com.ghy.customer.domain.Customer; import com.ghy.customer.service.CustomerService; import com.ghy.goods.domain.Goods; +import com.ghy.goods.domain.GoodsStandard; import com.ghy.goods.request.AppGoodsRequest; import com.ghy.goods.service.GoodsService; +import com.ghy.goods.service.GoodsStandardService; import com.ghy.order.domain.OrderDetail; import com.ghy.order.domain.OrderGoods; import com.ghy.order.domain.OrderMaster; @@ -71,6 +73,9 @@ public class OrderController extends BaseController { @Autowired private FinancialDetailService financialDetailService; + @Autowired + private GoodsStandardService goodsStandardService; + @PostMapping("/assign") @ResponseBody @Transactional(rollbackFor = Exception.class) @@ -161,11 +166,11 @@ public class OrderController extends BaseController { // 计算商品费用 BigDecimal totalPay = goodsService.calculate(appGoodsList); // 所有商品的ID - Set goodsIds = appGoodsList.stream().map(AppGoodsRequest::getGoodsId).collect(Collectors.toSet()); + Set goodsStandardIds = appGoodsList.stream().map(AppGoodsRequest::getGoodsStandardId).collect(Collectors.toSet()); // 所有商品 - List goodsList = goodsService.selectByIds(goodsIds); + List goodsList = goodsStandardService.selectByIds(goodsStandardIds); // 商户ID - Long deptId = goodsList.get(0).getDeptId(); + Long deptId = appOrderRequest.getDeptId(); Assert.notNull(deptId, "deptId is null!"); // 生成主单 @@ -197,12 +202,12 @@ public class OrderController extends BaseController { createFinancialDetail(deptId, customer, payMoney, financialMaster); // 生成商品订单 - Map goodsMap = goodsList.stream().filter(Objects::nonNull) - .collect(Collectors.toMap(Goods::getGoodsId, x -> x)); + Map goodsMap = goodsList.stream().filter(Objects::nonNull) + .collect(Collectors.toMap(GoodsStandard::getGoodsStandardId, x -> x)); for (AppGoodsRequest appGoods : appGoodsList) { - Goods goods = goodsMap.get(appGoods.getGoodsId()); - OrderGoods orderGoods = new OrderGoods(orderMaster.getId(), goods.getGoodsId(), - goods.getGoodsName(), appGoods.getNum(), 0); + GoodsStandard goodsStandard = goodsMap.get(appGoods.getGoodsStandardId()); + OrderGoods orderGoods = new OrderGoods(orderMaster.getId(), goodsStandard.getGoodsStandardId(), + goodsStandard.getGoodsStandardName(), appGoods.getNum(), 0); orderGoodsService.insertOrderGoods(orderGoods); } diff --git a/ghy-goods/src/main/java/com/ghy/goods/domain/Goods.java b/ghy-goods/src/main/java/com/ghy/goods/domain/Goods.java index 6ccab633..124802f3 100644 --- a/ghy-goods/src/main/java/com/ghy/goods/domain/Goods.java +++ b/ghy-goods/src/main/java/com/ghy/goods/domain/Goods.java @@ -5,6 +5,8 @@ import com.ghy.common.core.domain.BaseEntity; import lombok.Data; import java.math.BigDecimal; +import java.util.List; +import java.util.Map; /** * 商品 @@ -28,22 +30,10 @@ public class Goods extends BaseEntity { @Excel(name = "名称") private String goodsName; - @Excel(name = "价格") - private BigDecimal goodsPrice; - - @Excel(name = "优惠价") - private BigDecimal discountsPrice; - - @Excel(name = "团购价") - private BigDecimal groupPrice; - - /** - * 岗位排序 - */ @Excel(name = "商品排序", cellType = Excel.ColumnType.NUMERIC) private Integer goodsSort; - @Excel(name = "类别id") + @Excel(name = "类别id,必须是关联到系统的第三级目录") private Long deptGoodsCategoryId; @Excel(name = "商品图片", cellType = Excel.ColumnType.IMAGE) @@ -52,12 +42,14 @@ public class Goods extends BaseEntity { @Excel(name = "商品视频", cellType = Excel.ColumnType.STRING) private String goodsVideoUrl; - @Excel(name = "商品库存,-1则表示无限制", cellType = Excel.ColumnType.NUMERIC) - private Integer goodsNumber; - - /** - * 状态(0上架 1下架 2删除) - */ @Excel(name = "状态", readConverterExp = "0=上架,1=下架,2删除") private Integer status; + + private List goodsAreaList; + + private Map> goodsImgsMap; + + private List goodsImgsList; + + private List goodsStandardList; } diff --git a/ghy-goods/src/main/java/com/ghy/goods/domain/GoodsArea.java b/ghy-goods/src/main/java/com/ghy/goods/domain/GoodsArea.java new file mode 100644 index 00000000..16d6354e --- /dev/null +++ b/ghy-goods/src/main/java/com/ghy/goods/domain/GoodsArea.java @@ -0,0 +1,24 @@ +package com.ghy.goods.domain; + +import com.ghy.common.annotation.Excel; +import lombok.Data; + +/** + * 商品服务区域 + * @author clunt + */ +@Data +public class GoodsArea { + + @Excel(name = "商品区域id", cellType = Excel.ColumnType.NUMERIC) + private Long goodsAreaId; + + @Excel(name = "商品id", cellType = Excel.ColumnType.NUMERIC) + private Long goodsId; + + @Excel(name = "区域id,必须是第三级区", cellType = Excel.ColumnType.NUMERIC) + private Long countryAreaId; + + private String areaName; + +} diff --git a/ghy-goods/src/main/java/com/ghy/goods/domain/GoodsImgs.java b/ghy-goods/src/main/java/com/ghy/goods/domain/GoodsImgs.java index ce2346fe..42b569c5 100644 --- a/ghy-goods/src/main/java/com/ghy/goods/domain/GoodsImgs.java +++ b/ghy-goods/src/main/java/com/ghy/goods/domain/GoodsImgs.java @@ -22,4 +22,7 @@ public class GoodsImgs extends BaseEntity { @Excel(name = "图片url", cellType = Excel.ColumnType.STRING) private String imgUrl; + @Excel(name = "图片类型 0.轮播图 1.详情图", cellType = Excel.ColumnType.NUMERIC) + private Integer imgType; + } diff --git a/ghy-goods/src/main/java/com/ghy/goods/domain/GoodsStandard.java b/ghy-goods/src/main/java/com/ghy/goods/domain/GoodsStandard.java new file mode 100644 index 00000000..4517a8a0 --- /dev/null +++ b/ghy-goods/src/main/java/com/ghy/goods/domain/GoodsStandard.java @@ -0,0 +1,39 @@ +package com.ghy.goods.domain; + +import com.ghy.common.annotation.Excel; +import com.ghy.common.core.domain.BaseEntity; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 商品规格表 + * @author clunt + */ +@Data +public class GoodsStandard extends BaseEntity { + + private Long goodsStandardId; + + private String goodsStandardName; + + private Long goodsId; + + private Long deptGoodsCategoryId; + + private BigDecimal goodsPrice; + + @Excel(name = "优惠价") + private BigDecimal discountPrice; + + @Excel(name = "团购价") + private BigDecimal groupPrice; + + @Excel(name = "库存") + private Integer goodsNum; + + private Integer saleNum; + + private Integer status; + +} diff --git a/ghy-goods/src/main/java/com/ghy/goods/mapper/GoodsAreaMapper.java b/ghy-goods/src/main/java/com/ghy/goods/mapper/GoodsAreaMapper.java new file mode 100644 index 00000000..b938c711 --- /dev/null +++ b/ghy-goods/src/main/java/com/ghy/goods/mapper/GoodsAreaMapper.java @@ -0,0 +1,21 @@ +package com.ghy.goods.mapper; + +import com.ghy.goods.domain.GoodsArea; + +import java.util.List; + +public interface GoodsAreaMapper { + + /** + * @param goodsId 商品id + * @return 商品服务区域集合 + */ + List selectByGoodsId(Long goodsId); + + /** + * @param areas 区域集合id + * @return 批量insert成功条数 + */ + int batchInsert(List areas); + +} diff --git a/ghy-goods/src/main/java/com/ghy/goods/mapper/GoodsStandardMapper.java b/ghy-goods/src/main/java/com/ghy/goods/mapper/GoodsStandardMapper.java new file mode 100644 index 00000000..a5c83483 --- /dev/null +++ b/ghy-goods/src/main/java/com/ghy/goods/mapper/GoodsStandardMapper.java @@ -0,0 +1,45 @@ +package com.ghy.goods.mapper; + +import com.ghy.goods.domain.GoodsStandard; +import com.ghy.goods.request.AppGoodsRequest; + +import java.util.Collection; +import java.util.List; + +/** + * 商品规格 + * @author clunt + */ +public interface GoodsStandardMapper { + + /** + * @param goodsStandardId 规格id + * @return 规格实体 + */ + GoodsStandard selectById(Long goodsStandardId); + + /** + * @param goodsStandardIds 规格id集合 + * @return 规格集合 + */ + List selectByIds(Collection goodsStandardIds); + + /** + * @param goodsId 商品id + * @return 所有规格集合 + */ + List selectByGoodsId(Long goodsId); + + /** + * @param goodsStandardList 批量添加商品规格 + * @return 添加成功条数 + */ + int batchInsert(List goodsStandardList); + + /** + * @param request 校验的商品数量 + * @return 返回结果 + */ + List checkStore(AppGoodsRequest request); + +} diff --git a/ghy-goods/src/main/java/com/ghy/goods/request/AppGoodsRequest.java b/ghy-goods/src/main/java/com/ghy/goods/request/AppGoodsRequest.java index a632b013..e39c32b2 100644 --- a/ghy-goods/src/main/java/com/ghy/goods/request/AppGoodsRequest.java +++ b/ghy-goods/src/main/java/com/ghy/goods/request/AppGoodsRequest.java @@ -10,8 +10,8 @@ import lombok.Data; @Data public class AppGoodsRequest { - // 商品id - private Long goodsId; + // 商品规格id + private Long goodsStandardId; // 数量 private Integer num; diff --git a/ghy-goods/src/main/java/com/ghy/goods/service/GoodsAreaService.java b/ghy-goods/src/main/java/com/ghy/goods/service/GoodsAreaService.java new file mode 100644 index 00000000..d41f95ca --- /dev/null +++ b/ghy-goods/src/main/java/com/ghy/goods/service/GoodsAreaService.java @@ -0,0 +1,26 @@ +package com.ghy.goods.service; + +import com.ghy.goods.domain.GoodsArea; + +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * 商品服务区域service + * @author clunt + */ +public interface GoodsAreaService { + + /** + * @param goodsId 商品id + * @return 商品服务区域集合 + */ + List selectByGoodsId(@NotNull Long goodsId); + + /** + * @param areas 区域集合id + * @return 批量insert成功条数 + */ + int batchInsert(List areas); + +} diff --git a/ghy-goods/src/main/java/com/ghy/goods/service/GoodsService.java b/ghy-goods/src/main/java/com/ghy/goods/service/GoodsService.java index 89abfb12..5e135834 100644 --- a/ghy-goods/src/main/java/com/ghy/goods/service/GoodsService.java +++ b/ghy-goods/src/main/java/com/ghy/goods/service/GoodsService.java @@ -14,6 +14,12 @@ import java.util.List; */ public interface GoodsService { + /** + * @param goods 师傅端新增商品 + * @return 新增成功条数 + */ + int addGoods(Goods goods); + /** * @param goodsList 需要校验库存的商品list * @return 校验结果 diff --git a/ghy-goods/src/main/java/com/ghy/goods/service/GoodsStandardService.java b/ghy-goods/src/main/java/com/ghy/goods/service/GoodsStandardService.java new file mode 100644 index 00000000..53bf64ad --- /dev/null +++ b/ghy-goods/src/main/java/com/ghy/goods/service/GoodsStandardService.java @@ -0,0 +1,46 @@ +package com.ghy.goods.service; + +import com.ghy.goods.domain.GoodsStandard; +import com.ghy.goods.request.AppGoodsRequest; + +import java.util.Collection; +import java.util.List; + +/** + * 商品规格service层 + * @author clunt + */ +public interface GoodsStandardService { + + /** + * @param goodsStandardId 规格id + * @return 规格实体 + */ + GoodsStandard selectById(Long goodsStandardId); + + /** + * @param goodsStandardIds 规格id集合 + * @return 规格集合 + */ + List selectByIds(Collection goodsStandardIds); + + /** + * @param goodsId 商品id + * @return 所有规格集合 + */ + List selectByGoodsId(Long goodsId); + + /** + * @param goodsStandardList 批量添加商品规格 + * @return 添加成功条数 + */ + int batchInsert(List goodsStandardList); + + + /** + * @param request 校验的商品数量 + * @return 返回结果 + */ + List checkStore(AppGoodsRequest request); + +} diff --git a/ghy-goods/src/main/java/com/ghy/goods/service/impl/GoodsAreaServiceImpl.java b/ghy-goods/src/main/java/com/ghy/goods/service/impl/GoodsAreaServiceImpl.java new file mode 100644 index 00000000..cb87d8ce --- /dev/null +++ b/ghy-goods/src/main/java/com/ghy/goods/service/impl/GoodsAreaServiceImpl.java @@ -0,0 +1,35 @@ +package com.ghy.goods.service.impl; + +import com.ghy.goods.domain.GoodsArea; +import com.ghy.goods.mapper.GoodsAreaMapper; +import com.ghy.goods.service.GoodsAreaService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * 商品服务区域impl + * @author clunt + */ + +@Slf4j +@Service +public class GoodsAreaServiceImpl implements GoodsAreaService { + + @Resource + private GoodsAreaMapper goodsAreaMapper; + + @Override + public List selectByGoodsId(@NotNull Long goodsId) { + return goodsAreaMapper.selectByGoodsId(goodsId); + } + + @Override + public int batchInsert(List areas) { + return goodsAreaMapper.batchInsert(areas); + } + +} diff --git a/ghy-goods/src/main/java/com/ghy/goods/service/impl/GoodsServiceImpl.java b/ghy-goods/src/main/java/com/ghy/goods/service/impl/GoodsServiceImpl.java index fcaabcdb..82709da8 100644 --- a/ghy-goods/src/main/java/com/ghy/goods/service/impl/GoodsServiceImpl.java +++ b/ghy-goods/src/main/java/com/ghy/goods/service/impl/GoodsServiceImpl.java @@ -5,9 +5,14 @@ import com.ghy.common.core.text.Convert; import com.ghy.common.exception.ServiceException; import com.ghy.common.utils.StringUtils; import com.ghy.goods.domain.Goods; +import com.ghy.goods.domain.GoodsArea; +import com.ghy.goods.domain.GoodsStandard; import com.ghy.goods.mapper.GoodsMapper; import com.ghy.goods.request.AppGoodsRequest; +import com.ghy.goods.service.GoodsAreaService; +import com.ghy.goods.service.GoodsImgsService; import com.ghy.goods.service.GoodsService; +import com.ghy.goods.service.GoodsStandardService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; @@ -28,10 +33,36 @@ public class GoodsServiceImpl implements GoodsService { @Resource private GoodsMapper goodsMapper; + @Resource + private GoodsAreaService goodsAreaService; + @Resource + private GoodsImgsService goodsImgsService; + @Resource + private GoodsStandardService goodsStandardService; + @Override - public boolean checkStore(List goodsList) { - for (AppGoodsRequest goods : goodsList) { - List list = goodsMapper.checkAGoodsStore(goods); + @Transactional + public int addGoods(Goods goods) { + // 添加商品主体 + int result = goodsMapper.insertGoods(goods); + + // 给各组件插入商品主体id + goods.getGoodsAreaList().forEach(goodsArea -> {goodsArea.setGoodsId(goods.getGoodsId());}); + goods.getGoodsImgsList().forEach(goodsImg -> {goodsImg.setGoodsId(goods.getGoodsId());}); + goods.getGoodsStandardList().forEach(goodsStandard -> {goodsStandard.setGoodsId(goods.getGoodsId());}); + + // 批量插入各组件 + goodsAreaService.batchInsert(goods.getGoodsAreaList()); + goodsImgsService.batchInsert(goods.getGoodsImgsList()); + goodsStandardService.batchInsert(goods.getGoodsStandardList()); + + return result; + } + + @Override + public boolean checkStore(List requests) { + for (AppGoodsRequest request : requests) { + List list = goodsStandardService.checkStore(request); if (list.size() == 0) { return false; } @@ -43,8 +74,8 @@ public class GoodsServiceImpl implements GoodsService { public BigDecimal calculate(List goodsList) { BigDecimal totalPay = BigDecimal.ZERO; for (AppGoodsRequest appGoodsRequest : goodsList) { - Goods goods = goodsMapper.selectById(appGoodsRequest.getGoodsId()); - totalPay = totalPay.add(goods.getGoodsPrice().multiply(BigDecimal.valueOf(appGoodsRequest.getNum()))); + GoodsStandard goodsStandard = goodsStandardService.selectById(appGoodsRequest.getGoodsStandardId()); + totalPay = totalPay.add(goodsStandard.getGoodsPrice().multiply(BigDecimal.valueOf(appGoodsRequest.getNum()))); } return totalPay; } diff --git a/ghy-goods/src/main/java/com/ghy/goods/service/impl/GoodsStandardServiceImpl.java b/ghy-goods/src/main/java/com/ghy/goods/service/impl/GoodsStandardServiceImpl.java new file mode 100644 index 00000000..62d148d8 --- /dev/null +++ b/ghy-goods/src/main/java/com/ghy/goods/service/impl/GoodsStandardServiceImpl.java @@ -0,0 +1,51 @@ +package com.ghy.goods.service.impl; + +import com.ghy.goods.domain.GoodsStandard; +import com.ghy.goods.mapper.GoodsStandardMapper; +import com.ghy.goods.request.AppGoodsRequest; +import com.ghy.goods.service.GoodsStandardService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collection; +import java.util.List; +import java.util.Set; + +/** + * 商品规格impl层 + * @author clunt + */ +@Slf4j +@Service +public class GoodsStandardServiceImpl implements GoodsStandardService { + + @Resource + private GoodsStandardMapper goodsStandardMapper; + + @Override + public GoodsStandard selectById(Long goodsStandardId) { + return goodsStandardMapper.selectById(goodsStandardId); + } + + @Override + public List selectByIds(Collection goodsStandardIds) { + return goodsStandardMapper.selectByIds(goodsStandardIds); + } + + @Override + public List selectByGoodsId(Long goodsId) { + return goodsStandardMapper.selectByGoodsId(goodsId); + } + + @Override + public int batchInsert(List goodsStandardList) { + return goodsStandardMapper.batchInsert(goodsStandardList); + } + + @Override + public List checkStore(AppGoodsRequest request) { + return goodsStandardMapper.checkStore(request); + } + +} diff --git a/ghy-goods/src/main/resources/mapper/goods/GoodsAreaMapper.xml b/ghy-goods/src/main/resources/mapper/goods/GoodsAreaMapper.xml new file mode 100644 index 00000000..c795710a --- /dev/null +++ b/ghy-goods/src/main/resources/mapper/goods/GoodsAreaMapper.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + SELECT ga.goods_area_id, ga.goods_id, ga.country_area_id, sa.area_name + FROM goods_area ga + LEFT JOIN sys_area sa on ga.country_area_id = sa.area_id + + + + + + + INSERT INTO goods_imgs( + goods_imgs_id, + goods_id, + img_url + ) + VALUES( + #{goodsImgsId}, + #{goodsId}, + #{imgUrl} + ); + + + + + \ No newline at end of file diff --git a/ghy-goods/src/main/resources/mapper/goods/GoodsImgsMapper.xml b/ghy-goods/src/main/resources/mapper/goods/GoodsImgsMapper.xml index 3189ead7..7ffa6c67 100644 --- a/ghy-goods/src/main/resources/mapper/goods/GoodsImgsMapper.xml +++ b/ghy-goods/src/main/resources/mapper/goods/GoodsImgsMapper.xml @@ -6,15 +6,11 @@ - - - - - + - SELECT goods_imgs_id, goods_id, img_url, create_by, create_time, remark + SELECT goods_imgs_id, goods_id, img_url, img_type FROM goods_imgs @@ -29,7 +25,7 @@ DELETE FROM goods_imgs WHERE goods_id = #{goodsId} - @@ -63,6 +59,7 @@ goods_id = #{goodsId}, img_url = #{imgUrl}, + img_type = #{imgType}, update_time = sysdate() WHERE goods_imgs_id = #{goodsImgsId}; diff --git a/ghy-goods/src/main/resources/mapper/goods/GoodsMapper.xml b/ghy-goods/src/main/resources/mapper/goods/GoodsMapper.xml index d10c7792..4b61e7c2 100644 --- a/ghy-goods/src/main/resources/mapper/goods/GoodsMapper.xml +++ b/ghy-goods/src/main/resources/mapper/goods/GoodsMapper.xml @@ -8,14 +8,10 @@ - - - - @@ -25,29 +21,19 @@ - SELECT goods_id, goods_code, dept_id, goods_name, goods_price, discounts_price, group_price, goods_sort, - dept_goods_category_id, goods_img_url, goods_video_url, goods_number, status, create_by, create_time, remark + SELECT goods_id, goods_code, dept_id, goods_name, goods_sort, + dept_goods_category_id, goods_img_url, goods_video_url, status, create_by, create_time, remark FROM goods - - UPDATE goods goods_name = #{goodsName}, - goods_price = #{goodsPrice}, - discounts_price = #{discountsPrice}, - group_price = #{groupPrice}, goods_sort = #{goodsSort}, dept_goods_category_id = #{deptGoodsCategoryId}, goods_img_url = #{goodsImgUrl}, goods_video_url = #{goodsVideoUrl}, - goods_number = #{goodsNumber}, `status` = #{status}, remark = #{remark}, update_by = #{updateBy}, @@ -67,14 +53,10 @@ goods_code, dept_id, goods_name, - goods_price, - discounts_price, - group_price, goods_sort, dept_goods_category_id, goods_img_url, goods_video_url, - goods_number, status, remark, create_by, @@ -83,14 +65,10 @@ #{goodsCode}, #{deptId}, #{goodsName}, - #{goodsPrice}, - #{discountsPrice}, - #{groupPrice}, #{goodsSort}, #{deptGoodsCategoryId}, #{goodsImgUrl}, #{goodsVideoUrl}, - #{goodsNumber}, #{status}, #{remark}, #{createBy}, diff --git a/ghy-goods/src/main/resources/mapper/goods/GoodsStandardMapper.xml b/ghy-goods/src/main/resources/mapper/goods/GoodsStandardMapper.xml new file mode 100644 index 00000000..e8723236 --- /dev/null +++ b/ghy-goods/src/main/resources/mapper/goods/GoodsStandardMapper.xml @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + + SELECT goods_standard_id, goods_standard_name, goods_id, dept_goods_category_id, goods_price, + discount_price, group_price, goods_num, create_by, create_time, sale_num, status, update_by, update_time, + remark + FROM goods_standard + + + + + + + + + + + INSERT INTO goods_standard( + goods_standard_name, + goods_id, + dept_goods_category_id + goods_price, + discount_price, + group_price, + goods_num, + sale_num, + status, + remark, + create_by, + create_time + ) + VALUES( + #{goodsStandardName}, + #{goodsId}, + #{deptGoodsCategoryId} + #{goodsPrice}, + #{discountPrice}, + #{groupPrice}, + #{goodsNum}, + #{saleNum}, + #{status}, + #{remark}, + #{createBy}, + sysdate() + ); + + + + + \ No newline at end of file diff --git a/ghy-order/src/main/java/com/ghy/order/domain/OrderGoods.java b/ghy-order/src/main/java/com/ghy/order/domain/OrderGoods.java index 34dab37f..3cfd49fc 100644 --- a/ghy-order/src/main/java/com/ghy/order/domain/OrderGoods.java +++ b/ghy-order/src/main/java/com/ghy/order/domain/OrderGoods.java @@ -22,7 +22,7 @@ public class OrderGoods extends BaseEntity { @Excel(name = "订单id, 可以为主单或者细单", cellType = Excel.ColumnType.NUMERIC) private Long orderId; - @Excel(name = "商品id", cellType = Excel.ColumnType.NUMERIC) + @Excel(name = "商品规格id", cellType = Excel.ColumnType.NUMERIC) private Long goodsId; @Excel(name = "商品名称", cellType = Excel.ColumnType.STRING) diff --git a/ghy-order/src/main/java/com/ghy/order/request/AppOrderRequest.java b/ghy-order/src/main/java/com/ghy/order/request/AppOrderRequest.java index 86a5240a..4ab75c70 100644 --- a/ghy-order/src/main/java/com/ghy/order/request/AppOrderRequest.java +++ b/ghy-order/src/main/java/com/ghy/order/request/AppOrderRequest.java @@ -12,6 +12,9 @@ import java.util.List; @Data public class AppOrderRequest { + // 分公司id + private Long deptId; + // 消费者id private Long customerId;