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