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