From 74ee9c42c1d87f3724a21e92871bc8c95c8364c6 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 03 九月 2019 17:04:03 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div
---
fanli/src/main/java/com/yeshi/fanli/service/impl/msg/MsgOrderDetailServiceImpl.java | 58 +++++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 39 insertions(+), 19 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/msg/MsgOrderDetailServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/msg/MsgOrderDetailServiceImpl.java
index 0af5783..23f7f2c 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/msg/MsgOrderDetailServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/msg/MsgOrderDetailServiceImpl.java
@@ -15,6 +15,9 @@
import com.yeshi.fanli.service.inter.msg.UserMsgReadStateService;
import com.yeshi.fanli.util.Constant;
+import redis.clients.jedis.Jedis;
+import redis.clients.jedis.JedisPool;
+
@Service
public class MsgOrderDetailServiceImpl implements MsgOrderDetailService {
@@ -24,6 +27,9 @@
@Resource
private UserMsgReadStateService userMsgReadStateService;
+ @Resource
+ private JedisPool jedisPool;
+
@Override
public void addMsgOrderDetail(MsgOrderDetail detail, boolean needNotify) throws MsgOrderDetailException {
if (detail == null)
@@ -31,25 +37,39 @@
if (detail.getOrderId() == null || detail.getType() == null || detail.getState() == null
|| detail.getUser() == null)
throw new MsgOrderDetailException(2, "娑堟伅涓嶅畬鏁�");
- MsgOrderDetail old = msgOrderDetailMapper.selectByUidAndOrderId(detail.getUser().getId(), detail.getOrderId());
- if (old == null) {
- detail.setCreateTime(new Date());
- detail.setUpdateTime(new Date());
- detail.setRead(false);
- msgOrderDetailMapper.insertSelective(detail);
- } else {
- MsgOrderDetail update = new MsgOrderDetail();
- update.setId(old.getId());
- update.setUpdateTime(new Date());
- update.setState(detail.getState());
- update.setPayMoney(detail.getPayMoney());
- update.setHongBaoMoney(detail.getHongBaoMoney());
- update.setRead(false);
- update.setBeiZhu(detail.getBeiZhu());
- msgOrderDetailMapper.updateByPrimaryKeySelective(update);
+ // 閿佷綇璁㈠崟鍙�
+ Jedis jedis = jedisPool.getResource();
+ try {
+ String key = "rs-order-" + detail.getOrderId();
+ if (jedis.setnx(key, "1") > 0) {
+ jedis.expire(key, 60);
+ MsgOrderDetail old = msgOrderDetailMapper.selectByUidAndOrderId(detail.getUser().getId(),
+ detail.getOrderId());
+ if (old == null) {
+ detail.setCreateTime(new Date());
+ detail.setUpdateTime(new Date());
+ detail.setRead(false);
+ msgOrderDetailMapper.insertSelective(detail);
+ } else {
+ MsgOrderDetail update = new MsgOrderDetail();
+ update.setId(old.getId());
+ update.setUpdateTime(new Date());
+ update.setState(detail.getState());
+ update.setPayMoney(detail.getPayMoney());
+ update.setHongBaoMoney(detail.getHongBaoMoney());
+ update.setRead(false);
+ update.setBeiZhu(detail.getBeiZhu());
+ msgOrderDetailMapper.updateByPrimaryKeySelective(update);
+ }
+ if (needNotify)
+ userMsgReadStateService.addOrderMsgUnReadCount(detail.getUser().getId(), 1);
+ jedis.del(key);
+ }
+
+ } finally {
+ jedisPool.returnResource(jedis);
}
- if (needNotify)
- userMsgReadStateService.addOrderMsgUnReadCount(detail.getUser().getId(), 1);
+
}
@Override
@@ -87,7 +107,7 @@
update.setPayMoney(detail.getPayMoney());
if (detail.getState().intValue() != msg.getState()) {
update.setState(detail.getState());
-// update.setUpdateTime(new Date());
+ // update.setUpdateTime(new Date());
if (needNotify)
userMsgReadStateService.addOrderMsgUnReadCount(detail.getUser().getId(), 1);
}
--
Gitblit v1.8.0