From 1e92eff67b997263ecefa255c63eb6641c47b57f Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 14 六月 2019 10:22:33 +0800 Subject: [PATCH] 设备消息BUG解决,品牌 --- fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java | 606 ++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 376 insertions(+), 230 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java index a544732..d84a845 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java @@ -20,6 +20,7 @@ import com.yeshi.fanli.dto.taobao.TaoBaoShopDTO; import com.yeshi.fanli.entity.bus.activity.ActivityUser; import com.yeshi.fanli.entity.bus.activity.RecommendActivity; +import com.yeshi.fanli.entity.bus.activity.RecommendActivityInviteInfo; import com.yeshi.fanli.entity.bus.activity.RecommendActivityTaoBaoGoods; import com.yeshi.fanli.entity.bus.clazz.GoodsClass; import com.yeshi.fanli.entity.dynamic.DynamicInfo; @@ -37,9 +38,11 @@ import com.yeshi.fanli.service.inter.dynamic.InviteMaterialService; import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService; import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService; +import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService; import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService; import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsService; import com.yeshi.fanli.service.inter.user.QrCodeService; +import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.MoneyBigDecimalUtil; import com.yeshi.fanli.util.RedisManager; import com.yeshi.fanli.util.StringUtil; @@ -87,6 +90,9 @@ @Resource private QrCodeService qrCodeService; + @Resource + private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService; + @Override public void insert(DynamicInfo record) { @@ -111,7 +117,7 @@ String materialId = inviteMaterial.getId(); String content = inviteMaterial.getText(); - ActivityUser user=activityUserService.selectByPrimaryKey(1L); + ActivityUser user=activityUserService.selectByPrimaryKey(2L); if (!StringUtil.isNullOrEmpty(content)) { DynamicInfo dynamicTxt= new DynamicInfo(); @@ -129,7 +135,7 @@ SimpleDateFormat format = new SimpleDateFormat("MM鏈坉d鏃�"); StringBuffer buffer = new StringBuffer(); - buffer.append("------------------------------------------\n"); + buffer.append("-------------------\n"); buffer.append("浠婂ぉ : " + format.format(date)); buffer.append(" "); buffer.append(DateLunarUtil.getWeekd(date) + "\n"); @@ -139,7 +145,9 @@ buffer.append("鎴戠殑閭�璇风爜锛氥�愰個璇风爜銆慭n"); buffer.append("璐墿鐪侀挶杩斿埄鍒窤pp锛氥�愰個璇烽摼鎺ャ��"); - + content = content.replaceAll("\\,", "\\锛�").replaceAll("\\.", "\\銆�") .replaceAll("\\;", "\\锛�") + .replaceAll("\\!", "\\锛�").replaceAll("\\?", "\\锛�").replaceAll("\\:", "\\锛�"); + ClientTextStyleVO row1 = new ClientTextStyleVO(); row1.setColor("#333333"); row1.setContent(content + "\n" + buffer.toString()); @@ -336,7 +344,8 @@ DaTaoKeDetail daTaoKeDetail = null; // 鍟嗗搧鍒楄〃 List<GoodsPicture> listPicture = new ArrayList<GoodsPicture>(); - + // 鍟嗗搧鍒楄〃 + List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>(); // 鍒嗕韩濂栭噾 BigDecimal shareMoney = new BigDecimal(0); @@ -346,8 +355,9 @@ daTaoKeDetail = daTaoKe; } // 鍒嗕韩濂栭噾 - TaoBaoGoodsBrief taoBaoGoodsBrief = TaoBaoUtil.convert(daTaoKe); + listGoods.add(taoBaoGoodsBrief); + TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null); if (!taoBaoGoodsBriefExtra.isCoupon()) { taoBaoGoodsBriefExtra.setState(1); @@ -371,6 +381,7 @@ // 鍙戝竷鐢ㄦ埛 dynamicInfo.setUser(activityUserService.getRandomByDaTaoKeCid(cid)); dynamicInfo.setImgs(listPicture); + dynamicInfo.setListGoodsBrief(listGoods); ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO(); shareMoneyDesc.setColor("#FFFFFF"); @@ -449,13 +460,16 @@ // 澶ф窐瀹㈡暟鎹� DaTaoKeDetail daTaoKe = daTaoKeGoodsService.getGoodsNotInList(subclassId, listId, 1).get(0); - + List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>(); TaoBaoGoodsBrief taoBaoGoodsBrief = TaoBaoUtil.convert(daTaoKe); + listGoods.add(taoBaoGoodsBrief); + BigDecimal proportion = hongBaoManageService.getFanLiRate(); TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null); if (!taoBaoGoodsBriefExtra.isCoupon()) { taoBaoGoodsBriefExtra.setState(1); } + taoBaoGoodsBriefExtra.setTkRate(taoBaoGoodsBrief.getTkRate()); // 鍒嗕韩濂栭噾 BigDecimal shareMoney = taoBaoGoodsBriefService.getShareGoodsUserHongBao(taoBaoGoodsBrief); @@ -506,6 +520,7 @@ dynamicInfo.setDesc(shareMoneyDesc); dynamicInfo.setShareType(DynamicInfo.SHARE_TYPE_ONE); dynamicInfo.setShowType(DynamicInfo.SHOW_TYPE_TWO); + dynamicInfo.setListGoodsBrief(listGoods); String desc = DaTaoKeUtil.getDesc(daTaoKe); if (!StringUtil.isNullOrEmpty(desc)) { @@ -579,29 +594,49 @@ return goodsPicture; } - @Override - public void updateShareCount(DynamicInfo record) { - dynamicInfoDao.updateShareCount(record); - } @Override - public void insertInviteMaterial(String title, String picUrl, Long activityId, ActivityUser activityUser) { + public void insertInviteActivity(RecommendActivity activity) throws Exception{ - DynamicInfo existInfo = null; - if (activityId != null) { - existInfo = dynamicInfoDao.getByActivityId(activityId); - if (existInfo != null) { - dynamicInfoDao.deleteById(existInfo.getId()); - } - - if (!StringUtil.isNullOrEmpty(title)) { - title = title.replace("<p>", ""); - title = title.replace("</p>", ""); - } + String title = activity.getTitle(); + + String picUrl = null; + List<String> imageList = activity.getImageList(); + if (imageList != null && imageList.size() > 0) { + picUrl = imageList.get(0); } - DynamicInfo dynamicVO = new DynamicInfo(); + if (StringUtil.isNullOrEmpty(title) || StringUtil.isNullOrEmpty(picUrl)) { + return; + } + + // 鍒ゆ柇鏄惁宸插瓨鍦� + String dynamicInfoId = null; + + Long activityId = activity.getId(); + DynamicInfo dynamicVO = dynamicInfoDao.getByActivityId(activityId); + if (dynamicVO == null) { + dynamicVO = new DynamicInfo(); + dynamicVO.setId(UUID.randomUUID().toString().replace("-", "")); + dynamicVO.setCreateTime(DateUtil.reduceRandomMinute(new Date(), 8)); + } else { + dynamicInfoId = dynamicVO.getId(); + } + + if (!StringUtil.isNullOrEmpty(title)) { + title = title.replaceAll("<p>", "").replaceAll("</p>", "").replaceAll("<br>", "\n"); + + int index = title.lastIndexOf("\n"); + String newDesc = title.substring(index + 1); + if(StringUtil.isNullOrEmpty(newDesc)) { + title = title.substring(0, index); + } + + title = title.replaceAll("\\,", "\\锛�").replaceAll("\\.", "\\銆�") .replaceAll("\\;", "\\锛�") + .replaceAll("\\!", "\\锛�").replaceAll("\\?", "\\锛�").replaceAll("\\:", "\\锛�"); + } + dynamicVO.setId(UUID.randomUUID().toString().replace("-", "")); dynamicVO.setActivityId(activityId); dynamicVO.setClassId(4L); @@ -609,64 +644,228 @@ dynamicVO.setShareType(DynamicInfo.SHARE_TYPE_INVITE); dynamicVO.setUpdateTime(new Date()); - if (existInfo != null) { - dynamicVO.setCreateTime(existInfo.getCreateTime()); - dynamicVO.setShareCount(existInfo.getShareCount()); - } else { - dynamicVO.setCreateTime(DateUtil.reduceRandomMinute(new Date(), 8)); + + Integer shareCount = activity.getShareCount(); + if (shareCount == null || shareCount <= 0) { dynamicVO.setShareCount(1000 + (int) (Math.random() * 8000)); + } else { + dynamicVO.setShareCount(shareCount); } + // 鍙戝竷鐢ㄦ埛 + ActivityUser activityUser = activity.getActivityUser(); if (activityUser == null) { - dynamicVO.setUser(activityUserService.listRand(1).get(0)); + dynamicVO.setUser(activityUserService.selectByPrimaryKey(2L)); } else { dynamicVO.setUser(activityUser); } + // 浠嬬粛鍐呭 List<ClientTextStyleVO> listtitle = new ArrayList<ClientTextStyleVO>(); - - - List<GoodsPicture> listImg = new ArrayList<GoodsPicture>(); - if(StringUtil.isNullOrEmpty(picUrl)) { - dynamicVO.setImgs(listImg); - dynamicVO.setShowType(DynamicInfo.SHOW_TYPE_ZERO); - - // 浠嬬粛鍐呭 + if(!StringUtil.isNullOrEmpty(title)) { ClientTextStyleVO row1 = new ClientTextStyleVO(); row1.setColor("#333333"); - row1.setContent(title); + row1.setContent(title ); listtitle.add(row1); - dynamicVO.setTitle(listtitle); - dynamicInfoDao.insert(dynamicVO); - } else { - try { - dynamicVO.setTitle(listtitle); - dynamicVO.setShowType(DynamicInfo.SHOW_TYPE_ONE); - - // 鍥剧墖 - String imgLink = qrCodeService.drawInviteQrCodeNew(picUrl , null, null, null); - GoodsPicture p2 = new GoodsPicture(); - p2.setW(100); - p2.setH(100); - p2.setUrl(imgLink); - p2.setUrlOriginal(picUrl); - listImg.add(p2); - dynamicVO.setImgs(listImg); - - - dynamicInfoDao.insert(dynamicVO); - } catch (Exception e) { - try { - LogHelper.errorDetailInfo(e); - } catch (Exception e1) { - e1.printStackTrace(); - } - } } + + // 鍥剧墖 + List<GoodsPicture> listImg = new ArrayList<GoodsPicture>(); + if(StringUtil.isNullOrEmpty(picUrl)) { + dynamicVO.setShowType(DynamicInfo.SHOW_TYPE_ZERO); + } else { + dynamicVO.setShowType(DynamicInfo.SHOW_TYPE_ONE); + RecommendActivityInviteInfo inviteInfo = activity.getInviteInfo(); + + Integer pX = null; + Integer pY = null; + Integer size = null; + if (inviteInfo != null) { + pX = inviteInfo.getPx(); + pY = inviteInfo.getPy(); + size = inviteInfo.getSize(); + } + + // 鍥剧墖 + String imgLink = qrCodeService.drawInviteQrCodeNew(picUrl , null, null, pX, pY, size, null); + GoodsPicture p2 = new GoodsPicture(); + p2.setW(100); + p2.setH(100); + p2.setUrl(imgLink); + p2.setUrlOriginal(picUrl); + p2.setPx(pX); + p2.setPy(pY); + p2.setSize(size); + + listImg.add(p2); + } + + dynamicVO.setImgs(listImg); + dynamicVO.setTitle(listtitle); + + if (!StringUtil.isNullOrEmpty(dynamicInfoId)) { + dynamicInfoDao.deleteById(dynamicInfoId); + } + + dynamicInfoDao.insert(dynamicVO); } + + @Override + public void insertActivityRecommend(RecommendActivity activity) { + if (activity == null || activity.getGoodsList() == null) { + return; + } + + try { + String dynamicInfoId = null; + DynamicInfo dynamicInfo = dynamicInfoDao.getByActivityId(activity.getId()); + if (dynamicInfo == null) { + dynamicInfo = new DynamicInfo(); + dynamicInfo.setId(UUID.randomUUID().toString().replace("-", "")); + dynamicInfo.setCreateTime(new Date()); + } else { + dynamicInfoId = dynamicInfo.getId(); + } + + dynamicInfo.setClassId(2L); + dynamicInfo.setSubclassId(0L); + dynamicInfo.setUser(activity.getActivityUser()); + dynamicInfo.setActivityId(activity.getId()); + dynamicInfo.setUpdateTime(new Date()); + + + List<ClientTextStyleVO> listtitle = new ArrayList<ClientTextStyleVO>(); + String title = activity.getTitle(); + if (!StringUtil.isNullOrEmpty(title)) { + title = title.replaceAll("<p>", ""); + title = title.replaceAll("</p>", ""); + title = title.replaceAll("<br>", "\n"); + + int index = title.lastIndexOf("\n"); + String newDesc = title.substring(index + 1); + if(StringUtil.isNullOrEmpty(newDesc)) { + title = title.substring(0, index); + } + + ClientTextStyleVO row1 = new ClientTextStyleVO(); + row1.setColor("#333333"); + row1.setContent(title ); + listtitle.add(row1); + } + dynamicInfo.setTitle(listtitle); + + + Integer shareCount = activity.getShareCount(); + if (shareCount == null || shareCount <= 0) { + dynamicInfo.setShareCount(1000 + (int) (Math.random() * 8000)); + } else { + dynamicInfo.setShareCount(shareCount); + } + + // 鍙戝竷鐢ㄦ埛 + ActivityUser activityUser = activity.getActivityUser(); + if (activityUser == null) { + dynamicInfo.setUser(activityUserService.selectByPrimaryKey(2L)); + } else { + dynamicInfo.setUser(activityUser); + } + + List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>(); + // 鍟嗗搧鍒楄〃 + List<GoodsPicture> listPicture = new ArrayList<GoodsPicture>(); + BigDecimal proportion = hongBaoManageService.getFanLiRate(); + // 鍒嗕韩濂栭噾 + BigDecimal shareMoney = new BigDecimal(0); + + if (activity.getGoodsList() != null) { + for (RecommendActivityTaoBaoGoods activityGoods : activity.getGoodsList()) { + + TaoBaoGoodsBrief taoBaoGoodsBrief = null; + TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = null; + String auctionId = activityGoods.getAuctionId(); + try { + taoBaoGoodsBrief = redisManager.getTaoBaoGoodsBrief(Long.parseLong(auctionId)); + + taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null); + if (!taoBaoGoodsBriefExtra.isCoupon()) { + taoBaoGoodsBriefExtra.setState(1); + } + + BigDecimal money = taoBaoGoodsBriefService.getShareGoodsUserHongBao(taoBaoGoodsBrief); + shareMoney = MoneyBigDecimalUtil.add(shareMoney, money); + } catch (TaobaoGoodsDownException e) { + taoBaoGoodsBrief = activityGoods.getTaoBaoGoodsBrief(); + taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null); + taoBaoGoodsBriefExtra.setState(1); + taoBaoGoodsBriefExtra.setCoupon(false); + } + listGoods.add(taoBaoGoodsBrief); + + // 鍟嗗搧鍥剧墖 + taoBaoGoodsBriefExtra.setCouponInfo(null); + taoBaoGoodsBriefExtra.setUpdatetime(new Date()); + + JSONObject item = new JSONObject(); + item.put("id", auctionId); + item.put("from", "dynamics"); + + GoodsPicture goodsPicture = new GoodsPicture(); + goodsPicture.setH(100); + goodsPicture.setW(100); + goodsPicture.setUrl(TbImgUtil.getTBSize320Img(taoBaoGoodsBrief.getPictUrl())); + goodsPicture.setJumpDetail(jumpDetailV2Service.getByTypeCache("goodsdetail")); + goodsPicture.setParams(item.toString()); + goodsPicture.setGoods(taoBaoGoodsBriefExtra); + + listPicture.add(goodsPicture); + } + } + dynamicInfo.setImgs(listPicture); + dynamicInfo.setListGoodsBrief(listGoods); + + ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO(); + shareMoneyDesc.setColor("#FFFFFF"); + shareMoneyDesc.setBottomColor("#E8AE48"); + shareMoneyDesc.setContent("棰勪及鍒嗕韩濂栭噾锛毬�" + shareMoney); + dynamicInfo.setDesc(shareMoneyDesc); + dynamicInfo.setShowType(2); + + if (listPicture.size() < 7) { + dynamicInfo.setShowType(DynamicInfo.SHOW_TYPE_TWO); + dynamicInfo.setShareType(DynamicInfo.SHARE_TYPE_FOUR); // 鍒嗕韩绫诲瀷4鍥� + } else { + dynamicInfo.setShowType(DynamicInfo.SHOW_TYPE_THREE); + dynamicInfo.setShareType(DynamicInfo.SHARE_TYPE_NINE); // 鍒嗕韩绫诲瀷9鍥� + } + + + if (!StringUtil.isNullOrEmpty(dynamicInfoId)) { + dynamicInfoDao.deleteById(dynamicInfoId); + } + // 淇濆瓨淇℃伅 + dynamicInfoDao.insert(dynamicInfo); + + } catch (Exception e) { + try { + LogHelper.errorDetailInfo(e); + } catch (Exception e1) { + e1.printStackTrace(); + } + } + } + + + @Override + public void deleteActivity(Long activityId) { + DynamicInfo dynamicInfo = dynamicInfoDao.getByActivityId(activityId); + if (dynamicInfo != null) { + // 鍒犻櫎涔嬪墠鐨� + dynamicInfoDao.deleteById(dynamicInfo.getId()); + } + } @Override @@ -674,12 +873,44 @@ dynamicInfoDao.removeByDate(createTime); } + @Override + public void updateShareCount(DynamicInfo record) { + dynamicInfoDao.updateShareCount(record); + } + + @Override + @Cacheable(value = "dynamicCache", key = "'count-'+#cid+'-'+#subId") + public long count(Long cid, Long subId) { + return dynamicInfoDao.count(cid, subId); + } + + @Override + @Cacheable(value = "dynamicCache", key = "'query-'+#start+'-'+#count+'-'+#cid+'-'+#subId") + public List<DynamicInfo> query(int start, int count, Long cid, Long subId) { + List<DynamicInfo> list = dynamicInfoDao.query(start, count, cid, subId); + + // 鏇存柊鍟嗗搧淇℃伅 + executor.execute(new Runnable() { + @Override + public void run() { + updateGoodInfo(list); + } + }); + + return list; + } /** * 鏇存柊鍟嗗搧淇℃伅 */ public void updateGoodInfo(List<DynamicInfo> list) { + + // 澶栫綉杩涜鏇存柊 + if (!Constant.IS_OUTNET) { + return; + } + if (list == null || list.size() == 0) { return; } @@ -711,8 +942,11 @@ } } - // 鏇存柊 - BigDecimal shareMoney = new BigDecimal(0); + // 宸蹭笅鏋禝D + List<Long> listDown = new ArrayList<Long>(); + // 鍟嗗搧鍒楄〃 + List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>(); + for (GoodsPicture goodsPicture: imgs) { TaoBaoGoodsBriefExtra oldExtra = goodsPicture.getGoods(); if (oldExtra == null) { @@ -726,191 +960,103 @@ try { TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(oldExtra.getAuctionId()); + + // 鏇存柊鍟嗗搧淇℃伅 + try { + taoBaoGoodsUpdateService.updateTaoBaoGoods(goodsBrief); + } catch (Exception e) { + e.printStackTrace(); + } + + listGoods.add(goodsBrief); + + // 鏇存柊鐑攢鍗曞搧鐨勫垎浜閲� 锛屽叾浣欎笉鍋氭洿鏂� + if (classId == 1) { + BigDecimal shareMoney = taoBaoGoodsBriefService.getShareGoodsUserHongBao(goodsBrief); + ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO(); + shareMoneyDesc.setColor("#FFFFFF"); + shareMoneyDesc.setBottomColor("#E8AE48"); + shareMoneyDesc.setContent("棰勪及鍒嗕韩濂栭噾锛毬�" + shareMoney); + dynamicInfo.setDesc(shareMoneyDesc); + } + TaoBaoGoodsBriefExtra newExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, proportion.toString(), null); if (!newExtra.isCoupon()) { newExtra.setState(1); } newExtra.setUpdatetime(new Date()); - goodsPicture.setGoods(newExtra); - - - // 鏇存柊鐑攢鍗曞搧鐨勫垎浜閲� 锛屽叾浣欎笉鍋氭洿鏂� - if (classId == 1) { - BigDecimal money = taoBaoGoodsBriefService.getShareGoodsUserHongBao(goodsBrief); - shareMoney = MoneyBigDecimalUtil.add(shareMoney, money); - } + goodsPicture.setGoods(oldExtra); } catch (TaobaoGoodsDownException e) { + listDown.add(oldExtra.getAuctionId()); + oldExtra.setState(1); oldExtra.setCoupon(false); oldExtra.setUpdatetime(new Date()); goodsPicture.setGoods(oldExtra); + + // 鍟嗗搧鐪熷疄涓嬫灦 + goodsPicture.setGoodState(1); + + // 鏇存柊鐑攢鍗曞搧鐨勫垎浜閲� 锛屽叾浣欎笉鍋氭洿鏂� + if (classId == 1) { + ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO(); + shareMoneyDesc.setColor("#FFFFFF"); + shareMoneyDesc.setBottomColor("#E8AE48"); + shareMoneyDesc.setContent("棰勪及鍒嗕韩濂栭噾锛毬�" + new BigDecimal(0)); + dynamicInfo.setDesc(shareMoneyDesc); + } e.printStackTrace(); } } + dynamicInfo.setImgs(imgs); - // 鏇存柊鐑攢鍗曞搧鐨勫垎浜閲� 锛屽叾浣欎笉鍋氭洿鏂� - if (classId == 1) { - ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO(); - shareMoneyDesc.setColor("#FFFFFF"); - shareMoneyDesc.setBottomColor("#E8AE48"); - shareMoneyDesc.setContent("棰勪及鍒嗕韩濂栭噾锛毬�" + shareMoney); - dynamicInfo.setDesc(shareMoneyDesc); + // 鍟嗗搧宸蹭笅鏋� + List<TaoBaoGoodsBrief> listGoodsBrief = dynamicInfo.getListGoodsBrief(); + if (listGoodsBrief != null && listGoodsBrief.size() > 0) { + + if (listGoods.size() > 0 ) { + if (classId == 1) { + dynamicInfo.setListGoodsBrief(listGoods); + } else { + for (int i =0; i < listGoodsBrief.size(); i ++) { + TaoBaoGoodsBrief taoBaoGoodsBrief = listGoodsBrief.get(i); + Long auctionId = taoBaoGoodsBrief.getAuctionId(); + + boolean isadd = true; + for (TaoBaoGoodsBrief goods: listGoods) { + if(goods.getAuctionId().equals(auctionId) || goods.getAuctionId() == auctionId) { + isadd = false; + break; + } + } + + if (isadd) { + // 鍟嗗搧宸蹭笅鏋� 鍒欐坊鍔犲師鏉ュ晢鍝佷俊鎭� + if (listDown.size() > 0 && listDown.contains(taoBaoGoodsBrief.getAuctionId())) { + taoBaoGoodsBrief.setState(1); + } + listGoods.add(taoBaoGoodsBrief); + } + } + dynamicInfo.setListGoodsBrief(listGoods); + } + } else { + if (listDown.size() > 0) { + for (TaoBaoGoodsBrief taoBaoGoodsBrief: listGoodsBrief) { + if (listDown.contains(taoBaoGoodsBrief.getAuctionId())) { + taoBaoGoodsBrief.setState(1); + } + } + dynamicInfo.setListGoodsBrief(listGoodsBrief); + } + } } - dynamicInfo.setImgs(imgs); dynamicInfo.setUpdateTime(new Date()); dynamicInfoDao.updateGoodInfo(dynamicInfo); } } - - @Override - public void deleteActivity(Long activityId) { - DynamicInfo dynamicInfo = dynamicInfoDao.getByActivityId(activityId); - if (dynamicInfo != null) { - // 鍒犻櫎涔嬪墠鐨� - dynamicInfoDao.deleteById(dynamicInfo.getId()); - } - } - - - - @Override - public void saveActivityRecommend(RecommendActivity activity) { - if (activity == null || activity.getGoodsList() == null) { - return; - } - - try { - DynamicInfo existInfo = dynamicInfoDao.getByActivityId(activity.getId()); - if (existInfo != null) { - dynamicInfoDao.deleteById(existInfo.getId()); - } - - DynamicInfo dynamicInfo = new DynamicInfo(); - dynamicInfo.setId(UUID.randomUUID().toString().replace("-", "")); - dynamicInfo.setClassId(2L); - dynamicInfo.setSubclassId(0L); - dynamicInfo.setUser(activity.getActivityUser()); - dynamicInfo.setActivityId(activity.getId()); - - String title = activity.getTitle(); - if (!StringUtil.isNullOrEmpty(title)) { - title = title.replace("<p>", ""); - title = title.replace("</p>", ""); - dynamicInfo.setTitle(convertIntroduce(title)); - } - - if (existInfo != null) { - dynamicInfo.setCreateTime(existInfo.getCreateTime()); - dynamicInfo.setShareCount(existInfo.getShareCount()); - } else { - dynamicInfo.setCreateTime(new Date()); - dynamicInfo.setUpdateTime(new Date()); - dynamicInfo.setShareCount(1000 + (int) (Math.random() * 8000)); - } - - // 鍟嗗搧鍒楄〃 - List<GoodsPicture> listPicture = new ArrayList<GoodsPicture>(); - BigDecimal proportion = hongBaoManageService.getFanLiRate(); - // 鍒嗕韩濂栭噾 - BigDecimal shareMoney = new BigDecimal(0); - - if (activity.getGoodsList() != null) { - for (RecommendActivityTaoBaoGoods activityGoods : activity.getGoodsList()) { - - TaoBaoGoodsBrief taoBaoGoodsBrief = null; - TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = null; - String auctionId = activityGoods.getAuctionId(); - try { - taoBaoGoodsBrief = redisManager.getTaoBaoGoodsBrief(Long.parseLong(auctionId)); - - taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null); - if (!taoBaoGoodsBriefExtra.isCoupon()) { - taoBaoGoodsBriefExtra.setState(1); - } - - BigDecimal money = taoBaoGoodsBriefService.getShareGoodsUserHongBao(taoBaoGoodsBrief); - shareMoney = MoneyBigDecimalUtil.add(shareMoney, money); - } catch (TaobaoGoodsDownException e) { - taoBaoGoodsBrief = activityGoods.getTaoBaoGoodsBrief(); - taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null); - taoBaoGoodsBriefExtra.setState(1); - taoBaoGoodsBriefExtra.setCoupon(false); - } - // 鍟嗗搧鍥剧墖 - taoBaoGoodsBriefExtra.setCouponInfo(null); - taoBaoGoodsBriefExtra.setUpdatetime(new Date()); - - JSONObject item = new JSONObject(); - item.put("id", auctionId); - item.put("from", "dynamics"); - - GoodsPicture goodsPicture = new GoodsPicture(); - goodsPicture.setH(100); - goodsPicture.setW(100); - goodsPicture.setUrl(TbImgUtil.getTBSize320Img(taoBaoGoodsBrief.getPictUrl())); - goodsPicture.setJumpDetail(jumpDetailV2Service.getByTypeCache("goodsdetail")); - goodsPicture.setParams(item.toString()); - goodsPicture.setGoods(taoBaoGoodsBriefExtra); - - listPicture.add(goodsPicture); - } - } - dynamicInfo.setImgs(listPicture); - - - ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO(); - shareMoneyDesc.setColor("#FFFFFF"); - shareMoneyDesc.setBottomColor("#E8AE48"); - shareMoneyDesc.setContent("棰勪及鍒嗕韩濂栭噾锛毬�" + shareMoney); - dynamicInfo.setDesc(shareMoneyDesc); - dynamicInfo.setShowType(2); - - if (listPicture.size() < 7) { - dynamicInfo.setShowType(DynamicInfo.SHOW_TYPE_TWO); - dynamicInfo.setShareType(DynamicInfo.SHARE_TYPE_FOUR); // 鍒嗕韩绫诲瀷4鍥� - } else { - dynamicInfo.setShowType(DynamicInfo.SHOW_TYPE_THREE); - dynamicInfo.setShareType(DynamicInfo.SHARE_TYPE_NINE); // 鍒嗕韩绫诲瀷9鍥� - } - // 淇濆瓨淇℃伅 - dynamicInfoDao.insert(dynamicInfo); - - } catch (Exception e) { - try { - LogHelper.errorDetailInfo(e); - } catch (Exception e1) { - e1.printStackTrace(); - } - } - } - - - - - - @Override - @Cacheable(value = "dynamicCache", key = "'count-'+#cid+'-'+#subId") - public long count(Long cid, Long subId) { - return dynamicInfoDao.count(cid, subId); - } - - @Override - @Cacheable(value = "dynamicCache", key = "'query-'+#start+'-'+#count+'-'+#cid+'-'+#subId") - public List<DynamicInfo> query(int start, int count, Long cid, Long subId) { - List<DynamicInfo> list = dynamicInfoDao.query(start, count, cid, subId); - - // 鏇存柊鍟嗗搧淇℃伅 - executor.execute(new Runnable() { - @Override - public void run() { - updateGoodInfo(list); - } - }); - - return list; - } } -- Gitblit v1.8.0