From facf0c3bcbbb6cc993d87caa12ac34bede690f38 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期日, 17 五月 2020 14:48:14 +0800 Subject: [PATCH] 推送记录 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v1/PushController.java | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 100 insertions(+), 6 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/PushController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/PushController.java index b327acf..e6ef213 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/PushController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/PushController.java @@ -7,6 +7,7 @@ import javax.annotation.Resource; +import org.apache.commons.beanutils.PropertyUtils; import org.springframework.core.task.TaskExecutor; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @@ -14,10 +15,13 @@ import org.yeshi.utils.JsonUtil; import org.yeshi.utils.taobao.TbImgUtil; +import com.google.gson.GsonBuilder; import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.activity.ActivityUser; import com.yeshi.fanli.entity.common.JumpDetailV2; import com.yeshi.fanli.entity.dynamic.GoodsEvaluate; +import com.yeshi.fanli.entity.dynamic.ImgInfo; +import com.yeshi.fanli.entity.dynamic.ImgInfo.ImgEnum; import com.yeshi.fanli.entity.goods.CommonGoods; import com.yeshi.fanli.entity.push.DeviceActive; import com.yeshi.fanli.entity.push.DeviceTokenOPPO; @@ -46,6 +50,7 @@ import com.yeshi.fanli.service.inter.push.PushService; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.TimeUtil; import com.yeshi.fanli.util.annotation.RequestSerializableByKey; import com.yeshi.fanli.util.factory.JumpDetailParamsFactory; import com.yeshi.fanli.vo.msg.ClientTextStyleVO; @@ -299,18 +304,28 @@ totalwords.add(new ClientTextStyleVO("涓晢鍝�", "#666666")); } else if (type == PushGoods.TYPE_ACTIVITY) { GoodsEvaluate goodsEvaluate = goodsEvaluateService.getById(pushGoods.getOtherId()); - if (goodsEvaluate != null) { - ActivityUser user = goodsEvaluate.getUser(); - if (user != null) { - nickName = user.getNickName(); + if (goodsEvaluate == null) { + continue; + } + ActivityUser user = goodsEvaluate.getUser(); + if (user != null) { + nickName = user.getNickName(); + } + + if (StringUtil.isNullOrEmpty(vo.getPicture()) && goodsEvaluate.getImgList() != null && + goodsEvaluate.getImgList().size() > 0) { + for (ImgInfo tmgInfo: goodsEvaluate.getImgList()) { + if (tmgInfo.getType() == ImgEnum.img || tmgInfo.getType() == ImgEnum.activity) { + vo.setPicture(tmgInfo.getUrl()); + } } } - + String url = configService.get(ConfigKeyEnum.pushActivityLink.getKey()); if (url == null) { url = ""; } - url = url + "?id=" + id + "&otherId=" + pushGoods.getOtherId(); + url = url + "?id=" + id; params = JumpDetailParamsFactory.createWEBParams(url); jumpDetail = jumpDetailV2Service.getByTypeCache("web", Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion())); @@ -399,4 +414,83 @@ out.print(JsonUtil.loadTrueResult("")); } + /** + * 鑾峰彇鎺ㄩ�佹椿鍔ㄨ鎯� + * @param callback + * @param acceptData + * @param uid + * @param id + * @param out + */ + @RequestMapping("getPushDetail") + public void getPushDetail(String callback, AcceptData acceptData, Long uid, Long id, PrintWriter out) { + if (uid == null || id == null) { + JsonUtil.printMode(out, callback,JsonUtil.loadFalseResult("鍙傛暟涓嶅畬鏁�")); + return; + } + + PushGoods pushGoods = pushGoodsService.selectByPrimaryKey(id); + if (pushGoods == null || StringUtil.isNullOrEmpty(pushGoods.getOtherId())) { + JsonUtil.printMode(out, callback,JsonUtil.loadFalseResult("璇ユ椿鍔ㄥ凡涓嬫灦")); + return; + } + + GoodsEvaluate goodsEvaluate = goodsEvaluateService.getById(pushGoods.getOtherId()); + if (goodsEvaluate == null) { + JsonUtil.printMode(out, callback,JsonUtil.loadFalseResult("璇ユ椿鍔ㄥ凡涓嬫灦")); + return; + } + + String scanResult = null; + Integer scanNum = pushGoods.getScanNum(); + if (scanNum == null) { + } else if (scanNum >= 10000) { + double num = scanNum; + String numMidea = String.format("%.1f", num / 10000); + scanResult = numMidea + "涓�"; + } else { + scanResult = scanNum +""; + } + + String jumpLink = configService.get(ConfigKeyEnum.activityDetailLink.getKey()) + "?type=%s&id=%s"; + jumpLink = String.format(jumpLink, "circle", goodsEvaluate.getId()); + if (!StringUtil.isNullOrEmpty(goodsEvaluate.getJumpLink())) { + goodsEvaluate.setJumpLink(jumpLink); + } + + List<ImgInfo> imgListNew = new ArrayList<>(); + List<ImgInfo> imgList = goodsEvaluate.getImgList(); + if (imgList != null && imgList.size() > 0) { + for (ImgInfo imgInfo: imgList) { + if (imgInfo.getType() != ImgEnum.img || imgInfo.getType() == ImgEnum.activity) { + ImgInfo imgInfoNew = new ImgInfo(); + try { + PropertyUtils.copyProperties(imgInfoNew, imgInfo); + } catch (Exception e) { + e.printStackTrace(); + continue; + } + + if (!StringUtil.isNullOrEmpty(imgInfoNew.getActivityUrl())) { + imgInfoNew.setActivityUrl(jumpLink); + } + + imgListNew.add(imgInfoNew); + continue; + } + imgListNew.add(imgInfo); + } + } + goodsEvaluate.setImgList(imgListNew); + + GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation(); + + JSONObject json = new JSONObject(); + json.put("title", pushGoods.getTitle()); + json.put("content", pushGoods.getContent()); + json.put("pushTime", TimeUtil.formatDate(pushGoods.getPushTime())); + json.put("scanNum", scanResult); + json.put("detailInfo", gsonBuilder.create().toJson(goodsEvaluate)); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(json)); + } } -- Gitblit v1.8.0