创建直播商品VO,显示直播商品的库存以及店铺名称
This commit is contained in:
		
							parent
							
								
									99b9e8cf91
								
							
						
					
					
						commit
						c58524cf94
					
				@ -61,6 +61,4 @@ public class Commodity extends BaseEntity {
 | 
			
		||||
    @ApiModelProperty(value = "规格ID")
 | 
			
		||||
    private String skuId;
 | 
			
		||||
 | 
			
		||||
    @ApiModelProperty(value = "SKU库存")
 | 
			
		||||
    private Integer quantity;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -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;
 | 
			
		||||
}
 | 
			
		||||
@ -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<Commodity> {
 | 
			
		||||
    @Select("SELECT live_goods_id FROM li_commodity WHERE audit_status='0' or audit_status='1'")
 | 
			
		||||
    List<String> 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<Commodity> 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<SimpleCommodity> 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<CommodityVO> commodityVOList(IPage<CommodityVO> page, @Param(Constants.WRAPPER) Wrapper<CommodityVO> queryWrapper);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@ -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<Commodity> {
 | 
			
		||||
     * @param auditStatus 审核状态
 | 
			
		||||
     * @return 直播商品分页
 | 
			
		||||
     */
 | 
			
		||||
    IPage<Commodity> commodityList(PageVO pageVO,String name,String auditStatus);
 | 
			
		||||
    IPage<CommodityVO> commodityList(PageVO pageVO, String name, String auditStatus);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -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<CommodityMapper, Commodity
 | 
			
		||||
        }
 | 
			
		||||
        return true;
 | 
			
		||||
    }
 | 
			
		||||
    private void checkCommodity(Commodity commodity){
 | 
			
		||||
 | 
			
		||||
    private void checkCommodity(Commodity commodity) {
 | 
			
		||||
        //商品是否审核通过
 | 
			
		||||
        GoodsSku goodsSku=goodsSkuService.getById(commodity.getSkuId());
 | 
			
		||||
        if(!goodsSku.getIsAuth().equals(GoodsAuthEnum.PASS.name())){
 | 
			
		||||
            throw new ServiceException(goodsSku.getGoodsName()+" 未审核通过,不能添加直播商品");
 | 
			
		||||
        GoodsSku goodsSku = goodsSkuService.getById(commodity.getSkuId());
 | 
			
		||||
        if (!goodsSku.getIsAuth().equals(GoodsAuthEnum.PASS.name())) {
 | 
			
		||||
            throw new ServiceException(goodsSku.getGoodsName() + " 未审核通过,不能添加直播商品");
 | 
			
		||||
        }
 | 
			
		||||
        //是否已添加规格商品
 | 
			
		||||
        if(this.count(new LambdaQueryWrapper<Commodity>().eq(Commodity::getSkuId,commodity.getSkuId()))>0){
 | 
			
		||||
            throw new ServiceException(goodsSku.getGoodsName()+" 已添加规格商品,无法重复增加");
 | 
			
		||||
        if (this.count(new LambdaQueryWrapper<Commodity>().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<CommodityMapper, Commodity
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public IPage<Commodity> commodityList(PageVO pageVO, String name, String auditStatus) {
 | 
			
		||||
        return this.page(PageUtil.initPage(pageVO),
 | 
			
		||||
                new LambdaQueryWrapper<Commodity>().like(name!=null,Commodity::getName,name)
 | 
			
		||||
                        .eq(auditStatus!=null,Commodity::getAuditStatus,auditStatus));
 | 
			
		||||
    public IPage<CommodityVO> commodityList(PageVO pageVO, String name, String auditStatus) {
 | 
			
		||||
        return this.baseMapper.commodityVOList(PageUtil.initPage(pageVO),
 | 
			
		||||
                new QueryWrapper<CommodityVO>().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()));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -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<IPage<Commodity>> page(String auditStatus, String name, PageVO pageVO) {
 | 
			
		||||
    public ResultMessage<IPage<CommodityVO>> page(String auditStatus, String name, PageVO pageVO) {
 | 
			
		||||
        return ResultUtil.data(commodityService.commodityList(pageVO, name, auditStatus));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user