From 770ede03b2e532ff3729a8f447bdb4351637ca63 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期二, 02 六月 2020 12:02:58 +0800 Subject: [PATCH] 云发单兼容动态+商品详情 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/cloud/UserCloudServiceImpl.java | 87 ++++++++++++++++++++++++++++++++++++------- 1 files changed, 73 insertions(+), 14 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/cloud/UserCloudServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/cloud/UserCloudServiceImpl.java index f9085ea..59a0720 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/cloud/UserCloudServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/cloud/UserCloudServiceImpl.java @@ -13,12 +13,16 @@ import org.yeshi.utils.BigDecimalUtil; import org.yeshi.utils.entity.FileUploadResult; +import com.aliyun.openservices.ons.api.Message; +import com.aliyun.openservices.ons.api.Producer; import com.yeshi.fanli.controller.client.v2.ShareControllerV2; import com.yeshi.fanli.dao.mybatis.user.cloud.UserCloudMapper; import com.yeshi.fanli.dto.aitaoker.RobotInfoDTO; import com.yeshi.fanli.dto.aitaoker.WeiXinGroupDTO; import com.yeshi.fanli.dto.jd.JDCouponInfo; import com.yeshi.fanli.dto.jd.JDPingouInfo; +import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum; +import com.yeshi.fanli.dto.mq.user.body.UserCloudMQMsg; import com.yeshi.fanli.dto.pdd.PDDGoodsDetail; import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo; import com.yeshi.fanli.entity.bus.user.UserInfo; @@ -71,6 +75,8 @@ import com.yeshi.fanli.util.jd.JDUtil; import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil; import com.yeshi.fanli.util.pinduoduo.PinDuoDuoUtil; +import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory; +import com.yeshi.fanli.util.rocketmq.MQTopicName; import com.yeshi.fanli.util.taobao.TaoBaoUtil; import com.yeshi.fanli.vo.goods.GoodsDetailVO; @@ -137,6 +143,8 @@ @Resource private UserCloudSendContentService userCloudSendContentService; + @Resource(name = "producer") + private Producer producer; @Override @@ -391,6 +399,7 @@ String qrCode = null; + String cloudPic = null; ImgInfo imgVideo = null; List<String> listImg = new ArrayList<>(); @@ -401,6 +410,11 @@ imgVideo = imgInfo; continue; } + + if (imgInfo.getType() == ImgEnum.goods) { + cloudPic = imgInfo.getUrl(); + } + GoodsDetailVO goodsVO = imgInfo.getGoodsVO(); if (goodsVO == null) { listImg.add(imgInfo.getUrl()); @@ -410,6 +424,10 @@ qrCode = jumpLink; } } + } + + if (cloudPic == null) { + cloudPic = imgs.get(0).getUrl(); } } @@ -483,17 +501,11 @@ } // 鍙戦�佸浘鐗� - String picurl = null; - if (!StringUtil.isNullOrEmpty(qrCode)) { - picurl = qrCode; - } else if (listImg.size() > 0) { - picurl = listImg.get(0); - } - if (!StringUtil.isNullOrEmpty(picurl)) { - String imgBase64 = ImageToBase64.NetImageToBase64(picurl); + if (!StringUtil.isNullOrEmpty(cloudPic)) { + String imgBase64 = ImageToBase64.NetImageToBase64(cloudPic); boolean macsend = AitaokerApiUtil.macsendImgBase64(robotId, cloudGroup.getGroupId(), imgBase64); if (macsend) - sendContent.setPicUrl(picurl); + sendContent.setPicUrl(cloudPic); } // 璇勮鏂囨湰 @@ -511,13 +523,22 @@ } } + /** + * 鍟嗗搧鍒嗕韩璺宠浆閾炬帴 + * @param goodsVO + * @param user + * @param relationId + * @param inviteCode + * @param mainPic + * @return + */ private String getJumpLink(GoodsDetailVO goodsVO, UserInfo user, String relationId, String inviteCode, String mainPic) { String jumpLink = null; if (goodsVO.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) { TaoBaoLink taoBaoLink = null; try { - taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(user.getId(), goodsVO.getGoodsId(), relationId); + taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(user.getId(), Long.parseLong(goodsVO.getGoodsId()), relationId); } catch (ShareGoodsException e) { e.printStackTrace(); } @@ -525,7 +546,7 @@ configService.get(ConfigKeyEnum.taobaoShareQrcodeText.getKey()), taoBaoLink.getGoods(), TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken())); } else if (goodsVO.getGoodsType() == Constant.SOURCE_TYPE_JD) { - JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(goodsVO.getGoodsId()); + JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(Long.parseLong(goodsVO.getGoodsId())); if (jdGoods == null) { return null; } @@ -539,7 +560,7 @@ jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "", user.getId() + ""); } else if (goodsVO.getGoodsType() == Constant.SOURCE_TYPE_PDD) { - jumpLink = PinDuoDuoApiUtil.getPromotionUrl(goodsVO.getGoodsId(), PinDuoDuoApiUtil.PID_SHARE + "", + jumpLink = PinDuoDuoApiUtil.getPromotionUrl(Long.parseLong(goodsVO.getGoodsId()), PinDuoDuoApiUtil.PID_SHARE + "", user.getId() + ""); } @@ -893,5 +914,43 @@ } } - -} + @Override + public void fixedTimeSend(String id) { + if (StringUtil.isNullOrEmpty(id)) + return; + + // 涓�涓皬鏃朵箣鍓� + long rand = 1000 * 60 * 60 ; + long time = java.lang.System.currentTimeMillis() - rand; + Date lastTime = new Date(time); + + + for (int i = 0; i < 1000; i ++) { + List<Long> list = userCloudMapper.listValidUid((i-1)*1000, 1000); + if (list == null || list.size() == 0) { + break; + } + + for (Long uid: list) { + try { + UserCloudSendRecord record = userCloudSendRecordService.getByUidAndSendId(uid, id); + if (record != null) + continue; + + UserCloudSendRecord last = userCloudSendRecordService.getLastByUid(uid, lastTime); + if (last != null) + continue; + + if (!Constant.IS_TEST) { + UserCloudMQMsg msg = new UserCloudMQMsg(uid, id, UserCloudMQMsg.TYPE_EVALUATE); + Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.userCloud, msg); + producer.send(message); + } + } catch (Exception e) { + LogHelper.errorDetailInfo(e); + } + } + } + + } +} \ No newline at end of file -- Gitblit v1.8.0