From b59fef5c00b15fdfdfa9d4be26e5bf6b41c75458 Mon Sep 17 00:00:00 2001
From: admin <2780501319@qq.com>
Date: 星期日, 23 二月 2020 00:16:52 +0800
Subject: [PATCH] 2.0.7相关服务端功能添加

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ShareGoodsServiceImpl.java |  120 +++++++++++++++++++++++++-----------------------------------
 1 files changed, 50 insertions(+), 70 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ShareGoodsServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ShareGoodsServiceImpl.java
index b9ce3a9..3f23d1e 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ShareGoodsServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ShareGoodsServiceImpl.java
@@ -19,15 +19,11 @@
 import org.yeshi.utils.exception.HttpException;
 import org.yeshi.utils.tencentcloud.COSManager;
 
-import com.yeshi.fanli.dao.mybatis.HongBaoManageMapper;
 import com.yeshi.fanli.dao.mybatis.UserInfoMapper;
 import com.yeshi.fanli.dao.mybatis.UserShareGoodsHistoryMapper;
-import com.yeshi.fanli.dao.mybatis.share.PidUserMapper;
 import com.yeshi.fanli.dto.taobao.TaoLiJinDTO;
 import com.yeshi.fanli.entity.bus.share.UserShareGoodsHistory;
-import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinRecord;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
-import com.yeshi.fanli.entity.bus.user.UserMoneyExtra;
 import com.yeshi.fanli.entity.taobao.PidUser;
 import com.yeshi.fanli.entity.taobao.TBPid;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
@@ -35,28 +31,28 @@
 import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig;
 import com.yeshi.fanli.entity.taobao.TaoKeAppInfo;
 import com.yeshi.fanli.entity.taobao.UserTLJBuyHistory;
-import com.yeshi.fanli.exception.ShareGoodsException;
+import com.yeshi.fanli.exception.share.ShareGoodsException;
 import com.yeshi.fanli.exception.taobao.TaoKeApiException;
 import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
 import com.yeshi.fanli.exception.tlj.TaoLiJinCreateException;
-import com.yeshi.fanli.exception.tlj.UserTaoLiJinRecordException;
+import com.yeshi.fanli.exception.tlj.UserTaoLiJinNewbiesException;
 import com.yeshi.fanli.log.LogHelper;
-import com.yeshi.fanli.service.impl.monitor.BusinessEmergent110ServiceImpl;
+import com.yeshi.fanli.log.LogManager;
+import com.yeshi.fanli.log.LogType;
 import com.yeshi.fanli.service.inter.config.ConfigService;
-import com.yeshi.fanli.service.inter.goods.CommonGoodsService;
 import com.yeshi.fanli.service.inter.goods.ShareGoodsService;
-import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
 import com.yeshi.fanli.service.inter.monitor.BusinessEmergent110Service;
+import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
+import com.yeshi.fanli.service.inter.redpack.UserTaoLiJinNewbiesService;
 import com.yeshi.fanli.service.inter.taobao.TLJBuyGoodsService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
 import com.yeshi.fanli.service.inter.taobao.UserTLJBuyHistoryService;
-import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinRecordService;
 import com.yeshi.fanli.service.inter.user.TBPidService;
 import com.yeshi.fanli.service.inter.user.UserAccountService;
-import com.yeshi.fanli.service.inter.user.UserMoneyExtraService;
-import com.yeshi.fanli.service.inter.user.UserShareGoodsRecordService;
+import com.yeshi.fanli.service.manger.goods.ConvertLinkManager;
 import com.yeshi.fanli.util.AESUtil;
 import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.FilePathEnum;
 import com.yeshi.fanli.util.FileUtil;
 import com.yeshi.fanli.util.ImageUtil;
 import com.yeshi.fanli.util.RedisManager;
