From f0b45fd50863cc322858730c55b53c06d11f6dd2 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期四, 23 五月 2019 15:59:58 +0800 Subject: [PATCH] 优化 只有下架才会出现分享奖金0 --- fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java | 164 ++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 127 insertions(+), 37 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 4a9332f..f24931c 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 @@ -1,6 +1,5 @@ package com.yeshi.fanli.service.impl.dynamic; -import java.io.IOException; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -112,6 +111,8 @@ String materialId = inviteMaterial.getId(); String content = inviteMaterial.getText(); + ActivityUser user=activityUserService.selectByPrimaryKey(2L); + if (!StringUtil.isNullOrEmpty(content)) { DynamicInfo dynamicTxt= new DynamicInfo(); dynamicTxt.setId(UUID.randomUUID().toString().replace("-", "")); @@ -120,7 +121,7 @@ dynamicTxt.setSubclassId(0L); dynamicTxt.setShowType(DynamicInfo.SHOW_TYPE_ZERO); dynamicTxt.setShareType(DynamicInfo.SHARE_TYPE_INVITE); - dynamicTxt.setUser(activityUserService.listRand(1).get(0)); + dynamicTxt.setUser(user); dynamicTxt.setShareCount(1000 + (int) (Math.random() * 8000)); dynamicTxt.setCreateTime(date); dynamicTxt.setUpdateTime(date); @@ -128,7 +129,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"); @@ -162,7 +163,7 @@ dynamicPic.setSubclassId(0L); dynamicPic.setShowType(DynamicInfo.SHOW_TYPE_ONE); dynamicPic.setShareType(DynamicInfo.SHARE_TYPE_INVITE); - dynamicPic.setUser(activityUserService.listRand(1).get(0)); + dynamicPic.setUser(user); dynamicPic.setShareCount(1000 + (int) (Math.random() * 8000)); dynamicPic.setCreateTime(date); dynamicPic.setUpdateTime(date); @@ -185,8 +186,12 @@ dynamicPic.setImgs(listImg); dynamicInfoDao.insert(dynamicPic); - } catch (IOException e) { - e.printStackTrace(); + } catch (Exception e) { + try { + LogHelper.errorDetailInfo(e); + } catch (Exception e1) { + e1.printStackTrace(); + } } } // 鏇存柊绱犳潗鐘舵�� @@ -320,7 +325,7 @@ int cid = Integer.parseInt(subclassId +""); int count = 0; double random = Math.random(); - if (random > 0.5) { + if (random > 0.4) { count = 9; } else { count = 4; @@ -331,7 +336,8 @@ DaTaoKeDetail daTaoKeDetail = null; // 鍟嗗搧鍒楄〃 List<GoodsPicture> listPicture = new ArrayList<GoodsPicture>(); - + // 鍟嗗搧鍒楄〃 + List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>(); // 鍒嗕韩濂栭噾 BigDecimal shareMoney = new BigDecimal(0); @@ -341,8 +347,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); @@ -366,6 +373,7 @@ // 鍙戝竷鐢ㄦ埛 dynamicInfo.setUser(activityUserService.getRandomByDaTaoKeCid(cid)); dynamicInfo.setImgs(listPicture); + dynamicInfo.setListGoodsBrief(listGoods); ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO(); shareMoneyDesc.setColor("#FFFFFF"); @@ -385,7 +393,11 @@ dynamicInfoDao.insert(dynamicInfo); } catch (Exception e) { - e.printStackTrace(); + try { + LogHelper.errorDetailInfo(e); + } catch (Exception e1) { + e1.printStackTrace(); + } } } @@ -396,7 +408,11 @@ try { saveHotSale(classId, 0L); } catch (Exception e) { - e.printStackTrace(); + try { + LogHelper.errorDetailInfo(e); + } catch (Exception e1) { + e1.printStackTrace(); + } } // 鐑攢鍗曞搧鐨勫垎绫� @@ -405,7 +421,11 @@ try { saveHotSale(classId, goodsClass.getId()); } catch (Exception e) { - e.printStackTrace(); + try { + LogHelper.errorDetailInfo(e); + } catch (Exception e1) { + e1.printStackTrace(); + } } } } @@ -432,13 +452,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); @@ -484,13 +507,22 @@ // 缁勭粐鍔ㄦ�佷俊鎭� DynamicInfo dynamicInfo = getDynamicInfo(daTaoKe, classId, subclassId); - dynamicInfo.setTitle(convertIntroduce(DaTaoKeUtil.getDesc(daTaoKe))); - // 鍙戝竷鐢ㄦ埛 dynamicInfo.setUser(activityUserService.getRandomByDaTaoKeCid(daTaoKe.getCid())); dynamicInfo.setImgs(listPicture); 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)) { + int index = desc.lastIndexOf("\n"); + String newDesc = desc.substring(index + 1); + if(StringUtil.isNullOrEmpty(newDesc)) { + desc = desc.substring(0, index); + } + } + dynamicInfo.setTitle(convertIntroduce(desc)); // 淇濆瓨淇℃伅 dynamicInfoDao.insert(dynamicInfo); @@ -608,9 +640,22 @@ dynamicVO.setShowType(DynamicInfo.SHOW_TYPE_ZERO); // 浠嬬粛鍐呭 + SimpleDateFormat format = new SimpleDateFormat("MM鏈坉d鏃�"); + StringBuffer buffer = new StringBuffer(); + buffer.append("-------------------\n"); + buffer.append("浠婂ぉ : " + format.format(new Date())); + buffer.append(" "); + buffer.append(DateLunarUtil.getWeekd(new Date()) + "\n"); + buffer.append("鍚勪綅浜茬埍鐨勪綘"); + buffer.append(" "); + buffer.append("鏃╁畨锝瀄n"); + buffer.append("鎴戠殑閭�璇风爜锛氥�愰個璇风爜銆慭n"); + buffer.append("璐墿鐪侀挶杩斿埄鍒窤pp锛氥�愰個璇烽摼鎺ャ��"); + ClientTextStyleVO row1 = new ClientTextStyleVO(); row1.setColor("#333333"); - row1.setContent(title); + row1.setContent(title + "\n" + buffer.toString()); + listtitle.add(row1); dynamicVO.setTitle(listtitle); dynamicInfoDao.insert(dynamicVO); @@ -632,7 +677,11 @@ dynamicInfoDao.insert(dynamicVO); } catch (Exception e) { - e.printStackTrace(); + try { + LogHelper.errorDetailInfo(e); + } catch (Exception e1) { + e1.printStackTrace(); + } } } @@ -682,8 +731,9 @@ } } - // 鏇存柊 - BigDecimal shareMoney = new BigDecimal(0); + // 鍟嗗搧鍒楄〃 + List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>(); + for (GoodsPicture goodsPicture: imgs) { TaoBaoGoodsBriefExtra oldExtra = goodsPicture.getGoods(); if (oldExtra == null) { @@ -697,6 +747,18 @@ try { TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(oldExtra.getAuctionId()); + 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()) { @@ -705,29 +767,52 @@ newExtra.setUpdatetime(new Date()); goodsPicture.setGoods(newExtra); - - // 鏇存柊鐑攢鍗曞搧鐨勫垎浜閲� 锛屽叾浣欎笉鍋氭洿鏂� - if (classId == 1) { - BigDecimal money = taoBaoGoodsBriefService.getShareGoodsUserHongBao(goodsBrief); - shareMoney = MoneyBigDecimalUtil.add(shareMoney, money); - } - } catch (TaobaoGoodsDownException e) { oldExtra.setState(1); oldExtra.setCoupon(false); oldExtra.setUpdatetime(new Date()); goodsPicture.setGoods(oldExtra); + + // 鏇存柊鐑攢鍗曞搧鐨勫垎浜閲� 锛屽叾浣欎笉鍋氭洿鏂� + if (classId == 1) { + ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO(); + shareMoneyDesc.setColor("#FFFFFF"); + shareMoneyDesc.setBottomColor("#E8AE48"); + shareMoneyDesc.setContent("棰勪及鍒嗕韩濂栭噾锛毬�" + new BigDecimal(0)); + dynamicInfo.setDesc(shareMoneyDesc); + } e.printStackTrace(); } } - // 鏇存柊鐑攢鍗曞搧鐨勫垎浜閲� 锛屽叾浣欎笉鍋氭洿鏂� - 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 (listGoods != null && listGoods.size() > 0 && listGoodsBrief != null && listGoodsBrief.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) { + listGoods.add(taoBaoGoodsBrief); + } + } + dynamicInfo.setListGoodsBrief(listGoods); + } } dynamicInfo.setImgs(imgs); @@ -783,6 +868,7 @@ dynamicInfo.setShareCount(1000 + (int) (Math.random() * 8000)); } + List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>(); // 鍟嗗搧鍒楄〃 List<GoodsPicture> listPicture = new ArrayList<GoodsPicture>(); BigDecimal proportion = hongBaoManageService.getFanLiRate(); @@ -811,6 +897,8 @@ taoBaoGoodsBriefExtra.setState(1); taoBaoGoodsBriefExtra.setCoupon(false); } + listGoods.add(taoBaoGoodsBrief); + // 鍟嗗搧鍥剧墖 taoBaoGoodsBriefExtra.setCouponInfo(null); taoBaoGoodsBriefExtra.setUpdatetime(new Date()); @@ -831,7 +919,7 @@ } } dynamicInfo.setImgs(listPicture); - + dynamicInfo.setListGoodsBrief(listGoods); ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO(); shareMoneyDesc.setColor("#FFFFFF"); @@ -851,11 +939,13 @@ dynamicInfoDao.insert(dynamicInfo); } catch (Exception e) { - e.printStackTrace(); + try { + LogHelper.errorDetailInfo(e); + } catch (Exception e1) { + e1.printStackTrace(); + } } } - - -- Gitblit v1.8.0