From f77b296544517db3f2cb56aab9c754d4810cc35d Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 13 八月 2019 15:44:58 +0800
Subject: [PATCH] 大淘客新版数据修正
---
fanli/src/main/java/com/yeshi/fanli/service/impl/activity/ActivityServiceImpl.java | 470 +++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 348 insertions(+), 122 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 87fb80f..e9f3917 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,18 +1,18 @@
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;
-import java.util.Map;
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;
@@ -22,13 +22,13 @@
import com.yeshi.fanli.dao.mybatis.activity.RecommendActivityInviteInfoMapper;
import com.yeshi.fanli.dao.mybatis.activity.RecommendActivityMapper;
import com.yeshi.fanli.dao.mybatis.activity.RecommendActivityTaoBaoGoodsMapper;
+import com.yeshi.fanli.dto.share.ShareGoodsRecordDTO;
import com.yeshi.fanli.entity.bus.activity.ActivityShareResult;
import com.yeshi.fanli.entity.bus.activity.ActivityUser;
import com.yeshi.fanli.entity.bus.activity.RecommendActivity;
import com.yeshi.fanli.entity.bus.activity.RecommendActivityImg;
import com.yeshi.fanli.entity.bus.activity.RecommendActivityInviteInfo;
import com.yeshi.fanli.entity.bus.activity.RecommendActivityTaoBaoGoods;
-import com.yeshi.fanli.entity.bus.share.UserShareGoodsRecord.ShareSourceTypeEnum;
import com.yeshi.fanli.entity.goods.CommonGoods;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.exception.ActivityException;
@@ -37,7 +37,9 @@
import com.yeshi.fanli.exception.taobao.TaobaoGoodsUpdateException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.activity.ActivityService;
+import com.yeshi.fanli.service.inter.activity.ActivityUserService;
import com.yeshi.fanli.service.inter.config.ConfigService;
+import com.yeshi.fanli.service.inter.dynamic.DynamicInfoService;
import com.yeshi.fanli.service.inter.goods.CommonGoodsService;
import com.yeshi.fanli.service.inter.goods.ShareGoodsService;
import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
@@ -53,6 +55,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 {
@@ -98,12 +103,19 @@
@Resource
private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService;
-
+
@Resource
private UserShareGoodsRecordService userShareGoodsRecordService;
-
+
@Resource
private CommonGoodsService commonGoodsService;
+
+ @Resource
+ private DynamicInfoService dynamicInfoService;
+
+ @Resource
+ private ActivityUserService activityUserService;
+
@Override
public List<RecommendActivity> getRecommendActivityList(int page, int pageSize) {
@@ -116,130 +128,132 @@
}
@Override
- public long getRecommendActivityCount() {
- return recommendActivityMapper.getRecommendActivityCount();
+ public long getRecommendActivityCount(String title) {
+ return recommendActivityMapper.getRecommendActivityCount(title);
}
@Override
- public ActivityShareResult shareActivityGoods(Long uid, Long activityId) throws ActivityException,UserShareGoodsRecordException {
-
+ public ActivityShareResult shareActivityGoods(Long uid, Long activityId)
+ throws ActivityException, UserShareGoodsRecordException {
+
RecommendActivity activity = recommendActivityMapper.selectByPrimaryKey(activityId);
-
+
if (activity == null)
throw new ActivityException(2, "鍔ㄦ�佷笉瀛樺湪");
-
+
if (activity.getType() != RecommendActivity.TYPE_SHARE_GOODS)
throw new ActivityException(3, "涓嶅睘浜庡垎浜晢鍝佸姩鎬�");
-
+
ActivityShareResult result = new ActivityShareResult();
-
+
String title = activity.getTitle().replace("<br>", "/n").replace("<p>", "").replace("</p>", "");
if (title != null && title.trim().endsWith("/n"))
title = title.trim().substring(0, title.trim().length() - 2);
result.setTitle(title);
List<FileUploadResult> imgList = new ArrayList<>();
-
+
List<TaoBaoGoodsBrief> listGoodsBrief = new ArrayList<TaoBaoGoodsBrief>();
-
+
if (activity.getGoodsList() != null) {
-
+
activity.getGoodsList().stream().parallel().forEach(goodsActivity -> {
-
+
try {
- TaoBaoGoodsBrief goodsBrief =
- redisManager.getTaoBaoGoodsBrief(Long.parseLong(goodsActivity.getAuctionId()));
+ TaoBaoGoodsBrief goodsBrief = redisManager
+ .getTaoBaoGoodsBrief(Long.parseLong(goodsActivity.getAuctionId()));
listGoodsBrief.add(goodsBrief);
} catch (TaobaoGoodsDownException e) {
-
- CommonGoods commonGoods= commonGoodsService.getCommonGoodsByGoodsIdAndGoodsType(Long.parseLong(goodsActivity.getAuctionId()),
- CommonGoods.GOODS_TYPE_TB);
+
+ CommonGoods commonGoods = commonGoodsService.getCommonGoodsByGoodsIdAndGoodsType(
+ Long.parseLong(goodsActivity.getAuctionId()), CommonGoods.GOODS_TYPE_TB);
if (commonGoods != null) {
- TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(commonGoods);
+ TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(commonGoods);
goodsBrief.setState(1);
listGoodsBrief.add(goodsBrief);
}
-
+
try {
- LogHelper.errorDetailInfo(e, "鍒嗕韩鍟嗗搧鍑洪敊-鍟嗗搧ID:" + goodsActivity.getAuctionId(), "--");
+ LogHelper.errorDetailInfo(e, "鍒嗕韩鍟嗗搧鍑洪敊-鍟嗗搧ID:" + goodsActivity.getAuctionId(), "--");
} catch (Exception e1) {
e1.printStackTrace();
}
}
});
}
-
+
if (listGoodsBrief.size() < 1) {
throw new ActivityException(1, "鍟嗗搧涓嬫灦");
}
+
+ ShareGoodsRecordDTO shareRecord = userShareGoodsRecordService.addRecordActivity(uid, listGoodsBrief);
+ FileUploadResult loadResult = new FileUploadResult();
+ loadResult.setUrl(shareRecord.getSharePictureUrl());
- Map<String,Object> map = userShareGoodsRecordService.save(uid, ShareSourceTypeEnum.activity, title, listGoodsBrief);
- imgList.add((FileUploadResult) map.get("loadResult"));
+ imgList.add(loadResult);
result.setImgList(imgList);
-
+
return result;
}
-
-
+
@Override
- public JSONObject shareGoodsV2(Long uid, Long activityId) throws ActivityException,UserShareGoodsRecordException {
-
+ public JSONObject shareGoodsV2(Long uid, Long activityId) throws ActivityException, UserShareGoodsRecordException {
+
RecommendActivity activity = recommendActivityMapper.selectByPrimaryKey(activityId);
-
+
if (activity == null)
throw new ActivityException(2, "鍔ㄦ�佷笉瀛樺湪");
-
+
if (activity.getType() != RecommendActivity.TYPE_SHARE_GOODS)
throw new ActivityException(3, "涓嶅睘浜庡垎浜晢鍝佸姩鎬�");
-
+
ActivityShareResult result = new ActivityShareResult();
-
+
String title = activity.getTitle().replace("<br>", "/n").replace("<p>", "").replace("</p>", "");
if (title != null && title.trim().endsWith("/n"))
title = title.trim().substring(0, title.trim().length() - 2);
-
+
result.setTitle(title);
-
+
List<TaoBaoGoodsBrief> listGoodsBrief = new ArrayList<TaoBaoGoodsBrief>();
-
+
if (activity.getGoodsList() != null) {
activity.getGoodsList().stream().parallel().forEach(goodsActivity -> {
try {
- TaoBaoGoodsBrief goodsBrief =
- redisManager.getTaoBaoGoodsBrief(Long.parseLong(goodsActivity.getAuctionId()));
+ TaoBaoGoodsBrief goodsBrief = redisManager
+ .getTaoBaoGoodsBrief(Long.parseLong(goodsActivity.getAuctionId()));
listGoodsBrief.add(goodsBrief);
-
+
} catch (TaobaoGoodsDownException e) {
-
- CommonGoods commonGoods= commonGoodsService.getCommonGoodsByGoodsIdAndGoodsType(Long.parseLong(goodsActivity.getAuctionId()),
- CommonGoods.GOODS_TYPE_TB);
+
+ CommonGoods commonGoods = commonGoodsService.getCommonGoodsByGoodsIdAndGoodsType(
+ Long.parseLong(goodsActivity.getAuctionId()), CommonGoods.GOODS_TYPE_TB);
if (commonGoods != null) {
- TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(commonGoods);
+ TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(commonGoods);
goodsBrief.setState(1);
listGoodsBrief.add(goodsBrief);
}
-
+
try {
- LogHelper.errorDetailInfo(e, "鍒嗕韩鍟嗗搧鍑洪敊-鍟嗗搧ID:" + goodsActivity.getAuctionId(), "--");
+ LogHelper.errorDetailInfo(e, "鍒嗕韩鍟嗗搧鍑洪敊-鍟嗗搧ID:" + goodsActivity.getAuctionId(), "--");
} catch (Exception e1) {
e1.printStackTrace();
}
}
});
}
-
+
if (listGoodsBrief.size() < 1) {
throw new ActivityException(1, "鍟嗗搧涓嬫灦");
}
-
-
+
String fontColor1 = "#000000";
String fontColor2 = "#E5005C";
JSONArray array = new JSONArray();
-
+
JSONObject contentJson1 = new JSONObject();
contentJson1.put("color", fontColor1);
contentJson1.put("content", "棰勪及鍒嗕韩濂栭噾:");
-
+ String shareMoney = "0";
String revenue = "楼0";
String totalGetMoney = activity.getTotalGetMoney();
if (totalGetMoney != null && totalGetMoney.trim().length() > 0) {
@@ -247,27 +261,34 @@
if (split != null) {
revenue = split[1];
}
+
+ String[] splitMoney = totalGetMoney.split("楼");
+ if (splitMoney != null) {
+ shareMoney = splitMoney[1];
+ }
}
-
+
JSONObject contentJson2 = new JSONObject();
contentJson2.put("color", fontColor2);
contentJson2.put("content", revenue);
array.add(contentJson1);
array.add(contentJson2);
-
+
+ ShareGoodsRecordDTO shareRecord = userShareGoodsRecordService.addRecordActivity(uid, listGoodsBrief);
+ FileUploadResult loadResult = new FileUploadResult();
+ loadResult.setUrl(shareRecord.getSharePictureUrl());
+
JSONObject data = new JSONObject();
-
- Map<String,Object> map = userShareGoodsRecordService.save(uid, ShareSourceTypeEnum.activity, title, listGoodsBrief);
-
data.put("title", title);
data.put("revenue", array);
- data.put("shareId", map.get("shareId"));
- data.put("shareImg", map.get("loadResult"));
+ data.put("fanMoney", shareMoney);
+ data.put("shareId", shareRecord.getRedisKey());
+ data.put("shareImg", loadResult);
data.put("notifyDesc", configService.get("goods_share_multiple_notify"));
return data;
-
+
}
@Override
@@ -299,31 +320,45 @@
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);
-
+
List<CommonGoods> listCommonGoods = new ArrayList<CommonGoods>();
-
+
BigDecimal taotaoMoney = new BigDecimal(0);
for (long auctionId : goodsList) {
TaoBaoGoodsBrief tb = null;
try {
- tb = TaoKeApiUtil.searchGoodsDetail(auctionId);
+ tb = redisManager.getTaoBaoGoodsBrief(auctionId);
} catch (TaobaoGoodsDownException e) {
e.printStackTrace();
}
@@ -341,12 +376,12 @@
recommendActivityTaoBaoGoodsMapper.insertSelective(goods);
BigDecimal money = taoBaoGoodsBriefService.getShareGoodsUserHongBao(tb);
taotaoMoney = taotaoMoney.add(money);
-
+
// 杞崲绠�鐗堝晢鍝佷俊鎭�
CommonGoods commonGoods = CommonGoodsFactory.create(tb);
listCommonGoods.add(commonGoods);
}
-
+
try {
// 鏇存柊绠�鐗堜俊鎭�
commonGoodsService.addBatchCommonGoods(listCommonGoods);
@@ -356,23 +391,36 @@
RecommendActivity updateActivity = new RecommendActivity();
updateActivity.setId(activity.getId());
- updateActivity.setTotalGetMoney("棰勮鍒嗕韩濂栭噾锛毬�" + taotaoMoney.toString());
+ updateActivity.setTotalGetMoney("棰勪及鍒嗕韩濂栭噾锛毬�" + taotaoMoney.toString());
recommendActivityMapper.updateByPrimaryKeySelective(updateActivity);
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();
@@ -394,22 +442,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) {
@@ -429,11 +487,20 @@
return activity;
}
+ @Transactional
@Override
public void deleteRecommendActivity(long[] ids) {
recommendActivityMapper.batchDeleteByPrimaryKey(ids);
recommendActivityImgMapper.batchDeleteByActivityid(ids);
recommendActivityTaoBaoGoodsMapper.batchDeleteByActivityid(ids);
+
+ try {
+ for (Long id: ids) {
+ dynamicInfoService.deleteActivity(id);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
}
@@ -442,31 +509,45 @@
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);
+ List<RecommendActivityTaoBaoGoods> listgoods = new ArrayList<RecommendActivityTaoBaoGoods>();
BigDecimal taotaoMoney = new BigDecimal(0);
for (long auctionId : goodsList) {
TaoBaoGoodsBrief tb = null;
try {
- tb = TaoKeApiUtil.searchGoodsDetail(auctionId);
+ tb = redisManager.getTaoBaoGoodsBrief(auctionId);
} catch (TaobaoGoodsDownException e) {
e.printStackTrace();
}
@@ -486,28 +567,53 @@
recommendActivityTaoBaoGoodsMapper.insertSelective(goods);
BigDecimal money = taoBaoGoodsBriefService.getShareGoodsUserHongBao(tb);
taotaoMoney = taotaoMoney.add(money);
+
+ listgoods.add(goods);
}
RecommendActivity updateActivity = new RecommendActivity();
updateActivity.setId(activity.getId());
- updateActivity.setTotalGetMoney("棰勮鍒嗕韩濂栭噾锛毬�" + taotaoMoney.toString());
+ updateActivity.setTotalGetMoney("棰勪及鍒嗕韩濂栭噾锛毬�" + taotaoMoney.toString());
recommendActivityMapper.updateByPrimaryKeySelective(updateActivity);
-
+
+ // 1.5.4 鍔ㄦ�佷俊鎭洿鏂�
+ RecommendActivity exist = recommendActivityMapper.selectByPrimaryKey(activity.getId());
+ if (exist.getState() != null && exist.getState() == 1) {
+ try {
+ ActivityUser activityUser = activityUserService.selectByPrimaryKey(activityUid);
+ exist.setActivityUser(activityUser);
+ exist.setGoodsList(listgoods);
+ dynamicInfoService.insertActivityRecommend(exist);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
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();
@@ -535,21 +641,45 @@
recommendActivityInviteInfo.setSize(erCodeSize);
recommendActivityInviteInfoMapper.insertSelective(recommendActivityInviteInfo);
+
+ RecommendActivity exist = recommendActivityMapper.selectByPrimaryKey(activity.getId());
+ if (exist.getState() != null && exist.getState() == 1) {
+ try {
+ ActivityUser activityUser = activityUserService.selectByPrimaryKey(activityUid);
+ activity.setActivityUser(activityUser);
+ activity.setInviteInfo(recommendActivityInviteInfo);
+ List<String> imageList = new ArrayList<String>();
+ imageList.add(url);
+ activity.setImageList(imageList);
+ dynamicInfoService.insertInviteActivity(activity);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
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) {
@@ -578,22 +708,54 @@
@Override
public List<RecommendActivity> getRecommendActivityListCache(int page, int pageSize) {
List<RecommendActivity> activityList = getRecommendActivityList(page, pageSize);
- if (activityList != null)
- for (RecommendActivity activity : activityList) {
- if (activity != null && activity.getGoodsList() != null)
+ if (activityList != null) {
+ for (int i = 0; i < activityList.size(); i++) {
+
+ RecommendActivity activity = activityList.get(i);
+
+ // 绛涢�夊嚭涓嶈冻9涓殑鍟嗗搧
+ if (RecommendActivity.TYPE_SHARE_GOODS == activity.getType()
+ && (activity.getGoodsList() == null || activity.getGoodsList().size() < 9)) {
+ activityList.remove(activity);
+ i--;
+ continue;
+ }
+
+
+ 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 {
// 鑾峰彇鍟嗗搧
@@ -629,7 +791,7 @@
update.setId(goods.getId());
update.setState(RecommendActivityTaoBaoGoods.STATE_UNSHELVE);
recommendActivityTaoBaoGoodsMapper.updateByPrimaryKeySelective(update);
- taoBaoGoodsUpdateService.downTaoBaoGoods(Long.parseLong(goods.getAuctionId()));
+ taoBaoGoodsUpdateService.offlineTaoBaoGoods(Long.parseLong(goods.getAuctionId()));
}
}
}
@@ -698,4 +860,68 @@
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));
+ }
+ }
+ }
+ }
+
+ @Override
+ public List<String> getImgByActivityId(Long activityId){
+ return recommendActivityImgMapper.getImgByActivityId(activityId);
+ }
+
+ @Override
+ public List<RecommendActivity> getNeedPublish() {
+ return recommendActivityMapper.getNeedPublish();
+ }
}
--
Gitblit v1.8.0