@@ -69,8 +65,7 @@
 @Service
 public class ShareGoodsServiceImpl implements ShareGoodsService {
 
-	@Resource
-	private PidUserMapper pidUserMapper;
+
 
 	@Resource
 	private TBPidService tbPidService;
@@ -78,8 +73,6 @@
 	@Resource
 	private UserShareGoodsHistoryMapper userShareGoodsHistoryMapper;
 
-	@Resource
-	private HongBaoManageMapper hongBaoManageMapper;
 
 	@Resource
 	private UserInfoMapper userinfoMapper;
@@ -99,17 +92,6 @@
 	@Resource
 	private HongBaoManageService hongBaoManageService;
 
-	@Resource
-	private UserShareGoodsRecordService userShareGoodsRecordService;
-
-	@Resource
-	private CommonGoodsService commonGoodsService;
-
-	@Resource
-	private UserMoneyExtraService userMoneyExtraService;
-
-	@Resource
-	private UserTaoLiJinRecordService userTaoLiJinRecordService;
 
 	@Resource
 	private UserTLJBuyHistoryService userTLJBuyHistoryService;
@@ -119,6 +101,12 @@
 
 	@Resource
 	private BusinessEmergent110Service businessEmergent110Service;
+
+	@Resource
+	private UserTaoLiJinNewbiesService userTaoLiJinNewbiesService;
+	
+	@Resource
+	private ConvertLinkManager convertLinkManager;
 
 	@Override
 	public void addShareGoodsHistory(UserShareGoodsHistory history) {
@@ -205,10 +193,10 @@
 		}
 
 		UserShareGoodsHistory history = new UserShareGoodsHistory();
-		history.setTkCode(tbLink.getTaoToken());
+		history.setTkCode(TaoBaoUtil.filterTaoToken(tbLink.getTaoToken()));
 		history.setLink(tbLink.getClickUrl());
 		history.setQuanLink(tbLink.getCouponLink());
-		history.setTkCode(tbLink.getTaoToken());
+		history.setTkCode(TaoBaoUtil.filterTaoToken(tbLink.getTaoToken()));
 
 		history.setCreateTime(new Date());
 		history.setGoodsId(goods.getAuctionId());
@@ -247,7 +235,7 @@
 			// throw new ShareGoodsException(4, "鐢熸垚浜岀淮鐮佸け璐�");
 			// }
 			// 鑾峰彇鍒扮敤鎴风殑澶村儚
-			UserInfo user = userinfoMapper.selectByPrimaryKey(uid);
+			UserInfo user = userinfoMapper.selectAvailableByPrimaryKey(uid);
 			InputStream portrait = null;
 			if (!StringUtil.isNullOrEmpty(user.getPortrait())) {
 				try {
@@ -303,7 +291,8 @@
 			}
 
 			FileUploadResult shareImgResult = COSManager.getInstance().uploadInputStream(shareImgInputStream,
-					"sharegoods/share_" + uid + "_" + goods.getAuctionId() + "_" + System.currentTimeMillis() + ".png");
+					FilePathEnum.shareGoods.getPath() + "share_" + uid + "_" + goods.getAuctionId() + "_"
+							+ System.currentTimeMillis() + ".png");
 
 			if (shareImgResult == null || StringUtil.isNullOrEmpty(shareImgResult.getUrl())) {
 				throw new ShareGoodsException(6, "鍒嗕韩鍥剧墖淇濆瓨澶辫触");
@@ -367,16 +356,16 @@
 
 			UserShareGoodsHistory history = new UserShareGoodsHistory();
 			history.setId(userShareGoodsHistory.getId());
-			history.setTkCode(tbLink.getTaoToken());
+			history.setTkCode(TaoBaoUtil.filterTaoToken(tbLink.getTaoToken()));
 			history.setLink(tbLink.getClickUrl());
 			history.setQuanLink(tbLink.getCouponLink());
-			history.setTkCode(tbLink.getTaoToken());
+			history.setTkCode(TaoBaoUtil.filterTaoToken(tbLink.getTaoToken()));
 			userShareGoodsHistoryMapper.updateByPrimaryKeySelective(history);
 
-			userShareGoodsHistory.setTkCode(tbLink.getTaoToken());
+			userShareGoodsHistory.setTkCode(TaoBaoUtil.filterTaoToken(tbLink.getTaoToken()));
 			userShareGoodsHistory.setLink(tbLink.getClickUrl());
 			userShareGoodsHistory.setQuanLink(tbLink.getCouponLink());
-			userShareGoodsHistory.setTkCode(tbLink.getTaoToken());
+			userShareGoodsHistory.setTkCode(TaoBaoUtil.filterTaoToken(tbLink.getTaoToken()));
 		}
 
 		return userShareGoodsHistory;
@@ -419,8 +408,6 @@
 		}
 		TaoBaoGoodsBrief goods = null;
 		try {
-			// 娴嬭瘯
-			// info.setAdzoneId("123");
 			goods = TaoKeApiUtil.searchGoodsDetail(auctionId, info);
 		} catch (TaobaoGoodsDownException e) {
 			throw new ShareGoodsException(4, "鍟嗗搧宸蹭笅鏋�");
@@ -431,8 +418,6 @@
 		}
 
 		if (StringUtil.isNullOrEmpty(goods.getCouponLink()) && !goods.getAuctionUrl().contains("s.click.taobao.com")) {
-			TaoBaoUnionConfig taoBaoUnionConfig = taoBaoUnionConfigService
-					.getConfigByAppIdCache(info.getPid().split("_")[2]);
 			TaoBaoGoodsBrief taoBaoLink = TaoKeApiUtil.specialConvertCoupon(auctionId, info);
 			if (taoBaoLink == null) {
 				throw new ShareGoodsException(201, "鍟嗗搧杞摼澶辫触");
@@ -457,12 +442,12 @@
 		tbLink.setCouponLink(goods.getCouponLink());
 
 		if (!StringUtil.isNullOrEmpty(tbLink.getCouponLink())) {// 閫氳繃绔嬪嵆鎺ㄥ箍鏂瑰紡鑾峰彇娣樺彛浠ゆ垚鍔�
-			String quanToken = TaoKeApiUtil.getTKToken(goods.getPictUrl(), goods.getTitle(), tbLink.getCouponLink());
+			String quanToken = convertLinkManager.createTaoBaoToken(uid, goods.getPictUrl(), goods.getTitle(), tbLink.getCouponLink());
 			if (!StringUtil.isNullOrEmpty(quanToken)) {
 				tbLink.setTaoToken(quanToken);
 			}
 		} else if (!StringUtil.isNullOrEmpty(tbLink.getClickUrl())) {
-			String quanToken = TaoKeApiUtil.getTKToken(goods.getPictUrl(), goods.getTitle(), tbLink.getClickUrl());
+			String quanToken = convertLinkManager.createTaoBaoToken(uid,goods.getPictUrl(), goods.getTitle(), tbLink.getClickUrl());
 			if (!StringUtil.isNullOrEmpty(quanToken)) {
 				tbLink.setTaoToken(quanToken);
 			}
@@ -473,6 +458,10 @@
 		// 瀛樺偍鍒嗕韩鍟嗗搧鐨勪俊鎭紝鐢ㄤ簬鍔犲揩鍒嗕韩缃戦〉鎺ュ彛璇锋眰閫熷害
 		if (Constant.IS_OUTNET)
 			redisManager.saveTaoBaoGoodsBriefTemp(goods);
+
+		LogManager.getLogger(LogType.taobaoTrade)
+				.info(String.format("娣樺疂鍟嗗搧鍒嗕韩\n UID:%s \n 鍟嗗搧ID:%s \n 鍒搁摼鎺�%s \n鍟嗗搧閾炬帴:%s \n 鍙d护:%s ", uid, auctionId,
+						tbLink.getCouponLink(), tbLink.getClickUrl(), tbLink.getTaoToken()));
 
 		return tbLink;
 	}
@@ -572,8 +561,9 @@
 		taoBaoLink.setAuctionId(auctionId);
 		taoBaoLink.setClickUrl(goods.getAuctionUrl());
 		taoBaoLink.setCouponLink(goods.getCouponLink());
+		if (!StringUtil.isNullOrEmpty(goods.getYsylClickUrl()))
+			taoBaoLink.setCouponLink(goods.getYsylClickUrl());
 		taoBaoLink.setGoods(goods);
-
 		return taoBaoLink;
 	}
 
@@ -650,6 +640,8 @@
 		tbLink.setAuctionId(goods.getAuctionId());
 		tbLink.setClickUrl(goods.getAuctionUrl());
 		tbLink.setCouponLink(goods.getCouponLink());
+		if (!StringUtil.isNullOrEmpty(goods.getYsylClickUrl()))
+			tbLink.setCouponLink(goods.getYsylClickUrl());
 
 		if (!StringUtil.isNullOrEmpty(tbLink.getCouponLink())) {// 閫氳繃绔嬪嵆鎺ㄥ箍鏂瑰紡鑾峰彇娣樺彛浠ゆ垚鍔�
 			String quanToken = TaoKeApiUtil.getTKToken(goods.getPictUrl(), goods.getTitle(), tbLink.getCouponLink());
@@ -675,39 +667,28 @@
 	@Override
 	public TaoBaoLink getTaoLiJinLinkForBuy(Long uid, String specialId, Long auctionId, String pid)
 			throws ShareGoodsException {
-		if (uid == null || uid <= 0) {
+		if (uid == null || uid <= 0)
 			throw new ShareGoodsException(1, "鐢ㄦ埛ID涓嶈兘涓虹┖");
+
+		if (auctionId == null || auctionId <= 0)
+			throw new ShareGoodsException(1, "鍟嗗搧ID涓嶈兘涓虹┖");
+
+		TaoBaoGoodsBrief goods = null;
+		try {
+			goods = TaoKeApiUtil.searchGoodsDetail(auctionId);
+		} catch (TaobaoGoodsDownException e) {
+			throw new ShareGoodsException(1, "璇ュ晢鍝佸凡涓嬫灦");
 		}
 
-		if (auctionId == null || auctionId <= 0) {
-			throw new ShareGoodsException(2, "鍟嗗搧ID涓嶈兘涓虹┖");
-		}
-
-		// 鐢ㄦ埛鍓╀綑鍙互娣樼ぜ閲戦獙璇�
-		UserMoneyExtra userMoneyExtra = userMoneyExtraService.selectByPrimaryKey(uid);
-		if (userMoneyExtra == null || userMoneyExtra.getTlj() == null) {
-			throw new ShareGoodsException(101, "绾㈠寘浣欓涓嶈冻");
-		}
-
-		TaoKeAppInfo app = new TaoKeAppInfo();
-		app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY);
-		app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
-		if (pid == null)
-			app.setPid(TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT);
-		else
-			app.setPid(pid);
-		TaoBaoGoodsBrief goods = TaoKeApiUtil.specialConvertCoupon(auctionId, app);
-		if (goods == null) {
-			throw new ShareGoodsException(1, "");
-		}
+		if (goods == null)
+			throw new ShareGoodsException(1, "璇ュ晢鍝佸凡涓嬫灦");
 
 		String taoLiJinLink = null;
 		try {
 			goods.setAuctionId(auctionId);
-			UserTaoLiJinRecord createUserTaoLiJin = userTaoLiJinRecordService.createSelfBuyTaoLiJin(uid, 1, goods);
-			taoLiJinLink = createUserTaoLiJin.getSendUrl();
-		} catch (UserTaoLiJinRecordException e) {
-			throw new ShareGoodsException(e.getCode(), e.getMsg());
+			taoLiJinLink = userTaoLiJinNewbiesService.createTaoLiJinForBuy(goods, uid);
+		} catch (UserTaoLiJinNewbiesException e1) {
+			throw new ShareGoodsException(e1.getCode(), e1.getMsg());
 		}
 
 		TaoBaoLink taoBaoLink = new TaoBaoLink();
@@ -715,7 +696,6 @@
 		taoBaoLink.setClickUrl(goods.getAuctionUrl());
 		taoBaoLink.setCouponLink(taoLiJinLink);
 		taoBaoLink.setGoods(goods);
-
 		return taoBaoLink;
 	}
 
@@ -834,7 +814,7 @@
 				TaoBaoUnionConfig config = taoBaoUnionConfigService.getConfigByAppKeyCache(app.getAppKey());
 				businessEmergent110Service.tljNoMoney(config.getAccount());
 			} else if (e1.getCode() == TaoLiJinCreateException.CODE_TLJ_FORBIDDEN) {// 鍟嗗搧涓嶅厑璁稿垱寤烘窐绀奸噾
-
+				tljBuyGoodsService.removeGoods(auctionId);
 			}
 			LogHelper.errorDetailInfo(e1, e1.getMessage(), null);
 		} catch (TaoKeApiException e) {

--
Gitblit v1.8.0