From ed9e2fdb519f36c743a10f0a1de48ad5f87604d6 Mon Sep 17 00:00:00 2001 From: yujian <yujian> Date: 星期三, 27 二月 2019 16:05:28 +0800 Subject: [PATCH] 券状态更新 --- fanli/src/main/java/com/yeshi/fanli/service/impl/activity/ActivityServiceImpl.java | 170 +++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 105 insertions(+), 65 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 7595912..43b8ea0 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 @@ -13,6 +13,7 @@ import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.yeshi.utils.entity.FileUploadResult; import org.yeshi.utils.taobao.TbImgUtil; @@ -98,10 +99,10 @@ @Resource private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService; - + @Resource private UserShareGoodsRecordService userShareGoodsRecordService; - + @Resource private CommonGoodsService commonGoodsService; @@ -121,125 +122,125 @@ } @Override - public ActivityShareResult shareActivityGoods(Long uid, Long activityId) throws ActivityException,UserShareGoodsRecordException { - + public ActivityShareResult shareActivityGoods(Long uid, Long activityId) + throws ActivityException, UserShareGoodsRecordException { + RecommendActivity activity = recommendActivityMapper.selectByPrimaryKey(activityId); - + if (activity == null) throw new ActivityException(2, "鍔ㄦ�佷笉瀛樺湪"); - + if (activity.getType() != RecommendActivity.TYPE_SHARE_GOODS) throw new ActivityException(3, "涓嶅睘浜庡垎浜晢鍝佸姩鎬�"); - + ActivityShareResult result = new ActivityShareResult(); - + String title = activity.getTitle().replace("<br>", "/n").replace("<p>", "").replace("</p>", ""); if (title != null && title.trim().endsWith("/n")) title = title.trim().substring(0, title.trim().length() - 2); result.setTitle(title); List<FileUploadResult> imgList = new ArrayList<>(); - + List<TaoBaoGoodsBrief> listGoodsBrief = new ArrayList<TaoBaoGoodsBrief>(); - + if (activity.getGoodsList() != null) { - + activity.getGoodsList().stream().parallel().forEach(goodsActivity -> { - + try { - TaoBaoGoodsBrief goodsBrief = - redisManager.getTaoBaoGoodsBrief(Long.parseLong(goodsActivity.getAuctionId())); + TaoBaoGoodsBrief goodsBrief = redisManager + .getTaoBaoGoodsBrief(Long.parseLong(goodsActivity.getAuctionId())); listGoodsBrief.add(goodsBrief); } catch (TaobaoGoodsDownException e) { - - CommonGoods commonGoods= commonGoodsService.getCommonGoodsByGoodsIdAndGoodsType(Long.parseLong(goodsActivity.getAuctionId()), - CommonGoods.GOODS_TYPE_TB); + + CommonGoods commonGoods = commonGoodsService.getCommonGoodsByGoodsIdAndGoodsType( + Long.parseLong(goodsActivity.getAuctionId()), CommonGoods.GOODS_TYPE_TB); if (commonGoods != null) { - TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(commonGoods); + TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(commonGoods); goodsBrief.setState(1); listGoodsBrief.add(goodsBrief); } - + try { - LogHelper.errorDetailInfo(e, "鍒嗕韩鍟嗗搧鍑洪敊-鍟嗗搧ID:" + goodsActivity.getAuctionId(), "--"); + LogHelper.errorDetailInfo(e, "鍒嗕韩鍟嗗搧鍑洪敊-鍟嗗搧ID:" + goodsActivity.getAuctionId(), "--"); } catch (Exception e1) { e1.printStackTrace(); } } }); } - + if (listGoodsBrief.size() < 1) { throw new ActivityException(1, "鍟嗗搧涓嬫灦"); } - - Map<String,Object> map = userShareGoodsRecordService.save(uid, ShareSourceTypeEnum.activity, title, listGoodsBrief); + + Map<String, Object> map = userShareGoodsRecordService.save(uid, ShareSourceTypeEnum.activity, title, + listGoodsBrief); imgList.add((FileUploadResult) map.get("loadResult")); result.setImgList(imgList); - + return result; } - - + @Override - public JSONObject shareGoodsV2(Long uid, Long activityId) throws ActivityException,UserShareGoodsRecordException { - + public JSONObject shareGoodsV2(Long uid, Long activityId) throws ActivityException, UserShareGoodsRecordException { + RecommendActivity activity = recommendActivityMapper.selectByPrimaryKey(activityId); - + if (activity == null) throw new ActivityException(2, "鍔ㄦ�佷笉瀛樺湪"); - + if (activity.getType() != RecommendActivity.TYPE_SHARE_GOODS) throw new ActivityException(3, "涓嶅睘浜庡垎浜晢鍝佸姩鎬�"); - + ActivityShareResult result = new ActivityShareResult(); - + String title = activity.getTitle().replace("<br>", "/n").replace("<p>", "").replace("</p>", ""); if (title != null && title.trim().endsWith("/n")) title = title.trim().substring(0, title.trim().length() - 2); - + result.setTitle(title); - + List<TaoBaoGoodsBrief> listGoodsBrief = new ArrayList<TaoBaoGoodsBrief>(); - + if (activity.getGoodsList() != null) { activity.getGoodsList().stream().parallel().forEach(goodsActivity -> { try { - TaoBaoGoodsBrief goodsBrief = - redisManager.getTaoBaoGoodsBrief(Long.parseLong(goodsActivity.getAuctionId())); + TaoBaoGoodsBrief goodsBrief = redisManager + .getTaoBaoGoodsBrief(Long.parseLong(goodsActivity.getAuctionId())); listGoodsBrief.add(goodsBrief); - + } catch (TaobaoGoodsDownException e) { - - CommonGoods commonGoods= commonGoodsService.getCommonGoodsByGoodsIdAndGoodsType(Long.parseLong(goodsActivity.getAuctionId()), - CommonGoods.GOODS_TYPE_TB); + + CommonGoods commonGoods = commonGoodsService.getCommonGoodsByGoodsIdAndGoodsType( + Long.parseLong(goodsActivity.getAuctionId()), CommonGoods.GOODS_TYPE_TB); if (commonGoods != null) { - TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(commonGoods); + TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(commonGoods); goodsBrief.setState(1); listGoodsBrief.add(goodsBrief); } - + try { - LogHelper.errorDetailInfo(e, "鍒嗕韩鍟嗗搧鍑洪敊-鍟嗗搧ID:" + goodsActivity.getAuctionId(), "--"); + LogHelper.errorDetailInfo(e, "鍒嗕韩鍟嗗搧鍑洪敊-鍟嗗搧ID:" + goodsActivity.getAuctionId(), "--"); } catch (Exception e1) { e1.printStackTrace(); } } }); } - + if (listGoodsBrief.size() < 1) { throw new ActivityException(1, "鍟嗗搧涓嬫灦"); } - - + String fontColor1 = "#000000"; String fontColor2 = "#E5005C"; JSONArray array = new JSONArray(); - + JSONObject contentJson1 = new JSONObject(); contentJson1.put("color", fontColor1); contentJson1.put("content", "棰勪及鍒嗕韩濂栭噾:"); - + String shareMoney = "0"; String revenue = "楼0"; String totalGetMoney = activity.getTotalGetMoney(); if (totalGetMoney != null && totalGetMoney.trim().length() > 0) { @@ -247,27 +248,34 @@ if (split != null) { revenue = split[1]; } + + String[] splitMoney = totalGetMoney.split("楼"); + if (splitMoney != null) { + shareMoney = splitMoney[1]; + } } - + JSONObject contentJson2 = new JSONObject(); contentJson2.put("color", fontColor2); contentJson2.put("content", revenue); - + array.add(contentJson1); array.add(contentJson2); - + JSONObject data = new JSONObject(); - - Map<String,Object> map = userShareGoodsRecordService.save(uid, ShareSourceTypeEnum.activity, title, listGoodsBrief); - + + Map<String, Object> map = userShareGoodsRecordService.save(uid, ShareSourceTypeEnum.activity, title, + listGoodsBrief); + data.put("title", title); data.put("revenue", array); + data.put("fanMoney", shareMoney); data.put("shareId", map.get("shareId")); data.put("shareImg", map.get("loadResult")); - data.put("notifyDesc", configService.get("goods_share_notify")); + data.put("notifyDesc", configService.get("goods_share_multiple_notify")); return data; - + } @Override @@ -299,6 +307,7 @@ return activityUserMapper.selectList(); } + @Transactional @Override public RecommendActivity addShareGoodsRecommendActivity(Long activityUid, String title, List<Long> goodsList, boolean top, int shareCount) throws ActivityException { @@ -316,9 +325,9 @@ activity.setTop(top); activity.setType(RecommendActivity.TYPE_SHARE_GOODS); recommendActivityMapper.insertSelective(activity); - + List<CommonGoods> listCommonGoods = new ArrayList<CommonGoods>(); - + BigDecimal taotaoMoney = new BigDecimal(0); for (long auctionId : goodsList) { TaoBaoGoodsBrief tb = null; @@ -341,12 +350,12 @@ recommendActivityTaoBaoGoodsMapper.insertSelective(goods); BigDecimal money = taoBaoGoodsBriefService.getShareGoodsUserHongBao(tb); taotaoMoney = taotaoMoney.add(money); - + // 杞崲绠�鐗堝晢鍝佷俊鎭� CommonGoods commonGoods = CommonGoodsFactory.create(tb); listCommonGoods.add(commonGoods); } - + try { // 鏇存柊绠�鐗堜俊鎭� commonGoodsService.addBatchCommonGoods(listCommonGoods); @@ -356,15 +365,18 @@ RecommendActivity updateActivity = new RecommendActivity(); updateActivity.setId(activity.getId()); - updateActivity.setTotalGetMoney("棰勮鍒嗕韩濂栭噾锛毬�" + taotaoMoney.toString()); + updateActivity.setTotalGetMoney("棰勪及鍒嗕韩濂栭噾锛毬�" + taotaoMoney.toString()); recommendActivityMapper.updateByPrimaryKeySelective(updateActivity); return activity; } + @Transactional @Override public RecommendActivity addInviteImgRecommendActivity(Long activityUid, String title, String url, boolean top, int shareCount, int px, int py, int erCodeSize) throws ActivityException { + if (StringUtil.isNullOrEmpty(url)) + throw new ActivityException(1, "鍥剧墖涓虹┖"); RecommendActivity activity = new RecommendActivity(); activity.setActivityUser(new ActivityUser(activityUid)); activity.setCreateTime(new Date()); @@ -394,11 +406,11 @@ 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 { @@ -429,6 +441,7 @@ return activity; } + @Transactional @Override public void deleteRecommendActivity(long[] ids) { recommendActivityMapper.batchDeleteByPrimaryKey(ids); @@ -442,6 +455,7 @@ return recommendActivityMapper.selectByPrimaryKey(id); } + @Transactional @Override public RecommendActivity updateShareGoodsRecommendActivity(Long id, Long activityUid, String title, List<Long> goodsList, boolean top, int shareCount) throws ActivityException { @@ -490,12 +504,13 @@ RecommendActivity updateActivity = new RecommendActivity(); updateActivity.setId(activity.getId()); - updateActivity.setTotalGetMoney("棰勮鍒嗕韩濂栭噾锛毬�" + taotaoMoney.toString()); + updateActivity.setTotalGetMoney("棰勪及鍒嗕韩濂栭噾锛毬�" + taotaoMoney.toString()); recommendActivityMapper.updateByPrimaryKeySelective(updateActivity); return activity; } + @Transactional @Override public RecommendActivity updateInviteImgRecommendActivity(Long id, Long activityUid, String title, String url, boolean top, int shareCount, int px, int py, int erCodeSize) throws ActivityException { @@ -538,6 +553,7 @@ return activity; } + @Transactional @Override public RecommendActivity updateTextAndImgRecommendActivity(Long id, Long activityUid, String title, List<String> imgList, boolean top, int shareCount) throws ActivityException { @@ -594,6 +610,7 @@ return getRecommendActivityCount(); } + @Transactional @Override public void upgradeShareGoodsRecommendActivity(Long id) throws ActivityException { // 鑾峰彇鍟嗗搧 @@ -629,7 +646,7 @@ update.setId(goods.getId()); update.setState(RecommendActivityTaoBaoGoods.STATE_UNSHELVE); recommendActivityTaoBaoGoodsMapper.updateByPrimaryKeySelective(update); - taoBaoGoodsUpdateService.downTaoBaoGoods(Long.parseLong(goods.getAuctionId())); + taoBaoGoodsUpdateService.offlineTaoBaoGoods(Long.parseLong(goods.getAuctionId())); } } } @@ -698,4 +715,27 @@ 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); + } + } } -- Gitblit v1.8.0