From f4a0f2acc63d7785eab108419a4e16f5f688cb95 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 18 一月 2020 12:06:27 +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