From ffbd3afe3806bfdbb13487f6031b938cb1ebcf9b Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期五, 30 八月 2019 14:46:29 +0800
Subject: [PATCH] 冲突
---
fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralGetServiceImpl.java | 527 +++++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 478 insertions(+), 49 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralGetServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralGetServiceImpl.java
index a45fdde..465211d 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralGetServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralGetServiceImpl.java
@@ -4,21 +4,32 @@
import javax.annotation.Resource;
-import org.springframework.cache.annotation.Cacheable;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
+import com.yeshi.fanli.dao.mybatis.ThreeSaleMapper;
+import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
+import com.yeshi.fanli.entity.bus.user.UserRank;
import com.yeshi.fanli.entity.integral.IntegralTask;
import com.yeshi.fanli.entity.integral.IntegralTask.FrequencyEnum;
+import com.yeshi.fanli.entity.integral.IntegralTask.TaskUniqueKeyEnum;
+import com.yeshi.fanli.entity.integral.IntegralTaskRank;
import com.yeshi.fanli.entity.integral.IntegralTaskRecord;
import com.yeshi.fanli.exception.integral.IntegralGetException;
import com.yeshi.fanli.exception.integral.IntegralTaskRecordException;
+import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.integral.IntegralGetService;
+import com.yeshi.fanli.service.inter.integral.IntegralTaskRankService;
import com.yeshi.fanli.service.inter.integral.IntegralTaskRecordService;
import com.yeshi.fanli.service.inter.integral.IntegralTaskService;
+import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
import com.yeshi.fanli.util.RedisManager;
+import com.yeshi.fanli.util.annotation.integral.IntegralGetFrequencyLimit;
+import com.yeshi.fanli.util.annotation.integral.IntegralGetVersionLimit;
-import net.sf.json.JSONObject;
-
+@Lazy
@Service
public class IntegralGetServiceImpl implements IntegralGetService {
@@ -29,14 +40,36 @@
private IntegralTaskRecordService integralTaskRecordService;
@Resource
+ private ThreeSaleMapper threeSaleMapper;
+
+ @Resource
private RedisManager redisManager;
+ @Resource
+ private UserInfoExtraService userInfoExtraService;
+
+ @Resource
+ private IntegralTaskRankService integralTaskRankService;
+
+ // TODO 鏈塨ug
+ private UserInfo getBossByUid(Long uid) {
+ return threeSaleMapper.selectBoss(uid);
+ }
+
+ @IntegralGetVersionLimit(uid = "#uid")
@Override
- public IntegralTaskRecord addEventStatistic(Long uid, String event, JSONObject params) throws IntegralGetException {
+ public IntegralTaskRecord addEventStatistic(Long uid, String event) throws IntegralGetException {
Date nowDate = new Date();
IntegralTask task = integralTaskService.getByCidAndUniqueKey(null, event);
if (task == null)
throw new IntegralGetException(1, "浜嬩欢绫诲瀷涓嶅瓨鍦�");
+
+ if (TaskUniqueKeyEnum.inShop == TaskUniqueKeyEnum.valueOf(event)) {
+ UserInfo boss = getBossByUid(uid);
+ if (boss != null)
+ addInShopLevelOne(boss.getId()); // 涓嬬骇娴忚搴楅摵
+ }
+
if (task.getFrequency() == FrequencyEnum.everyday) {
int count = integralTaskRecordService.countGetCountByTaskIdAndDay(task.getId(), uid, nowDate);
if (count >= task.getUpperLimit())
@@ -47,9 +80,30 @@
throw new IntegralGetException(2, "浜嬩欢瑙﹀彂杈惧埌涓婇檺");
}
+ UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
+ if (userInfoExtra == null)
+ throw new IntegralGetException(2, "棰濆淇℃伅涓嶅瓨鍦�");
+
+ UserRank userRank = userInfoExtra.getUserRank();
+ if (userRank == null)
+ throw new IntegralGetException(2, "绛夌骇淇℃伅涓嶅瓨鍦�");
+
int goldCoin = task.getGoldCoin();
if (task.getDoubleNum() != null && task.getDoubleNum() > 0)
goldCoin = task.getDoubleNum() * goldCoin;
+
+ Long taskId = task.getId();
+ IntegralTaskRank traskRank = integralTaskRankService.getByTsakIdAndRankId(taskId, userRank.getId());
+ if (traskRank != null) {
+ Integer addCoin = traskRank.getAddCoin();
+ if (addCoin != null && addCoin > 0)
+ goldCoin += addCoin;
+
+ Integer doubleNum = traskRank.getDoubleNum();
+ if (doubleNum != null && doubleNum > 0) {
+ goldCoin = goldCoin * doubleNum;
+ }
+ }
IntegralTaskRecord record = new IntegralTaskRecord();
record.setCid(task.getTaskClass().getId());
@@ -59,81 +113,456 @@
record.setUid(uid);
try {
- return integralTaskRecordService.addRecord(record);
+ IntegralTaskRecord addRecord = integralTaskRecordService.addRecord(record);
+ return addRecord;
} catch (IntegralTaskRecordException e) {
throw new IntegralGetException(3, "娣诲姞璁板綍澶辫触");
}
-
- // switch (event) {
- // case "recommendSearch":
- // break;
- // case "shareInvite":
- // break;
- // case "inShop":
- // break;
- // case "scanPush":
- // break;
- // case "scanGoods":
- // break;
- // case "scanHomeBanner":
- // break;
- // case "scanSpecial":
- // break;
- // case "scanTBCart":
- // break;
- // }
}
+ @IntegralGetFrequencyLimit(key = "'addRecommendSearch-'+#uid")
@Override
- public void addRecommendSearch(Long uid) throws IntegralGetException {
-
+ public IntegralTaskRecord addRecommendSearch(Long uid) {
+ try {
+ return addEventStatistic(uid, TaskUniqueKeyEnum.recommendSearch.name());
+ } catch (IntegralGetException e) {
+ e.printStackTrace();
+ }
+ return null;
}
- @Cacheable(value = "integralGetCache", key = "'addSearchResultScan-'+#uid+'-'+#kw")
+ @IntegralGetFrequencyLimit(key = "'addSearchResultScan-'+#uid+'-'+#kw")
@Override
- public void addSearchResultScan(Long uid, String kw) throws IntegralGetException {
- System.out.println("鎼滅储");
+ public IntegralTaskRecord addSearchResultScan(Long uid, String kw) {
+ try {
+ return addEventStatistic(uid, TaskUniqueKeyEnum.scanSearchResult.name());
+ } catch (IntegralGetException e) {
+ e.printStackTrace();
+ }
+
+ return null;
}
+ @IntegralGetFrequencyLimit(key = "'addShareInvite-'+#uid")
@Override
- public void addShareInvite(Long uid) throws IntegralGetException {
-
+ public IntegralTaskRecord addShareInvite(Long uid) {
+ try {
+ return addEventStatistic(uid, TaskUniqueKeyEnum.shareInvite.name());
+ } catch (IntegralGetException e) {
+ e.printStackTrace();
+ }
+ return null;
}
+ @IntegralGetFrequencyLimit(key = "'addIntoShop-'+#uid+'-'+#shopUrlMD5")
@Override
- public void addIntoShop(Long uid) throws IntegralGetException {
- // TODO Auto-generated method stub
-
+ public IntegralTaskRecord addIntoShop(Long uid, String shopUrlMD5) {
+ try {
+ return addEventStatistic(uid, TaskUniqueKeyEnum.inShop.name());
+ } catch (IntegralGetException e) {
+ e.printStackTrace();
+ }
+ return null;
}
- @Override
- public void addScanPushHistory(Long uid) throws IntegralGetException {
- // TODO Auto-generated method stub
+ @IntegralGetVersionLimit(uid = "#uid")
+ @Async()
+ private void addInShopLevelOne(Long uid) {
+ try {
+ UserInfo boss = getBossByUid(uid);
+ if (boss != null)
+ addInShopLevelTwo(boss.getId()); // 浜岀骇闃熷憳
+ addEventStatistic(uid, TaskUniqueKeyEnum.inShopLevelOne.name());
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
}
- @Override
- public void addScanGoodsDetail(Long uid, int goodsType, Long goodsId) {
- // TODO Auto-generated method stub
-
+ @IntegralGetVersionLimit(uid = "#uid")
+ @Async()
+ private void addInShopLevelTwo(Long uid) {
+ try {
+ addEventStatistic(uid, TaskUniqueKeyEnum.inShopLevelTwo.name());
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
}
+ @IntegralGetFrequencyLimit(key = "'addScanPushHistory-'+#uid")
@Override
- public void addScanRecommendBanner(Long uid) {
- // TODO Auto-generated method stub
-
+ public IntegralTaskRecord addScanPushHistory(Long uid) {
+ try {
+ return addEventStatistic(uid, TaskUniqueKeyEnum.scanPush.name());
+ } catch (IntegralGetException e) {
+ e.printStackTrace();
+ }
+ return null;
}
+ @IntegralGetFrequencyLimit(key = "'addScanGoodsDetail-'+#uid+'-'+#goodsType+'-'+#goodsId")
@Override
- public void addScanRecommendSpecial(Long uid) {
- // TODO Auto-generated method stub
-
+ public IntegralTaskRecord addScanGoodsDetail(Long uid, int goodsType, Long goodsId) {
+ try {
+ return addEventStatistic(uid, TaskUniqueKeyEnum.scanGoods.name());
+ } catch (IntegralGetException e) {
+ e.printStackTrace();
+ }
+ return null;
}
+ @IntegralGetFrequencyLimit(key = "'addScanRecommendBanner-'+#uid+'-'+#id")
@Override
- public void addScanTaoBaoCart(Long uid) {
- // TODO Auto-generated method stub
+ public IntegralTaskRecord addScanRecommendBanner(Long uid, String id) {
+ try {
+ return addEventStatistic(uid, TaskUniqueKeyEnum.scanHomeBanner.name());
+ } catch (IntegralGetException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+ @IntegralGetFrequencyLimit(key = "'addScanRecommendSpecial-'+#uid+'-'+#id")
+ @Override
+ public IntegralTaskRecord addScanRecommendSpecial(Long uid, String id) {
+ try {
+ return addEventStatistic(uid, TaskUniqueKeyEnum.scanSpecial.name());
+ } catch (IntegralGetException e) {
+ e.printStackTrace();
+ }
+
+ return null;
+ }
+
+ @IntegralGetFrequencyLimit(key = "'addScanTaoBaoCart-'+#uid")
+ @Override
+ public IntegralTaskRecord addScanTaoBaoCart(Long uid) {
+ try {
+ return addEventStatistic(uid, TaskUniqueKeyEnum.scanTBCart.name());
+ } catch (IntegralGetException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ @IntegralGetVersionLimit(uid = "#uid")
+ @Async()
+ @Override
+ public void addTaoLiJinBuy(Long uid, Long goodsId) {
+ try {
+ addEventStatistic(uid, TaskUniqueKeyEnum.taoLiJinBuy.name());
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ }
+
+ @IntegralGetVersionLimit(uid = "#uid")
+ @Async()
+ @Override
+ public void addInviteLevelOne(Long uid, Long workerId) {
+ try {
+ UserInfo boss = getBossByUid(uid);
+ if (boss != null)
+ addInviteLevelTwo(boss.getId());
+
+ addEventStatistic(uid, TaskUniqueKeyEnum.inviteLevelOne.name());
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ }
+
+ /**
+ * 闂存帴閭�璇�
+ *
+ * @param uid
+ */
+ @IntegralGetVersionLimit(uid = "#uid")
+ @Async()
+ private void addInviteLevelTwo(Long uid) {
+ try {
+ addEventStatistic(uid, TaskUniqueKeyEnum.inviteLevelTwo.name());
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ }
+
+ @IntegralGetVersionLimit(uid = "#uid")
+ @Async()
+ @Override
+ public void addShareSingleGoods(Long uid) {
+ try {
+ addEventStatistic(uid, TaskUniqueKeyEnum.shareSingleGoods.name());
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ }
+
+ @IntegralGetVersionLimit(uid = "#uid")
+ @Async()
+ @Override
+ public void addShareMultipleGoods(Long uid) {
+ try {
+ addEventStatistic(uid, TaskUniqueKeyEnum.shareMultipleGoods.name());
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ }
+
+ @IntegralGetVersionLimit(uid = "#uid")
+ @Async()
+ @Override
+ public void addShareTLJGoods(Long uid) {
+ try {
+ addEventStatistic(uid, TaskUniqueKeyEnum.shareTLJGoods.name());
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ }
+
+ @IntegralGetVersionLimit(uid = "#uid")
+ @Async()
+ @Override
+ public void addGiveRebateCoupon(Long uid) {
+ try {
+ addEventStatistic(uid, TaskUniqueKeyEnum.giveRebateCoupon.name());
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ }
+
+ @IntegralGetVersionLimit(uid = "#uid")
+ @Async()
+ @Override
+ public void addGiveFreeCoupon(Long uid) {
+ try {
+ addEventStatistic(uid, TaskUniqueKeyEnum.giveFreeCoupon.name());
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ }
+
+ @IntegralGetVersionLimit(uid = "#uid")
+ @Async()
+ @Override
+ public void addGiveTaoLiJin(Long uid) {
+ try {
+ addEventStatistic(uid, TaskUniqueKeyEnum.giveTaoLiJin.name());
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ }
+
+ @IntegralGetVersionLimit(uid = "#uid")
+ @Async()
+ @Override
+ public void addCloseRecommendGoods(Long uid) {
+ try {
+ addEventStatistic(uid, TaskUniqueKeyEnum.closeRecommendGoods.name());
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ }
+
+ @IntegralGetVersionLimit(uid = "#uid")
+ @Async()
+ @Override
+ public void addCouponRebate(Long uid) {
+ try {
+ UserInfo boss = getBossByUid(uid);
+ if (boss != null)
+ addCouponRebateLevelOne(boss.getId());
+
+ addEventStatistic(uid, TaskUniqueKeyEnum.couponRebate.name());
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ }
+
+ /**
+ * 涓�绾ч槦鍛橀鍒歌繑鍒�
+ *
+ * @param uid
+ */
+ @IntegralGetVersionLimit(uid = "#uid")
+ @Async()
+ private void addCouponRebateLevelOne(Long uid) {
+ try {
+ UserInfo boss = getBossByUid(uid);
+ if (boss != null)
+ addCouponRebateLevelTwo(boss.getId()); // 浜岀骇闃熷憳
+
+ addEventStatistic(uid, TaskUniqueKeyEnum.couponRebateLevelOne.name());
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ }
+
+ /**
+ * 浜岀骇闃熷憳棰嗗埜杩斿埄
+ *
+ * @param uid
+ */
+ @IntegralGetVersionLimit(uid = "#uid")
+ @Async()
+ private void addCouponRebateLevelTwo(Long uid) {
+ try {
+ addEventStatistic(uid, TaskUniqueKeyEnum.couponRebateLevelTwo.name());
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ }
+
+ @IntegralGetVersionLimit(uid = "#uid")
+ @Async()
+ @Override
+ public void addRebateOrder(Long uid) {
+ try {
+ addEventStatistic(uid, TaskUniqueKeyEnum.rebateOrder.name());
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ }
+
+ /**
+ * 涓�绾ч槦鍛橀個璇疯鍗�
+ *
+ * @param uid
+ */
+ @IntegralGetVersionLimit(uid = "#uid")
+ @Async()
+ @Override
+ public void addInviteOrderLevelOne(Long uid) {
+ try {
+ addEventStatistic(uid, TaskUniqueKeyEnum.inviteOrderLevelOne.name());
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ }
+
+ /**
+ * 浜岀骇闃熷憳閭�璇疯鍗�
+ *
+ * @param uid
+ */
+ @IntegralGetVersionLimit(uid = "#uid")
+ @Async()
+ @Override
+ public void addInviteOrderLevelTwo(Long uid) {
+ try {
+ addEventStatistic(uid, TaskUniqueKeyEnum.inviteOrderLevelTwo.name());
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ }
+
+ @IntegralGetVersionLimit(uid = "#uid")
+ @Async()
+ @Override
+ public void addShareOrder(Long uid) {
+ try {
+ addEventStatistic(uid, TaskUniqueKeyEnum.shareOrder.name());
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ }
+
+ @IntegralGetVersionLimit(uid = "#uid")
+ @Async()
+ @Override
+ public void addBindWeiXin(Long uid) {
+ try {
+ addEventStatistic(uid, TaskUniqueKeyEnum.bindWeiXin.name());
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ }
+
+ @IntegralGetVersionLimit(uid = "#uid")
+ @Async()
+ @Override
+ public void addBindPhone(Long uid) {
+ try {
+ addEventStatistic(uid, TaskUniqueKeyEnum.bindPhone.name());
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ }
+
+ @IntegralGetVersionLimit(uid = "#uid")
+ @Async()
+ @Override
+ public void addBindTaoBao(Long uid) {
+ try {
+ addEventStatistic(uid, TaskUniqueKeyEnum.bindTaoBao.name());
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ }
+
+ @IntegralGetVersionLimit(uid = "#uid")
+ @Async()
+ @Override
+ public void addSetWeiXinNum(Long uid) {
+ try {
+ addEventStatistic(uid, TaskUniqueKeyEnum.setWeiXinNum.name());
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ }
+
+ @IntegralGetVersionLimit(uid = "#uid")
+ @Async()
+ @Override
+ public void addSetGender(Long uid) {
+ try {
+ addEventStatistic(uid, TaskUniqueKeyEnum.setGender.name());
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ }
+
+ @IntegralGetVersionLimit(uid = "#uid")
+ @Async()
+ @Override
+ public void addSetPortrait(Long uid) {
+ try {
+ addEventStatistic(uid, TaskUniqueKeyEnum.setPortrait.name());
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ }
+
+ @IntegralGetVersionLimit(uid = "#uid")
+ @Async()
+ @Override
+ public void addSetNickname(Long uid) {
+ try {
+ addEventStatistic(uid, TaskUniqueKeyEnum.setNickName.name());
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ }
+
+ @IntegralGetVersionLimit(uid = "#uid")
+ @Async()
+ @Override
+ public void addBindAlipay(Long uid) {
+ try {
+ addEventStatistic(uid, TaskUniqueKeyEnum.bindAlipay.name());
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ }
+
+ @IntegralGetVersionLimit(uid = "#uid")
+ @Async()
+ @Override
+ public void addInviteActivate(Long uid) {
+ try {
+ addEventStatistic(uid, TaskUniqueKeyEnum.inviteActivate.name());
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
}
}
--
Gitblit v1.8.0