From c8041ec0544bf122e6819e6bf698997ccbf30aaf Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期二, 10 十二月 2019 15:32:34 +0800
Subject: [PATCH] 小黄条

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java |   55 +++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 37 insertions(+), 18 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java
index 723029b..996f96f 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java
@@ -49,7 +49,6 @@
 import com.yeshi.fanli.entity.system.SystemCoupon;
 import com.yeshi.fanli.entity.system.SystemCoupon.CouponTypeEnum;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
-import com.yeshi.fanli.exception.user.UserInfoExtraException;
 import com.yeshi.fanli.exception.user.UserSystemCouponException;
 import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
@@ -155,6 +154,7 @@
 	@Resource
 	private UserOtherMsgNotificationService userOtherMsgNotificationService;
 
+	@Lazy
 	@Resource
 	private CommonOrderCountService commonOrderCountService;
 
@@ -180,6 +180,7 @@
 	@Resource(name = "producer")
 	private Producer producer;
 	
+	@Lazy
 	@Resource
 	private UserVIPInfoService userVIPInfoService;
 
@@ -307,23 +308,18 @@
 
 		executor.execute(new Runnable() {
 			@Override
-			public void run() {
-				UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
-				// 娣诲姞涓�鏉℃秷鎭�
-				if (userInfoExtra != null) {
-					if (userInfoExtra.getCouponNews() == null) {
-						userInfoExtra.setCouponNews(1);
+			public void run() {  // 绂忓埄涓績绾㈢偣
+				UserInfoExtra extra = userInfoExtraService.getUserInfoExtra(uid);
+				if (extra != null) {
+					UserInfoExtra updateExtra =	new UserInfoExtra();
+					updateExtra.setId(extra.getId());
+					if (extra.getCouponNews() == null) {
+						updateExtra.setCouponNews(1);
 					} else {
-						userInfoExtra.setCouponNews(userInfoExtra.getCouponNews() + 1);
+						updateExtra.setCouponNews(extra.getCouponNews() + 1);
 					}
-
-					try {
-						userInfoExtraService.saveUserInfoExtra(userInfoExtra);
-					} catch (UserInfoExtraException e) {
-						e.printStackTrace();
-					}
+					userInfoExtraService.updateByPrimaryKeySelective(updateExtra);
 				}
-
 			}
 		});
 
@@ -707,6 +703,26 @@
 
 		return userSystemCouponMapper.countUsableByUid(uid, listCouponId);
 	}
+	
+	
+	@Override
+	public long countGiveFreeCoupon(Long uid) {
+		if (uid == null)
+			return 0;
+
+		List<SystemCoupon> couponList = systemCouponService.getGiveFreeCouponList();
+		if (couponList == null || couponList.size() == 0)
+			return 0;
+
+		List<Long> listCouponId = new ArrayList<Long>();
+		for (SystemCoupon systemCoupon : couponList) {
+			listCouponId.add(systemCoupon.getId());
+		}
+
+		return userSystemCouponMapper.countUsableByUid(uid, listCouponId);
+	}
+
+	
 
 	@Override
 	public long countUsableRewardCoupon(Long uid) {
@@ -1601,13 +1617,16 @@
 		if (userInfoExtra == null) {
 			return;
 		}
+		
+		UserInfoExtra extra = new UserInfoExtra();
+		extra.setId(userInfoExtra.getId());
 		Integer couponNews = userInfoExtra.getCouponNews();
 		if (couponNews == null) {
-			userInfoExtra.setCouponNews(num);
+			extra.setCouponNews(num);
 		} else {
-			userInfoExtra.setCouponNews(couponNews + num);
+			extra.setCouponNews(couponNews + num);
 		}
-		userInfoExtraService.saveUserInfoExtra(userInfoExtra);
+		userInfoExtraService.saveUserInfoExtra(extra);
 	}
 
 	@Override

--
Gitblit v1.8.0