From de4110d3d3944ffcd797fd8c43f0d455cc731f84 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期日, 17 五月 2020 11:43:52 +0800
Subject: [PATCH] 活动详情

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/PreviewInfoServiceImpl.java |   72 ++++++++++++++++++++++++++++++-----
 1 files changed, 61 insertions(+), 11 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 d53e733..69fe8da 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
@@ -45,11 +45,11 @@
 	private ThreeSaleDetailService threeSaleDetailService;
 	
 	
+	 
 	
 	@Override
 	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(preUid);
@@ -59,11 +59,30 @@
 		info.setUpdateTime(new Date());
 		previewInfoDao.save(info);
 		
-		// 缂撳瓨10鍒嗛挓
-		String key = StringUtil.Md5("preview" + preUid + "#" + type.name());
-		redisManager.cacheCommonString(key, info.getContent(), 60 * 10);
+		if (type == PreviewEnum.extractRecord) {
+			return;
+		}
+		
+		if (StringUtil.isNullOrEmpty(content)) {
+			removePreview(preUid, type);
+		} else {
+			adddPreview(preUid, type, content);
+		}
+		
 	}
 	
+	// 缂撳瓨10鍒嗛挓
+	private void adddPreview(Long uid, PreviewEnum type, String content) {
+		String key = StringUtil.Md5("preview" + uid + "#" + type.name());
+		redisManager.cacheCommonString(key, content, 60 * 10);
+	}
+	
+	// 缂撳瓨10鍒嗛挓
+	private void removePreview(Long uid, PreviewEnum type) {
+		String key = StringUtil.Md5("preview" + uid + "#" + type.name());
+		redisManager.removeCommonString(key);
+	}
+		
 	
 	@Override
 	public String getRedisContent(Long uid, PreviewEnum previewEnum) {
@@ -91,25 +110,29 @@
 		BindingAccount alipay = bindingAccountService.getBindingAccountByUidAndType(uid, BindingAccount.TYPE_ALIPAY);
 		if (alipay == null)
 			throw new PreviewInfoException(1, "鏈粦瀹氭彁鐜拌处鍙�");
+		if (money == null || money.compareTo(BigDecimal.ZERO) <= 0)
+			throw new PreviewInfoException(1, "璇疯緭鍏ユ纭殑閲戦");
 		if (StringUtil.isNullOrEmpty(time))
 			throw new PreviewInfoException(1, "鎻愮幇鏃堕棿涓嶈兘涓虹┖");
-		if (money.compareTo(BigDecimal.ZERO) <= 0)
-			throw new PreviewInfoException(1, "鎻愮幇閲戦涓嶈兘灏忎簬0");
+	
+		Date parse = TimeUtil.parseDotCommon2(time);
+		if (parse == null)
+			throw new PreviewInfoException(1, "璇疯緭鍏ユ纭殑鏃堕棿鏍煎紡锛屽锛�2020.01.01 01:01");
+		
 		
 		Gson gson = new Gson();
-		List<Extract> list = null;
+		List<Extract> list = new ArrayList<Extract>();
 		
 		Extract extract = new Extract();
 		extract.setName(alipay.getName());
 		extract.setAccount(alipay.getAccount());
 		extract.setMoney(money);
-		extract.setReceiveTime(TimeUtil.parseDotCommon(time));
+		extract.setReceiveTime(TimeUtil.parseDotCommon2(time));
 		extract.setId(java.lang.System.currentTimeMillis());
 		
 		String id = StringUtil.Md5(uid + "#" + PreviewEnum.extractRecord.name());
 		PreviewInfo previewInfo = previewInfoDao.get(id);
 		if (previewInfo == null) {
-			 list = new ArrayList<Extract>();
 			 list.add(extract);
 		} else {
 			String content = previewInfo.getContent();
@@ -139,6 +162,24 @@
 	
 
 	@Override
+	public void previewExtractRecord(Long uid) throws PreviewInfoException{
+		String id = StringUtil.Md5(uid + "#" + PreviewEnum.extractRecord.name());
+		PreviewInfo previewInfo = previewInfoDao.get(id);
+		if (previewInfo == null) {
+			throw new PreviewInfoException(1, "璇锋坊鍔犳彁鐜拌褰曚俊鎭�");
+		} 
+		
+		String content = previewInfo.getContent();
+		if (StringUtil.isNullOrEmpty(content)) {
+			throw new PreviewInfoException(1, "璇锋坊鍔犳彁鐜拌褰曚俊鎭�");
+		}
+
+		adddPreview(uid, PreviewEnum.extractRecord, content);
+	}
+	
+	
+
+	@Override
 	public void deleteExtractRecord(Long uid, long tid) {
 		String id = StringUtil.Md5(uid + "#" + PreviewEnum.extractRecord.name());
 		PreviewInfo previewInfo = previewInfoDao.get(id);
@@ -163,7 +204,11 @@
 				break;
 			}
 		}
+		
 		save(uid, uid, PreviewEnum.extractRecord, gson.toJson(list));
+		
+		// 鍙栨秷棰勮
+		removePreview(uid, PreviewEnum.extractRecord);
 	}
 	
 	
@@ -199,9 +244,14 @@
 		if (money == null )
 			throw new PreviewInfoException(1, "璇疯緭鍏ラ噾棰�");
 		if(StringUtil.isNullOrEmpty(time))
-			throw new PreviewInfoException(1, "璇疯緭鍏ュ垱寤烘椂闂�");
-		if(StringUtil.isNullOrEmpty(time))
 			throw new PreviewInfoException(1, "璇疯緭鍏ヨ鍗曞彿");
+		if(StringUtil.isNullOrEmpty(time))
+			throw new PreviewInfoException(1, "璇疯緭鍏ュ垱寤烘椂闂�");
+		Date parse = TimeUtil.parseDotCommon2(time);
+		if (parse == null)
+			throw new PreviewInfoException(1, "璇疯緭鍏ユ纭殑鏃堕棿鏍煎紡锛屽锛�2020.01.01 01:01");
+		
+		
 		String content = ""; // TODO
 		// save(uid, PreviewEnum.moneyArrival, gson.toJson(infoVO));
 		return content;

--
Gitblit v1.8.0