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 | 1842 +++++++++++++++++++++++++++++-----------------------------
 1 files changed, 920 insertions(+), 922 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 9a16785..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,922 +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 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(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());
-
-        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<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,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<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,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(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