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

Commit 3d0d7f5a authored by 胡佳晨's avatar 胡佳晨

提交接口

parent a402d6c1
...@@ -573,7 +573,7 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService { ...@@ -573,7 +573,7 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
sqlDataOrder.add(new Object[]{ sqlDataOrder.add(new Object[]{
storeOrder.getMasterOrderCode(), storeOrder.getOrderId(), storeOrder.getStoreId(), storeOrder.getStoreName(), storeOrder.getOrderCode(), storeOrder.getUserId(), storeOrder.getUserName(), storeOrder.getUserMobile(), storeOrder.getPriceTotal(), storeOrder.getPayCode(), storeOrder.getMasterOrderCode(), storeOrder.getOrderId(), storeOrder.getStoreId(), storeOrder.getStoreName(), storeOrder.getOrderCode(), storeOrder.getUserId(), storeOrder.getUserName(), storeOrder.getUserMobile(), storeOrder.getPriceTotal(), storeOrder.getPayCode(),
storeOrder.getPriceActual(), storeOrder.getPriceRefund(), storeOrder.getPriceExpress(), storeOrder.getPriceCoupon(), storeOrder.getStorePriceCoupon(), storeOrder.getPriceVoucher(), storeOrder.getStatus(), storeOrder.getUcouponId(), storeOrder.getStoreCouponId(), storeOrder.getPayType(), storeOrder.getDeviceFrom(), storeOrder.getPriceActual(), storeOrder.getPriceRefund(), storeOrder.getPriceExpress(), storeOrder.getPriceCoupon(), storeOrder.getStorePriceCoupon(), storeOrder.getPriceVoucher(), storeOrder.getStatus(), storeOrder.getUcouponId(), storeOrder.getStoreCouponId(), storeOrder.getPayType(), storeOrder.getDeviceFrom(),
storeOrder.getSource(), storeOrder.getVersion(), storeOrder.getIsMember(), storeOrder.getOrderType(), storeOrder.getWriteOffCode(), storeOrder.getPayCountdownMinute(), storeOrder.getIpAddress(), storeOrder.getMarketId(), storeOrder.getMarketType(), storeOrder.getCreatedAt(),"" storeOrder.getSource(), storeOrder.getVersion(), storeOrder.getIsMember(), storeOrder.getOrderType(), storeOrder.getWriteOffCode(), storeOrder.getPayCountdownMinute(), storeOrder.getIpAddress(), storeOrder.getMarketId(), storeOrder.getMarketType(), storeOrder.getCreatedAt(), ""
}); });
GoblinOrderAttr orderAttr = item.getOrderAttr(); GoblinOrderAttr orderAttr = item.getOrderAttr();
sqlDataAttr.add(new Object[]{ sqlDataAttr.add(new Object[]{
...@@ -585,7 +585,7 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService { ...@@ -585,7 +585,7 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
GoblinOrderAttrVo orderAttrVo = GoblinOrderAttrVo.getNew().copy(orderAttr); GoblinOrderAttrVo orderAttrVo = GoblinOrderAttrVo.getNew().copy(orderAttr);
//待支付发送队列 //待支付发送队列
queueUtils.sendMsgByRedisGoblinStock(orderVo.getMasterOrderCode(), storeOrder.getCreatedAt(), "GOBLIN",5); queueUtils.sendMsgByRedisGoblinStock(orderVo.getMasterOrderCode(), storeOrder.getCreatedAt(), "GOBLIN", 5);
//redis 赋值 //redis 赋值
orderVo.setOrderAttrVo(orderAttrVo); orderVo.setOrderAttrVo(orderAttrVo);
orderVo.setOrderSkuVoIds(goblinOrderSkuIdList); orderVo.setOrderSkuVoIds(goblinOrderSkuIdList);
...@@ -983,9 +983,12 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService { ...@@ -983,9 +983,12 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
String pre = GoblinStatusConst.MarketPreStatus.getPre(orderSkuVo.getSkuId()); String pre = GoblinStatusConst.MarketPreStatus.getPre(orderSkuVo.getSkuId());
String skuId = orderSkuVo.getSkuId(); String skuId = orderSkuVo.getSkuId();
//需要判断是否超时支付 //需要判断是否超时支付
if (!"超时支付自动退款".equals(backOrderVo.getDescribes())) {
redisUtils.incrSkuStock(pre, skuId, orderSkuVo.getNum()); redisUtils.incrSkuStock(pre, skuId, orderSkuVo.getNum());
redisUtils.decrSkuCountByUid(orderVo.getUserId(), skuId, orderSkuVo.getNum()); redisUtils.decrSkuCountByUid(orderVo.getUserId(), skuId, orderSkuVo.getNum());
} }
}
redisUtils.setGoblinOrderSku(backOrderSkuVo.getOrderSkuId(), orderSkuVo); redisUtils.setGoblinOrderSku(backOrderSkuVo.getOrderSkuId(), orderSkuVo);
mongoUtils.updateGoblinOrderSkuVo(backOrderSkuVo.getOrderSkuId(), orderSkuVo); mongoUtils.updateGoblinOrderSkuVo(backOrderSkuVo.getOrderSkuId(), orderSkuVo);
sqlsOrderSku.add(new Object[]{ sqlsOrderSku.add(new Object[]{
......
package com.liquidnet.service.order.utils; package com.liquidnet.service.order.utils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.*; import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
...@@ -569,4 +570,62 @@ public class GoblinNftOrderUtils { ...@@ -569,4 +570,62 @@ public class GoblinNftOrderUtils {
return null; return null;
} }
} }
/**
* 生成我的藏品
*
* @param orderVo
*/
public void generateUserArtwork(GoblinNftOrderVo orderVo, Integer source) {
String uid = orderVo.getUserId(), skuId = orderVo.getSkuId(), orderId = orderVo.getOrderId(), spuId = orderVo.getSpuId();
if (goblinRedisUtils.hasGenUserDigitalArtwork(uid, skuId, orderId)) {// 已生成
log.warn("#GEN_ARTWORK EXIST_ART[uid={},skuId={},orderId={},source={}]", uid, skuId, orderId, source);
return;
}
GoblinGoodsInfoVo goodsInfoVo = goblinRedisUtils.getGoodsInfoVo(spuId);
LocalDateTime now = LocalDateTime.now();
GoblinUserDigitalArtworkVo digitalArtworkVo = GoblinUserDigitalArtworkVo.getNew();
// String artworkId = IDGenerator.nextMilliId2();
String artworkId = IDGenerator.nextSnowId();
digitalArtworkVo.setArtworkId(artworkId);
digitalArtworkVo.setSkuId(skuId);
digitalArtworkVo.setUid(uid);
digitalArtworkVo.setOrderId(orderId);
digitalArtworkVo.setSource(source);
digitalArtworkVo.setState(source == 31 ? 5 : 0);
digitalArtworkVo.setDelFlg("0");
digitalArtworkVo.setCreatedAt(now);
digitalArtworkVo.setAuthor(goodsInfoVo.getAuthor());
digitalArtworkVo.setPublisher(goodsInfoVo.getPublisher());
// Redis记录VO
goblinRedisUtils.setGoblinUserDigitalArtworkVo(digitalArtworkVo);
// Redis更新藏品ID列表
goblinRedisUtils.addGoblinUserDigitalArtworkIds(uid, artworkId);
// 缓存用户藏品数
goblinRedisUtils.incrGoblinUserDigitalArtworks(uid);
// Redis生成标记(缓存三天),用于上面的生成检查
goblinRedisUtils.markGenUserDigitalArtwork(uid, skuId, orderId);
// Mongo记录VO
goblinOrderUtils.setMongoList(GoblinUserDigitalArtworkVo.class.getSimpleName(), "artworkId", digitalArtworkVo.getArtworkId(), GoblinRedisConst.USER_DIGITAL_ARTWORK, 1);
// goblinMongoUtils.insertGoblinUserDigitalArtworkVo(digitalArtworkVo);
if (source != 31) {// 空投需要领取再发行
GoblinGoodsSkuInfoVo goodsSkuInfoVo = goblinRedisUtils.getGoodsSkuInfoVo(skuId);
if ("0".equals(goodsSkuInfoVo.getUnbox())) {// 非盲盒,NFT发行购买
ObjectNode bizNftBuyNode = JsonUtils.OM().createObjectNode().put("nftOrderPayId", orderId).put("routerType", goodsSkuInfoVo.getRouteType())
.put("skuId", skuId).put("userId", uid).put("buyTimestamp", DateUtil.Formatter.yyyyMMddHHmmss.format(now));
queueUtils.sendMsgByRedis(MQConst.GalaxyQueue.JSON_NFT_PUBLISH_AND_BUY.getKey(), bizNftBuyNode.toString());
}
}
// Mysql持久化
LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
toMqSqls.add(SqlMapping.get("goblin_user_digital_artwork.insert"));
LinkedList<Object[]> initUserDigitalArtworkObjs = CollectionUtil.linkedListObjectArr();
initUserDigitalArtworkObjs.add(new Object[]{digitalArtworkVo.getArtworkId(), skuId, uid, orderId, source, digitalArtworkVo.getState(), now});
queueUtils.sendMsgByRedis(MQConst.GoblinQueue.SQL_ARTWORK_GEN.getKey(), SqlMapping.gets(toMqSqls, initUserDigitalArtworkObjs));
}
} }
...@@ -461,6 +461,22 @@ public class GoblinRedisUtils { ...@@ -461,6 +461,22 @@ public class GoblinRedisUtils {
} }
} }
public HashMap<String, String[]> getMixMasterCode(String masterCode) {
String redisKey = GoblinRedisConst.REDIS_GOBLIN_ORDER_MASTER.concat(masterCode);
Object obj = redisUtil.get(redisKey);
if (obj == null) {
return null;
} else {
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;
}
}
//主订单对应的出货吗 //主订单对应的出货吗
public void setOffCode(String writeOffCode, String masterCode) { public void setOffCode(String writeOffCode, String masterCode) {
String redisKey = GoblinRedisConst.REDIS_GOBLIN_ORDER_OFFCODE.concat(writeOffCode); String redisKey = GoblinRedisConst.REDIS_GOBLIN_ORDER_OFFCODE.concat(writeOffCode);
......
...@@ -57,10 +57,16 @@ public class ObjectUtil { ...@@ -57,10 +57,16 @@ public class ObjectUtil {
private static final ArrayList<GoblinGoodsSkuInfoVo> goblinGoodsSkuInfoVos = new ArrayList<>(); private static final ArrayList<GoblinGoodsSkuInfoVo> goblinGoodsSkuInfoVos = new ArrayList<>();
private static final HashMap<String, List<GoblinStoreOrder>> hashMapSp = new HashMap(); private static final HashMap<String, List<GoblinStoreOrder>> hashMapSp = new HashMap();
private static final HashMap<String, List<GoblinGoodsSkuInfoVo>> goblinGoodsSkuInfoVoMap = new HashMap(); private static final HashMap<String, List<GoblinGoodsSkuInfoVo>> goblinGoodsSkuInfoVoMap = new HashMap();
private static final HashMap<String, String[]> mixIdMap = new HashMap();
public static Object[] objectsArray; public static Object[] objectsArray;
public static final Integer[] integerArray2 = new Integer[2]; public static final Integer[] integerArray2 = new Integer[2];
public static HashMap<String, String[]> mixIdMap() {
return (HashMap<String, String[]>) mixIdMap.clone();
}
public static ArrayList<GoblinGoodsSkuInfoVo> goblinGoodsSkuInfoVos() { public static ArrayList<GoblinGoodsSkuInfoVo> goblinGoodsSkuInfoVos() {
return (ArrayList<GoblinGoodsSkuInfoVo>) goblinGoodsSkuInfoVos.clone(); return (ArrayList<GoblinGoodsSkuInfoVo>) goblinGoodsSkuInfoVos.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