拼团列表添加分页

This commit is contained in:
xuwenbo
2020-09-13 20:31:44 +08:00
parent c26eea118a
commit 0d5c1b1963
6 changed files with 57 additions and 7 deletions

View File

@ -20,6 +20,7 @@ import co.yixiang.modules.activity.param.PinkCancelParam;
import co.yixiang.modules.activity.param.PinkShareParam;
import co.yixiang.modules.activity.service.YxStoreCombinationService;
import co.yixiang.modules.activity.service.YxStorePinkService;
import co.yixiang.modules.activity.vo.CombinationQueryVo;
import co.yixiang.modules.activity.vo.PinkInfoVo;
import co.yixiang.modules.activity.vo.StoreCombinationVo;
import co.yixiang.modules.activity.vo.YxStoreCombinationQueryVo;
@ -80,8 +81,8 @@ public class StoreCombinationController {
@ApiImplicitParam(name = "limit", value = "页大小,默认为10", paramType = "query", dataType = "int")
})
@ApiOperation(value = "拼团产品列表",notes = "拼团产品列表")
public ApiResult<List<YxStoreCombinationQueryVo>> getList(@RequestParam(value = "page",defaultValue = "1") int page,
@RequestParam(value = "limit",defaultValue = "10") int limit){
public ApiResult<CombinationQueryVo> getList(@RequestParam(value = "page",defaultValue = "1") int page,
@RequestParam(value = "limit",defaultValue = "10") int limit){
return ApiResult.ok(storeCombinationService.getList(page, limit));
}

View File

@ -71,9 +71,9 @@ public class IndexController {
.banner(systemGroupDataService.getDatas(ShopConstants.YSHOP_HOME_BANNER))
.bastList(storeProductService.getList(1,6, ProductEnum.TYPE_1.getValue()))
.benefit(storeProductService.getList(1,10,ProductEnum.TYPE_4.getValue()))
.combinationList(storeCombinationService.getList(1,4))
.combinationList(storeCombinationService.getList(1,8).getStoreCombinationQueryVos())
.firstList(storeProductService.getList(1,6,ProductEnum.TYPE_3.getValue()))
.likeInfo(storeProductService.getList(1,4,ProductEnum.TYPE_2.getValue()))
.likeInfo(storeProductService.getList(1,8,ProductEnum.TYPE_2.getValue()))
.mapKey(RedisUtil.get(ShopKeyUtils.getTengXunMapKey()))
.menus(systemGroupDataService.getDatas(ShopConstants.YSHOP_HOME_MENUS))
.roll(systemGroupDataService.getDatas(ShopConstants.YSHOP_HOME_ROLL_NEWS))

View File

@ -12,6 +12,7 @@ import co.yixiang.common.service.BaseService;
import co.yixiang.modules.activity.domain.YxStoreCombination;
import co.yixiang.modules.activity.service.dto.YxStoreCombinationDto;
import co.yixiang.modules.activity.service.dto.YxStoreCombinationQueryCriteria;
import co.yixiang.modules.activity.vo.CombinationQueryVo;
import co.yixiang.modules.activity.vo.StoreCombinationVo;
import co.yixiang.modules.activity.vo.YxStoreCombinationQueryVo;
import org.springframework.data.domain.Pageable;
@ -35,7 +36,7 @@ public interface YxStoreCombinationService extends BaseService<YxStoreCombinati
* @param limit limit
* @return list
*/
List<YxStoreCombinationQueryVo> getList(int page, int limit);
CombinationQueryVo getList(int page, int limit);
/**
* 获取拼团详情

View File

@ -23,6 +23,7 @@ import co.yixiang.enums.SpecTypeEnum;
import co.yixiang.exception.BadRequestException;
import co.yixiang.modules.activity.domain.YxStoreCombination;
import co.yixiang.modules.activity.domain.YxStorePink;
import co.yixiang.modules.activity.domain.YxStoreSeckill;
import co.yixiang.modules.activity.domain.YxStoreVisit;
import co.yixiang.modules.activity.service.YxStoreCombinationService;
import co.yixiang.modules.activity.service.YxStorePinkService;
@ -32,12 +33,15 @@ import co.yixiang.modules.activity.service.dto.YxStoreCombinationQueryCriteria;
import co.yixiang.modules.activity.service.mapper.YxStoreCombinationMapper;
import co.yixiang.modules.activity.service.mapper.YxStorePinkMapper;
import co.yixiang.modules.activity.service.mapper.YxStoreVisitMapper;
import co.yixiang.modules.activity.vo.CombinationQueryVo;
import co.yixiang.modules.activity.vo.StoreCombinationVo;
import co.yixiang.modules.activity.vo.YxStoreCombinationQueryVo;
import co.yixiang.modules.product.domain.YxStoreProduct;
import co.yixiang.modules.product.domain.YxStoreProductAttrValue;
import co.yixiang.modules.product.service.YxStoreProductAttrService;
import co.yixiang.modules.product.service.YxStoreProductAttrValueService;
import co.yixiang.modules.product.service.YxStoreProductReplyService;
import co.yixiang.modules.product.service.YxStoreProductService;
import co.yixiang.modules.product.service.dto.FromatDetailDto;
import co.yixiang.modules.product.service.dto.ProductFormatDto;
import co.yixiang.modules.product.service.dto.ProductResultDto;
@ -47,8 +51,10 @@ import co.yixiang.modules.template.service.YxShippingTemplatesService;
import co.yixiang.utils.FileUtil;
import co.yixiang.utils.RedisUtil;
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.PageInfo;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
@ -59,6 +65,7 @@ import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -90,6 +97,9 @@ public class YxStoreCombinationServiceImpl extends BaseServiceImpl<YxStoreCombin
@Autowired
private YxShippingTemplatesService shippingTemplatesService;
@Autowired
private YxStoreProductService storeProductService;
/**
@ -164,9 +174,29 @@ public class YxStoreCombinationServiceImpl extends BaseServiceImpl<YxStoreCombin
* @return list
*/
@Override
public List<YxStoreCombinationQueryVo> getList(int page, int limit) {
public CombinationQueryVo getList(int page, int limit) {
CombinationQueryVo combinationQueryVo = new CombinationQueryVo();
Date nowTime = new Date();
Page<YxStoreCombination> pageModel = new Page<>(page, limit);
return yxStoreCombinationMapper.getCombList(pageModel);
QueryWrapper<YxStoreCombination> wrapper = new QueryWrapper<>();
wrapper.lambda()
.eq(YxStoreCombination::getIsShow,1)
.le(YxStoreCombination::getStartTime,nowTime)
.ge(YxStoreCombination::getStopTime,nowTime)
.orderByDesc(YxStoreCombination::getSort);
IPage<YxStoreCombination> yxStoreCombinationIPage = yxStoreCombinationMapper.selectPage(pageModel, wrapper);
List<YxStoreCombinationQueryVo> collect = yxStoreCombinationIPage.getRecords().stream().map(i -> {
YxStoreCombinationQueryVo yxStoreCombinationQueryVo = new YxStoreCombinationQueryVo();
YxStoreProduct product = storeProductService.getById(i.getProductId());
BeanUtils.copyProperties(i, yxStoreCombinationQueryVo);
yxStoreCombinationQueryVo.setSales(product.getSales());
yxStoreCombinationQueryVo.setProductPrice(product.getPrice());
return yxStoreCombinationQueryVo;
}).collect(Collectors.toList());
combinationQueryVo.setStoreCombinationQueryVos(collect);
combinationQueryVo.setLastPage(yxStoreCombinationIPage.getPages());
return combinationQueryVo;
}

View File

@ -12,6 +12,8 @@ import co.yixiang.common.mapper.CoreMapper;
import co.yixiang.modules.activity.domain.YxStoreCombination;
import co.yixiang.modules.activity.vo.YxStoreCombinationQueryVo;
import co.yixiang.modules.product.vo.YxStoreProductQueryVo;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@ -34,6 +36,8 @@ public interface YxStoreCombinationMapper extends CoreMapper<YxStoreCombination>
" AND c.stop_time > now() ORDER BY c.sort desc,c.id desc")
List<YxStoreCombinationQueryVo> getCombList(Page page);
IPage<YxStoreCombination> selectPage(IPage<YxStoreCombination> page, @Param("ew") Wrapper<YxStoreCombination> queryWrapper);
@Select("SELECT c.id,c.effective_time as effectiveTime,c.image,c.people,c.price,c.browse," +
"c.description,c.image,c.images,c.info," +
"c.product_id as productId,c.sales,c.start_time as startTime" +

View File

@ -0,0 +1,14 @@
package co.yixiang.modules.activity.vo;
import lombok.Data;
import java.util.List;
@Data
public class CombinationQueryVo {
private List<YxStoreCombinationQueryVo> storeCombinationQueryVos;
private Long lastPage;
}