记得上下班打卡 | 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; ...@@ -3,6 +3,7 @@ package com.liquidnet.service.goblin.service;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.vo.GoblinAppOrderListVo; import com.liquidnet.service.goblin.dto.vo.GoblinAppOrderListVo;
import com.liquidnet.service.goblin.dto.vo.GoblinSelfMarketingVo; 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 com.liquidnet.service.goblin.dto.vo.GoblinZhengzaiGoodVo;
import java.util.List; import java.util.List;
...@@ -24,7 +25,7 @@ public interface IGoblinStoreZhengzaiService { ...@@ -24,7 +25,7 @@ public interface IGoblinStoreZhengzaiService {
*/ */
ResponseDto<List<GoblinZhengzaiGoodVo>> getSpuList(String marketId, String keyword); 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); ResponseDto<List<GoblinAppOrderListVo>> orderList(int page);
......
...@@ -53,7 +53,7 @@ public class GoblinStoreZhengzaiController { ...@@ -53,7 +53,7 @@ public class GoblinStoreZhengzaiController {
@ApiImplicitParam(type = "form", required = false, dataType = "String", name = "kw", value = "搜索内容【1~64位】,支持`SPU名称`、`SKU名称`、`SKU编码`", example = ""), @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("page") @Valid Integer page,
@RequestParam(value = "kw", required = false) @Size(min = 1, max = 64, message = "搜索内容长度超出范围1~64位") String keyword) { @RequestParam(value = "kw", required = false) @Size(min = 1, max = 64, message = "搜索内容长度超出范围1~64位") String keyword) {
return goblinStoreZhengzaiService.getSpuList2(marketId,keyword,page); return goblinStoreZhengzaiService.getSpuList2(marketId,keyword,page);
......
...@@ -22,6 +22,7 @@ import org.springframework.util.CollectionUtils; ...@@ -22,6 +22,7 @@ import org.springframework.util.CollectionUtils;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
import java.util.HashMap;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -106,8 +107,9 @@ public class GoblinStoreZhengzaiServiceImpl implements IGoblinStoreZhengzaiServi ...@@ -106,8 +107,9 @@ public class GoblinStoreZhengzaiServiceImpl implements IGoblinStoreZhengzaiServi
} }
@Override @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(); String uid = CurrentUtil.getCurrentUid();
GoblinZhengzaiGoodPageVo goodPageVo = GoblinZhengzaiGoodPageVo.getNew();
GoblinStoreInfoVo storeInfoVo = redisUtils.getStoreInfoVoByUid(uid); GoblinStoreInfoVo storeInfoVo = redisUtils.getStoreInfoVoByUid(uid);
if (storeInfoVo == null) { if (storeInfoVo == null) {
return ResponseDto.failure("店铺不存在"); return ResponseDto.failure("店铺不存在");
...@@ -124,7 +126,9 @@ public class GoblinStoreZhengzaiServiceImpl implements IGoblinStoreZhengzaiServi ...@@ -124,7 +126,9 @@ public class GoblinStoreZhengzaiServiceImpl implements IGoblinStoreZhengzaiServi
} }
// 支持搜索SPU // 支持搜索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(); List<GoblinZhengzaiGoodVo> voList = ObjectUtil.getGoblinZhengzaiGoodVoArrayList();
for (String spuId : hitSpuIdList) { for (String spuId : hitSpuIdList) {
...@@ -135,7 +139,10 @@ public class GoblinStoreZhengzaiServiceImpl implements IGoblinStoreZhengzaiServi ...@@ -135,7 +139,10 @@ public class GoblinStoreZhengzaiServiceImpl implements IGoblinStoreZhengzaiServi
voList.add(returnVo); voList.add(returnVo);
} }
} }
return ResponseDto.success(voList); goodPageVo.setData(voList);
goodPageVo.setPage(page);
goodPageVo.setTotal(total);
return ResponseDto.success(goodPageVo);
} }
@Override @Override
......
...@@ -631,12 +631,13 @@ public class GoblinMongoUtils { ...@@ -631,12 +631,13 @@ public class GoblinMongoUtils {
* 在指定SPU商品中模糊搜索,并返回符合条件的SPUID * 在指定SPU商品中模糊搜索,并返回符合条件的SPUID
* *
* @param marketId 活动id * @param marketId 活动id
* @param keyword 搜索内容 * @param keyword 搜索内容
* @param page 页数 * @param page 页数
* @return List<String> * @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; int pageSize = 10;
HashMap map = CollectionUtil.mapStringObject();
Criteria criteria = Criteria.where("delFlg").is("0") Criteria criteria = Criteria.where("delFlg").is("0")
.and("storeId").is(storeId) .and("storeId").is(storeId)
.and("marketId").is(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue().concat(marketId)); .and("marketId").is(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue().concat(marketId));
...@@ -649,8 +650,11 @@ public class GoblinMongoUtils { ...@@ -649,8 +650,11 @@ public class GoblinMongoUtils {
Query query = Query.query(criteria); Query query = Query.query(criteria);
query.with(PageRequest.of(page - 1, pageSize)); query.with(PageRequest.of(page - 1, pageSize));
query.fields().include("spuId"); 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()); 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) { 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