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

Commit a402d6c1 authored by 胡佳晨's avatar 胡佳晨

提交 订单列表接口

parent 851f2ecc
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;
@Data
@ApiModel
public class GoblinMixOrderListVo implements Serializable, Cloneable {
@ApiModelProperty(value = " 商城订单")
private List<GoblinAppOrderListVo> goblinOrder;
@ApiModelProperty(value = " 数字藏品订单")
private List<GoblinNftOrderDetailsVo> nftOrder;
private static final GoblinMixOrderListVo obj = new GoblinMixOrderListVo();
public static GoblinMixOrderListVo getNew() {
try {
return (GoblinMixOrderListVo) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return new GoblinMixOrderListVo();
}
}
...@@ -26,4 +26,7 @@ public interface IGoblinMixAppService { ...@@ -26,4 +26,7 @@ public interface IGoblinMixAppService {
// 根据混合售id 获取售卖内容 // 根据混合售id 获取售卖内容
ResponseDto<List<GoblinMixDetailsItemVo>> getItem(String mixId); ResponseDto<List<GoblinMixDetailsItemVo>> getItem(String mixId);
// 根据mix订单号查询订单列表
ResponseDto<GoblinMixOrderListVo> getMixList(String masterCode);
} }
...@@ -57,4 +57,14 @@ public class GoblinMixAppController { ...@@ -57,4 +57,14 @@ public class GoblinMixAppController {
public ResponseDto<List<GoblinMixDetailsItemVo>> item(@RequestParam(value = "mixId", required = true) String mixId) { public ResponseDto<List<GoblinMixDetailsItemVo>> item(@RequestParam(value = "mixId", required = true) String mixId) {
return goblinMixAppService.getItem(mixId); return goblinMixAppService.getItem(mixId);
} }
@ApiOperationSupport(order = 4)
@ApiOperation(value = "根据mix订单号查询订单列表")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "masterCode", value = "mix订单号"),
})
@GetMapping("order/list")
public ResponseDto<GoblinMixOrderListVo> getMixList(@RequestParam(value = "masterCode", required = true) String masterCode) {
return goblinMixAppService.getMixList(masterCode);
}
} }
...@@ -16,6 +16,7 @@ import com.liquidnet.service.goblin.service.manage.IGoblinMixAppService; ...@@ -16,6 +16,7 @@ import com.liquidnet.service.goblin.service.manage.IGoblinMixAppService;
import com.liquidnet.service.goblin.service.manage.IGoblinMixService; import com.liquidnet.service.goblin.service.manage.IGoblinMixService;
import com.liquidnet.service.goblin.util.*; import com.liquidnet.service.goblin.util.*;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -43,12 +44,11 @@ public class GoblinMixAppServiceImpl implements IGoblinMixAppService { ...@@ -43,12 +44,11 @@ public class GoblinMixAppServiceImpl implements IGoblinMixAppService {
@Autowired @Autowired
GoblinRedisUtils redisUtils; GoblinRedisUtils redisUtils;
@Override @Override
public ResponseDto<List<GoblinMixAppListVo>> mixList(Integer showPosition) { public ResponseDto<List<GoblinMixAppListVo>> mixList(Integer showPosition) {
List<GoblinMixAppListVo> voList = ObjectUtil.goblinMixAppListVo(); List<GoblinMixAppListVo> voList = ObjectUtil.goblinMixAppListVo();
List<String> startList = CollectionUtil.linkedListString(); List<String> startList;
List<String> stockList = CollectionUtil.linkedListString(); List<String> stockList;
if (showPosition == 1) {//商城 if (showPosition == 1) {//商城
startList = redisUtils.getGoblinMixSkuStartList(); startList = redisUtils.getGoblinMixSkuStartList();
stockList = redisUtils.getGoblinMixSkuStockList(); stockList = redisUtils.getGoblinMixSkuStockList();
...@@ -127,4 +127,42 @@ public class GoblinMixAppServiceImpl implements IGoblinMixAppService { ...@@ -127,4 +127,42 @@ public class GoblinMixAppServiceImpl implements IGoblinMixAppService {
} }
return ResponseDto.success(baseVo.getItem()); return ResponseDto.success(baseVo.getItem());
} }
@Override
public ResponseDto<GoblinMixOrderListVo> getMixList(String masterCode) {
HashMap<String, String[]> map = redisUtils.getMixMasterCode(masterCode);
String[] nft = map.get("nft");
String[] goblin = map.get("goblin");
GoblinMixOrderListVo vo = GoblinMixOrderListVo.getNew();
List<GoblinAppOrderListVo> orderListVos = ObjectUtil.goblinAppOrderListVoArrayList();
List<GoblinNftOrderDetailsVo> nftOrderListVos = ObjectUtil.goblinNftOrderDetailsVoArrayList();
for (String orderId : nft) {
// 订单信息
GoblinNftOrderVo orderVo = redisUtils.getGoblinNftOrder(orderId);
GoblinNftOrderDetailsVo orderDetails = GoblinNftOrderDetailsVo.getNew().copy(orderVo);
// 商品信息
GoblinGoodsSkuInfoVo goodsSkuInfoVo = redisUtils.getGoodsSkuInfoVo(orderVo.getSkuId());
GoblinNftOrderGoodsSkuInfoVo nftGoodsSkuInfoVo = GoblinNftOrderGoodsSkuInfoVo.getNew().copy(goodsSkuInfoVo);
orderDetails.setGoodsSkuInfoVo(nftGoodsSkuInfoVo);
nftOrderListVos.add(orderDetails);
}
for (String orderId : goblin) {
GoblinStoreOrderVo orderVo = redisUtils.getGoblinOrder(orderId);
GoblinAppOrderListVo vos = GoblinAppOrderListVo.getNew();
BeanUtils.copyProperties(orderVo, vo);
vos.setRestTime(0L);
List<GoblinOrderSkuVo> skuVos = ObjectUtil.getGoblinOrderSkuVoArrayList();
for (String orderSkuId : orderVo.getOrderSkuVoIds()) {
GoblinOrderSkuVo orderSkuVo = redisUtils.getGoblinOrderSkuVo(orderSkuId);
skuVos.add(orderSkuVo);
}
vos.setOrderSkuVos(skuVos);
orderListVos.add(vos);
}
vo.setGoblinOrder(orderListVos);
vo.setNftOrder(nftOrderListVos);
return ResponseDto.success(vo);
}
} }
...@@ -1597,19 +1597,29 @@ public class GoblinRedisUtils { ...@@ -1597,19 +1597,29 @@ public class GoblinRedisUtils {
} }
//主订单下包含的子订单 public String[] getMasterCode(String masterCode) {
public void setMasterCode(String masterCode, String orderIds) {
String redisKey = GoblinRedisConst.REDIS_GOBLIN_ORDER_MASTER.concat(masterCode); String redisKey = GoblinRedisConst.REDIS_GOBLIN_ORDER_MASTER.concat(masterCode);
redisUtil.set(redisKey, orderIds); Object obj = redisUtil.get(redisKey);
if (obj == null) {
return null;
} else {
return ((String) obj).split(",");
}
} }
public String[] getMasterCode(String masterCode) { public HashMap<String, String[]> getMixMasterCode(String masterCode) {
String redisKey = GoblinRedisConst.REDIS_GOBLIN_ORDER_MASTER.concat(masterCode); String redisKey = GoblinRedisConst.REDIS_GOBLIN_ORDER_MASTER.concat(masterCode);
Object obj = redisUtil.get(redisKey); Object obj = redisUtil.get(redisKey);
if (obj == null) { if (obj == null) {
return null; return null;
} else { } else {
return ((String) obj).split(","); String[] a = ((String) obj).split("&&");
String[] nftA = a[0].split(",");
String[] goblinA = a[1].split(",");
HashMap<String, String[]> map = ObjectUtil.mixIdMap();
map.put("nft", nftA);
map.put("goblin", goblinA);
return map;
} }
} }
......
...@@ -20,6 +20,7 @@ import com.mongodb.client.model.WriteModel; ...@@ -20,6 +20,7 @@ import com.mongodb.client.model.WriteModel;
import org.bson.Document; import org.bson.Document;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
public class ObjectUtil { public class ObjectUtil {
...@@ -99,6 +100,11 @@ public class ObjectUtil { ...@@ -99,6 +100,11 @@ public class ObjectUtil {
private static final ArrayList<GoblinMixManageListVo> goblinMixManageListVo = new ArrayList<>(); private static final ArrayList<GoblinMixManageListVo> goblinMixManageListVo = new ArrayList<>();
private static final ArrayList<GoblinMixAppListVo> goblinMixAppListVo = new ArrayList<>(); private static final ArrayList<GoblinMixAppListVo> goblinMixAppListVo = new ArrayList<>();
private static final ArrayList<GoblinMixDetailsVo> goblinMixDetailsVo = new ArrayList<>(); private static final ArrayList<GoblinMixDetailsVo> goblinMixDetailsVo = new ArrayList<>();
private static final HashMap<String, String[]> mixIdMap = new HashMap();
public static HashMap<String, String[]> mixIdMap() {
return (HashMap<String, String[]>) mixIdMap.clone();
}
public static ArrayList<GoblinMixAppListVo> goblinMixAppListVo() { public static ArrayList<GoblinMixAppListVo> goblinMixAppListVo() {
return (ArrayList<GoblinMixAppListVo>) goblinMixAppListVo.clone(); return (ArrayList<GoblinMixAppListVo>) goblinMixAppListVo.clone();
......
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