From 2cde53516c1689efab451aef72c1db5e13b825a3 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 15 四月 2020 16:42:03 +0800
Subject: [PATCH] 团队订单金额消息加入补贴
---
fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserGetIntegralFromOrderRecordServiceImpl.java | 33 +++++++++++++++++++++++++--------
1 files changed, 25 insertions(+), 8 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserGetIntegralFromOrderRecordServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserGetIntegralFromOrderRecordServiceImpl.java
index 10d1b51..ba28274 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserGetIntegralFromOrderRecordServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserGetIntegralFromOrderRecordServiceImpl.java
@@ -10,14 +10,22 @@
import com.yeshi.fanli.dao.mybatis.integral.UserGetIntegralFromOrderRecordMapper;
import com.yeshi.fanli.entity.integral.UserGetIntegralFromOrderRecord;
import com.yeshi.fanli.exception.integral.UserGetIntegralFromOrderRecordException;
+import com.yeshi.fanli.manager.util.AtomMethodCallInterface;
+import com.yeshi.fanli.manager.util.AtomMethodCallManager;
import com.yeshi.fanli.service.inter.user.integral.UserGetIntegralFromOrderRecordService;
import com.yeshi.fanli.util.StringUtil;
+
+import redis.clients.jedis.Jedis;
+import redis.clients.jedis.JedisPool;
@Service
public class UserGetIntegralFromOrderRecordServiceImpl implements UserGetIntegralFromOrderRecordService {
@Resource
private UserGetIntegralFromOrderRecordMapper userGetIntegralFromOrderRecordMapper;
+
+ @Resource
+ private AtomMethodCallManager atomMethodCallManager;
@Override
public long countByEventTypeAndUidAndOrderInfo(int eventType, Long uid, String orderNo, int orderSourceType) {
@@ -29,21 +37,30 @@
return userGetIntegralFromOrderRecordMapper.countByRecordInfo(record);
}
- @Transactional
+ @Transactional(rollbackFor=Exception.class)
@Override
public void addRecord(UserGetIntegralFromOrderRecord record) throws UserGetIntegralFromOrderRecordException {
if (record == null || record.getUid() == null || record.getEventType() == null
|| StringUtil.isNullOrEmpty(record.getOrderNo()) || record.getOrderSourceType() == null)
throw new UserGetIntegralFromOrderRecordException(1, "淇℃伅涓嶅畬鏁�");
- long count = countByEventTypeAndUidAndOrderInfo(record.getEventType(), record.getUid(), record.getOrderNo(),
- record.getOrderSourceType());
- if (count > 0)
- throw new UserGetIntegralFromOrderRecordException(2, "璁板綍宸插瓨鍦�");
+ String key = String.format("rs-%s",
+ StringUtil.Md5(String.format("UserGetIntegralFromOrderRecord-addRecord-%s-%s-%s-%s", record.getUid(),
+ record.getEventType(), record.getOrderNo(), record.getOrderSourceType())));
- if (record.getCreateTime() == null)
- record.setCreateTime(new Date());
- userGetIntegralFromOrderRecordMapper.insertSelective(record);
+ atomMethodCallManager.excute(key, new AtomMethodCallInterface() {
+
+ @Override
+ public void excute() {
+ long count = countByEventTypeAndUidAndOrderInfo(record.getEventType(), record.getUid(),
+ record.getOrderNo(), record.getOrderSourceType());
+ if (count > 0)
+ return;
+ if (record.getCreateTime() == null)
+ record.setCreateTime(new Date());
+ userGetIntegralFromOrderRecordMapper.insertSelective(record);
+ }
+ });
}
}
--
Gitblit v1.8.0