From 8f05a2dd4dbdcb620d83df4e6f57fa07826b9526 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期二, 21 五月 2019 14:50:54 +0800 Subject: [PATCH] 去掉try catch --- fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java | 230 ++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 187 insertions(+), 43 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 f656e57..a36a58c 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,8 @@ package com.yeshi.fanli.service.impl.dynamic; +import java.io.IOException; import java.math.BigDecimal; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -8,8 +10,11 @@ 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; import com.yeshi.fanli.dao.dynamic.DynamicInfoDao; @@ -20,6 +25,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; @@ -29,10 +35,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; @@ -74,6 +82,13 @@ @Resource private TaoBaoShopService taoBaoShopService; + @Resource + private InviteMaterialService inviteMaterialService; + + @Resource + private QrCodeService qrCodeService; + + @Override public void insert(DynamicInfo record) { dynamicInfoDao.insert(record); @@ -93,6 +108,7 @@ 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) { @@ -136,6 +152,8 @@ // 缁勭粐鍔ㄦ�佷俊鎭� DynamicInfo dynamicInfo = getDynamicInfo(daTaoKeDetail, classId, subclassId); + // 鍙戝竷鐢ㄦ埛 + dynamicInfo.setUser(activityUserService.getRandomByDaTaoKeCid(cid)); dynamicInfo.setImgs(listPicture); ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO(); @@ -255,7 +273,8 @@ // 缁勭粐鍔ㄦ�佷俊鎭� DynamicInfo dynamicInfo = getDynamicInfo(daTaoKe, classId, subclassId); - + // 鍙戝竷鐢ㄦ埛 + dynamicInfo.setUser(activityUserService.getRandomByDaTaoKeCid(daTaoKe.getCid())); dynamicInfo.setImgs(listPicture); dynamicInfo.setDesc(shareMoneyDesc); dynamicInfo.setShareType(DynamicInfo.SHARE_TYPE_ONE); @@ -279,12 +298,10 @@ dynamicInfo.setClassId(classId); dynamicInfo.setSubclassId(subclassId); dynamicInfo.setDaTaoKeId(daTaoKe.getId()); - dynamicInfo.setCreateTime(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))); @@ -328,11 +345,13 @@ } @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); @@ -375,14 +394,15 @@ dynamicVO.setClassId(4L); dynamicVO.setSubclassId(0L); dynamicVO.setShareType(DynamicInfo.SHARE_TYPE_INVITE); + dynamicVO.setUpdateTime(new Date()); + if (existInfo != null) { dynamicVO.setCreateTime(existInfo.getCreateTime()); dynamicVO.setShareCount(existInfo.getShareCount()); } else { - dynamicVO.setCreateTime(new Date()); + dynamicVO.setCreateTime(DateUtil.reduceRandomMinute(new Date(), 8)); dynamicVO.setShareCount(1000 + (int) (Math.random() * 8000)); } - if (activityUser == null) { dynamicVO.setUser(activityUserService.listRand(1).get(0)); @@ -391,28 +411,43 @@ } - // 浠嬬粛鍐呭 - 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); + + // 浠嬬粛鍐呭 + 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); + + // 鍥剧墖 + 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) { + e.printStackTrace(); + } } - dynamicVO.setImgs(listImg); - dynamicInfoDao.insert(dynamicVO); } @@ -487,7 +522,8 @@ dynamicVO.setShowType(DynamicInfo.SHOW_TYPE_TWO); dynamicVO.setShop(taoBaoShop); dynamicVO.setUser(activityUserService.listRand(1).get(0)); - dynamicVO.setCreateTime(new Date()); + dynamicVO.setCreateTime(DateUtil.reduceRandomMinute(new Date(), 8)); + dynamicVO.setUpdateTime(new Date()); // 浠嬬粛鍐呭 ClientTextStyleVO row1 = new ClientTextStyleVO(); @@ -546,13 +582,33 @@ BigDecimal proportion = hongBaoManageService.getFanLiRate(); for (DynamicInfo dynamicInfo: list) { + // 閭�璇锋暟鎹笉鍋氭洿鏂� + long classId = dynamicInfo.getClassId(); + if (classId == 4) { + break; + } + + // 鏇存柊鍟嗗搧淇℃伅 List<GoodsPicture> imgs = dynamicInfo.getImgs(); if (imgs == null || imgs.size() == 0) { continue; } - boolean isupdate = false; - BigDecimal shareMoney = null; + // 鏄惁涓�涓皬鏃朵箣鍐呭凡鏇存柊 + Date updateTime = dynamicInfo.getUpdateTime(); + if (updateTime != null) { + long nd = 1000 * 24 * 60 * 60;// 涓�澶╃殑姣鏁� + long nh = 1000 * 60 * 60;// 涓�灏忔椂鐨勬绉掓暟 + long diff = System.currentTimeMillis() - updateTime.getTime(); + long day = diff / nd;// 璁$畻宸灏戝ぉ + long hour = diff % nd / nh + day * 24;// 璁$畻宸灏戝皬鏃� + if (hour < 1) { + continue; + } + } + + // 鏇存柊 + BigDecimal shareMoney = new BigDecimal(0); for (GoodsPicture goodsPicture: imgs) { TaoBaoGoodsBriefExtra oldExtra = goodsPicture.getGoods(); if (oldExtra == null) { @@ -564,16 +620,6 @@ continue; } - long nd = 1000 * 24 * 60 * 60;// 涓�澶╃殑姣鏁� - long nh = 1000 * 60 * 60;// 涓�灏忔椂鐨勬绉掓暟 - long diff = System.currentTimeMillis() - oldExtra.getUpdatetime().getTime(); - long day = diff / nd;// 璁$畻宸灏戝ぉ - long hour = diff % nd / nh + day * 24;// 璁$畻宸灏戝皬鏃� - if (hour < 1) { - continue; - } - - isupdate = true; try { TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(oldExtra.getAuctionId()); TaoBaoGoodsBriefExtra newExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, proportion.toString(), null); @@ -584,8 +630,12 @@ newExtra.setUpdatetime(new Date()); goodsPicture.setGoods(newExtra); - BigDecimal money = taoBaoGoodsBriefService.getShareGoodsUserHongBao(goodsBrief); - shareMoney = MoneyBigDecimalUtil.add(shareMoney, money); + + // 鏇存柊鐑攢鍗曞搧鐨勫垎浜閲� 锛屽叾浣欎笉鍋氭洿鏂� + if (classId == 1) { + BigDecimal money = taoBaoGoodsBriefService.getShareGoodsUserHongBao(goodsBrief); + shareMoney = MoneyBigDecimalUtil.add(shareMoney, money); + } } catch (TaobaoGoodsDownException e) { oldExtra.setState(1); @@ -596,7 +646,8 @@ } } - if (shareMoney != null) { + // 鏇存柊鐑攢鍗曞搧鐨勫垎浜閲� 锛屽叾浣欎笉鍋氭洿鏂� + if (classId == 1) { ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO(); shareMoneyDesc.setColor("#FFFFFF"); shareMoneyDesc.setBottomColor("#E8AE48"); @@ -604,9 +655,9 @@ dynamicInfo.setDesc(shareMoneyDesc); } - if (isupdate) { - dynamicInfoDao.updateGoodInfo(dynamicInfo); - } + dynamicInfo.setImgs(imgs); + dynamicInfo.setUpdateTime(new Date()); + dynamicInfoDao.updateGoodInfo(dynamicInfo); } } @@ -653,6 +704,7 @@ dynamicInfo.setShareCount(existInfo.getShareCount()); } else { dynamicInfo.setCreateTime(new Date()); + dynamicInfo.setUpdateTime(new Date()); dynamicInfo.setShareCount(1000 + (int) (Math.random() * 8000)); } @@ -727,5 +779,97 @@ e.printStackTrace(); } } - + + + @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); + } } -- Gitblit v1.8.0