From c58524cf94c3a350ecac95c9487e21a657045610 Mon Sep 17 00:00:00 2001 From: lifenlong Date: Wed, 26 May 2021 18:40:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9B=E5=BB=BA=E7=9B=B4=E6=92=AD=E5=95=86?= =?UTF-8?q?=E5=93=81VO=EF=BC=8C=E6=98=BE=E7=A4=BA=E7=9B=B4=E6=92=AD?= =?UTF-8?q?=E5=95=86=E5=93=81=E7=9A=84=E5=BA=93=E5=AD=98=E4=BB=A5=E5=8F=8A?= =?UTF-8?q?=E5=BA=97=E9=93=BA=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../broadcast/entity/dos/Commodity.java | 2 -- .../broadcast/entity/dto/CommodityDTO.java | 5 +++- .../broadcast/entity/vos/CommodityVO.java | 21 ++++++++++++++ .../broadcast/mapper/CommodityMapper.java | 12 ++++++-- .../broadcast/service/CommodityService.java | 3 +- .../serviceimpl/CommodityServiceImpl.java | 28 +++++++++++-------- .../other/broadcast/CommodityController.java | 3 +- 7 files changed, 55 insertions(+), 19 deletions(-) create mode 100644 framework/src/main/java/cn/lili/modules/broadcast/entity/vos/CommodityVO.java diff --git a/framework/src/main/java/cn/lili/modules/broadcast/entity/dos/Commodity.java b/framework/src/main/java/cn/lili/modules/broadcast/entity/dos/Commodity.java index 725b2b94..51dab69e 100644 --- a/framework/src/main/java/cn/lili/modules/broadcast/entity/dos/Commodity.java +++ b/framework/src/main/java/cn/lili/modules/broadcast/entity/dos/Commodity.java @@ -61,6 +61,4 @@ public class Commodity extends BaseEntity { @ApiModelProperty(value = "规格ID") private String skuId; - @ApiModelProperty(value = "SKU库存") - private Integer quantity; } diff --git a/framework/src/main/java/cn/lili/modules/broadcast/entity/dto/CommodityDTO.java b/framework/src/main/java/cn/lili/modules/broadcast/entity/dto/CommodityDTO.java index fb326888..e28e41d3 100644 --- a/framework/src/main/java/cn/lili/modules/broadcast/entity/dto/CommodityDTO.java +++ b/framework/src/main/java/cn/lili/modules/broadcast/entity/dto/CommodityDTO.java @@ -11,9 +11,12 @@ import lombok.Data; */ @Data public class CommodityDTO { - + //商品ID private Integer goods_id; + //商品名称 private String name; + //地址 private String url; + //审核状态 private Integer audit_status; } diff --git a/framework/src/main/java/cn/lili/modules/broadcast/entity/vos/CommodityVO.java b/framework/src/main/java/cn/lili/modules/broadcast/entity/vos/CommodityVO.java new file mode 100644 index 00000000..012ac5b0 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/broadcast/entity/vos/CommodityVO.java @@ -0,0 +1,21 @@ +package cn.lili.modules.broadcast.entity.vos; + +import cn.lili.modules.broadcast.entity.dos.Commodity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 直播商品VO + * + * @author Bulbasaur + * @date: 2021/5/26 6:09 下午 + */ +@Data +public class CommodityVO extends Commodity { + + @ApiModelProperty(value = "SKU库存") + private Integer quantity; + + @ApiModelProperty(value = "店铺名称") + private String storeName; +} diff --git a/framework/src/main/java/cn/lili/modules/broadcast/mapper/CommodityMapper.java b/framework/src/main/java/cn/lili/modules/broadcast/mapper/CommodityMapper.java index 621533a9..5083efd7 100644 --- a/framework/src/main/java/cn/lili/modules/broadcast/mapper/CommodityMapper.java +++ b/framework/src/main/java/cn/lili/modules/broadcast/mapper/CommodityMapper.java @@ -2,7 +2,12 @@ package cn.lili.modules.broadcast.mapper; import cn.lili.modules.broadcast.entity.dos.Commodity; import cn.lili.modules.broadcast.entity.dto.SimpleCommodity; +import cn.lili.modules.broadcast.entity.vos.CommodityVO; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import java.util.List; @@ -18,10 +23,13 @@ public interface CommodityMapper extends BaseMapper { @Select("SELECT live_goods_id FROM li_commodity WHERE audit_status='0' or audit_status='1'") List getAuditCommodity(); - @Select("SELECT * FROM li_commodity c WINNER JOIN li_studio_commodity sc ON sc.goods_id = c.live_goods_id WHERE sc.room_id =#{roomId}") + @Select("SELECT * FROM li_commodity c INNER JOIN li_studio_commodity sc ON sc.goods_id = c.live_goods_id WHERE sc.room_id =#{roomId}") List getCommodityByRoomId(Integer roomId); - @Select("SELECT name,goods_image FROM li_commodity c WINNER JOIN li_studio_commodity sc ON sc.goods_id = c.live_goods_id WHERE sc.room_id =#{roomId}") + @Select("SELECT name,goods_image FROM li_commodity c INNER JOIN li_studio_commodity sc ON sc.goods_id = c.live_goods_id WHERE sc.room_id =#{roomId}") List getSimpleCommodityByRoomId(Integer roomId); + @Select("SELECT c.*,gs.quantity,s.store_name FROM li_commodity c INNER JOIN li_goods_sku gs ON c.sku_id = gs.id INNER JOIN li_store s ON s.id=c.store_id ${ew.customSqlSegment}") + IPage commodityVOList(IPage page, @Param(Constants.WRAPPER) Wrapper queryWrapper); + } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/broadcast/service/CommodityService.java b/framework/src/main/java/cn/lili/modules/broadcast/service/CommodityService.java index 8ff14e31..c9161c7b 100644 --- a/framework/src/main/java/cn/lili/modules/broadcast/service/CommodityService.java +++ b/framework/src/main/java/cn/lili/modules/broadcast/service/CommodityService.java @@ -2,6 +2,7 @@ package cn.lili.modules.broadcast.service; import cn.lili.common.vo.PageVO; import cn.lili.modules.broadcast.entity.dos.Commodity; +import cn.lili.modules.broadcast.entity.vos.CommodityVO; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; @@ -40,5 +41,5 @@ public interface CommodityService extends IService { * @param auditStatus 审核状态 * @return 直播商品分页 */ - IPage commodityList(PageVO pageVO,String name,String auditStatus); + IPage commodityList(PageVO pageVO, String name, String auditStatus); } diff --git a/framework/src/main/java/cn/lili/modules/broadcast/serviceimpl/CommodityServiceImpl.java b/framework/src/main/java/cn/lili/modules/broadcast/serviceimpl/CommodityServiceImpl.java index e213bd77..1bc20b88 100644 --- a/framework/src/main/java/cn/lili/modules/broadcast/serviceimpl/CommodityServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/broadcast/serviceimpl/CommodityServiceImpl.java @@ -6,10 +6,12 @@ import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import cn.lili.common.exception.ServiceException; import cn.lili.common.security.context.UserContext; +import cn.lili.common.security.enums.UserEnums; import cn.lili.common.utils.PageUtil; import cn.lili.common.vo.PageVO; import cn.lili.modules.broadcast.entity.dos.Commodity; import cn.lili.modules.broadcast.entity.dto.CommodityDTO; +import cn.lili.modules.broadcast.entity.vos.CommodityVO; import cn.lili.modules.broadcast.mapper.CommodityMapper; import cn.lili.modules.broadcast.service.CommodityService; import cn.lili.modules.broadcast.util.WechatLivePlayerUtil; @@ -17,6 +19,7 @@ import cn.lili.modules.goods.entity.dos.GoodsSku; import cn.lili.modules.goods.entity.enums.GoodsAuthEnum; import cn.lili.modules.goods.service.GoodsSkuService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -55,17 +58,19 @@ public class CommodityServiceImpl extends ServiceImpl().eq(Commodity::getSkuId,commodity.getSkuId()))>0){ - throw new ServiceException(goodsSku.getGoodsName()+" 已添加规格商品,无法重复增加"); + if (this.count(new LambdaQueryWrapper().eq(Commodity::getSkuId, commodity.getSkuId())) > 0) { + throw new ServiceException(goodsSku.getGoodsName() + " 已添加规格商品,无法重复增加"); } } + @Override public boolean deleteCommodity(String goodsId) { JSONObject json = wechatLivePlayerUtil.deleteGoods(goodsId); @@ -94,11 +99,10 @@ public class CommodityServiceImpl extends ServiceImpl commodityList(PageVO pageVO, String name, String auditStatus) { - return this.page(PageUtil.initPage(pageVO), - new LambdaQueryWrapper().like(name!=null,Commodity::getName,name) - .eq(auditStatus!=null,Commodity::getAuditStatus,auditStatus)); + public IPage commodityList(PageVO pageVO, String name, String auditStatus) { + return this.baseMapper.commodityVOList(PageUtil.initPage(pageVO), + new QueryWrapper().like(name != null, "c.name", name) + .eq(auditStatus != null, "c.audit_status", auditStatus) + .eq(UserContext.getCurrentUser().getRole().equals(UserEnums.STORE), "c.store_id", UserContext.getCurrentUser().getStoreId())); } - - } diff --git a/seller-api/src/main/java/cn/lili/controller/other/broadcast/CommodityController.java b/seller-api/src/main/java/cn/lili/controller/other/broadcast/CommodityController.java index 5876edf5..14348b5c 100644 --- a/seller-api/src/main/java/cn/lili/controller/other/broadcast/CommodityController.java +++ b/seller-api/src/main/java/cn/lili/controller/other/broadcast/CommodityController.java @@ -6,6 +6,7 @@ import cn.lili.common.exception.ServiceException; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.broadcast.entity.dos.Commodity; +import cn.lili.modules.broadcast.entity.vos.CommodityVO; import cn.lili.modules.broadcast.service.CommodityService; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; @@ -37,7 +38,7 @@ public class CommodityController { @ApiImplicitParam(name = "auditStatus", value = "直播商品状态", dataType = "String", paramType = "query") }) @GetMapping - public ResultMessage> page(String auditStatus, String name, PageVO pageVO) { + public ResultMessage> page(String auditStatus, String name, PageVO pageVO) { return ResultUtil.data(commodityService.commodityList(pageVO, name, auditStatus)); }