From 1da17d215d48e3e3aa9e8d7a3ef526904764f408 Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期一, 08 四月 2019 14:06:12 +0800
Subject: [PATCH] 1.5.3部分需求 提交
---
fanli/src/main/java/com/yeshi/fanli/service/impl/activity/ActivityServiceImpl.java | 214 +++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 165 insertions(+), 49 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 43b8ea0..5cb0442 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,12 +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;
@@ -54,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 {
@@ -309,20 +312,33 @@
@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);
@@ -373,18 +389,28 @@
@Transactional
@Override
- public RecommendActivity addInviteImgRecommendActivity(Long activityUid, String title, String url, boolean top,
- int shareCount, int px, int py, int erCodeSize) throws ActivityException {
+ 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, "鍥剧墖涓虹┖");
- RecommendActivity activity = new RecommendActivity();
+
+ 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();
@@ -412,16 +438,26 @@
@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) {
@@ -457,20 +493,32 @@
@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);
@@ -512,17 +560,26 @@
@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();
@@ -555,17 +612,25 @@
@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) {
@@ -594,20 +659,40 @@
@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
@@ -738,4 +823,35 @@
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