From 542307473522fa024e954db1e267d57914d975eb Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期四, 27 六月 2019 17:18:47 +0800
Subject: [PATCH] 红包创建不成功异常处理

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinRecordServiceImpl.java |   32 +++++++++++++++++++++++++++-----
 1 files changed, 27 insertions(+), 5 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinRecordServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinRecordServiceImpl.java
index a2aa6ef..4182b59 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinRecordServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinRecordServiceImpl.java
@@ -24,11 +24,13 @@
 import com.yeshi.fanli.entity.bus.user.UserMoneyExtra;
 import com.yeshi.fanli.entity.goods.CommonGoods;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
+import com.yeshi.fanli.exception.taobao.TaoKeApiException;
 import com.yeshi.fanli.exception.tlj.UserTaoLiJinRecordException;
 import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.inter.goods.CommonGoodsService;
 import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
 import com.yeshi.fanli.service.inter.msg.UserOtherMsgNotificationService;
+import com.yeshi.fanli.service.inter.taobao.ShareHotGoodsService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoBuyRelationMapService;
 import com.yeshi.fanli.service.inter.tlj.ConfigTaoLiJinService;
 import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinDetailService;
@@ -93,6 +95,9 @@
 	@Resource
 	private TaoBaoBuyRelationMapService taoBaoBuyRelationMapService;
 
+	@Resource
+	private ShareHotGoodsService shareHotGoodsService;
+	
 	@Override
 	public UserTaoLiJinRecord selectByPrimaryKey(Long id) {
 		return userTaoLiJinRecordMapper.selectByPrimaryKey(id);
@@ -232,22 +237,39 @@
 		if (origin == 1) {
 			BigDecimal tljSelf = userMoneyExtra.getTljSelf();
 			if (tljSelf == null || tljSelf.compareTo(totalMoney) < 0) {
-				throw new UserTaoLiJinRecordException(101, "绾㈠寘浣欓涓嶈冻");
+				throw new UserTaoLiJinRecordException(101, "鑷喘绾㈠寘浣欓涓嶈冻");
 			}
 		} 
 		
 		// 鍒嗕韩鏃剁殑绾㈠寘浣欓
 		BigDecimal tlj = userMoneyExtra.getTlj();
 		if (tlj == null || tlj.compareTo(totalMoney) < 0) {
-			throw new UserTaoLiJinRecordException(101, "绾㈠寘浣欓涓嶈冻");
+			throw new UserTaoLiJinRecordException(101, "鍒嗕韩绾㈠寘浣欓涓嶈冻");
 		}
 		
 
 		// 鍒涘缓娣樼ぜ閲戠孩鍖�
-		TaoLiJinDTO taoLiJinDTO = TaoKeApiUtil.createTaoLiJin(auctionId, name, perface, totalNum, sendStartTime,
-				sendEndTime, useStartTime, useEndTime, pid);
+		TaoLiJinDTO taoLiJinDTO = null;
+		try {
+			taoLiJinDTO = TaoKeApiUtil.createTaoLiJin(auctionId, name, perface, totalNum, sendStartTime,
+					sendEndTime, useStartTime, useEndTime, pid);
+		} catch (TaoKeApiException e) {
+			LogHelper.errorDetailInfo(e);
+			executor.execute(new Runnable() {
+				@Override
+				public void run() {
+					if (e.getCode() == TaoKeApiException.CODE_TLJ_FORBIDDEN) {
+						// 璇ュ晢鍝佷笉鏀寔鍒涘缓娣樼ぜ閲戠孩鍖�
+						shareHotGoodsService.deleteByGoodsId(auctionId);
+					} else if (e.getCode() == TaoKeApiException.CODE_TLJ_NO_MONEY) {
+						// 瀹樻柟鐜╂硶閽卞寘浣欓涓嶈冻  TODO
+					}
+				}
+			});
+		}
+		
 		if (taoLiJinDTO == null) {
-			throw new UserTaoLiJinRecordException(101, "绾㈠寘鍒涘缓澶辫触");
+			throw new UserTaoLiJinRecordException(101, "娣樺疂API鎺ㄥ箍绾㈠寘鍒涘缓澶辫触");
 		}
 
 		// 淇濆瓨璁板綍

--
Gitblit v1.8.0