| | |
| | | package com.yeshi.fanli.service.impl.user.invite;
|
| | |
|
| | | import java.util.Date;
|
| | |
|
| | | import javax.annotation.Resource;
|
| | |
|
| | | import org.springframework.stereotype.Service;
|
| | | import org.springframework.transaction.annotation.Transactional;
|
| | |
|
| | | 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.service.inter.user.integral.UserGetIntegralFromOrderRecordService;
|
| | | import com.yeshi.fanli.util.StringUtil;
|
| | |
|
| | | @Service
|
| | | public class UserGetIntegralFromOrderRecordServiceImpl implements UserGetIntegralFromOrderRecordService {
|
| | |
|
| | | @Resource
|
| | | private UserGetIntegralFromOrderRecordMapper userGetIntegralFromOrderRecordMapper;
|
| | |
|
| | | @Override
|
| | | public long countByEventTypeAndUidAndOrderInfo(int eventType, Long uid, String orderNo, int orderSourceType) {
|
| | | UserGetIntegralFromOrderRecord record = new UserGetIntegralFromOrderRecord();
|
| | | record.setEventType(eventType);
|
| | | record.setOrderNo(orderNo);
|
| | | record.setOrderSourceType(orderSourceType);
|
| | | record.setUid(uid);
|
| | | return userGetIntegralFromOrderRecordMapper.countByRecordInfo(record);
|
| | | }
|
| | |
|
| | | @Transactional
|
| | | @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, "记录已存在");
|
| | |
|
| | | if (record.getCreateTime() == null)
|
| | | record.setCreateTime(new Date());
|
| | | userGetIntegralFromOrderRecordMapper.insertSelective(record);
|
| | | }
|
| | |
|
| | | }
|
| | | package com.yeshi.fanli.service.impl.user.invite; |
| | | |
| | | import java.util.Date; |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | 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) { |
| | | UserGetIntegralFromOrderRecord record = new UserGetIntegralFromOrderRecord(); |
| | | record.setEventType(eventType); |
| | | record.setOrderNo(orderNo); |
| | | record.setOrderSourceType(orderSourceType); |
| | | record.setUid(uid); |
| | | return userGetIntegralFromOrderRecordMapper.countByRecordInfo(record); |
| | | } |
| | | |
| | | @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, "信息不完整"); |
| | | |
| | | String key = String.format("rs-%s", |
| | | StringUtil.Md5(String.format("UserGetIntegralFromOrderRecord-addRecord-%s-%s-%s-%s", record.getUid(), |
| | | record.getEventType(), record.getOrderNo(), record.getOrderSourceType()))); |
| | | |
| | | 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); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | } |