yujian
2020-04-02 0ec22dcf4fd9c4496e6f681e7fab89f56c6e4e8a
fanli/src/main/java/com/yeshi/fanli/service/impl/user/integral/IntegralTaskRecordServiceImpl.java
@@ -16,11 +16,8 @@
import org.springframework.transaction.annotation.Transactional;
import org.yeshi.utils.DateUtil;
import com.aliyun.openservices.ons.api.Message;
import com.aliyun.openservices.ons.api.Producer;
import com.yeshi.fanli.dao.mybatis.integral.IntegralTaskRecordMapper;
import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum;
import com.yeshi.fanli.dto.mq.user.body.IntegralTaskMQMsg;
import com.yeshi.fanli.dto.msg.MsgOtherRewardIntegralDTO;
import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
import com.yeshi.fanli.entity.integral.IntegralDetail;
@@ -29,6 +26,7 @@
import com.yeshi.fanli.entity.integral.IntegralTaskClass;
import com.yeshi.fanli.entity.integral.IntegralTaskClass.UniqueKeyEnum;
import com.yeshi.fanli.entity.integral.IntegralTaskRecord;
import com.yeshi.fanli.entity.system.ConfigKeyEnum;
import com.yeshi.fanli.exception.integral.IntegralTaskRecordException;
import com.yeshi.fanli.exception.user.UserInfoExtraException;
import com.yeshi.fanli.log.LogHelper;
@@ -39,10 +37,9 @@
import com.yeshi.fanli.service.inter.user.integral.IntegralTaskClassService;
import com.yeshi.fanli.service.inter.user.integral.IntegralTaskRecordService;
import com.yeshi.fanli.service.inter.user.integral.IntegralTaskService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory;
import com.yeshi.fanli.util.rocketmq.MQTopicName;
@Service
public class IntegralTaskRecordServiceImpl implements IntegralTaskRecordService {
@@ -82,6 +79,11 @@
      return integralTaskRecordMapper.countFinished(uid, cid, dateType);
   }
   @Override
   public void invalidGoldCoin() {
      integralTaskRecordMapper.invalidGoldCoin();
   }
   @Override
   public void finishedTask(long uid, long cid, long taskId, int goldCoin) {
      IntegralTaskRecord taskRecord = new IntegralTaskRecord();
@@ -239,7 +241,7 @@
         // 已领取
         Integer state = record.getState();
         if (state != null && state == 1)
         if (state != null && state != 0)
            continue;
         if (addDetail(uid, record))
@@ -359,20 +361,16 @@
      if (record.getCid() == null || record.getTaskId() == null || record.getGoldCoin() == null
            || record.getState() == null || record.getUid() == null)
         throw new IntegralTaskRecordException(2, "数据不完成");
      Date date = new Date();
      if (record.getCreateTime() == null)
         record.setCreateTime(new Date());
         record.setCreateTime(date);
      if (record.getUpdateTime() == null)
         record.setUpdateTime(new Date());
         record.setUpdateTime(date);
      // 设置有效期
      record.setEndTime(DateUtil.plusDayDate(Constant.GOLD_COIN_VALID_DAYS, date));
      integralTaskRecordMapper.insertSelective(record);
      long count = integralTaskRecordMapper.getTotalGoldCoinByUid(record.getUid());
      if (count >= 200) {// 大于200发送消息
         IntegralTaskMQMsg msg = new IntegralTaskMQMsg(record.getUid(), count, new Date());
         Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.integralTaskFinish, msg);
         producer.send(message);
      }
      return record;
   }
@@ -393,10 +391,6 @@
      return integralTaskRecordMapper.listByUidAndTaskId(uid, taskId, (page - 1) * count, count);
   }
   @Override
   public long getTotalGoldCoinByUid(Long uid) {
      return integralTaskRecordMapper.getTotalGoldCoinByUid(uid);
   }
   @Async()
   @Override
@@ -404,7 +398,7 @@
      if (uid == null || originUid == null)
         return;
      String reward = configService.get("first_order_reward_boss");
      String reward = configService.get(ConfigKeyEnum.firstOrderRewardBoss.getKey());
      if (StringUtil.isNullOrEmpty(reward))
         return;
      firstOrderReward(uid, originUid, Integer.parseInt(reward), "一", beizu);
@@ -416,7 +410,7 @@
      if (uid == null || originUid == null)
         return;
      String reward = configService.get("first_order_reward_boss_super");
      String reward = configService.get(ConfigKeyEnum.firstOrderRewardBossSuper.getKey());
      if (StringUtil.isNullOrEmpty(reward))
         return;
      firstOrderReward(uid, originUid, Integer.parseInt(reward), "二", beizu);
@@ -428,7 +422,7 @@
      if (uid == null)
         return;
      String reward = configService.get("first_share_order_reward");
      String reward = configService.get(ConfigKeyEnum.firstShareOrderReward.getKey());
      if (StringUtil.isNullOrEmpty(reward))
         return;
      firstOrderReward(uid, null, Integer.parseInt(reward), null, beizu);
@@ -440,7 +434,7 @@
      if (uid == null || originUid == null)
         return;
      String reward = configService.get("first_share_order_reward_boss");
      String reward = configService.get(ConfigKeyEnum.firstShareOrderRewardBoss.getKey());
      if (StringUtil.isNullOrEmpty(reward))
         return;
      firstOrderReward(uid, originUid, Integer.parseInt(reward), "一", beizu);