添加直播间首页接口

This commit is contained in:
xuwenbo
2020-09-08 15:18:26 +08:00
parent 585390a511
commit b673cbac23
6 changed files with 59 additions and 1 deletions

View File

@ -17,6 +17,7 @@ import co.yixiang.enums.ProductEnum;
import co.yixiang.modules.activity.service.YxStoreCombinationService;
import co.yixiang.modules.activity.service.YxStoreSeckillService;
import co.yixiang.modules.activity.vo.YxStoreSeckillQueryVo;
import co.yixiang.modules.mp.service.YxWechatLiveService;
import co.yixiang.modules.product.service.YxStoreProductService;
import co.yixiang.modules.product.vo.YxSystemStoreQueryVo;
import co.yixiang.modules.shop.param.YxSystemStoreQueryParam;
@ -60,6 +61,7 @@ public class IndexController {
private final YxSystemStoreService systemStoreService;
private final YxStoreCombinationService storeCombinationService;
private final YxStoreSeckillService storeSeckillService;
private final YxWechatLiveService wechatLiveService;
@Cacheable(cacheNames = ShopConstants.YSHOP_REDIS_INDEX_KEY)
@GetMapping("/index")
@ -76,6 +78,7 @@ public class IndexController {
.menus(systemGroupDataService.getDatas(ShopConstants.YSHOP_HOME_MENUS))
.roll(systemGroupDataService.getDatas(ShopConstants.YSHOP_HOME_ROLL_NEWS))
.seckillList(storeSeckillService.getList(1, 4))
.liveList(wechatLiveService.getList(1,4,0))
.build();
return ApiResult.ok(indexVo);
}

View File

@ -2,6 +2,7 @@ package co.yixiang.modules.shop.vo;
import co.yixiang.modules.activity.vo.YxStoreCombinationQueryVo;
import co.yixiang.modules.activity.vo.YxStoreSeckillQueryVo;
import co.yixiang.modules.mp.service.dto.YxWechatLiveDto;
import co.yixiang.modules.product.vo.YxStoreProductQueryVo;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.ApiModel;
@ -49,5 +50,8 @@ public class IndexVo {
//首发新品->秒杀
@ApiModelProperty("首发新品->秒杀")
private List<YxStoreSeckillQueryVo> seckillList;
//直播间信息
@ApiModelProperty("直播间")
private List<YxWechatLiveDto> liveList;
}

View File

@ -14,6 +14,7 @@ import co.yixiang.modules.mp.service.dto.YxWechatLiveDto;
import co.yixiang.modules.mp.service.dto.YxWechatLiveQueryCriteria;
import co.yixiang.modules.mp.vo.WechatLiveVo;
import co.yixiang.modules.mp.domain.YxWechatLive;
import co.yixiang.modules.product.vo.YxStoreProductQueryVo;
import org.springframework.data.domain.Pageable;
import javax.servlet.http.HttpServletResponse;
@ -67,4 +68,14 @@ public interface YxWechatLiveService extends BaseService<YxWechatLive>{
* @return
*/
List<WxMaLiveResult.LiveReplay> getLiveReplay(Integer roomId);
/**
* 商品列表
* @param page 页码
* @param limit 条数
* @param order ProductEnum
* @return List
*/
List<YxWechatLiveDto> getList(int page, int limit, int order);
}

View File

@ -93,5 +93,7 @@ public class YxWechatLiveDto implements Serializable {
*/
private String productId;
@ApiModelProperty(value = "商品信息")
private List<YxWechatLiveGoodsDto> product;
}

View File

@ -8,6 +8,8 @@
*/
package co.yixiang.modules.mp.service.dto;
import co.yixiang.annotation.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@ -16,4 +18,7 @@ import lombok.Data;
*/
@Data
public class YxWechatLiveQueryCriteria{
@ApiModelProperty(value = "直播间状态 101直播中102未开始103 已结束104 禁播105暂停106异常107已过期")
@Query
private Integer liveStatus;
}

View File

@ -16,6 +16,7 @@ import cn.hutool.json.JSONUtil;
import co.yixiang.common.service.impl.BaseServiceImpl;
import co.yixiang.common.utils.QueryHelpPlus;
import co.yixiang.dozer.service.IGenerator;
import co.yixiang.enums.ShopCommonEnum;
import co.yixiang.exception.BadRequestException;
import co.yixiang.modules.mp.domain.YxWechatLiveGoods;
import co.yixiang.modules.mp.service.YxWechatLiveGoodsService;
@ -27,10 +28,15 @@ import co.yixiang.modules.mp.service.mapper.YxWechatLiveMapper;
import co.yixiang.modules.mp.vo.WechatLiveVo;
import co.yixiang.modules.mp.domain.YxWechatLive;
import co.yixiang.modules.mp.config.WxMaConfiguration;
import co.yixiang.modules.product.domain.YxStoreProduct;
import co.yixiang.modules.product.vo.YxStoreProductQueryVo;
import co.yixiang.utils.FileUtil;
import co.yixiang.utils.OrderUtil;
import co.yixiang.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
@ -66,9 +72,12 @@ public class YxWechatLiveServiceImpl extends BaseServiceImpl<YxWechatLiveMapper,
private String uploadDirStr;
private final YxWechatLiveGoodsService wechatLiveGoodsService;
public YxWechatLiveServiceImpl(IGenerator generator, YxWechatLiveGoodsService wechatLiveGoodsService) {
private final YxWechatLiveMapper wechatLiveMapper;
public YxWechatLiveServiceImpl(IGenerator generator, YxWechatLiveGoodsService wechatLiveGoodsService, YxWechatLiveMapper wechatLiveMapper) {
this.generator = generator;
this.wechatLiveGoodsService = wechatLiveGoodsService;
this.wechatLiveMapper = wechatLiveMapper;
}
/**
@ -206,4 +215,28 @@ public class YxWechatLiveServiceImpl extends BaseServiceImpl<YxWechatLiveMapper,
log.info( "wxMpMaterialUploadResult : {}", JSONUtil.toJsonStr( wxMediaUploadResult ) );
return wxMediaUploadResult;
}
/**
* 直播间列表
* @param page 页码
* @param limit 条数
* @param order ProductEnum
* @return List
*/
@Override
public List<YxWechatLiveDto> getList(int page, int limit, int order) {
//todo 添加状态判断
QueryWrapper<YxWechatLive> wrapper = new QueryWrapper<>();
wrapper.lambda()
.orderByDesc(YxWechatLive::getStartTime);
Page<YxWechatLive> pageModel = new Page<>(page, limit);
IPage<YxWechatLive> pageList = wechatLiveMapper.selectPage(pageModel,wrapper);
return generator.convert(pageList.getRecords(),YxWechatLiveDto.class);
}
}