From 554d3857358b0ea53c4f65d8d9baad113ef1deb4 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 16 五月 2020 13:53:55 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/PreviewInfoServiceImpl.java |   82 ++++++++++++++++++++++------------------
 1 files changed, 45 insertions(+), 37 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/PreviewInfoServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/PreviewInfoServiceImpl.java
index 0e1f246..d53e733 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/PreviewInfoServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/PreviewInfoServiceImpl.java
@@ -1,20 +1,15 @@
 package com.yeshi.fanli.service.impl.user;
 
-import java.io.File;
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.Date;
 import java.util.List;
-import java.util.UUID;
 
 import javax.annotation.Resource;
 
 import org.springframework.stereotype.Service;
-import org.springframework.web.multipart.MultipartFile;
-import org.yeshi.utils.FileUtil;
-import org.yeshi.utils.tencentcloud.COSManager;
 
 import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
@@ -23,16 +18,16 @@
 import com.yeshi.fanli.entity.bus.user.Extract;
 import com.yeshi.fanli.entity.bus.user.PreviewInfo;
 import com.yeshi.fanli.entity.bus.user.PreviewInfo.PreviewEnum;
+import com.yeshi.fanli.entity.bus.user.ThreeSaleDetail;
 import com.yeshi.fanli.exception.user.PreviewInfoException;
 import com.yeshi.fanli.service.inter.money.extract.BindingAccountService;
 import com.yeshi.fanli.service.inter.user.PreviewInfoService;
-import com.yeshi.fanli.util.FilePathEnum;
+import com.yeshi.fanli.service.inter.user.invite.ThreeSaleDetailService;
+import com.yeshi.fanli.util.RedisManager;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.TimeUtil;
 import com.yeshi.fanli.vo.money.MoneyStatisticVO;
 import com.yeshi.fanli.vo.user.MineInfoVO;
-
-import net.coobird.thumbnailator.Thumbnails;
 
 @Service
 public class PreviewInfoServiceImpl implements PreviewInfoService {
@@ -43,20 +38,39 @@
 	@Resource
 	private BindingAccountService bindingAccountService;
 	
+	@Resource
+	private RedisManager redisManager;
+	
+	@Resource
+	private ThreeSaleDetailService threeSaleDetailService;
+	
 	
 	
 	@Override
-	public void save(Long uid, PreviewEnum type, String content) {
-		String id = StringUtil.Md5(uid + "#" + type.name());
+	public void save(Long createUid, Long preUid, PreviewEnum type, String content) {
+		String id = StringUtil.Md5(createUid + "#" + type.name());
 		
 		PreviewInfo info = new PreviewInfo();
 		info.setId(id);
-		info.setUid(uid);
+		info.setUid(preUid);
+		info.setCreateUid(createUid);
 		info.setContent(content);
 		info.setType(type);
 		info.setUpdateTime(new Date());
 		previewInfoDao.save(info);
+		
+		// 缂撳瓨10鍒嗛挓
+		String key = StringUtil.Md5("preview" + preUid + "#" + type.name());
+		redisManager.cacheCommonString(key, info.getContent(), 60 * 10);
 	}
+	
+	
+	@Override
+	public String getRedisContent(Long uid, PreviewEnum previewEnum) {
+		String key = StringUtil.Md5("preview" + uid + "#" + previewEnum.name());
+		return redisManager.getCommonString(key);
+	}
+	
 	
 	@Override
 	public PreviewInfo get(Long uid, PreviewEnum previewEnum) {
@@ -68,7 +82,7 @@
 	public void saveMoneyInfo(Long uid, MoneyStatisticVO vo) throws PreviewInfoException {
 		if (vo == null)
 			throw new PreviewInfoException(1, "璇峰畬鍠勯〉闈俊鎭�");
-		save(uid, PreviewEnum.moneyInfo, new Gson().toJson(vo));
+		save(uid, uid, PreviewEnum.moneyInfo, new Gson().toJson(vo));
 	}
 	
 	
@@ -119,7 +133,7 @@
 				Collections.sort(list, cm);
 			}
 		}
-		save(uid, PreviewEnum.extractRecord, gson.toJson(list));
+		save(uid, uid, PreviewEnum.extractRecord, gson.toJson(list));
 	}
 	
 	
@@ -149,38 +163,32 @@
 				break;
 			}
 		}
-		save(uid, PreviewEnum.extractRecord, gson.toJson(list));
+		save(uid, uid, PreviewEnum.extractRecord, gson.toJson(list));
 	}
 	
 	
 	
 	@Override
-	public void saveMineInfo(MineInfoVO infoVO, MultipartFile file) throws Exception {
+	public void saveMineInfo(MineInfoVO infoVO) throws PreviewInfoException  {
 		Long uid = infoVO.getUid();
-		if (file != null) {
-			// 璋锋瓕鍘嬬缉鍥剧墖
-			String targetPath = FileUtil.getCacheDir() + "/preview" + uid + "_" + System.currentTimeMillis()+ ".jpg";
-			Thumbnails.of(file.getInputStream()).size(200, 200).toFile(targetPath);
-			// 鎵ц涓婁紶
-			String filePath =FilePathEnum.userPreview.getPath() + UUID.randomUUID().toString().replace("-", "") + ".jpg";
-			String fileLink = COSManager.getInstance().uploadFile(new File(targetPath), filePath).getUrl();
-			// 鍒犻櫎鏈湴鍥剧墖
-			if (new File(targetPath).exists()) {
-				new File(targetPath).delete();
-			}
-			infoVO.setPortrait(fileLink);
-			
-			// 鍒犻櫎涔嬪墠涓婁紶鍥�
-			String id = StringUtil.Md5(uid + "#" + PreviewEnum.mineInfo.name());
-			PreviewInfo previewInfo = previewInfoDao.get(id);
-			if (previewInfo != null && !StringUtil.isNullOrEmpty(previewInfo.getContent())) {
-				MineInfoVO dto = new Gson().fromJson(previewInfo.getContent(), MineInfoVO.class);
-				if (dto != null && StringUtil.isNullOrEmpty(dto.getPortrait()));
-					COSManager.getInstance().deleteFile(dto.getPortrait());
-			}
+		Long preUid = infoVO.getPreUid();
+		if (uid == null || preUid == null)
+			throw new PreviewInfoException(1, "璇峰畬鍠勬墍鏈夋暟鎹�");
+		
+		if (uid.longValue() != preUid.longValue()) {
+			// preUid 蹇呴』鏄笅绾�
+			ThreeSaleDetail detail = threeSaleDetailService.getByBossUidAndWorkerUid(uid, preUid);
+			if (detail == null) 
+				throw new PreviewInfoException(1, preUid + "涓嶆槸鎮ㄧ殑涓嬬骇");
 		}
+		
+		if (StringUtil.isNullOrEmpty(infoVO.getSelfRebate()) || StringUtil.isNullOrEmpty(infoVO.getShareBonus())
+				|| StringUtil.isNullOrEmpty(infoVO.getTeamBonus())) {
+			throw new PreviewInfoException(1, "璇峰畬鍠勬墍鏈夋暟鎹�");
+		}
+		
 		Gson gson = new Gson();
-		save(uid, PreviewEnum.mineInfo, gson.toJson(infoVO));
+		save(uid, preUid, PreviewEnum.mineInfo, gson.toJson(infoVO));
 	}
 	
 

--
Gitblit v1.8.0