From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 25 二月 2025 16:41:22 +0800
Subject: [PATCH] 淘宝转链接口更新

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/activity/ActivityServiceImpl.java | 1848 +++++++++++++++++++++++++++++-----------------------------
 1 files changed, 920 insertions(+), 928 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 494f6d1..6b9d45f 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,928 +1,920 @@
-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 javax.annotation.Resource;
-
-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;
-
-import com.yeshi.fanli.dao.mybatis.UserInfoMapper;
-import com.yeshi.fanli.dao.mybatis.activity.ActivityUserMapper;
-import com.yeshi.fanli.dao.mybatis.activity.RecommendActivityImgMapper;
-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.goods.CommonGoods;
-import com.yeshi.fanli.entity.system.ConfigKeyEnum;
-import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
-import com.yeshi.fanli.exception.ActivityException;
-import com.yeshi.fanli.exception.share.UserShareGoodsRecordException;
-import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
-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;
-import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
-import com.yeshi.fanli.service.inter.user.SpreadUserImgService;
-import com.yeshi.fanli.service.inter.user.TBPidService;
-import com.yeshi.fanli.service.inter.user.UserAccountService;
-import com.yeshi.fanli.service.inter.user.UserShareGoodsRecordService;
-import com.yeshi.fanli.util.ImageUtil;
-import com.yeshi.fanli.util.RedisManager;
-import com.yeshi.fanli.util.StringUtil;
-import com.yeshi.fanli.util.activity.ActivityUtil;
-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 {
-
-	@Resource
-	private RecommendActivityMapper recommendActivityMapper;
-
-	@Resource
-	private ShareGoodsService shareGoodsService;
-
-	@Resource
-	private SpreadUserImgService spreadUserImgService;
-
-	@Resource
-	private ActivityUserMapper activityUserMapper;
-
-	@Resource
-	private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
-
-	@Resource
-	private RecommendActivityTaoBaoGoodsMapper recommendActivityTaoBaoGoodsMapper;
-
-	@Resource
-	private RecommendActivityImgMapper recommendActivityImgMapper;
-
-	@Resource
-	private RecommendActivityInviteInfoMapper recommendActivityInviteInfoMapper;
-
-	@Resource
-	private RedisManager redisManager;
-
-	@Resource
-	private TBPidService tbPidService;
-
-	@Resource
-	private ConfigService configService;
-
-	@Resource
-	private UserInfoMapper userInfoMapper;
-
-	@Resource
-	private UserAccountService userAccountService;
-
-	@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) {
-		return recommendActivityMapper.getRecommendActivityList((page - 1) * pageSize, pageSize);
-	}
-
-	@Override
-	public List<RecommendActivity> queryRecommendActivityList(String title, int page, int pageSize) {
-		return recommendActivityMapper.queryRecommendActivityList(title, (page - 1) * pageSize, pageSize);
-	}
-
-	@Override
-	public long getRecommendActivityCount(String title) {
-		return recommendActivityMapper.getRecommendActivityCount(title);
-	}
-
-	@Override
-	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()));
-					listGoodsBrief.add(goodsBrief);
-				} catch (TaobaoGoodsDownException e) {
-
-					CommonGoods commonGoods = commonGoodsService.getCommonGoodsByGoodsIdAndGoodsType(
-							Long.parseLong(goodsActivity.getAuctionId()), CommonGoods.GOODS_TYPE_TB);
-					if (commonGoods != null) {
-						TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(commonGoods);
-						goodsBrief.setState(1);
-						listGoodsBrief.add(goodsBrief);
-					}
-
-					try {
-						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());
-		
-		imgList.add(loadResult);
-		result.setImgList(imgList);
-
-		return result;
-	}
-
-	@Override
-	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()));
-					listGoodsBrief.add(goodsBrief);
-
-				} catch (TaobaoGoodsDownException e) {
-
-					CommonGoods commonGoods = commonGoodsService.getCommonGoodsByGoodsIdAndGoodsType(
-							Long.parseLong(goodsActivity.getAuctionId()), CommonGoods.GOODS_TYPE_TB);
-					if (commonGoods != null) {
-						TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(commonGoods);
-						goodsBrief.setState(1);
-						listGoodsBrief.add(goodsBrief);
-					}
-
-					try {
-						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) {
-			String[] split = totalGetMoney.split("锛�");
-			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();
-		data.put("title", title);
-		data.put("revenue", array);
-		data.put("fanMoney", shareMoney);
-		data.put("shareId", shareRecord.getRedisKey());
-		data.put("shareImg", loadResult);
-		data.put("notifyDesc", configService.get(ConfigKeyEnum.goodsShareMultipleNotify.getKey()));
-
-		return data;
-
-	}
-
-	@Override
-	public ActivityShareResult shareInviteImg(Long uid, Long activityId) throws ActivityException {
-		RecommendActivity activity = recommendActivityMapper.selectByPrimaryKey(activityId);
-		if (activity == null)
-			throw new ActivityException(2, "鍔ㄦ�佷笉瀛樺湪");
-		if (activity.getType() != RecommendActivity.TYPE_INVITE)
-			throw new ActivityException(3, "涓嶅睘浜庨個璇峰姩鎬�");
-		if (activity.getImageList() == null || activity.getImageList().size() < 1)
-			throw new ActivityException(4, "鏃犺儗鏅浘");
-
-		ActivityShareResult result = new ActivityShareResult();
-		result.setTitle(activity.getTitle().replace("<br>", "/n").replace("<p>", "").replace("</p>", ""));
-		List<FileUploadResult> imgList = new ArrayList<>();
-
-		RecommendActivityInviteInfo inviteInfo = recommendActivityInviteInfoMapper.selectByActivityId(activityId);
-
-		String img = spreadUserImgService.getUserSpreadImg(uid, activity.getImageList().get(0), inviteInfo.getPx(),
-				inviteInfo.getPy(), inviteInfo.getSize());
-		if (!StringUtil.isNullOrEmpty(img))
-			imgList.add(new FileUploadResult(img, ""));
-		result.setImgList(imgList);
-		return result;
-	}
-
-	@Override
-	public List<ActivityUser> getActivityUserList() {
-		return activityUserMapper.selectList();
-	}
-
-	@Transactional(rollbackFor=Exception.class)
-	@Override
-	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");
-		
-		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.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 = redisManager.getTaoBaoGoodsBrief(auctionId);
-			} catch (TaobaoGoodsDownException e) {
-				e.printStackTrace();
-			}
-			if (tb == null)
-				continue;
-			RecommendActivityTaoBaoGoods goods = new RecommendActivityTaoBaoGoods();
-			goods.setAuctionId(tb.getAuctionId() + "");
-			goods.setCreateTime(new Date());
-			goods.setDesc(ActivityUtil.getGoodsShowPrice(tb));
-			goods.setOrderBy(0);
-			goods.setPictUrl(TbImgUtil.getTBSize220ImgWebp(tb.getPictUrl()));
-			goods.setTaoBaoGoodsBrief(tb);
-			goods.setRecommendActivity(activity);
-			goods.setCouponAmount(tb.getCouponAmount());
-			recommendActivityTaoBaoGoodsMapper.insertSelective(goods);
-			BigDecimal money = taoBaoGoodsBriefService.getShareGoodsUserHongBao(tb);
-			taotaoMoney = taotaoMoney.add(money);
-
-			// 杞崲绠�鐗堝晢鍝佷俊鎭�
-			CommonGoods commonGoods = CommonGoodsFactory.create(tb);
-			listCommonGoods.add(commonGoods);
-		}
-
-		try {
-			// 鏇存柊绠�鐗堜俊鎭�
-			commonGoodsService.addBatchCommonGoods(listCommonGoods);
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-
-		RecommendActivity updateActivity = new RecommendActivity();
-		updateActivity.setId(activity.getId());
-		updateActivity.setTotalGetMoney("棰勪及鍒嗕韩濂栭噾锛毬�" + taotaoMoney.toString());
-		recommendActivityMapper.updateByPrimaryKeySelective(updateActivity);
-
-		return activity;
-	}
-
-	@Transactional(rollbackFor=Exception.class)
-	@Override
-	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.setType(RecommendActivity.TYPE_INVITE);
-		recommendActivityMapper.insertSelective(activity);
-		RecommendActivityImg img = new RecommendActivityImg();
-		img.setImg(url);
-		img.setOrderBy(0);
-		img.setRecommendActivity(activity);
-		try {
-			int[] hw = ImageUtil.getImgWidthAndHeight(url);
-			img.setImgHeight(hw[1]);
-			img.setImgWidth(hw[0]);
-		} catch (Exception e) {
-			throw new ActivityException(2, "鍥剧墖灏哄鑾峰彇澶辫触");
-		}
-
-		// 鎻掑叆浜岀淮鐮佷綅缃俊鎭�
-		RecommendActivityInviteInfo recommendActivityInviteInfo = new RecommendActivityInviteInfo();
-		recommendActivityInviteInfo.setPx(px);
-		recommendActivityInviteInfo.setPy(py);
-		recommendActivityInviteInfo.setRecommendActivity(activity);
-		recommendActivityInviteInfo.setSize(erCodeSize);
-		recommendActivityInviteInfoMapper.insertSelective(recommendActivityInviteInfo);
-		recommendActivityImgMapper.insertSelective(img);
-		return activity;
-	}
-
-	@Transactional(rollbackFor=Exception.class)
-	@Override
-	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.setType(RecommendActivity.TYPE_TEXTIMG);
-		recommendActivityMapper.insertSelective(activity);
-		for (String imgUrl : imgList) {
-			RecommendActivityImg img = new RecommendActivityImg();
-			img.setImg(imgUrl);
-			img.setOrderBy(0);
-			img.setRecommendActivity(activity);
-			try {
-				int[] hw = ImageUtil.getImgWidthAndHeight(imgUrl);
-				img.setImgHeight(hw[1]);
-				img.setImgWidth(hw[0]);
-			} catch (Exception e) {
-				throw new ActivityException(2, "鍥剧墖灏哄鑾峰彇澶辫触");
-			}
-			recommendActivityImgMapper.insertSelective(img);
-		}
-		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();
-		}
-
-	}
-
-	@Override
-	public RecommendActivity getRecommendActivityById(Long id) {
-		return recommendActivityMapper.selectByPrimaryKey(id);
-	}
-
-	@Transactional(rollbackFor=Exception.class)
-	@Override
-	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[] { activity.getId() });
-		
-		
-		activity.setActivityUser(new ActivityUser(activityUid));
-		activity.setGoodsList(null);
-		activity.setOrderBy(0);
-		
-		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 = redisManager.getTaoBaoGoodsBrief(auctionId);
-			} catch (TaobaoGoodsDownException e) {
-				e.printStackTrace();
-			}
-
-			if (tb == null)
-				continue;
-			RecommendActivityTaoBaoGoods goods = new RecommendActivityTaoBaoGoods();
-			goods.setAuctionId(tb.getAuctionId() + "");
-			goods.setCreateTime(new Date());
-			goods.setDesc(ActivityUtil.getGoodsShowPrice(tb));
-			goods.setOrderBy(0);
-			goods.setPictUrl(TbImgUtil.getTBSize220ImgWebp(tb.getPictUrl()));
-			goods.setTaoBaoGoodsBrief(tb);
-			goods.setRecommendActivity(activity);
-			goods.setTitle(tb.getTitle());
-			goods.setCouponAmount(tb.getCouponAmount());
-			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());
-		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(rollbackFor=Exception.class)
-	@Override
-	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.setType(RecommendActivity.TYPE_INVITE);
-		recommendActivityMapper.updateByPrimaryKeySelective(activity);
-		RecommendActivityImg img = new RecommendActivityImg();
-		img.setImg(url);
-		img.setOrderBy(0);
-		img.setRecommendActivity(activity);
-		try {
-			int[] hw = ImageUtil.getImgWidthAndHeight(url);
-			img.setImgHeight(hw[1]);
-			img.setImgWidth(hw[0]);
-		} catch (Exception e) {
-			throw new ActivityException(2, "鍥剧墖灏哄鑾峰彇澶辫触");
-		}
-		recommendActivityImgMapper.insertSelective(img);
-
-		RecommendActivityInviteInfo inviteInfo = recommendActivityInviteInfoMapper.selectByActivityId(activity.getId());
-		if (inviteInfo != null)
-			recommendActivityInviteInfoMapper.deleteByPrimaryKey(inviteInfo.getId());
-
-		// 鎻掑叆浜岀淮鐮佷綅缃俊鎭�
-		RecommendActivityInviteInfo recommendActivityInviteInfo = new RecommendActivityInviteInfo();
-		recommendActivityInviteInfo.setPx(px);
-		recommendActivityInviteInfo.setPy(py);
-		recommendActivityInviteInfo.setRecommendActivity(activity);
-		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(rollbackFor=Exception.class)
-	@Override
-	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.setType(RecommendActivity.TYPE_TEXTIMG);
-		recommendActivityMapper.updateByPrimaryKeySelective(activity);
-		for (String imgUrl : imgList) {
-			RecommendActivityImg img = new RecommendActivityImg();
-			img.setImg(imgUrl);
-			img.setOrderBy(0);
-			img.setRecommendActivity(activity);
-			try {
-				int[] hw = ImageUtil.getImgWidthAndHeight(imgUrl);
-				img.setImgHeight(hw[1]);
-				img.setImgWidth(hw[0]);
-			} catch (Exception e) {
-				throw new ActivityException(2, "鍥剧墖灏哄鑾峰彇澶辫触");
-			}
-			recommendActivityImgMapper.insertSelective(img);
-		}
-		return activity;
-	}
-
-	@Override
-	public void addShareCount(Long activityId, int count) {
-		recommendActivityMapper.addShareCount(activityId, count);
-	}
-
-	@Cacheable(value = "activityCache", key = "'getRecommendActivityList-'+#page+'-'+#pageSize")
-	@Override
-	public List<RecommendActivity> getRecommendActivityListCache(int page, int pageSize) {
-		List<RecommendActivity> activityList = getRecommendActivityList(page, pageSize);
-		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 recommendActivityMapper.getRecommendActivityEffectiveCount();
-	}
-
-	@Transactional(rollbackFor=Exception.class)
-	@Override
-	public void upgradeShareGoodsRecommendActivity(Long id) throws ActivityException {
-		// 鑾峰彇鍟嗗搧
-		List<RecommendActivityTaoBaoGoods> list = recommendActivityTaoBaoGoodsMapper.selectByActivityId(id);
-		if (list != null)
-			for (RecommendActivityTaoBaoGoods goods : list) {
-				// 涓嬫灦鍟嗗搧涓嶅繀鏇存柊
-				if (goods.getState() == RecommendActivityTaoBaoGoods.STATE_UNSHELVE)
-					continue;
-				try {
-					TaoBaoGoodsBrief tbGoods = TaoKeApiUtil.searchGoodsDetail(Long.parseLong(goods.getAuctionId()));
-					if (tbGoods != null) {
-						RecommendActivityTaoBaoGoods update = new RecommendActivityTaoBaoGoods();
-						update.setPictUrl(TbImgUtil.getTBSize220ImgWebp(tbGoods.getPictUrl()));
-						update.setId(goods.getId());
-						update.setDesc(ActivityUtil.getGoodsShowPrice(tbGoods));
-						update.setCouponAmount(tbGoods.getCouponAmount());
-						// 褰撴病鏈夊埜鐨勬椂鍊欏晢鍝佹棤鏁�
-						if (StringUtil.isNullOrEmpty(tbGoods.getCouponActivityId())
-								|| tbGoods.getCouponLeftCount() == null || tbGoods.getCouponLeftCount() == 0)
-							update.setState(RecommendActivityTaoBaoGoods.STATE_UNSHELVE);
-						else
-							update.setState(RecommendActivityTaoBaoGoods.STATE_NORMAL);
-						recommendActivityTaoBaoGoodsMapper.updateByPrimaryKeySelective(update);
-						try {
-							taoBaoGoodsUpdateService.updateTaoBaoGoods(tbGoods);
-						} catch (TaobaoGoodsUpdateException e) {
-							e.printStackTrace();
-						}
-					}
-				} catch (TaobaoGoodsDownException e) {
-					RecommendActivityTaoBaoGoods update = new RecommendActivityTaoBaoGoods();
-					update.setId(goods.getId());
-					update.setState(RecommendActivityTaoBaoGoods.STATE_UNSHELVE);
-					recommendActivityTaoBaoGoodsMapper.updateByPrimaryKeySelective(update);
-					taoBaoGoodsUpdateService.offlineTaoBaoGoods(Long.parseLong(goods.getAuctionId()));
-				}
-			}
-	}
-
-	@Override
-	public List<RecommendActivity> getRecommendActivityList(int type, int page, int pageSize) {
-		return recommendActivityMapper.getRecommendActivityListByType(type, (page - 1) * pageSize, pageSize);
-	}
-
-	@Override
-	public long getRecommendActivityCount(int type) {
-		return recommendActivityMapper.getRecommendActivityCountByType(type);
-	}
-
-	@Override
-	public RecommendActivityInviteInfo getRecommendActivityInviteInfoByActivityId(Long activityId) {
-		return recommendActivityInviteInfoMapper.selectByActivityId(activityId);
-	}
-
-	@Override
-	public void downTaoBaoGoods(Long auctionId) {
-		recommendActivityTaoBaoGoodsMapper.updateStateByAuctionId(auctionId,
-				RecommendActivityTaoBaoGoods.STATE_UNSHELVE);
-	}
-
-	@Override
-	public RecommendActivity getRecommendActivityDetail(Long activityId) {
-
-		RecommendActivity activity = recommendActivityMapper.selectByPrimaryKey(activityId);
-		if (activity != null && activity.getGoodsList() != null) {
-			for (RecommendActivityTaoBaoGoods goods : activity.getGoodsList()) {
-				goods.setQuanPrice(goods.getDesc().replace("鍒稿悗浠凤細楼", ""));
-				goods.setPictUrl(goods.getPictUrl().replace("_.webp", ""));
-			}
-		}
-
-		return activity;
-	}
-
-	@Override
-	public int insert(RecommendActivity record) {
-		return recommendActivityMapper.insert(record);
-	}
-
-	@Override
-	public int insertSelective(RecommendActivity record) {
-		return recommendActivityMapper.insertSelective(record);
-	}
-
-	@Override
-	public RecommendActivity selectByPrimaryKey(Long id) {
-		return recommendActivityMapper.selectByPrimaryKey(id);
-	}
-
-	@Override
-	public int updateByPrimaryKeySelective(RecommendActivity record) {
-		return recommendActivityMapper.updateByPrimaryKeySelective(record);
-	}
-
-	@Override
-	public int updateByPrimaryKey(RecommendActivity record) {
-		return recommendActivityMapper.updateByPrimaryKey(record);
-	}
-
-	@Override
-	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();
-	}
-}
+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 javax.annotation.Resource;
+
+import com.yeshi.fanli.entity.SystemEnum;
+import com.yeshi.fanli.service.inter.user.*;
+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;
+
+import com.yeshi.fanli.dao.mybatis.activity.ActivityUserMapper;
+import com.yeshi.fanli.dao.mybatis.activity.RecommendActivityImgMapper;
+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.goods.CommonGoods;
+import com.yeshi.fanli.entity.system.ConfigKeyEnum;
+import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief;
+import com.yeshi.fanli.exception.ActivityException;
+import com.yeshi.fanli.exception.share.UserShareGoodsRecordException;
+import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
+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.TaoBaoGoodsBriefService;
+import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
+import com.yeshi.fanli.util.ImageUtil;
+import com.yeshi.fanli.util.RedisManager;
+import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.activity.ActivityUtil;
+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 {
+
+    @Resource
+    private RecommendActivityMapper recommendActivityMapper;
+
+    @Resource
+    private SpreadUserImgService spreadUserImgService;
+
+    @Resource
+    private ActivityUserMapper activityUserMapper;
+
+    @Resource
+    private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
+
+    @Resource
+    private RecommendActivityTaoBaoGoodsMapper recommendActivityTaoBaoGoodsMapper;
+
+    @Resource
+    private RecommendActivityImgMapper recommendActivityImgMapper;
+
+    @Resource
+    private RecommendActivityInviteInfoMapper recommendActivityInviteInfoMapper;
+
+    @Resource
+    private RedisManager redisManager;
+
+
+    @Resource
+    private ConfigService configService;
+
+    @Resource
+    private UserInfoService userInfoService;
+
+
+    @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) {
+        return recommendActivityMapper.getRecommendActivityList((page - 1) * pageSize, pageSize);
+    }
+
+    @Override
+    public List<RecommendActivity> queryRecommendActivityList(String title, int page, int pageSize) {
+        return recommendActivityMapper.queryRecommendActivityList(title, (page - 1) * pageSize, pageSize);
+    }
+
+    @Override
+    public long getRecommendActivityCount(String title) {
+        return recommendActivityMapper.getRecommendActivityCount(title);
+    }
+
+    @Override
+    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(goodsActivity.getAuctionId());
+                    listGoodsBrief.add(goodsBrief);
+                } catch (TaobaoGoodsDownException e) {
+
+                    CommonGoods commonGoods = commonGoodsService.getCommonGoodsByGoodsIdAndGoodsType(
+                          goodsActivity.getAuctionId(), CommonGoods.GOODS_TYPE_TB);
+                    if (commonGoods != null) {
+                        TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(commonGoods);
+                        goodsBrief.setState(1);
+                        listGoodsBrief.add(goodsBrief);
+                    }
+
+                    try {
+                        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());
+
+        imgList.add(loadResult);
+        result.setImgList(imgList);
+
+        return result;
+    }
+
+    @Override
+    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(goodsActivity.getAuctionId());
+                    listGoodsBrief.add(goodsBrief);
+
+                } catch (TaobaoGoodsDownException e) {
+
+                    CommonGoods commonGoods = commonGoodsService.getCommonGoodsByGoodsIdAndGoodsType(
+                            goodsActivity.getAuctionId(), CommonGoods.GOODS_TYPE_TB);
+                    if (commonGoods != null) {
+                        TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(commonGoods);
+                        goodsBrief.setState(1);
+                        listGoodsBrief.add(goodsBrief);
+                    }
+
+                    try {
+                        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) {
+            String[] split = totalGetMoney.split("锛�");
+            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());
+
+        SystemEnum system = userInfoService.getUserSystem(uid);
+
+        JSONObject data = new JSONObject();
+        data.put("title", title);
+        data.put("revenue", array);
+        data.put("fanMoney", shareMoney);
+        data.put("shareId", shareRecord.getRedisKey());
+        data.put("shareImg", loadResult);
+        data.put("notifyDesc", configService.getValue(ConfigKeyEnum.goodsShareMultipleNotify.getKey(),system));
+
+        return data;
+
+    }
+
+    @Override
+    public ActivityShareResult shareInviteImg(Long uid, Long activityId) throws ActivityException {
+        RecommendActivity activity = recommendActivityMapper.selectByPrimaryKey(activityId);
+        if (activity == null)
+            throw new ActivityException(2, "鍔ㄦ�佷笉瀛樺湪");
+        if (activity.getType() != RecommendActivity.TYPE_INVITE)
+            throw new ActivityException(3, "涓嶅睘浜庨個璇峰姩鎬�");
+        if (activity.getImageList() == null || activity.getImageList().size() < 1)
+            throw new ActivityException(4, "鏃犺儗鏅浘");
+
+        ActivityShareResult result = new ActivityShareResult();
+        result.setTitle(activity.getTitle().replace("<br>", "/n").replace("<p>", "").replace("</p>", ""));
+        List<FileUploadResult> imgList = new ArrayList<>();
+
+        RecommendActivityInviteInfo inviteInfo = recommendActivityInviteInfoMapper.selectByActivityId(activityId);
+
+        String img = spreadUserImgService.getUserSpreadImg(uid, activity.getImageList().get(0), inviteInfo.getPx(),
+                inviteInfo.getPy(), inviteInfo.getSize());
+        if (!StringUtil.isNullOrEmpty(img))
+            imgList.add(new FileUploadResult(img, ""));
+        result.setImgList(imgList);
+        return result;
+    }
+
+    @Override
+    public List<ActivityUser> getActivityUserList() {
+        return activityUserMapper.selectList();
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public RecommendActivity addShareGoodsRecommendActivity(Long activityUid, List<String> goodsList,
+                                                            RecommendActivity activity) throws ActivityException, Exception {
+
+        if (goodsList == null || goodsList.size() == 0 || goodsList.size() > 9)
+            throw new ActivityException(1, "鍟嗗搧鏁伴噺閿欒锛�10>鍟嗗搧鏁伴噺>0");
+
+        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.setType(RecommendActivity.TYPE_SHARE_GOODS);
+        recommendActivityMapper.insertSelective(activity);
+
+        List<CommonGoods> listCommonGoods = new ArrayList<CommonGoods>();
+
+        BigDecimal taotaoMoney = new BigDecimal(0);
+        for (String auctionId : goodsList) {
+            TaoBaoGoodsBrief tb = null;
+            try {
+                tb = redisManager.getTaoBaoGoodsBrief(auctionId);
+            } catch (TaobaoGoodsDownException e) {
+                e.printStackTrace();
+            }
+            if (tb == null)
+                continue;
+            RecommendActivityTaoBaoGoods goods = new RecommendActivityTaoBaoGoods();
+            goods.setAuctionId(tb.getAuctionId() + "");
+            goods.setCreateTime(new Date());
+            goods.setDesc(ActivityUtil.getGoodsShowPrice(tb));
+            goods.setOrderBy(0);
+            goods.setPictUrl(TbImgUtil.getTBSize220ImgWebp(tb.getPictUrl()));
+            goods.setTaoBaoGoodsBrief(tb);
+            goods.setRecommendActivity(activity);
+            goods.setCouponAmount(tb.getCouponAmount());
+            recommendActivityTaoBaoGoodsMapper.insertSelective(goods);
+            BigDecimal money = taoBaoGoodsBriefService.getShareGoodsUserHongBao(tb,SystemEnum.blks);
+            taotaoMoney = taotaoMoney.add(money);
+
+            // 杞崲绠�鐗堝晢鍝佷俊鎭�
+            CommonGoods commonGoods = CommonGoodsFactory.create(tb);
+            listCommonGoods.add(commonGoods);
+        }
+
+        try {
+            // 鏇存柊绠�鐗堜俊鎭�
+            commonGoodsService.addBatchCommonGoods(listCommonGoods);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        RecommendActivity updateActivity = new RecommendActivity();
+        updateActivity.setId(activity.getId());
+        updateActivity.setTotalGetMoney("棰勪及鍒嗕韩濂栭噾锛毬�" + taotaoMoney.toString());
+        recommendActivityMapper.updateByPrimaryKeySelective(updateActivity);
+
+        return activity;
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    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.setType(RecommendActivity.TYPE_INVITE);
+        recommendActivityMapper.insertSelective(activity);
+        RecommendActivityImg img = new RecommendActivityImg();
+        img.setImg(url);
+        img.setOrderBy(0);
+        img.setRecommendActivity(activity);
+        try {
+            int[] hw = ImageUtil.getImgWidthAndHeight(url);
+            img.setImgHeight(hw[1]);
+            img.setImgWidth(hw[0]);
+        } catch (Exception e) {
+            throw new ActivityException(2, "鍥剧墖灏哄鑾峰彇澶辫触");
+        }
+
+        // 鎻掑叆浜岀淮鐮佷綅缃俊鎭�
+        RecommendActivityInviteInfo recommendActivityInviteInfo = new RecommendActivityInviteInfo();
+        recommendActivityInviteInfo.setPx(px);
+        recommendActivityInviteInfo.setPy(py);
+        recommendActivityInviteInfo.setRecommendActivity(activity);
+        recommendActivityInviteInfo.setSize(erCodeSize);
+        recommendActivityInviteInfoMapper.insertSelective(recommendActivityInviteInfo);
+        recommendActivityImgMapper.insertSelective(img);
+        return activity;
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    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.setType(RecommendActivity.TYPE_TEXTIMG);
+        recommendActivityMapper.insertSelective(activity);
+        for (String imgUrl : imgList) {
+            RecommendActivityImg img = new RecommendActivityImg();
+            img.setImg(imgUrl);
+            img.setOrderBy(0);
+            img.setRecommendActivity(activity);
+            try {
+                int[] hw = ImageUtil.getImgWidthAndHeight(imgUrl);
+                img.setImgHeight(hw[1]);
+                img.setImgWidth(hw[0]);
+            } catch (Exception e) {
+                throw new ActivityException(2, "鍥剧墖灏哄鑾峰彇澶辫触");
+            }
+            recommendActivityImgMapper.insertSelective(img);
+        }
+        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();
+        }
+
+    }
+
+    @Override
+    public RecommendActivity getRecommendActivityById(Long id) {
+        return recommendActivityMapper.selectByPrimaryKey(id);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public RecommendActivity updateShareGoodsRecommendActivity(Long activityUid,
+                                                               List<String> 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[]{activity.getId()});
+
+
+        activity.setActivityUser(new ActivityUser(activityUid));
+        activity.setGoodsList(null);
+        activity.setOrderBy(0);
+
+        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 (String auctionId : goodsList) {
+            TaoBaoGoodsBrief tb = null;
+
+            try {
+                tb = redisManager.getTaoBaoGoodsBrief(auctionId);
+            } catch (TaobaoGoodsDownException e) {
+                e.printStackTrace();
+            }
+
+            if (tb == null)
+                continue;
+            RecommendActivityTaoBaoGoods goods = new RecommendActivityTaoBaoGoods();
+            goods.setAuctionId(tb.getAuctionId() + "");
+            goods.setCreateTime(new Date());
+            goods.setDesc(ActivityUtil.getGoodsShowPrice(tb));
+            goods.setOrderBy(0);
+            goods.setPictUrl(TbImgUtil.getTBSize220ImgWebp(tb.getPictUrl()));
+            goods.setTaoBaoGoodsBrief(tb);
+            goods.setRecommendActivity(activity);
+            goods.setTitle(tb.getTitle());
+            goods.setCouponAmount(tb.getCouponAmount());
+            recommendActivityTaoBaoGoodsMapper.insertSelective(goods);
+            BigDecimal money = taoBaoGoodsBriefService.getShareGoodsUserHongBao(tb,SystemEnum.blks);
+            taotaoMoney = taotaoMoney.add(money);
+
+            listgoods.add(goods);
+        }
+
+        RecommendActivity updateActivity = new RecommendActivity();
+        updateActivity.setId(activity.getId());
+        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(rollbackFor = Exception.class)
+    @Override
+    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.setType(RecommendActivity.TYPE_INVITE);
+        recommendActivityMapper.updateByPrimaryKeySelective(activity);
+        RecommendActivityImg img = new RecommendActivityImg();
+        img.setImg(url);
+        img.setOrderBy(0);
+        img.setRecommendActivity(activity);
+        try {
+            int[] hw = ImageUtil.getImgWidthAndHeight(url);
+            img.setImgHeight(hw[1]);
+            img.setImgWidth(hw[0]);
+        } catch (Exception e) {
+            throw new ActivityException(2, "鍥剧墖灏哄鑾峰彇澶辫触");
+        }
+        recommendActivityImgMapper.insertSelective(img);
+
+        RecommendActivityInviteInfo inviteInfo = recommendActivityInviteInfoMapper.selectByActivityId(activity.getId());
+        if (inviteInfo != null)
+            recommendActivityInviteInfoMapper.deleteByPrimaryKey(inviteInfo.getId());
+
+        // 鎻掑叆浜岀淮鐮佷綅缃俊鎭�
+        RecommendActivityInviteInfo recommendActivityInviteInfo = new RecommendActivityInviteInfo();
+        recommendActivityInviteInfo.setPx(px);
+        recommendActivityInviteInfo.setPy(py);
+        recommendActivityInviteInfo.setRecommendActivity(activity);
+        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(rollbackFor = Exception.class)
+    @Override
+    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.setType(RecommendActivity.TYPE_TEXTIMG);
+        recommendActivityMapper.updateByPrimaryKeySelective(activity);
+        for (String imgUrl : imgList) {
+            RecommendActivityImg img = new RecommendActivityImg();
+            img.setImg(imgUrl);
+            img.setOrderBy(0);
+            img.setRecommendActivity(activity);
+            try {
+                int[] hw = ImageUtil.getImgWidthAndHeight(imgUrl);
+                img.setImgHeight(hw[1]);
+                img.setImgWidth(hw[0]);
+            } catch (Exception e) {
+                throw new ActivityException(2, "鍥剧墖灏哄鑾峰彇澶辫触");
+            }
+            recommendActivityImgMapper.insertSelective(img);
+        }
+        return activity;
+    }
+
+    @Override
+    public void addShareCount(Long activityId, int count) {
+        recommendActivityMapper.addShareCount(activityId, count);
+    }
+
+    @Cacheable(value = "activityCache", key = "'getRecommendActivityList-'+#page+'-'+#pageSize")
+    @Override
+    public List<RecommendActivity> getRecommendActivityListCache(int page, int pageSize) {
+        List<RecommendActivity> activityList = getRecommendActivityList(page, pageSize);
+        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 recommendActivityMapper.getRecommendActivityEffectiveCount();
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void upgradeShareGoodsRecommendActivity(Long id) throws ActivityException {
+        // 鑾峰彇鍟嗗搧
+        List<RecommendActivityTaoBaoGoods> list = recommendActivityTaoBaoGoodsMapper.selectByActivityId(id);
+        if (list != null)
+            for (RecommendActivityTaoBaoGoods goods : list) {
+                // 涓嬫灦鍟嗗搧涓嶅繀鏇存柊
+                if (goods.getState() == RecommendActivityTaoBaoGoods.STATE_UNSHELVE)
+                    continue;
+                try {
+                    TaoBaoGoodsBrief tbGoods = TaoKeApiUtil.searchGoodsDetail((goods.getAuctionId()));
+                    if (tbGoods != null) {
+                        RecommendActivityTaoBaoGoods update = new RecommendActivityTaoBaoGoods();
+                        update.setPictUrl(TbImgUtil.getTBSize220ImgWebp(tbGoods.getPictUrl()));
+                        update.setId(goods.getId());
+                        update.setDesc(ActivityUtil.getGoodsShowPrice(tbGoods));
+                        update.setCouponAmount(tbGoods.getCouponAmount());
+                        // 褰撴病鏈夊埜鐨勬椂鍊欏晢鍝佹棤鏁�
+                        if (StringUtil.isNullOrEmpty(tbGoods.getCouponActivityId())
+                                || tbGoods.getCouponLeftCount() == null || tbGoods.getCouponLeftCount() == 0)
+                            update.setState(RecommendActivityTaoBaoGoods.STATE_UNSHELVE);
+                        else
+                            update.setState(RecommendActivityTaoBaoGoods.STATE_NORMAL);
+                        recommendActivityTaoBaoGoodsMapper.updateByPrimaryKeySelective(update);
+                        try {
+                            taoBaoGoodsUpdateService.updateTaoBaoGoods(tbGoods);
+                        } catch (TaobaoGoodsUpdateException e) {
+                            e.printStackTrace();
+                        }
+                    }
+                } catch (TaobaoGoodsDownException e) {
+                    RecommendActivityTaoBaoGoods update = new RecommendActivityTaoBaoGoods();
+                    update.setId(goods.getId());
+                    update.setState(RecommendActivityTaoBaoGoods.STATE_UNSHELVE);
+                    recommendActivityTaoBaoGoodsMapper.updateByPrimaryKeySelective(update);
+                    taoBaoGoodsUpdateService.offlineTaoBaoGoods((goods.getAuctionId()));
+                }
+            }
+    }
+
+    @Override
+    public List<RecommendActivity> getRecommendActivityList(int type, int page, int pageSize) {
+        return recommendActivityMapper.getRecommendActivityListByType(type, (page - 1) * pageSize, pageSize);
+    }
+
+    @Override
+    public long getRecommendActivityCount(int type) {
+        return recommendActivityMapper.getRecommendActivityCountByType(type);
+    }
+
+    @Override
+    public RecommendActivityInviteInfo getRecommendActivityInviteInfoByActivityId(Long activityId) {
+        return recommendActivityInviteInfoMapper.selectByActivityId(activityId);
+    }
+
+    @Override
+    public void downTaoBaoGoods(String auctionId) {
+        recommendActivityTaoBaoGoodsMapper.updateStateByAuctionId(auctionId,
+                RecommendActivityTaoBaoGoods.STATE_UNSHELVE);
+    }
+
+    @Override
+    public RecommendActivity getRecommendActivityDetail(Long activityId) {
+
+        RecommendActivity activity = recommendActivityMapper.selectByPrimaryKey(activityId);
+        if (activity != null && activity.getGoodsList() != null) {
+            for (RecommendActivityTaoBaoGoods goods : activity.getGoodsList()) {
+                goods.setQuanPrice(goods.getDesc().replace("鍒稿悗浠凤細楼", ""));
+                goods.setPictUrl(goods.getPictUrl().replace("_.webp", ""));
+            }
+        }
+
+        return activity;
+    }
+
+    @Override
+    public int insert(RecommendActivity record) {
+        return recommendActivityMapper.insert(record);
+    }
+
+    @Override
+    public int insertSelective(RecommendActivity record) {
+        return recommendActivityMapper.insertSelective(record);
+    }
+
+    @Override
+    public RecommendActivity selectByPrimaryKey(Long id) {
+        return recommendActivityMapper.selectByPrimaryKey(id);
+    }
+
+    @Override
+    public int updateByPrimaryKeySelective(RecommendActivity record) {
+        return recommendActivityMapper.updateByPrimaryKeySelective(record);
+    }
+
+    @Override
+    public int updateByPrimaryKey(RecommendActivity record) {
+        return recommendActivityMapper.updateByPrimaryKey(record);
+    }
+
+    @Override
+    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.getCouponPrice(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