添加直播间首页接口
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.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);
|
||||
}
|
||||
|
@ -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;
|
||||
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -93,5 +93,7 @@ public class YxWechatLiveDto implements Serializable {
|
||||
*/
|
||||
|
||||
private String productId;
|
||||
|
||||
@ApiModelProperty(value = "商品信息")
|
||||
private List<YxWechatLiveGoodsDto> product;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user