From ad9fbd2c18f280ef9bba47f28353d367cf2d94e8 Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期二, 14 五月 2019 11:28:03 +0800
Subject: [PATCH] Merge branch 'div_12'

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/activity/ActivityServiceImpl.java |  255 ++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 202 insertions(+), 53 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/activity/ActivityServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/activity/ActivityServiceImpl.java
index 51ce1e6..d714db8 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/activity/ActivityServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/activity/ActivityServiceImpl.java
@@ -1,6 +1,7 @@
 package com.yeshi.fanli.service.impl.activity;
 
 import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -8,11 +9,11 @@
 
 import javax.annotation.Resource;
 
-import net.sf.json.JSONArray;
-import net.sf.json.JSONObject;
-
+import org.jsoup.Jsoup;
 import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.yeshi.utils.NumberUtil;
 import org.yeshi.utils.entity.FileUploadResult;
 import org.yeshi.utils.taobao.TbImgUtil;
 
@@ -53,6 +54,9 @@
 import com.yeshi.fanli.util.factory.CommonGoodsFactory;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
 import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
+
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
 
 @Service
 public class ActivityServiceImpl implements ActivityService {
@@ -116,8 +120,8 @@
 	}
 
 	@Override
-	public long getRecommendActivityCount() {
-		return recommendActivityMapper.getRecommendActivityCount();
+	public long getRecommendActivityCount(String title) {
+		return recommendActivityMapper.getRecommendActivityCount(title);
 	}
 
 	@Override
@@ -247,7 +251,7 @@
 			if (split != null) {
 				revenue = split[1];
 			}
-			
+
 			String[] splitMoney = totalGetMoney.split("楼");
 			if (splitMoney != null) {
 				shareMoney = splitMoney[1];
@@ -306,21 +310,35 @@
 		return activityUserMapper.selectList();
 	}
 
+	@Transactional
 	@Override
-	public RecommendActivity addShareGoodsRecommendActivity(Long activityUid, String title, List<Long> goodsList,
-			boolean top, int shareCount) throws ActivityException {
+	public RecommendActivity addShareGoodsRecommendActivity(Long activityUid, List<Long> goodsList,
+			RecommendActivity activity) throws ActivityException , Exception{
 
 		if (goodsList == null || goodsList.size() == 0 || goodsList.size() > 9)
 			throw new ActivityException(1, "鍟嗗搧鏁伴噺閿欒锛�10>鍟嗗搧鏁伴噺>0");
-
-		RecommendActivity activity = new RecommendActivity();
+		
+		if (StringUtil.isNullOrEmpty(activity.getTitle())) {
+			throw new ActivityException(1, "鏍囬涓嶈兘涓虹┖");
+		}
+		
+		Integer shareCount = activity.getShareCount();
+		if (shareCount == null) {
+			activity.setShareCount(0);
+		}
+		
+		Boolean top = activity.getTop();
+		if (top == null) {
+			activity.setTop(false);
+		}
+		
+		// 鏃堕棿杞崲
+		conversionTime(activity);
+		
 		activity.setActivityUser(new ActivityUser(activityUid));
 		activity.setCreateTime(new Date());
 		activity.setGoodsList(null);
 		activity.setOrderBy(0);
-		activity.setShareCount(shareCount);
-		activity.setTitle(title);
-		activity.setTop(top);
 		activity.setType(RecommendActivity.TYPE_SHARE_GOODS);
 		recommendActivityMapper.insertSelective(activity);
 
@@ -369,17 +387,30 @@
 		return activity;
 	}
 
+	@Transactional
 	@Override
-	public RecommendActivity addInviteImgRecommendActivity(Long activityUid, String title, String url, boolean top,
-			int shareCount, int px, int py, int erCodeSize) throws ActivityException {
-		RecommendActivity activity = new RecommendActivity();
+	public RecommendActivity addInviteImgRecommendActivity(Long activityUid, RecommendActivity activity, String url,
+			 int px, int py, int erCodeSize) throws ActivityException, Exception {
+		if (StringUtil.isNullOrEmpty(url))
+			throw new ActivityException(1, "鍥剧墖涓虹┖");
+		
+		Integer shareCount = activity.getShareCount();
+		if (shareCount == null) {
+			activity.setShareCount(0);
+		}
+		
+		Boolean top = activity.getTop();
+		if (top == null) {
+			activity.setTop(false);
+		}
+		
+		// 鏃堕棿杞崲
+		conversionTime(activity);
+		
 		activity.setActivityUser(new ActivityUser(activityUid));
 		activity.setCreateTime(new Date());
 		activity.setGoodsList(null);
 		activity.setOrderBy(0);
-		activity.setShareCount(shareCount);
-		activity.setTitle(title);
-		activity.setTop(top);
 		activity.setType(RecommendActivity.TYPE_INVITE);
 		recommendActivityMapper.insertSelective(activity);
 		RecommendActivityImg img = new RecommendActivityImg();
@@ -401,22 +432,32 @@
 		recommendActivityInviteInfo.setRecommendActivity(activity);
 		recommendActivityInviteInfo.setSize(erCodeSize);
 		recommendActivityInviteInfoMapper.insertSelective(recommendActivityInviteInfo);
-
 		recommendActivityImgMapper.insertSelective(img);
 		return activity;
 	}
 
+	@Transactional
 	@Override
-	public RecommendActivity addTextAndImgRecommendActivity(Long activityUid, String title, List<String> imgList,
-			boolean top, int shareCount) throws ActivityException {
-		RecommendActivity activity = new RecommendActivity();
+	public RecommendActivity addTextAndImgRecommendActivity(Long activityUid,  List<String> imgList,
+			RecommendActivity activity) throws ActivityException, Exception {
+		
+		Integer shareCount = activity.getShareCount();
+		if (shareCount == null) {
+			activity.setShareCount(0);
+		}
+		
+		Boolean top = activity.getTop();
+		if (top == null) {
+			activity.setTop(false);
+		}
+		
+		// 鏃堕棿杞崲
+		conversionTime(activity);
+				
 		activity.setActivityUser(new ActivityUser(activityUid));
 		activity.setCreateTime(new Date());
 		activity.setGoodsList(null);
 		activity.setOrderBy(0);
-		activity.setShareCount(shareCount);
-		activity.setTitle(title);
-		activity.setTop(top);
 		activity.setType(RecommendActivity.TYPE_TEXTIMG);
 		recommendActivityMapper.insertSelective(activity);
 		for (String imgUrl : imgList) {
@@ -436,6 +477,7 @@
 		return activity;
 	}
 
+	@Transactional
 	@Override
 	public void deleteRecommendActivity(long[] ids) {
 		recommendActivityMapper.batchDeleteByPrimaryKey(ids);
@@ -449,21 +491,34 @@
 		return recommendActivityMapper.selectByPrimaryKey(id);
 	}
 
+	@Transactional
 	@Override
-	public RecommendActivity updateShareGoodsRecommendActivity(Long id, Long activityUid, String title,
-			List<Long> goodsList, boolean top, int shareCount) throws ActivityException {
+	public RecommendActivity updateShareGoodsRecommendActivity(Long activityUid,
+			List<Long> goodsList, RecommendActivity activity) throws ActivityException , Exception{
+		
 		if (goodsList == null || goodsList.size() == 0 || goodsList.size() > 9)
 			throw new ActivityException(1, "鍟嗗搧鏁伴噺閿欒锛�10>鍟嗗搧鏁伴噺>0");
+	
 		// 鍒犻櫎涔嬪墠鐨勫晢鍝�
-		recommendActivityTaoBaoGoodsMapper.batchDeleteByActivityid(new long[] { id });
-		RecommendActivity activity = new RecommendActivity();
-		activity.setId(id);
+		recommendActivityTaoBaoGoodsMapper.batchDeleteByActivityid(new long[] { activity.getId() });
+		
+		
 		activity.setActivityUser(new ActivityUser(activityUid));
 		activity.setGoodsList(null);
 		activity.setOrderBy(0);
-		activity.setShareCount(shareCount);
-		activity.setTitle(title);
-		activity.setTop(top);
+		
+		Integer shareCount = activity.getShareCount();
+		if (shareCount == null) {
+			activity.setShareCount(0);
+		}
+		
+		Boolean top = activity.getTop();
+		if (top == null) {
+			activity.setTop(false);
+		}
+		
+		// 鏃堕棿杞崲
+		conversionTime(activity);
 
 		activity.setType(RecommendActivity.TYPE_SHARE_GOODS);
 		recommendActivityMapper.updateByPrimaryKeySelective(activity);
@@ -503,18 +558,28 @@
 		return activity;
 	}
 
+	@Transactional
 	@Override
-	public RecommendActivity updateInviteImgRecommendActivity(Long id, Long activityUid, String title, String url,
-			boolean top, int shareCount, int px, int py, int erCodeSize) throws ActivityException {
-		recommendActivityImgMapper.batchDeleteByActivityid(new long[] { id });
-		RecommendActivity activity = new RecommendActivity();
-		activity.setId(id);
+	public RecommendActivity updateInviteImgRecommendActivity(Long activityUid, RecommendActivity activity, String url,
+			int px, int py, int erCodeSize) throws ActivityException , Exception{
+		recommendActivityImgMapper.batchDeleteByActivityid(new long[] { activity.getId() });
+		
+		Integer shareCount = activity.getShareCount();
+		if (shareCount == null) {
+			activity.setShareCount(0);
+		}
+		
+		Boolean top = activity.getTop();
+		if (top == null) {
+			activity.setTop(false);
+		}
+		
+		// 鏃堕棿杞崲
+		conversionTime(activity);
+				
 		activity.setActivityUser(new ActivityUser(activityUid));
 		activity.setGoodsList(null);
 		activity.setOrderBy(0);
-		activity.setShareCount(shareCount);
-		activity.setTitle(title);
-		activity.setTop(top);
 		activity.setType(RecommendActivity.TYPE_INVITE);
 		recommendActivityMapper.updateByPrimaryKeySelective(activity);
 		RecommendActivityImg img = new RecommendActivityImg();
@@ -545,18 +610,27 @@
 		return activity;
 	}
 
+	@Transactional
 	@Override
-	public RecommendActivity updateTextAndImgRecommendActivity(Long id, Long activityUid, String title,
-			List<String> imgList, boolean top, int shareCount) throws ActivityException {
-		recommendActivityImgMapper.batchDeleteByActivityid(new long[] { id });
-		RecommendActivity activity = new RecommendActivity();
-		activity.setId(id);
+	public RecommendActivity updateTextAndImgRecommendActivity(Long activityUid, List<String> imgList, 
+			RecommendActivity activity) throws ActivityException , Exception{
+		recommendActivityImgMapper.batchDeleteByActivityid(new long[] { activity.getId() });
+		
+		Integer shareCount = activity.getShareCount();
+		if (shareCount == null) {
+			activity.setShareCount(0);
+		}
+		
+		Boolean top = activity.getTop();
+		if (top == null) {
+			activity.setTop(false);
+		}
+		// 鏃堕棿杞崲
+		conversionTime(activity);
+		
 		activity.setActivityUser(new ActivityUser(activityUid));
 		activity.setGoodsList(null);
 		activity.setOrderBy(0);
-		activity.setShareCount(shareCount);
-		activity.setTitle(title);
-		activity.setTop(top);
 		activity.setType(RecommendActivity.TYPE_TEXTIMG);
 		recommendActivityMapper.updateByPrimaryKeySelective(activity);
 		for (String imgUrl : imgList) {
@@ -585,22 +659,43 @@
 	@Override
 	public List<RecommendActivity> getRecommendActivityListCache(int page, int pageSize) {
 		List<RecommendActivity> activityList = getRecommendActivityList(page, pageSize);
-		if (activityList != null)
+		if (activityList != null) {
 			for (RecommendActivity activity : activityList) {
-				if (activity != null && activity.getGoodsList() != null)
+				
+				if (activity != null && activity.getGoodsList() != null) {
 					for (RecommendActivityTaoBaoGoods goods : activity.getGoodsList()) {
 						goods.setQuanPrice(goods.getDesc().replace("鍒稿悗浠凤細楼", ""));
 					}
+				}
+				
+				// 杩囨护涓�閬�
+				if (!StringUtil.isNullOrEmpty(activity.getTitle())) {
+					activity.setTitle(Jsoup.parse(activity.getTitle()).text());
+					if (activity.getShareCount() >= 10000) {
+						activity.setShareCountShow(NumberUtil.get1PointNumber(activity.getShareCount() / 10000.0) + "涓�");
+					} else {
+						activity.setShareCountShow(activity.getShareCount() + "");
+					}
+				}
+				
+				Date startTime = activity.getStartTime();
+				if (startTime != null) {
+					activity.setCreateTime(startTime);
+				}
+				
 			}
+		
+		}
 		return activityList;
 	}
 
 	@Cacheable(value = "activityCache", key = "'getRecommendActivityCount'")
 	@Override
 	public long getRecommendActivityCountCache() {
-		return getRecommendActivityCount();
+		return recommendActivityMapper.getRecommendActivityEffectiveCount();
 	}
 
+	@Transactional
 	@Override
 	public void upgradeShareGoodsRecommendActivity(Long id) throws ActivityException {
 		// 鑾峰彇鍟嗗搧
@@ -705,4 +800,58 @@
 	public ActivityUser selectActivityUserByPrimaryKey(Long id) {
 		return activityUserMapper.selectByPrimaryKey(id);
 	}
+
+	@Transactional
+	@Override
+	public void updateRecommendActivityGoods(TaoBaoGoodsBrief goods) {
+		List<RecommendActivityTaoBaoGoods> list = recommendActivityTaoBaoGoodsMapper
+				.selectByAuctionId(goods.getAuctionId());
+
+		BigDecimal d = TaoBaoUtil.getAfterUseCouplePrice(goods);
+
+		RecommendActivityTaoBaoGoods updateGoods = new RecommendActivityTaoBaoGoods();
+		if (!StringUtil.isNullOrEmpty(goods.getCouponInfo()) && !"鏃�".equalsIgnoreCase(goods.getCouponInfo())) {
+			updateGoods.setDesc("鍒稿悗浠凤細楼" + d);
+			updateGoods.setState(RecommendActivityTaoBaoGoods.STATE_NORMAL);
+		} else {
+			updateGoods.setState(RecommendActivityTaoBaoGoods.STATE_UNSHELVE);
+		}
+
+		if (list != null)
+			for (RecommendActivityTaoBaoGoods tbGoods : list) {
+				updateGoods.setId(tbGoods.getId());
+				recommendActivityTaoBaoGoodsMapper.updateByPrimaryKeySelective(updateGoods);
+			}
+	}
+	
+	/**
+	 * web娈垫椂闂磋浆鎹�
+	 * @param record
+	 */
+	public void conversionTime(RecommendActivity record) throws ActivityException, Exception {
+		// 鏄惁鏃堕棿鎺у埗
+		if(!record.isTimeTask()) {
+			record.setStartTime(null);
+			record.setEndTime(null);
+		} else {
+			String startTime_str = record.getStartTime_str();
+			String endTime_str = record.getEndTime_str();
+			
+			if ((startTime_str == null|| startTime_str.trim().length() == 0) 
+					&& (endTime_str == null || endTime_str.trim().length() == 0)) {
+				throw new ActivityException(1, "璇疯緭鍏ユ帶鍒舵椂闂�");
+			} else {
+				SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+				if (startTime_str != null && startTime_str.trim().length() > 0) {
+					startTime_str = startTime_str.replaceAll("T", " ");
+					record.setStartTime(format.parse(startTime_str));
+				}
+				
+				if (endTime_str != null && endTime_str.trim().length() > 0) {
+					endTime_str = endTime_str.replaceAll("T", " ");
+					record.setEndTime(format.parse(endTime_str));
+				}
+			}
+		}
+	}
 }

--
Gitblit v1.8.0