记得上下班打卡 | git大法好,push需谨慎
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liquidnet-bus-v1
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
董敬伟
liquidnet-bus-v1
Commits
dcac2b47
Commit
dcac2b47
authored
May 30, 2022
by
胡佳晨
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
kylin 库存 改为 商城逻辑 step1
parent
8d5049a1
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
112 additions
and
0 deletions
+112
-0
AbstractOrderCloseReceiver.java
...e/consumer/order/receiver/AbstractOrderCloseReceiver.java
+53
-0
KylinOrderUtils.java
...quidnet/service/consumer/order/utils/KylinOrderUtils.java
+56
-0
KylinOrderTicketsServiceImpl.java
...vice/order/service/impl/KylinOrderTicketsServiceImpl.java
+3
-0
No files found.
liquidnet-bus-service/liquidnet-service-consumer-all/liquidnet-service-consumer-order/src/main/java/com/liquidnet/service/consumer/order/receiver/AbstractOrderCloseReceiver.java
View file @
dcac2b47
...
@@ -9,10 +9,16 @@ import com.liquidnet.commons.lang.util.JsonUtils;
...
@@ -9,10 +9,16 @@ import com.liquidnet.commons.lang.util.JsonUtils;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.consumer.order.utils.GoblinNftUtils
;
import
com.liquidnet.service.consumer.order.utils.GoblinNftUtils
;
import
com.liquidnet.service.consumer.order.utils.KylinOrderUtils
;
import
com.liquidnet.service.goblin.constant.GoblinRedisConst
;
import
com.liquidnet.service.goblin.constant.GoblinRedisConst
;
import
com.liquidnet.service.goblin.constant.GoblinStatusConst
;
import
com.liquidnet.service.goblin.constant.GoblinStatusConst
;
import
com.liquidnet.service.goblin.dto.vo.*
;
import
com.liquidnet.service.goblin.dto.vo.*
;
import
com.liquidnet.service.goblin.param.BackCouponParam
;
import
com.liquidnet.service.goblin.param.BackCouponParam
;
import
com.liquidnet.service.kylin.constant.KylinRedisConst
;
import
com.liquidnet.service.kylin.constant.KylinTableStatusConst
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo
;
import
com.liquidnet.service.kylin.entity.KylinOrderTickets
;
import
com.mongodb.BasicDBObject
;
import
com.mongodb.BasicDBObject
;
import
com.mongodb.client.result.UpdateResult
;
import
com.mongodb.client.result.UpdateResult
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -40,6 +46,8 @@ public abstract class AbstractOrderCloseReceiver implements StreamListener<Strin
...
@@ -40,6 +46,8 @@ public abstract class AbstractOrderCloseReceiver implements StreamListener<Strin
@Autowired
@Autowired
private
RedisUtil
redisUtil
;
private
RedisUtil
redisUtil
;
@Autowired
@Autowired
private
KylinOrderUtils
kylinOrderUtils
;
@Autowired
private
GoblinNftUtils
goblinNftUtils
;
private
GoblinNftUtils
goblinNftUtils
;
@Autowired
@Autowired
private
MongoTemplate
mongoTemplate
;
private
MongoTemplate
mongoTemplate
;
...
@@ -81,6 +89,8 @@ public abstract class AbstractOrderCloseReceiver implements StreamListener<Strin
...
@@ -81,6 +89,8 @@ public abstract class AbstractOrderCloseReceiver implements StreamListener<Strin
return
checkOrderTime
(
orderCode
,
type
);
return
checkOrderTime
(
orderCode
,
type
);
case
"NFT"
:
case
"NFT"
:
return
checkNftOrderTime
(
orderCode
);
return
checkNftOrderTime
(
orderCode
);
case
"TICKET"
:
return
checkTicketOrderTime
(
orderCode
);
default
:
default
:
return
false
;
return
false
;
}
}
...
@@ -205,6 +215,49 @@ public abstract class AbstractOrderCloseReceiver implements StreamListener<Strin
...
@@ -205,6 +215,49 @@ public abstract class AbstractOrderCloseReceiver implements StreamListener<Strin
}
}
}
}
public
boolean
checkTicketOrderTime
(
String
orderId
)
{
LocalDateTime
now
=
LocalDateTime
.
now
();
try
{
KylinOrderTicketVo
kylinOrderTicketVo
=
kylinOrderUtils
.
getOrderTicketVo
(
orderId
);
if
(
kylinOrderTicketVo
.
getStatus
().
equals
(
KylinTableStatusConst
.
ORDER_STATUS0
))
{
//待支付
// // 库存购买数量回滚
// goblinNftUtils.decrSkuCountByUid(nftOrder.getUserId(), nftOrder.getSkuId(), nftOrder.getNum());
// LocalDateTime nowTime = LocalDateTime.now();
// if (StringUtils.isEmpty(nftOrder.getBoxSkuId())) {// 购买藏品
// GoblinListCollectVo goblinListCollectVo = goblinNftUtils.getCollectByNowNext(nowTime, nftOrder.getSkuId());
// String listId = (null == goblinListCollectVo) ? null : goblinListCollectVo.getListId();
// log.debug("listId : {}",listId);
// goblinNftUtils.incrSkuStock(listId, nftOrder.getSkuId(), nftOrder.getNum());
// } else {// 购买盲盒
// GoblinListCollectVo goblinListCollectVo = goblinNftUtils.getCollectByNowNext(nowTime, nftOrder.getBoxSkuId());
// String listId = (null == goblinListCollectVo) ? null : goblinListCollectVo.getListId();
// log.debug("listId : {}",listId);
// goblinNftUtils.incrSkuStock(listId, nftOrder.getBoxSkuId(), nftOrder.getNum());
// }
//
// // 订单状态
// nftOrder.setStatus(GoblinStatusConst.NftStatus.ORDER_STATUS_3.getValue());
// nftOrder.setUpdatedAt(now);
// nftOrder.setCancelTime(now);
// nftOrder.setCancelReason("超时支付关闭");
// goblinNftUtils.setNftOrder(nftOrder);
// goblinNftUtils.updateGoblinNftOrderVo(nftOrder);
// LinkedList<String> sqls = CollectionUtil.linkedListString();
// LinkedList<Object[]> sqlDataOrder = CollectionUtil.linkedListObjectArr();
// sqls.add(SqlMapping.get("goblin_nft_order.update.close"));
// sqlDataOrder.add(new Object[]{
// nftOrder.getStatus(), now, now, "超时支付关闭", nftOrder.getOrderId(), now, now
// });
// sendMsgByRedis(MQConst.GoblinQueue.GOBLIN_ORDER_CLOSE.getKey(),
// SqlMapping.gets(sqls, sqlDataOrder));
}
return
true
;
}
catch
(
Exception
e
)
{
log
.
error
(
"checkTicketOrderTime异常 [valueData:{}, e:{}]"
,
orderId
,
e
);
return
false
;
}
}
private
UpdateResult
updateGoblinStoreOrderVo
(
String
orderId
,
GoblinStoreOrderVo
data
)
{
private
UpdateResult
updateGoblinStoreOrderVo
(
String
orderId
,
GoblinStoreOrderVo
data
)
{
BasicDBObject
object
=
cloneBasicDBObject
().
append
(
"$set"
,
mongoConverter
.
convertToMongoType
(
data
));
BasicDBObject
object
=
cloneBasicDBObject
().
append
(
"$set"
,
mongoConverter
.
convertToMongoType
(
data
));
return
mongoTemplate
.
getCollection
(
GoblinStoreOrderVo
.
class
.
getSimpleName
()).
updateOne
(
return
mongoTemplate
.
getCollection
(
GoblinStoreOrderVo
.
class
.
getSimpleName
()).
updateOne
(
...
...
liquidnet-bus-service/liquidnet-service-consumer-all/liquidnet-service-consumer-order/src/main/java/com/liquidnet/service/consumer/order/utils/KylinOrderUtils.java
0 → 100644
View file @
dcac2b47
package
com
.
liquidnet
.
service
.
consumer
.
order
.
utils
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.service.goblin.constant.GoblinRedisConst
;
import
com.liquidnet.service.goblin.dto.vo.GoblinListCollectVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinNftOrderVo
;
import
com.liquidnet.service.kylin.constant.KylinRedisConst
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo
;
import
com.mongodb.BasicDBObject
;
import
com.mongodb.client.result.UpdateResult
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.convert.MongoConverter
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.stereotype.Component
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.Comparator
;
import
java.util.List
;
import
java.util.stream.Collectors
;
@Component
public
class
KylinOrderUtils
{
@Autowired
private
RedisUtil
redisUtil
;
@Autowired
private
MongoTemplate
mongoTemplate
;
@Autowired
private
MongoConverter
mongoConverter
;
private
static
final
BasicDBObject
basicDBObject
=
new
BasicDBObject
();
//-------- TICKET --------
/**
* 根据订单id 获取 订单vo 详情
*
* @param orderId
* @return
*/
public
KylinOrderTicketVo
getOrderTicketVo
(
String
orderId
)
{
Object
obj
=
redisUtil
.
get
(
KylinRedisConst
.
ORDER
+
orderId
);
if
(
obj
!=
null
)
{
return
(
KylinOrderTicketVo
)
obj
;
}
else
{
KylinOrderTicketVo
ticketData
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"orderTicketsId"
).
is
(
orderId
)),
KylinOrderTicketVo
.
class
,
KylinOrderTicketVo
.
class
.
getSimpleName
());
List
<
KylinOrderTicketEntitiesVo
>
kylinOrderTicketEntitiesVoList
=
mongoTemplate
.
find
(
Query
.
query
(
Criteria
.
where
(
"orderId"
).
is
(
orderId
)),
KylinOrderTicketEntitiesVo
.
class
,
KylinOrderTicketEntitiesVo
.
class
.
getSimpleName
());
ticketData
.
setEntitiesVoList
(
kylinOrderTicketEntitiesVoList
);
redisUtil
.
set
(
KylinRedisConst
.
ORDER
+
orderId
,
ticketData
);
return
ticketData
;
}
}
}
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/service/impl/KylinOrderTicketsServiceImpl.java
View file @
dcac2b47
...
@@ -690,6 +690,9 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
...
@@ -690,6 +690,9 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
sqls
.
add
(
SqlMapping
.
get
(
"kylin_order_ticket.add"
));
sqls
.
add
(
SqlMapping
.
get
(
"kylin_order_ticket.add"
));
LinkedList
<
Object
[]>
sqlsDataA
=
ObjectUtil
.
cloneLinkedListObj
();
LinkedList
<
Object
[]>
sqlsDataA
=
ObjectUtil
.
cloneLinkedListObj
();
sqlsDataA
.
add
(
orderTickets
.
getAddObject
(
CurrentUtil
.
getCliIpAddr
(),
vo
.
getArea
(),
vo
.
getProvince
(),
vo
.
getCity
(),
vo
.
getCounty
()));
sqlsDataA
.
add
(
orderTickets
.
getAddObject
(
CurrentUtil
.
getCliIpAddr
(),
vo
.
getArea
(),
vo
.
getProvince
(),
vo
.
getCity
(),
vo
.
getCounty
()));
// 待支付发送队列
queueUtils
.
sendMsgByRedisGoblinStock
(
orderTickets
.
getOrderTicketsId
(),
orderTickets
.
getCreatedAt
(),
"TICKET"
);
// 生成vo
// 生成vo
KylinOrderTicketVo
orderTicketVo
=
KylinOrderTicketVo
.
getNew
();
KylinOrderTicketVo
orderTicketVo
=
KylinOrderTicketVo
.
getNew
();
orderTicketVo
.
setOrderTicket
(
orderTickets
);
orderTicketVo
.
setOrderTicket
(
orderTickets
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment