添加直播间首页接口
This commit is contained in:
@ -17,6 +17,7 @@ import co.yixiang.enums.ProductEnum;
|
|||||||
import co.yixiang.modules.activity.service.YxStoreCombinationService;
|
import co.yixiang.modules.activity.service.YxStoreCombinationService;
|
||||||
import co.yixiang.modules.activity.service.YxStoreSeckillService;
|
import co.yixiang.modules.activity.service.YxStoreSeckillService;
|
||||||
import co.yixiang.modules.activity.vo.YxStoreSeckillQueryVo;
|
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.service.YxStoreProductService;
|
||||||
import co.yixiang.modules.product.vo.YxSystemStoreQueryVo;
|
import co.yixiang.modules.product.vo.YxSystemStoreQueryVo;
|
||||||
import co.yixiang.modules.shop.param.YxSystemStoreQueryParam;
|
import co.yixiang.modules.shop.param.YxSystemStoreQueryParam;
|
||||||
@ -60,6 +61,7 @@ public class IndexController {
|
|||||||
private final YxSystemStoreService systemStoreService;
|
private final YxSystemStoreService systemStoreService;
|
||||||
private final YxStoreCombinationService storeCombinationService;
|
private final YxStoreCombinationService storeCombinationService;
|
||||||
private final YxStoreSeckillService storeSeckillService;
|
private final YxStoreSeckillService storeSeckillService;
|
||||||
|
private final YxWechatLiveService wechatLiveService;
|
||||||
|
|
||||||
@Cacheable(cacheNames = ShopConstants.YSHOP_REDIS_INDEX_KEY)
|
@Cacheable(cacheNames = ShopConstants.YSHOP_REDIS_INDEX_KEY)
|
||||||
@GetMapping("/index")
|
@GetMapping("/index")
|
||||||
@ -76,6 +78,7 @@ public class IndexController {
|
|||||||
.menus(systemGroupDataService.getDatas(ShopConstants.YSHOP_HOME_MENUS))
|
.menus(systemGroupDataService.getDatas(ShopConstants.YSHOP_HOME_MENUS))
|
||||||
.roll(systemGroupDataService.getDatas(ShopConstants.YSHOP_HOME_ROLL_NEWS))
|
.roll(systemGroupDataService.getDatas(ShopConstants.YSHOP_HOME_ROLL_NEWS))
|
||||||
.seckillList(storeSeckillService.getList(1, 4))
|
.seckillList(storeSeckillService.getList(1, 4))
|
||||||
|
.liveList(wechatLiveService.getList(1,4,0))
|
||||||
.build();
|
.build();
|
||||||
return ApiResult.ok(indexVo);
|
return ApiResult.ok(indexVo);
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@ package co.yixiang.modules.shop.vo;
|
|||||||
|
|
||||||
import co.yixiang.modules.activity.vo.YxStoreCombinationQueryVo;
|
import co.yixiang.modules.activity.vo.YxStoreCombinationQueryVo;
|
||||||
import co.yixiang.modules.activity.vo.YxStoreSeckillQueryVo;
|
import co.yixiang.modules.activity.vo.YxStoreSeckillQueryVo;
|
||||||
|
import co.yixiang.modules.mp.service.dto.YxWechatLiveDto;
|
||||||
import co.yixiang.modules.product.vo.YxStoreProductQueryVo;
|
import co.yixiang.modules.product.vo.YxStoreProductQueryVo;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
@ -49,5 +50,8 @@ public class IndexVo {
|
|||||||
//首发新品->秒杀
|
//首发新品->秒杀
|
||||||
@ApiModelProperty("首发新品->秒杀")
|
@ApiModelProperty("首发新品->秒杀")
|
||||||
private List<YxStoreSeckillQueryVo> seckillList;
|
private List<YxStoreSeckillQueryVo> seckillList;
|
||||||
|
//直播间信息
|
||||||
|
@ApiModelProperty("直播间")
|
||||||
|
private List<YxWechatLiveDto> liveList;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -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.service.dto.YxWechatLiveQueryCriteria;
|
||||||
import co.yixiang.modules.mp.vo.WechatLiveVo;
|
import co.yixiang.modules.mp.vo.WechatLiveVo;
|
||||||
import co.yixiang.modules.mp.domain.YxWechatLive;
|
import co.yixiang.modules.mp.domain.YxWechatLive;
|
||||||
|
import co.yixiang.modules.product.vo.YxStoreProductQueryVo;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
@ -67,4 +68,14 @@ public interface YxWechatLiveService extends BaseService<YxWechatLive>{
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<WxMaLiveResult.LiveReplay> getLiveReplay(Integer roomId);
|
List<WxMaLiveResult.LiveReplay> getLiveReplay(Integer roomId);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商品列表
|
||||||
|
* @param page 页码
|
||||||
|
* @param limit 条数
|
||||||
|
* @param order ProductEnum
|
||||||
|
* @return List
|
||||||
|
*/
|
||||||
|
List<YxWechatLiveDto> getList(int page, int limit, int order);
|
||||||
}
|
}
|
||||||
|
@ -93,5 +93,7 @@ public class YxWechatLiveDto implements Serializable {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
private String productId;
|
private String productId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "商品信息")
|
||||||
private List<YxWechatLiveGoodsDto> product;
|
private List<YxWechatLiveGoodsDto> product;
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,8 @@
|
|||||||
*/
|
*/
|
||||||
package co.yixiang.modules.mp.service.dto;
|
package co.yixiang.modules.mp.service.dto;
|
||||||
|
|
||||||
|
import co.yixiang.annotation.Query;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -16,4 +18,7 @@ import lombok.Data;
|
|||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class YxWechatLiveQueryCriteria{
|
public class YxWechatLiveQueryCriteria{
|
||||||
|
@ApiModelProperty(value = "直播间状态 101:直播中,102:未开始,103 已结束,104 禁播,105:暂停,106:异常,107:已过期")
|
||||||
|
@Query
|
||||||
|
private Integer liveStatus;
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,7 @@ import cn.hutool.json.JSONUtil;
|
|||||||
import co.yixiang.common.service.impl.BaseServiceImpl;
|
import co.yixiang.common.service.impl.BaseServiceImpl;
|
||||||
import co.yixiang.common.utils.QueryHelpPlus;
|
import co.yixiang.common.utils.QueryHelpPlus;
|
||||||
import co.yixiang.dozer.service.IGenerator;
|
import co.yixiang.dozer.service.IGenerator;
|
||||||
|
import co.yixiang.enums.ShopCommonEnum;
|
||||||
import co.yixiang.exception.BadRequestException;
|
import co.yixiang.exception.BadRequestException;
|
||||||
import co.yixiang.modules.mp.domain.YxWechatLiveGoods;
|
import co.yixiang.modules.mp.domain.YxWechatLiveGoods;
|
||||||
import co.yixiang.modules.mp.service.YxWechatLiveGoodsService;
|
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.vo.WechatLiveVo;
|
||||||
import co.yixiang.modules.mp.domain.YxWechatLive;
|
import co.yixiang.modules.mp.domain.YxWechatLive;
|
||||||
import co.yixiang.modules.mp.config.WxMaConfiguration;
|
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.FileUtil;
|
||||||
import co.yixiang.utils.OrderUtil;
|
import co.yixiang.utils.OrderUtil;
|
||||||
import co.yixiang.utils.StringUtils;
|
import co.yixiang.utils.StringUtils;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
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.PageHelper;
|
||||||
import com.github.pagehelper.PageInfo;
|
import com.github.pagehelper.PageInfo;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@ -66,9 +72,12 @@ public class YxWechatLiveServiceImpl extends BaseServiceImpl<YxWechatLiveMapper,
|
|||||||
private String uploadDirStr;
|
private String uploadDirStr;
|
||||||
private final YxWechatLiveGoodsService wechatLiveGoodsService;
|
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.generator = generator;
|
||||||
this.wechatLiveGoodsService = wechatLiveGoodsService;
|
this.wechatLiveGoodsService = wechatLiveGoodsService;
|
||||||
|
this.wechatLiveMapper = wechatLiveMapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -206,4 +215,28 @@ public class YxWechatLiveServiceImpl extends BaseServiceImpl<YxWechatLiveMapper,
|
|||||||
log.info( "wxMpMaterialUploadResult : {}", JSONUtil.toJsonStr( wxMediaUploadResult ) );
|
log.info( "wxMpMaterialUploadResult : {}", JSONUtil.toJsonStr( wxMediaUploadResult ) );
|
||||||
return 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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user