From 7ee5b212787eb439e9cce5e50d34fac97cd34357 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期二, 21 五月 2019 15:45:08 +0800 Subject: [PATCH] 动态分类优化 + 取消推荐中推荐语 --- fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java | 456 +++++++++++++++++++++++++++++---------------------------- 1 files changed, 232 insertions(+), 224 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 a36a58c..4a9332f 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 @@ -100,7 +100,216 @@ return dynamicInfoDao.getById(id); } + + @Override + public void insertTimeInvite() { + InviteMaterial inviteMaterial = inviteMaterialService.getInviteMaterial(); + if (inviteMaterial == null) { + return; + } + + Date date = new Date(); + String materialId = inviteMaterial.getId(); + String content = inviteMaterial.getText(); + + if (!StringUtil.isNullOrEmpty(content)) { + DynamicInfo dynamicTxt= new DynamicInfo(); + dynamicTxt.setId(UUID.randomUUID().toString().replace("-", "")); + dynamicTxt.setInviteMaterialId(materialId); + dynamicTxt.setClassId(4L); + dynamicTxt.setSubclassId(0L); + dynamicTxt.setShowType(DynamicInfo.SHOW_TYPE_ZERO); + dynamicTxt.setShareType(DynamicInfo.SHARE_TYPE_INVITE); + dynamicTxt.setUser(activityUserService.listRand(1).get(0)); + dynamicTxt.setShareCount(1000 + (int) (Math.random() * 8000)); + dynamicTxt.setCreateTime(date); + dynamicTxt.setUpdateTime(date); + + SimpleDateFormat format = new SimpleDateFormat("MM鏈坉d鏃�"); + + StringBuffer buffer = new StringBuffer(); + buffer.append("------------------------------------------\n"); + buffer.append("浠婂ぉ : " + format.format(date)); + buffer.append(" "); + buffer.append(DateLunarUtil.getWeekd(date) + "\n"); + buffer.append("鍚勪綅浜茬埍鐨勪綘"); + buffer.append(" "); + buffer.append("鏃╁畨锝瀄n"); + buffer.append("鎴戠殑閭�璇风爜锛氥�愰個璇风爜銆慭n"); + buffer.append("璐墿鐪侀挶杩斿埄鍒窤pp锛氥�愰個璇烽摼鎺ャ��"); + + + ClientTextStyleVO row1 = new ClientTextStyleVO(); + row1.setColor("#333333"); + row1.setContent(content + "\n" + buffer.toString()); + List<ClientTextStyleVO> listtitle = new ArrayList<ClientTextStyleVO>(); + listtitle.add(row1); + dynamicTxt.setTitle(listtitle); + + // 绌烘暟鎹� + List<GoodsPicture> listImg = new ArrayList<GoodsPicture>(); + dynamicTxt.setImgs(listImg); + + dynamicInfoDao.insert(dynamicTxt); + } + + String picture = inviteMaterial.getPicture(); + if (!StringUtil.isNullOrEmpty(picture)) { + DynamicInfo dynamicPic = new DynamicInfo(); + dynamicPic.setId(UUID.randomUUID().toString().replace("-", "")); + dynamicPic.setInviteMaterialId(materialId); + dynamicPic.setClassId(4L); + dynamicPic.setSubclassId(0L); + dynamicPic.setShowType(DynamicInfo.SHOW_TYPE_ONE); + dynamicPic.setShareType(DynamicInfo.SHARE_TYPE_INVITE); + dynamicPic.setUser(activityUserService.listRand(1).get(0)); + dynamicPic.setShareCount(1000 + (int) (Math.random() * 8000)); + dynamicPic.setCreateTime(date); + dynamicPic.setUpdateTime(date); + + try { + // 鐢诲浘 + String url = qrCodeService.drawInviteToGreet(picture, null, null, null, content, new Date()); + + List<ClientTextStyleVO> listtitle = new ArrayList<ClientTextStyleVO>(); + dynamicPic.setTitle(listtitle); + + GoodsPicture p2 = new GoodsPicture(); + p2.setW(100); + p2.setH(100); + p2.setUrl(url); + p2.setUrlOriginal(picture); + p2.setTitleOriginal(content); + List<GoodsPicture> listImg = new ArrayList<GoodsPicture>(); + listImg.add(p2); + dynamicPic.setImgs(listImg); + + dynamicInfoDao.insert(dynamicPic); + } catch (IOException e) { + e.printStackTrace(); + } + } + // 鏇存柊绱犳潗鐘舵�� + inviteMaterialService.updateState(1, materialId); + } + + @Override + public void insertShopInfo() { + List<String> brandIdList = DaTaoKeApiUtil.getBrandIdList(); + if (brandIdList == null || brandIdList.size() == 0) { + LogHelper.test("澶ф窐瀹㈠搧鐗宨d鑾峰彇澶辫触锛圖ynamicInfoService-insertShopInfo锛�"); + return; + } + + + Long classId = 3L; + Long subclassId = 0L; + List<DynamicInfo> listInfo = dynamicInfoDao.query(classId, subclassId); + + // 娓呯悊宸插瓨鍦ㄥ搧鐗� + if (listInfo != null && listInfo.size() > 0) { + for (int i = 0; i < brandIdList.size(); i++) { + String brandId = brandIdList.get(i); + + for (int j = 0; j < listInfo.size(); j++) { + String id = listInfo.get(j).getId(); + if (brandId.equals(id)) { + brandIdList.remove(brandId); + i--; + + listInfo.remove(listInfo.get(j)); + j--; + } + } + } + } + + if (brandIdList == null || brandIdList.size() == 0) { + LogHelper.test("澶ф窐瀹㈠搧鐗屽凡鍏ㄩ儴鐖彇锛圖ynamicInfoService-insertShopInfo锛�"); + return; + } + + int index = (int) (Math.random() * brandIdList.size()); + String brandId = brandIdList.get(index); + + TaoBaoShopDTO dynamicShopInfo = DaTaoKeApiUtil.getDynamicShopInfo(brandId); + if (dynamicShopInfo == null) { + LogHelper.test("澶ф窐瀹㈠搧鐗屼俊鎭埇鍙栧け璐ワ紙DynamicInfoService-insertShopInfo锛�"); + return; + } + + + List<TaoBaoGoodsBrief> listGoods = dynamicShopInfo.getListGoods(); + if (listGoods == null || listGoods.size() == 0) { + LogHelper.test("澶ф窐瀹㈠搧鐗屽晢鍝佷俊鎭埇鍙栧け璐ワ紙DynamicInfoService-insertShopInfo锛�"); + return; + } + + Long sellerId = dynamicShopInfo.getSellerId(); + TaoBaoGoodsBrief taoBaoGoodsBrief = listGoods.get(0); + TaoBaoShop taoBaoShop = taoBaoShopService.getTaoBaoShop(taoBaoGoodsBrief.getAuctionId(), sellerId); + if (taoBaoShop == null) { + LogHelper.test("搴楅摵璇︽儏淇℃伅鑾峰彇澶辫触锛圖ynamicInfoService-insertShopInfo锛�"); + return; + } + String shopLink = taoBaoShop.getShopLink(); + if (StringUtil.isNullOrEmpty(shopLink)) { + taoBaoShop.setShopLink(TaoBaoUtil.getShopLink(taoBaoShop.getId())); + } + + DynamicInfo dynamicVO = new DynamicInfo(); + dynamicVO.setId(brandId); + dynamicVO.setClassId(classId); + dynamicVO.setSubclassId(subclassId); + dynamicVO.setShowType(DynamicInfo.SHOW_TYPE_TWO); + dynamicVO.setShop(taoBaoShop); + dynamicVO.setUser(activityUserService.listRand(1).get(0)); + dynamicVO.setCreateTime(DateUtil.reduceRandomMinute(new Date(), 8)); + dynamicVO.setUpdateTime(new Date()); + + // 浠嬬粛鍐呭 + ClientTextStyleVO row1 = new ClientTextStyleVO(); + row1.setColor("#333333"); + row1.setContent(dynamicShopInfo.getBrandDes()); + List<ClientTextStyleVO> listTitle = new ArrayList<ClientTextStyleVO>(); + listTitle.add(row1); + dynamicVO.setTitle(listTitle); + + // 鍟嗗搧淇℃伅 + List<GoodsPicture> listPicture = new ArrayList<GoodsPicture>(); + for (TaoBaoGoodsBrief goodsBrief : listGoods) { + BigDecimal proportion = hongBaoManageService.getFanLiRate(); + TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, proportion.toString(), null); + taoBaoGoodsBriefExtra.setCouponInfo(null); + taoBaoGoodsBriefExtra.setUpdatetime(new Date()); + + if (!taoBaoGoodsBriefExtra.isCoupon()) { + taoBaoGoodsBriefExtra.setState(1); + } + + String goodsId = goodsBrief.getAuctionId().toString(); + JSONObject item = new JSONObject(); + item.put("id", goodsId); + item.put("from", "dynamics"); + + GoodsPicture goodsPicture = new GoodsPicture(); + goodsPicture.setH(100); + goodsPicture.setW(100); + goodsPicture.setUrl(TbImgUtil.getTBSize320Img(goodsBrief.getPictUrl())); + goodsPicture.setJumpDetail(jumpDetailV2Service.getByTypeCache("goodsdetail")); + goodsPicture.setParams(item.toString()); + goodsPicture.setGoods(taoBaoGoodsBriefExtra); + + listPicture.add(goodsPicture); + } + dynamicVO.setImgs(listPicture); + + dynamicInfoDao.insert(dynamicVO); + } + + + @Override public void insertTimeRecommend() { try { @@ -152,6 +361,8 @@ // 缁勭粐鍔ㄦ�佷俊鎭� DynamicInfo dynamicInfo = getDynamicInfo(daTaoKeDetail, classId, subclassId); + // 鏃犲唴瀹� + dynamicInfo.setTitle(new ArrayList<ClientTextStyleVO>()); // 鍙戝竷鐢ㄦ埛 dynamicInfo.setUser(activityUserService.getRandomByDaTaoKeCid(cid)); dynamicInfo.setImgs(listPicture); @@ -273,6 +484,7 @@ // 缁勭粐鍔ㄦ�佷俊鎭� DynamicInfo dynamicInfo = getDynamicInfo(daTaoKe, classId, subclassId); + dynamicInfo.setTitle(convertIntroduce(DaTaoKeUtil.getDesc(daTaoKe))); // 鍙戝竷鐢ㄦ埛 dynamicInfo.setUser(activityUserService.getRandomByDaTaoKeCid(daTaoKe.getCid())); dynamicInfo.setImgs(listPicture); @@ -302,8 +514,6 @@ dynamicInfo.setUpdateTime(new Date()); // 闅忔満鍒嗕韩娆℃暟 dynamicInfo.setShareCount(1000 + (int) (Math.random() * 8000)); - // 鍐呭 - dynamicInfo.setTitle(convertIntroduce(DaTaoKeUtil.getDesc(daTaoKe))); return dynamicInfo; } @@ -342,28 +552,6 @@ item.put("from", "dynamics"); goodsPicture.setParams(item.toString()); return goodsPicture; - } - - @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; } @Override @@ -451,119 +639,6 @@ } - @Override - public void insertShopInfo() { - List<String> brandIdList = DaTaoKeApiUtil.getBrandIdList(); - if (brandIdList == null || brandIdList.size() == 0) { - LogHelper.test("澶ф窐瀹㈠搧鐗宨d鑾峰彇澶辫触锛圖ynamicInfoService-insertShopInfo锛�"); - return; - } - - - Long classId = 3L; - Long subclassId = 0L; - List<DynamicInfo> listInfo = dynamicInfoDao.query(classId, subclassId); - - // 娓呯悊宸插瓨鍦ㄥ搧鐗� - if (listInfo != null && listInfo.size() > 0) { - for (int i = 0; i < brandIdList.size(); i++) { - String brandId = brandIdList.get(i); - - for (int j = 0; j < listInfo.size(); j++) { - String id = listInfo.get(j).getId(); - if (brandId.equals(id)) { - brandIdList.remove(brandId); - i--; - - listInfo.remove(listInfo.get(j)); - j--; - } - } - } - } - - if (brandIdList == null || brandIdList.size() == 0) { - LogHelper.test("澶ф窐瀹㈠搧鐗屽凡鍏ㄩ儴鐖彇锛圖ynamicInfoService-insertShopInfo锛�"); - return; - } - - int index = (int) (Math.random() * brandIdList.size()); - String brandId = brandIdList.get(index); - - TaoBaoShopDTO dynamicShopInfo = DaTaoKeApiUtil.getDynamicShopInfo(brandId); - if (dynamicShopInfo == null) { - LogHelper.test("澶ф窐瀹㈠搧鐗屼俊鎭埇鍙栧け璐ワ紙DynamicInfoService-insertShopInfo锛�"); - return; - } - - - List<TaoBaoGoodsBrief> listGoods = dynamicShopInfo.getListGoods(); - if (listGoods == null || listGoods.size() == 0) { - LogHelper.test("澶ф窐瀹㈠搧鐗屽晢鍝佷俊鎭埇鍙栧け璐ワ紙DynamicInfoService-insertShopInfo锛�"); - return; - } - - Long sellerId = dynamicShopInfo.getSellerId(); - TaoBaoGoodsBrief taoBaoGoodsBrief = listGoods.get(0); - TaoBaoShop taoBaoShop = taoBaoShopService.getTaoBaoShop(taoBaoGoodsBrief.getAuctionId(), sellerId); - if (taoBaoShop == null) { - LogHelper.test("搴楅摵璇︽儏淇℃伅鑾峰彇澶辫触锛圖ynamicInfoService-insertShopInfo锛�"); - return; - } - String shopLink = taoBaoShop.getShopLink(); - if (StringUtil.isNullOrEmpty(shopLink)) { - taoBaoShop.setShopLink(TaoBaoUtil.getShopLink(taoBaoShop.getId())); - } - - DynamicInfo dynamicVO = new DynamicInfo(); - dynamicVO.setId(brandId); - dynamicVO.setClassId(classId); - dynamicVO.setSubclassId(subclassId); - dynamicVO.setShowType(DynamicInfo.SHOW_TYPE_TWO); - dynamicVO.setShop(taoBaoShop); - dynamicVO.setUser(activityUserService.listRand(1).get(0)); - dynamicVO.setCreateTime(DateUtil.reduceRandomMinute(new Date(), 8)); - dynamicVO.setUpdateTime(new Date()); - - // 浠嬬粛鍐呭 - ClientTextStyleVO row1 = new ClientTextStyleVO(); - row1.setColor("#333333"); - row1.setContent(dynamicShopInfo.getBrandDes()); - List<ClientTextStyleVO> listTitle = new ArrayList<ClientTextStyleVO>(); - listTitle.add(row1); - dynamicVO.setTitle(listTitle); - - // 鍟嗗搧淇℃伅 - List<GoodsPicture> listPicture = new ArrayList<GoodsPicture>(); - for (TaoBaoGoodsBrief goodsBrief : listGoods) { - BigDecimal proportion = hongBaoManageService.getFanLiRate(); - TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, proportion.toString(), null); - taoBaoGoodsBriefExtra.setCouponInfo(null); - taoBaoGoodsBriefExtra.setUpdatetime(new Date()); - - if (!taoBaoGoodsBriefExtra.isCoupon()) { - taoBaoGoodsBriefExtra.setState(1); - } - - String goodsId = goodsBrief.getAuctionId().toString(); - JSONObject item = new JSONObject(); - item.put("id", goodsId); - item.put("from", "dynamics"); - - GoodsPicture goodsPicture = new GoodsPicture(); - goodsPicture.setH(100); - goodsPicture.setW(100); - goodsPicture.setUrl(TbImgUtil.getTBSize320Img(goodsBrief.getPictUrl())); - goodsPicture.setJumpDetail(jumpDetailV2Service.getByTypeCache("goodsdetail")); - goodsPicture.setParams(item.toString()); - goodsPicture.setGoods(taoBaoGoodsBriefExtra); - - listPicture.add(goodsPicture); - } - dynamicVO.setImgs(listPicture); - - dynamicInfoDao.insert(dynamicVO); - } @Override public void removeByDate(Date createTime) { @@ -781,95 +856,28 @@ } + + + @Override - public void insertTimeInvite() { - InviteMaterial inviteMaterial = inviteMaterialService.getInviteMaterial(); - if (inviteMaterial == null) { - return; - } + @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); - Date date = new Date(); - String materialId = inviteMaterial.getId(); - String content = inviteMaterial.getText(); - - if (!StringUtil.isNullOrEmpty(content)) { - DynamicInfo dynamicTxt= new DynamicInfo(); - dynamicTxt.setId(UUID.randomUUID().toString().replace("-", "")); - dynamicTxt.setInviteMaterialId(materialId); - dynamicTxt.setClassId(4L); - dynamicTxt.setSubclassId(0L); - dynamicTxt.setShowType(DynamicInfo.SHOW_TYPE_ZERO); - dynamicTxt.setShareType(DynamicInfo.SHARE_TYPE_INVITE); - dynamicTxt.setUser(activityUserService.listRand(1).get(0)); - dynamicTxt.setShareCount(1000 + (int) (Math.random() * 8000)); - dynamicTxt.setCreateTime(date); - dynamicTxt.setUpdateTime(date); - - SimpleDateFormat format = new SimpleDateFormat("MM鏈坉d鏃�"); - - StringBuffer buffer = new StringBuffer(); - buffer.append("------------------------------------------\n"); - buffer.append("浠婂ぉ : " + format.format(date)); - buffer.append(" "); - buffer.append(DateLunarUtil.getWeekd(date) + "\n"); - buffer.append("鍚勪綅浜茬埍鐨勪綘"); - buffer.append(" "); - buffer.append("鏃╁畨锝瀄n"); - buffer.append("鎴戠殑閭�璇风爜锛氥�愰個璇风爜銆慭n"); - buffer.append("璐墿鐪侀挶杩斿埄鍒窤pp锛氥�愰個璇烽摼鎺ャ��"); - - - ClientTextStyleVO row1 = new ClientTextStyleVO(); - row1.setColor("#333333"); - row1.setContent(content + "\n" + buffer.toString()); - List<ClientTextStyleVO> listtitle = new ArrayList<ClientTextStyleVO>(); - listtitle.add(row1); - dynamicTxt.setTitle(listtitle); - - // 绌烘暟鎹� - List<GoodsPicture> listImg = new ArrayList<GoodsPicture>(); - dynamicTxt.setImgs(listImg); - - dynamicInfoDao.insert(dynamicTxt); - } - - String picture = inviteMaterial.getPicture(); - if (!StringUtil.isNullOrEmpty(picture)) { - DynamicInfo dynamicPic = new DynamicInfo(); - dynamicPic.setId(UUID.randomUUID().toString().replace("-", "")); - dynamicPic.setInviteMaterialId(materialId); - dynamicPic.setClassId(4L); - dynamicPic.setSubclassId(0L); - dynamicPic.setShowType(DynamicInfo.SHOW_TYPE_ONE); - dynamicPic.setShareType(DynamicInfo.SHARE_TYPE_INVITE); - dynamicPic.setUser(activityUserService.listRand(1).get(0)); - dynamicPic.setShareCount(1000 + (int) (Math.random() * 8000)); - dynamicPic.setCreateTime(date); - dynamicPic.setUpdateTime(date); - - try { - // 鐢诲浘 - String url = qrCodeService.drawInviteToGreet(picture, null, null, null, content, new Date()); - - List<ClientTextStyleVO> listtitle = new ArrayList<ClientTextStyleVO>(); - dynamicPic.setTitle(listtitle); - - GoodsPicture p2 = new GoodsPicture(); - p2.setW(100); - p2.setH(100); - p2.setUrl(url); - p2.setUrlOriginal(picture); - p2.setTitleOriginal(content); - List<GoodsPicture> listImg = new ArrayList<GoodsPicture>(); - listImg.add(p2); - dynamicPic.setImgs(listImg); - - dynamicInfoDao.insert(dynamicPic); - } catch (IOException e) { - e.printStackTrace(); + // 鏇存柊鍟嗗搧淇℃伅 + executor.execute(new Runnable() { + @Override + public void run() { + updateGoodInfo(list); } - } - // 鏇存柊绱犳潗鐘舵�� - inviteMaterialService.updateState(1, materialId); + }); + + return list; } } -- Gitblit v1.8.0