From ec8a1c6f81b5747e9efce86faaba33d10df7f61d Mon Sep 17 00:00:00 2001 From: admin <2780501319@qq.com> Date: 星期日, 01 三月 2020 16:37:26 +0800 Subject: [PATCH] 动态提示语调整 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java | 391 ++++++++++--------------------------------------------- 1 files changed, 74 insertions(+), 317 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java index ac930c1..75e5d1b 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java @@ -2,7 +2,6 @@ import java.io.PrintWriter; import java.lang.reflect.Type; -import java.math.BigDecimal; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; @@ -15,7 +14,6 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; -import org.yeshi.utils.HttpUtil; import org.yeshi.utils.JsonUtil; import org.yeshi.utils.entity.FileUploadResult; @@ -27,7 +25,6 @@ import com.google.gson.JsonSerializer; import com.yeshi.fanli.dto.jd.JDCouponInfo; import com.yeshi.fanli.entity.accept.AcceptData; -import com.yeshi.fanli.entity.bus.activity.ActivityUser; import com.yeshi.fanli.entity.bus.clazz.GoodsClass; import com.yeshi.fanli.entity.bus.homemodule.Special; import com.yeshi.fanli.entity.bus.homemodule.SpecialLabel; @@ -40,17 +37,18 @@ import com.yeshi.fanli.entity.dynamic.DynamicInfo; import com.yeshi.fanli.entity.dynamic.GoodsEvaluate; import com.yeshi.fanli.entity.dynamic.GoodsEvaluate.EvaluateEnum; -import com.yeshi.fanli.entity.dynamic.GoodsPicture; import com.yeshi.fanli.entity.dynamic.ImgInfo; import com.yeshi.fanli.entity.dynamic.ImgInfo.ImgEnum; -import com.yeshi.fanli.entity.dynamic.SimpleGoods; import com.yeshi.fanli.entity.jd.JDGoods; import com.yeshi.fanli.entity.system.ConfigKeyEnum; +import com.yeshi.fanli.entity.taobao.TaoBaoLink; +import com.yeshi.fanli.exception.share.ShareGoodsException; import com.yeshi.fanli.service.inter.common.JumpDetailV2Service; import com.yeshi.fanli.service.inter.config.ConfigService; import com.yeshi.fanli.service.inter.dynamic.ArticleOfficialService; import com.yeshi.fanli.service.inter.dynamic.DynamicInfoService; import com.yeshi.fanli.service.inter.dynamic.GoodsEvaluateService; +import com.yeshi.fanli.service.inter.goods.ShareGoodsService; import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService; import com.yeshi.fanli.service.inter.homemodule.SpecialService; import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService; @@ -60,7 +58,6 @@ import com.yeshi.fanli.service.inter.user.UserInfoService; import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService; import com.yeshi.fanli.service.manger.goods.ConvertLinkManager; -import com.yeshi.fanli.util.AESUtil; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.VersionUtil; @@ -70,7 +67,6 @@ import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil; import com.yeshi.fanli.util.taobao.DaTaoKeUtil; import com.yeshi.fanli.vo.dynamic.ArticleVO; -import com.yeshi.fanli.vo.goods.CouponInfoVO; import com.yeshi.fanli.vo.goods.GoodsDetailVO; import com.yeshi.fanli.vo.msg.ClientTextStyleVO; @@ -126,7 +122,7 @@ @Resource private QrCodeService qrCodeService; - + @Resource private ConvertLinkManager convertLinkManager; @@ -594,10 +590,8 @@ @RequestMapping(value = "getDynamicList", method = RequestMethod.POST) public void getDynamicListNew(AcceptData acceptData, Integer page, Long cid, String subId, PrintWriter out) { int type = 1; - if (cid == TYPE_FAQUAN){ + if (cid == TYPE_FAQUAN) { type = 1; - oldDynamicInfo(acceptData, page, subId, out); // 鑰佺増鍔ㄦ�� - return; } else if (cid == TYPE_SUCAI) { type = 2; } @@ -702,14 +696,6 @@ @RequestMapping(value = "evaluateShare", method = RequestMethod.POST) public void evaluateShare(AcceptData acceptData, Long uid, String id, Integer type, Long goodsId, Integer goodsType, PrintWriter out) { - - // 鑰佺増鍔ㄦ�� - if (1 > 0) { - oldDynamicShare(acceptData, uid, id, type, goodsId, goodsType, out); - return; - } - - if (uid == null) { out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); return; @@ -766,46 +752,8 @@ } List<String> list = new ArrayList<>(); - // 鍗曞搧 - if (goodsEvaluate.getType() == EvaluateEnum.single) { - for (ImgInfo imgInfo : imgs) { - GoodsDetailVO goodsVO = imgInfo.getGoodsVO(); - if (goodsVO == null) { - list.add(StringUtil.isNullOrEmpty(imgInfo.getUrlHD()) ? imgInfo.getUrl() : imgInfo.getUrlHD()); - continue; - } - - String jumpLink = getJumpLink(goodsVO, user, inviteCode); - if (!StringUtil.isNullOrEmpty(jumpLink)) { - list.add(jumpLink); - } - } - - } else if (goodsEvaluate.getType() == EvaluateEnum.multiple) { - if (type == 1) { - for (ImgInfo imgInfo : imgs) { - if (imgInfo.getGoodsVO() != null) - if (imgInfo.getGoodsVO().getGoodsId().longValue() == goodsId.longValue() - && imgInfo.getGoodsVO().getGoodsType() == goodsType.intValue()) { - String jumpLink = getJumpLink(imgInfo.getGoodsVO(), user, inviteCode); - if (!StringUtil.isNullOrEmpty(jumpLink)) { - list.add(jumpLink); - } - break; - } - } - } else if (type == 2 || type == 3) { - for (ImgInfo imgInfo : imgs) { - if (imgInfo.getGoodsVO() != null) { - String jumpLink = getJumpLink(imgInfo.getGoodsVO(), user, inviteCode); - if (!StringUtil.isNullOrEmpty(jumpLink)) { - list.add(jumpLink); - } - } - } - } - - } else if (goodsEvaluate.getType() == EvaluateEnum.activity) { + Integer dynamicType = goodsEvaluate.getDynamicType(); + if (dynamicType == null || dynamicType.intValue() == 2) { for (ImgInfo imgInfo : imgs) { if (imgInfo.getType() == ImgEnum.goods || imgInfo.getType() == ImgEnum.video) continue; @@ -815,6 +763,58 @@ if (!StringUtil.isNullOrEmpty(imgInfo.getActivityPic())) { list.add(imgInfo.getActivityPic()); } + } + } else { + // 鍗曞搧 + if (goodsEvaluate.getType() == EvaluateEnum.single) { + for (ImgInfo imgInfo : imgs) { + GoodsDetailVO goodsVO = imgInfo.getGoodsVO(); + if (goodsVO == null) { + list.add(StringUtil.isNullOrEmpty(imgInfo.getUrlHD()) ? imgInfo.getUrl() : imgInfo.getUrlHD()); + continue; + } + + String jumpLink = getJumpLink(goodsVO, user, relationId, inviteCode); + if (!StringUtil.isNullOrEmpty(jumpLink)) { + list.add(jumpLink); + } + } + + } else if (goodsEvaluate.getType() == EvaluateEnum.multiple) { + if (type == 1) { + for (ImgInfo imgInfo : imgs) { + if (imgInfo.getGoodsVO() != null) + if (imgInfo.getGoodsVO().getGoodsId().longValue() == goodsId.longValue() + && imgInfo.getGoodsVO().getGoodsType() == goodsType.intValue()) { + String jumpLink = getJumpLink(imgInfo.getGoodsVO(), user, relationId, inviteCode); + if (!StringUtil.isNullOrEmpty(jumpLink)) { + list.add(jumpLink); + } + break; + } + } + } else if (type == 2 || type == 3) { + for (ImgInfo imgInfo : imgs) { + if (imgInfo.getGoodsVO() != null) { + String jumpLink = getJumpLink(imgInfo.getGoodsVO(), user, relationId, inviteCode); + if (!StringUtil.isNullOrEmpty(jumpLink)) { + list.add(jumpLink); + } + } + } + } + + } else if (goodsEvaluate.getType() == EvaluateEnum.activity) { + for (ImgInfo imgInfo : imgs) { + if (imgInfo.getType() == ImgEnum.goods || imgInfo.getType() == ImgEnum.video) + continue; + if (imgInfo.getType() == ImgEnum.img) + list.add(StringUtil.isNullOrEmpty(imgInfo.getUrlHD()) ? imgInfo.getUrl() : imgInfo.getUrlHD()); + else if (imgInfo.getType() == ImgEnum.activity) + if (!StringUtil.isNullOrEmpty(imgInfo.getActivityPic())) { + list.add(imgInfo.getActivityPic()); + } + } } } @@ -839,17 +839,21 @@ out.print(JsonUtil.loadTrueResult(data)); } - private String getJumpLink(GoodsDetailVO goodsVO, UserInfo user, String inviteCode) { + @Resource + private ShareGoodsService shareGoodsService; + + private String getJumpLink(GoodsDetailVO goodsVO, UserInfo user, String relationId, String inviteCode) { String jumpLink = null; if (goodsVO.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) { - String url = String.format("http://%s%s?uid=%s&id=%s&appType=flq", configService.getH5Host(), - Constant.systemCommonConfig.getShareGoodsPagePath(), - AESUtil.encrypt(user.getId() + "", Constant.UIDAESKEY), goodsVO.getGoodsId() + ""); - String shortLink = HttpUtil.getShortLink(url); - if (!StringUtil.isNullOrEmpty(shortLink)) { - url = shortLink; + TaoBaoLink taoBaoLink = null; + try { + taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(user.getId(), goodsVO.getGoodsId(), relationId); + } catch (ShareGoodsException e) { + e.printStackTrace(); } - jumpLink = url; + + jumpLink = configService.get(ConfigKeyEnum.taobaoShareQrcodeText.getKey()).replace("[娣樺彛浠", + taoBaoLink.getTaoToken()); } else if (goodsVO.getGoodsType() == Constant.SOURCE_TYPE_JD) { JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(goodsVO.getGoodsId()); if (jdGoods == null) { @@ -930,12 +934,12 @@ } } } - + try { - text=convertLinkManager.convertLinkFromText(text, uid, true); + text = convertLinkManager.convertLinkFromText(text, uid, true); } catch (Exception e) { e.printStackTrace(); - out.print(JsonUtil.loadFalseResult("杞摼澶辫触")); + out.print(JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触")); return; } @@ -943,252 +947,5 @@ data.put("text", text); out.print(JsonUtil.loadTrueResult(data)); } - - - public void oldDynamicInfo(AcceptData acceptData, Integer page, String subId, PrintWriter out) { - long cid = 1; - Long sid = null; - if (!StringUtil.isNullOrEmpty(subId)){ - sid = Long.parseLong(subId); - } - List<DynamicInfo> listd = dynamicInfoService.queryV2(2, 74, (page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, - cid, sid); - if (listd == null) { - listd = new ArrayList<DynamicInfo>(); - } - - List<GoodsEvaluate> list = new ArrayList<>(); - for (DynamicInfo info : listd) { - GoodsEvaluate goodsEvaluate = new GoodsEvaluate(); - goodsEvaluate.setId(info.getId()); - ActivityUser user = info.getUser(); - goodsEvaluate.setUser(user); - List<ClientTextStyleVO> titles = info.getTitle(); - if (titles != null) { - goodsEvaluate.setTitle(info.getTitle().get(0).getContent()); - } else { - goodsEvaluate.setTitle(""); - } - goodsEvaluate.setShareNum(info.getShareCount()); - goodsEvaluate.setPublishTime(info.getCreateTime()); - goodsEvaluate.setLineNum(2); - List<GoodsPicture> imgs = info.getImgs(); - - int i = 0; - GoodsDetailVO goods= null; - List<ImgInfo> imgList = new ArrayList<>(); - for (GoodsPicture goodsPicture : imgs) { - ImgInfo imgInfo = new ImgInfo(); - imgInfo.setH(1); - imgInfo.setW(1); - imgInfo.setLarge(false); - imgInfo.setUrl(goodsPicture.getUrl()); - imgInfo.setUrlHD(goodsPicture.getUrl()); - - GoodsDetailVO goodsVO = goodsPicture.getGoodsVO(); - if (goodsVO == null) { - imgInfo.setType(ImgEnum.img); - } else { - imgInfo.setType(ImgEnum.goods); - SimpleGoods simpleGoods = new SimpleGoods(); - simpleGoods.setGoodsId(goodsVO.getGoodsId()); - simpleGoods.setGoodsType(goodsVO.getGoodsType()); - - CouponInfoVO couponInfo = goodsVO.getCouponInfo(); - if (couponInfo == null) { - simpleGoods.setState(0); - simpleGoods.setPrice(goodsVO.getZkPrice()); - } else { - simpleGoods.setState(goodsVO.getState()); - simpleGoods.setPrice(goodsVO.getCouponPrice()); - simpleGoods.setAmount(couponInfo.getAmount()); - } - imgInfo.setGoods(simpleGoods); - goods = goodsVO; - i++; - } - imgList.add(imgInfo); - } - - goodsEvaluate.setImgList(imgList); - if (i == 1) { - goodsEvaluate.setGoods(goods); - } - list.add(goodsEvaluate); - } - - GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation(); - gsonBuilder.registerTypeAdapter(CommentInfoEnum.class, new JsonSerializer<CommentInfoEnum>() { - @Override - public JsonElement serialize(CommentInfoEnum value, Type theType, JsonSerializationContext context) { - if (value == null) { - return new JsonPrimitive(1); - } else { - return new JsonPrimitive(value.getDesc()); - } - } - }).registerTypeAdapter(ImgEnum.class, new JsonSerializer<ImgEnum>() { - @Override - public JsonElement serialize(ImgEnum value, Type theType, JsonSerializationContext context) { - if (value == null) { - return new JsonPrimitive(""); - } else { - return new JsonPrimitive(value.getVlaue()); - } - } - }).registerTypeAdapter(Date.class, new JsonSerializer<Date>() { - @Override - public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) { - String desc = ""; - if (value != null) { - // 鍒ゆ柇鏄惁鏄悓涓�澶� - - Calendar calendar = Calendar.getInstance(); - calendar.setTime(value); - int y1 = calendar.get(Calendar.YEAR);// 鑾峰彇骞翠唤 - int d1 = calendar.get(Calendar.DAY_OF_YEAR);// 鑾峰彇骞翠腑绗嚑澶� - - Date nowDate = new Date(); - Calendar calendar2 = Calendar.getInstance(); - calendar2.setTime(nowDate); - int y2 = calendar2.get(Calendar.YEAR);// 鑾峰彇骞翠唤 - int d2 = calendar2.get(Calendar.DAY_OF_YEAR);// 鑾峰彇骞翠腑绗嚑澶� - - long old = value.getTime(); - long now = nowDate.getTime(); - if (y1 == y2) { - if (d1 == d2) { - long cha = now - old; - if (cha < 1000 * 60 * 2L) { - desc = "鍒氬垰"; - } else if (cha < 1000 * 60 * 60L) { - desc = (cha / (1000 * 60)) + "鍒嗛挓鍓�"; - } else { - desc = (cha / (1000 * 60 * 60)) + "灏忔椂鍓�"; - } - } else if (d2 - d1 == 1) { - desc = "鏄ㄥぉ"; - } else { - desc = (d2 - d1) + "澶╁墠"; - } - } else { - int timeDistance = 0; - for (int i = y1; i < y2; i++) { - if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) { - timeDistance += 366; // 闂板勾 - } else { - timeDistance += 365; // 涓嶆槸闂板勾 - } - } - desc = timeDistance + (d2 - d1) + "澶╁墠"; - } - - return new JsonPrimitive(desc); - } - - return new JsonPrimitive(""); - } - }); - Gson gson = gsonBuilder.create(); - - JSONObject data = new JSONObject(); - data.put("list", gson.toJson(list)); - data.put("count", dynamicInfoService.count(cid, sid)); - out.print(JsonUtil.loadTrueResult(data)); - } - - public void oldDynamicShare(AcceptData acceptData, Long uid, String id, Integer type, Long goodsId, Integer goodsType, - PrintWriter out) { - if (uid == null) { - out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); - return; - } - - if (StringUtil.isNullOrEmpty(id) || type == null) { - out.print(JsonUtil.loadFalseResult("浼犻�掑弬鏁颁笉鑳戒负绌�")); - return; - } - - if (type == 1 && (goodsId == null || goodsType == null)) { - out.print(JsonUtil.loadFalseResult("鍟嗗搧鍙傛暟涓嶈兘涓虹┖")); - return; - } - - DynamicInfo dynamicInfo = dynamicInfoService.getById(id); - if (dynamicInfo == null) { - out.print(JsonUtil.loadFalseResult("璇ュ唴瀹瑰凡涓嶅瓨鍦�")); - return; - } - - UserInfo user = userInfoService.getUserByIdWithMybatis(uid); - if (user == null) { - out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); - return; - } - - if (user != null && user.getState() != UserInfo.STATE_NORMAL) { - out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC)); - return; - } - - UserExtraTaoBaoInfo taoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid); - String relationId = null; - if (taoBaoInfo != null && taoBaoInfo.getRelationId() != null && taoBaoInfo.getRelationValid() != null - && taoBaoInfo.getRelationValid() == true) - relationId = taoBaoInfo.getRelationId(); - - if (StringUtil.isNullOrEmpty(relationId)) { - out.print(JsonUtil.loadFalseResult(2, "娣樺疂鏈巿鏉冿紝璇峰墠寰�\"鎴戠殑\"缁戝畾娣樺疂璐﹀彿")); - return; - } - - String inviteCode = userInfoExtraService.getInviteCodeByUid(uid); - if (StringUtil.isNullOrEmpty(inviteCode)) { - out.print(JsonUtil.loadFalseResult(1, "閭�璇风爜鏈縺娲�")); - return; - } - - List<GoodsPicture> imgs = dynamicInfo.getImgs(); - if (imgs == null) { - out.print(JsonUtil.loadFalseResult("璇ュ浘鐗囧唴瀹瑰凡涓嶅瓨鍦�")); - return; - } - - List<String> list = new ArrayList<>(); - // 鐑攢涓哄崟鍝� - for (GoodsPicture imgInfo : imgs) { - GoodsDetailVO goodsVO = imgInfo.getGoodsVO(); - if (goodsVO == null) { - list.add(imgInfo.getUrl()); - continue; - } - - String jumpLink = getJumpLink(goodsVO, user, inviteCode); - if (!StringUtil.isNullOrEmpty(jumpLink)) { - list.add(jumpLink); - } - } - - Integer shareCount = dynamicInfo.getShareCount(); - if (shareCount == null) { - shareCount = 0; - } - - if (type == 3) { - shareCount++; - dynamicInfoService.updateShareCount(dynamicInfo); - } - - if (list.size() == 0) { - out.print(JsonUtil.loadFalseResult("璇ヤ俊鎭凡涓嬫灦")); - return; - } - - JSONObject data = new JSONObject(); - data.put("count", shareCount); - data.put("list", list); - out.print(JsonUtil.loadTrueResult(data)); - } } - -- Gitblit v1.8.0