From 9b4bf99c1a30f3a7c2bdd6faba7589ff4f7e48e5 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 22 五月 2019 10:28:31 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java | 485 ++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 325 insertions(+), 160 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 63944ca..9797aa5 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,7 @@ package com.yeshi.fanli.service.impl.dynamic; import java.math.BigDecimal; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -8,8 +9,10 @@ import javax.annotation.Resource; +import org.springframework.cache.annotation.Cacheable; import org.springframework.core.task.TaskExecutor; import org.springframework.stereotype.Service; +import org.yeshi.utils.DateLunarUtil; import org.yeshi.utils.DateUtil; import org.yeshi.utils.taobao.TbImgUtil; @@ -21,6 +24,7 @@ import com.yeshi.fanli.entity.bus.clazz.GoodsClass; import com.yeshi.fanli.entity.dynamic.DynamicInfo; import com.yeshi.fanli.entity.dynamic.GoodsPicture; +import com.yeshi.fanli.entity.dynamic.InviteMaterial; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra; import com.yeshi.fanli.entity.taobao.TaoBaoShop; @@ -30,10 +34,12 @@ import com.yeshi.fanli.service.inter.activity.ActivityUserService; import com.yeshi.fanli.service.inter.common.JumpDetailV2Service; import com.yeshi.fanli.service.inter.dynamic.DynamicInfoService; +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.TaoBaoShopService; import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsService; +import com.yeshi.fanli.service.inter.user.QrCodeService; import com.yeshi.fanli.util.MoneyBigDecimalUtil; import com.yeshi.fanli.util.RedisManager; import com.yeshi.fanli.util.StringUtil; @@ -75,6 +81,13 @@ @Resource private TaoBaoShopService taoBaoShopService; + @Resource + private InviteMaterialService inviteMaterialService; + + @Resource + private QrCodeService qrCodeService; + + @Override public void insert(DynamicInfo record) { dynamicInfoDao.insert(record); @@ -86,7 +99,220 @@ 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 (Exception e) { + try { + LogHelper.errorDetailInfo(e); + } catch (Exception e1) { + e1.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 { @@ -94,9 +320,10 @@ List<GoodsClass> list = DaTaoKeUtil.goodsClasses; int index = (int) (Math.random() * list.size()); Long subclassId = list.get(index).getId(); + 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; @@ -137,6 +364,10 @@ // 缁勭粐鍔ㄦ�佷俊鎭� DynamicInfo dynamicInfo = getDynamicInfo(daTaoKeDetail, classId, subclassId); + // 鏃犲唴瀹� + dynamicInfo.setTitle(new ArrayList<ClientTextStyleVO>()); + // 鍙戝竷鐢ㄦ埛 + dynamicInfo.setUser(activityUserService.getRandomByDaTaoKeCid(cid)); dynamicInfo.setImgs(listPicture); ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO(); @@ -157,7 +388,11 @@ dynamicInfoDao.insert(dynamicInfo); } catch (Exception e) { - e.printStackTrace(); + try { + LogHelper.errorDetailInfo(e); + } catch (Exception e1) { + e1.printStackTrace(); + } } } @@ -168,7 +403,11 @@ try { saveHotSale(classId, 0L); } catch (Exception e) { - e.printStackTrace(); + try { + LogHelper.errorDetailInfo(e); + } catch (Exception e1) { + e1.printStackTrace(); + } } // 鐑攢鍗曞搧鐨勫垎绫� @@ -177,7 +416,11 @@ try { saveHotSale(classId, goodsClass.getId()); } catch (Exception e) { - e.printStackTrace(); + try { + LogHelper.errorDetailInfo(e); + } catch (Exception e1) { + e1.printStackTrace(); + } } } } @@ -256,11 +499,21 @@ // 缁勭粐鍔ㄦ�佷俊鎭� DynamicInfo dynamicInfo = getDynamicInfo(daTaoKe, classId, subclassId); - + dynamicInfo.setUser(activityUserService.getRandomByDaTaoKeCid(daTaoKe.getCid())); dynamicInfo.setImgs(listPicture); dynamicInfo.setDesc(shareMoneyDesc); dynamicInfo.setShareType(DynamicInfo.SHARE_TYPE_ONE); dynamicInfo.setShowType(DynamicInfo.SHOW_TYPE_TWO); + + 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); @@ -280,14 +533,10 @@ dynamicInfo.setClassId(classId); dynamicInfo.setSubclassId(subclassId); dynamicInfo.setDaTaoKeId(daTaoKe.getId()); - dynamicInfo.setCreateTime(DateUtil.reduceRandomMinute(new Date())); + dynamicInfo.setCreateTime(DateUtil.reduceRandomMinute(new Date(), 8)); dynamicInfo.setUpdateTime(new Date()); // 闅忔満鍒嗕韩娆℃暟 dynamicInfo.setShareCount(1000 + (int) (Math.random() * 8000)); - // 闅忔満鍒嗗竷鐢ㄦ埛 - dynamicInfo.setUser(activityUserService.listRand(1).get(0)); - // 鍐呭 - dynamicInfo.setTitle(convertIntroduce(DaTaoKeUtil.getDesc(daTaoKe))); return dynamicInfo; } @@ -329,26 +578,6 @@ } @Override - public long count(Long cid, Long subId) { - return dynamicInfoDao.count(cid, subId); - } - - @Override - 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 public void updateShareCount(DynamicInfo record) { dynamicInfoDao.updateShareCount(record); } @@ -382,7 +611,7 @@ dynamicVO.setCreateTime(existInfo.getCreateTime()); dynamicVO.setShareCount(existInfo.getShareCount()); } else { - dynamicVO.setCreateTime(DateUtil.reduceRandomMinute(new Date())); + dynamicVO.setCreateTime(DateUtil.reduceRandomMinute(new Date(), 8)); dynamicVO.setShareCount(1000 + (int) (Math.random() * 8000)); } @@ -393,144 +622,50 @@ } - // 浠嬬粛鍐呭 - ClientTextStyleVO row1 = new ClientTextStyleVO(); - row1.setColor("#333333"); - row1.setContent(title); List<ClientTextStyleVO> listtitle = new ArrayList<ClientTextStyleVO>(); - listtitle.add(row1); - dynamicVO.setTitle(listtitle); + List<GoodsPicture> listImg = new ArrayList<GoodsPicture>(); - if(!StringUtil.isNullOrEmpty(picUrl)) { - GoodsPicture p2 = new GoodsPicture(); - p2.setW(100); - p2.setH(100); - p2.setUrl(picUrl); - listImg.add(p2); - dynamicVO.setShowType(DynamicInfo.SHOW_TYPE_ONE); - } else { + if(StringUtil.isNullOrEmpty(picUrl)) { + dynamicVO.setImgs(listImg); dynamicVO.setShowType(DynamicInfo.SHOW_TYPE_ZERO); - } - - dynamicVO.setImgs(listImg); - dynamicInfoDao.insert(dynamicVO); - } - - - @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); + + // 浠嬬粛鍐呭 + ClientTextStyleVO row1 = new ClientTextStyleVO(); + row1.setColor("#333333"); + row1.setContent(title); + listtitle.add(row1); + dynamicVO.setTitle(listtitle); + dynamicInfoDao.insert(dynamicVO); + } else { + try { + dynamicVO.setTitle(listtitle); + dynamicVO.setShowType(DynamicInfo.SHOW_TYPE_ONE); - 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--; - } + // 鍥剧墖 + 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(); } } } - 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())); - 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) { @@ -743,7 +878,37 @@ dynamicInfoDao.insert(dynamicInfo); } catch (Exception e) { - e.printStackTrace(); + 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