From 5a80c35e42ba1ed7340097ea9b156016e52a23f2 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 26 八月 2019 17:05:05 +0800
Subject: [PATCH] 京东订单修改

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsRecordServiceImpl.java |   98 +++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 86 insertions(+), 12 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsRecordServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsRecordServiceImpl.java
index daea8ce..5068d49 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsRecordServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsRecordServiceImpl.java
@@ -326,16 +326,14 @@
 	 * @param listGoods
 	 */
 	@Transactional
-	public void multipleGoodsShareRecord(Long shareId, List<TaoBaoGoodsBrief> listGoods)
+	public void multipleGoodsShareRecord(Long shareId, List<CommonGoods> listGoods)
 			throws UserShareGoodsRecordException {
 		// 鍒嗕韩璁板綍
 		Date date = new Date();
 		List<TaoBaoGoodsBrief> listGoodsBrief = new ArrayList<TaoBaoGoodsBrief>();
 		List<UserShareGoodsGroup> listGroup = new ArrayList<UserShareGoodsGroup>();
 
-		for (TaoBaoGoodsBrief taoBaoGoodsBrief : listGoods) {
-			CommonGoods commonGoods = CommonGoodsFactory.create(taoBaoGoodsBrief);
-			commonGoods.setState(taoBaoGoodsBrief.getState());
+		for (CommonGoods commonGoods : listGoods) {
 			try {
 				CommonGoods resultCommonGoods = commonGoodsService.addOrUpdateCommonGoods(commonGoods);
 
@@ -690,18 +688,63 @@
 		record.setCreateTime(new Date());
 		userShareGoodsRecordMapper.insertSelective(record);
 
+		List<CommonGoods> listCommonGoods = new ArrayList<CommonGoods>();
+		for (TaoBaoGoodsBrief goodsBrief: listGoodsBrief) {
+			listCommonGoods.add(CommonGoodsFactory.create(goodsBrief));
+		}
+		
+		
 		Long id = record.getId();
 		// 鍒嗕韩閾炬帴
 		String shareUrl = getShareUrl(record);
 		// 鍒嗕韩浜岀淮鐮侀摼鎺�
-		FileUploadResult uploadResult = drawingSharePicture(uid, id, shareUrl, listGoodsBrief);
+		FileUploadResult uploadResult = drawingSharePicture(uid, id, shareUrl, listCommonGoods);
 
 		ShareGoodsRecordDTO recordDTO = new ShareGoodsRecordDTO();
 		recordDTO.setUid(uid);
 		recordDTO.setShareId(id);
 		recordDTO.setShareUrl(shareUrl);
 		recordDTO.setListId(listStorageID);
-		recordDTO.setListGoodsBrief(listGoodsBrief);
+		recordDTO.setListGoods(listCommonGoods);
+		recordDTO.setSharePictureUrl(uploadResult.getUrl());
+		recordDTO.setSource(ShareSourceTypeEnum.storage);
+
+		// 缂撳瓨鍒嗕韩鍟嗗搧淇℃伅
+		String key = StringUtil.Md5(uid + "#GoodsStorage#" + id);
+		recordDTO.setRedisKey(key);
+
+		redisManager.cacheCommonString(key, JsonUtil.getSimpleGson().toJson(recordDTO), 60 * 20);
+
+		return recordDTO;
+	}
+	
+	@Override
+	public ShareGoodsRecordDTO addRecordGoodsStorageV2(Long uid, List<CommonGoods> listGoods, List<Long> listStorageID)
+			throws UserShareGoodsRecordException {
+		if (uid == null || uid <= 0 || listGoods == null || listGoods.size() == 0) {
+			throw new UserShareGoodsRecordException(1, "浼犻�掑弬鏁颁笉姝g‘");
+		}
+		// 鎻掑叆璁板綍
+		UserShareGoodsRecord record = new UserShareGoodsRecord();
+		record.setUid(uid);
+		record.setShareState(0); // 鍒濆鏈垎浜�
+		record.setSource(ShareSourceTypeEnum.storage);
+		record.setPicture(listGoods.get(0).getPicture()); // 鍙栦竴涓晢鍝佸浘鐗囦綔涓轰富鍥�
+		record.setCreateTime(new Date());
+		userShareGoodsRecordMapper.insertSelective(record);
+
+		Long id = record.getId();
+		// 鍒嗕韩閾炬帴
+		String shareUrl = getShareUrlV2(record);
+		// 鍒嗕韩浜岀淮鐮侀摼鎺�
+		FileUploadResult uploadResult = drawingSharePicture(uid, id, shareUrl, listGoods);
+
+		ShareGoodsRecordDTO recordDTO = new ShareGoodsRecordDTO();
+		recordDTO.setUid(uid);
+		recordDTO.setShareId(id);
+		recordDTO.setShareUrl(shareUrl);
+		recordDTO.setListId(listStorageID);
+		recordDTO.setListGoods(listGoods);
 		recordDTO.setSharePictureUrl(uploadResult.getUrl());
 		recordDTO.setSource(ShareSourceTypeEnum.storage);
 
@@ -731,16 +774,21 @@
 		record.setCreateTime(new Date());
 		userShareGoodsRecordMapper.insertSelective(record);
 
+		List<CommonGoods> listCommonGoods = new ArrayList<CommonGoods>();
+		for (TaoBaoGoodsBrief goodsBrief: listGoodsBrief) {
+			listCommonGoods.add(CommonGoodsFactory.create(goodsBrief));
+		}
+		
 		Long id = record.getId();
 		// 鍒嗕韩閾炬帴
 		String shareUrl = getShareUrl(record);
 		// 鍒嗕韩浜岀淮鐮侀摼鎺�
-		FileUploadResult uploadResult = drawingSharePicture(uid, id, shareUrl, listGoodsBrief);
+		FileUploadResult uploadResult = drawingSharePicture(uid, id, shareUrl, listCommonGoods);
 
 		ShareGoodsRecordDTO recordDTO = new ShareGoodsRecordDTO();
 		recordDTO.setUid(uid);
 		recordDTO.setShareId(id);
-		recordDTO.setListGoodsBrief(listGoodsBrief);
+		recordDTO.setListGoods(listCommonGoods);
 		recordDTO.setShareUrl(shareUrl);
 		recordDTO.setSharePictureUrl(uploadResult.getUrl());
 		recordDTO.setSource(ShareSourceTypeEnum.activity);
@@ -769,6 +817,11 @@
 		record.setCreateTime(new Date());
 		userShareGoodsRecordMapper.insertSelective(record);
 
+		List<CommonGoods> listCommonGoods = new ArrayList<CommonGoods>();
+		for (TaoBaoGoodsBrief goodsBrief: listGoodsBrief) {
+			listCommonGoods.add(CommonGoodsFactory.create(goodsBrief));
+		}
+		
 		Long id = record.getId();
 		// 鍒嗕韩閾炬帴
 		String shareUrl = getShareUrl(record);
@@ -777,7 +830,7 @@
 		recordDTO.setUid(uid);
 		recordDTO.setShareId(id);
 		recordDTO.setShareUrl(shareUrl);
-		recordDTO.setListGoodsBrief(listGoodsBrief);
+		recordDTO.setListGoods(listCommonGoods);
 		recordDTO.setSource(ShareSourceTypeEnum.activity);
 
 		// 缂撳瓨鍒嗕韩鍟嗗搧淇℃伅
@@ -818,7 +871,7 @@
 			updateByPrimaryKeySelective(shareRecord);
 
 			// 淇濆瓨鍟嗗搧淇℃伅
-			multipleGoodsShareRecord(shareId, recordDTO.getListGoodsBrief());
+			multipleGoodsShareRecord(shareId, recordDTO.getListGoods());
 
 		} else if (ShareSourceTypeEnum.storage.equals(source)) {
 			// 鍒嗕韩搴撳垎浜�
@@ -829,7 +882,7 @@
 			updateByPrimaryKeySelective(shareRecord);
 
 			// 淇濆瓨鍟嗗搧淇℃伅
-			multipleGoodsShareRecord(shareId, recordDTO.getListGoodsBrief());
+			multipleGoodsShareRecord(shareId, recordDTO.getListGoods());
 			
 			// 鏇存柊閫夊搧搴撳晢鍝佺姸鎬� 涓哄凡鍒嗕韩
 			List<Long> listId = recordDTO.getListId();
@@ -867,6 +920,27 @@
 		}
 		return url;
 	}
+	
+	
+	/**
+	 * 鍒嗕韩閾炬帴
+	 * 
+	 * @param shareRecord
+	 * @return
+	 */
+	public String getShareUrlV2(UserShareGoodsRecord shareRecord) {
+		Long uid = shareRecord.getUid();
+		Long shareId = shareRecord.getId();
+
+		String url = String.format("http://%s/share_mushGoods_1.6.0.html?uid=%s&shareId=%s",
+				configService.getH5Host(), AESUtil.encrypt(uid + "", Constant.UIDAESKEY), shareId + "");
+
+		String shortLink = HttpUtil.getShortLink(url);
+		if (!StringUtil.isNullOrEmpty(shortLink)) {
+			url = shortLink;
+		}
+		return url;
+	}
 
 	/**
 	 * 鐢熸垚鍒嗕韩鍥�
@@ -878,7 +952,7 @@
 	 * @return
 	 * @throws UserShareGoodsRecordException
 	 */
-	public FileUploadResult drawingSharePicture(Long uid, Long shareId, String url, List<TaoBaoGoodsBrief> listGoods)
+	public FileUploadResult drawingSharePicture(Long uid, Long shareId, String url, List<CommonGoods> listGoods)
 			throws UserShareGoodsRecordException {
 
 		InputStream erCodeInputStream = null;

--
Gitblit v1.8.0