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

Commit 44e2769a authored by 胡佳晨's avatar 胡佳晨

正在下单 增加 从mongo读取 根据商铺id的订单列表

parent a953f0be
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.GoblinZhengzaiGoodVo;
......@@ -22,4 +23,5 @@ public interface IGoblinStoreZhengzaiService {
*/
ResponseDto<List<GoblinZhengzaiGoodVo>> getSpuList(String marketId);
ResponseDto<List<GoblinAppOrderListVo>> orderList(int page);
}
......@@ -53,6 +53,15 @@ public class GoblinStoreZhengzaiController {
return goblinOrderService.checkOrder(param, param.getUid());
}
@PostMapping("list")
@ApiOperation("订单列表[商铺]")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "Integer", name = "page", value = "页数", example = "1"),
})
public ResponseDto<List<GoblinAppOrderListVo>> orderList(@RequestParam("page") @Valid int page) {
return goblinOrderAppService.orderList(page);
}
@PostMapping("listByCode")
@ApiOperation("列表[根据masterCode]")
@ApiImplicitParams({
......
......@@ -15,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
......@@ -45,7 +46,7 @@ public class GoblinStoreZhengzaiServiceImpl implements IGoblinStoreZhengzaiServi
LocalDateTime now = LocalDateTime.now();
for (GoblinSelfMarketingVo item : list) {
GoblinMarketingZhengzaiRelationVo zhengzaiRelationVo = redisUtils.getZhengzaiRelation(item.getSelfMarketId(), storeId);
if (LocalDateTime.parse(item.getEndTime(), DTF_YMD_HMS).isAfter(now) && zhengzaiRelationVo != null ) {
if (LocalDateTime.parse(item.getEndTime(), DTF_YMD_HMS).isAfter(now) && zhengzaiRelationVo != null) {
if (marketIds.contains(item.getSelfMarketId())) {
List<GoblinMarketRelationVo> relationVo = redisUtils.getMarketRelation(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue(), item.getSelfMarketId());
List<String> storeIdList = relationVo.stream().map(GoblinMarketRelationVo::getStoreId).distinct().collect(Collectors.toList());//配置了商铺的店铺
......@@ -79,4 +80,45 @@ public class GoblinStoreZhengzaiServiceImpl implements IGoblinStoreZhengzaiServi
}
return ResponseDto.success(voList);
}
@Override
public ResponseDto<List<GoblinAppOrderListVo>> orderList(int page) {
String uid = CurrentUtil.getCurrentUid();
List<GoblinAppOrderListVo> orderVoList = ObjectUtil.goblinAppOrderListVoArrayList();
GoblinStoreInfoVo storeInfoVo = redisUtils.getStoreInfoVoByUid(uid);
List<GoblinStoreOrderVo> mongoVoList = mongoUtils.storeZhengzaiOrderList(page,storeInfoVo.getStoreId());
for (GoblinStoreOrderVo orderVo : mongoVoList) {
GoblinAppOrderListVo vo = GoblinAppOrderListVo.getNew();
BeanUtils.copyProperties(orderVo, vo);
vo.setRestTime(getRestTime(orderVo));
List<GoblinOrderSkuVo> skuVos = ObjectUtil.getGoblinOrderSkuVoArrayList();
for (String orderSkuId : orderVo.getOrderSkuVoIds()) {
GoblinOrderSkuVo orderSkuVo = redisUtils.getGoblinOrderSkuVo(orderSkuId);
skuVos.add(orderSkuVo);
}
vo.setOrderSkuVos(skuVos);
orderVoList.add(vo);
}
return ResponseDto.success(orderVoList);
}
//获取 订单剩余可支付时间[S]
private long getRestTime(GoblinStoreOrderVo orderVo) {
long restTime = 0L;
if (orderVo.getStatus() == GoblinStatusConst.Status.ORDER_STATUS_0.getValue()) {
try {
Date OverdueAt = DateUtil.addMin(DateUtil.parse(orderVo.getCreatedAt(), "yyyy-MM-dd HH:mm:ss"), orderVo.getPayCountdownMinute());
restTime = DateUtil.intervalSeconds(
OverdueAt,
DateUtil.parse(DateUtil.getNowTime(), "yyyy-MM-dd HH:mm:ss")
);
if (restTime <= 0L) {
restTime = 0L;
}
} catch (Exception e) {
e.printStackTrace();
}
}
return restTime;
}
}
......@@ -865,4 +865,15 @@ public class GoblinMongoUtils {
map.put("total", total);
return map;
}
//商户 正在下单列表
public List<GoblinStoreOrderVo> storeZhengzaiOrderList(int page, String storeId) {
//查询销量
int size = 40;
int skipCount = ((page - 1) * size);
Criteria criteria = Criteria.where("storeId").is(storeId);
Query query = Query.query(criteria);
query.skip(skipCount).limit(size).with(Sort.by(Sort.Order.desc("createdAt")));
return mongoTemplate.find(query, GoblinStoreOrderVo.class, GoblinStoreOrderVo.class.getSimpleName());
}
}
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