记得上下班打卡 | git大法好,push需谨慎

Commit 236934bf authored by 胡佳晨's avatar 胡佳晨

增加分页 店铺spulist

parent 5607a75d
package com.liquidnet.service.goblin.dto.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@ApiModel(value = "GoblinZhengzaiGoodPageVo", description = "正在下单商铺列表vo带页数")
@Data
public class GoblinZhengzaiGoodPageVo implements Serializable,Cloneable {
@ApiModelProperty(position = 1, value = "数据")
private List<GoblinZhengzaiGoodVo> data;
@ApiModelProperty(position = 2, value = "当前页")
private int page;
@ApiModelProperty(position = 3, value = "总数")
private long total;
private static final GoblinZhengzaiGoodPageVo obj = new GoblinZhengzaiGoodPageVo();
public static GoblinZhengzaiGoodPageVo getNew() {
try {
return (GoblinZhengzaiGoodPageVo) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return new GoblinZhengzaiGoodPageVo();
}
}
......@@ -3,6 +3,7 @@ package com.liquidnet.service.goblin.service;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.vo.GoblinAppOrderListVo;
import com.liquidnet.service.goblin.dto.vo.GoblinSelfMarketingVo;
import com.liquidnet.service.goblin.dto.vo.GoblinZhengzaiGoodPageVo;
import com.liquidnet.service.goblin.dto.vo.GoblinZhengzaiGoodVo;
import java.util.List;
......@@ -24,7 +25,7 @@ public interface IGoblinStoreZhengzaiService {
*/
ResponseDto<List<GoblinZhengzaiGoodVo>> getSpuList(String marketId, String keyword);
ResponseDto<List<GoblinZhengzaiGoodVo>> getSpuList2(String marketId, String keyword,Integer page);
ResponseDto<GoblinZhengzaiGoodPageVo> getSpuList2(String marketId, String keyword, Integer page);
ResponseDto<List<GoblinAppOrderListVo>> orderList(int page);
......
......@@ -53,7 +53,7 @@ public class GoblinStoreZhengzaiController {
@ApiImplicitParam(type = "form", required = false, dataType = "String", name = "kw", value = "搜索内容【1~64位】,支持`SPU名称`、`SKU名称`、`SKU编码`", example = ""),
})
public ResponseDto<List<GoblinZhengzaiGoodVo>> getStoreList2(@RequestParam("marketId") @Valid String marketId,
public ResponseDto<GoblinZhengzaiGoodPageVo> getStoreList2(@RequestParam("marketId") @Valid String marketId,
@RequestParam("page") @Valid Integer page,
@RequestParam(value = "kw", required = false) @Size(min = 1, max = 64, message = "搜索内容长度超出范围1~64位") String keyword) {
return goblinStoreZhengzaiService.getSpuList2(marketId,keyword,page);
......
......@@ -22,6 +22,7 @@ import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.stream.Collectors;
......@@ -106,8 +107,9 @@ public class GoblinStoreZhengzaiServiceImpl implements IGoblinStoreZhengzaiServi
}
@Override
public ResponseDto<List<GoblinZhengzaiGoodVo>> getSpuList2(String marketId, String keyword, Integer page) {
public ResponseDto<GoblinZhengzaiGoodPageVo> getSpuList2(String marketId, String keyword, Integer page) {
String uid = CurrentUtil.getCurrentUid();
GoblinZhengzaiGoodPageVo goodPageVo = GoblinZhengzaiGoodPageVo.getNew();
GoblinStoreInfoVo storeInfoVo = redisUtils.getStoreInfoVoByUid(uid);
if (storeInfoVo == null) {
return ResponseDto.failure("店铺不存在");
......@@ -124,7 +126,9 @@ public class GoblinStoreZhengzaiServiceImpl implements IGoblinStoreZhengzaiServi
}
// 支持搜索SPU
List<String> hitSpuIdList = mongoUtils.getMarketSpuData(marketId,page, keyword,storeId);
HashMap map = mongoUtils.getMarketSpuData(marketId,page, keyword,storeId);
long total = (long) map.get("total");
List<String> hitSpuIdList = (List<String>) map.get("data");
List<GoblinZhengzaiGoodVo> voList = ObjectUtil.getGoblinZhengzaiGoodVoArrayList();
for (String spuId : hitSpuIdList) {
......@@ -135,7 +139,10 @@ public class GoblinStoreZhengzaiServiceImpl implements IGoblinStoreZhengzaiServi
voList.add(returnVo);
}
}
return ResponseDto.success(voList);
goodPageVo.setData(voList);
goodPageVo.setPage(page);
goodPageVo.setTotal(total);
return ResponseDto.success(goodPageVo);
}
@Override
......
......@@ -635,8 +635,9 @@ public class GoblinMongoUtils {
* @param page 页数
* @return List<String>
*/
public List<String> getMarketSpuData(String marketId,int page,String keyword,String storeId){
public HashMap<String, Object> getMarketSpuData(String marketId, int page, String keyword, String storeId) {
int pageSize = 10;
HashMap map = CollectionUtil.mapStringObject();
Criteria criteria = Criteria.where("delFlg").is("0")
.and("storeId").is(storeId)
.and("marketId").is(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue().concat(marketId));
......@@ -649,8 +650,11 @@ public class GoblinMongoUtils {
Query query = Query.query(criteria);
query.with(PageRequest.of(page - 1, pageSize));
query.fields().include("spuId");
long total = mongoTemplate.count(query, GoblinStoreMgtGoodsListVo.class, GoblinGoodsInfoVo.class.getSimpleName());
List<GoblinStoreMgtGoodsListVo> goodsListVos = mongoTemplate.find(query, GoblinStoreMgtGoodsListVo.class, GoblinGoodsInfoVo.class.getSimpleName());
return CollectionUtils.isEmpty(goodsListVos) ? CollectionUtil.arrayListString() : goodsListVos.stream().map(GoblinStoreMgtGoodsListVo::getSpuId).distinct().collect(Collectors.toList());
map.put("total",total);
map.put("data",CollectionUtils.isEmpty(goodsListVos) ? CollectionUtil.arrayListString() : goodsListVos.stream().map(GoblinStoreMgtGoodsListVo::getSpuId).distinct().collect(Collectors.toList()));
return map;
}
public List<String> getMgtSpuNosForMarketBySpuNos(List<String> spuNos, Object... shelvesStatus) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment