From ec60e757d358636dcac1589c44a66f3e276fe58c Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期一, 29 六月 2020 14:41:42 +0800 Subject: [PATCH] 拉新 --- fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java | 311 ++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 268 insertions(+), 43 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java index 5a2ea22..b01df9b 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java @@ -7,6 +7,7 @@ import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.Date; @@ -31,7 +32,9 @@ import com.yeshi.fanli.dto.ConfigParamsDTO; import com.yeshi.fanli.dto.jd.JDCouponInfo; import com.yeshi.fanli.dto.pdd.PDDGoodsDetail; +import com.yeshi.fanli.dto.suning.SuningGoodsInfo; import com.yeshi.fanli.dto.vip.goods.VIPGoodsInfo; +import com.yeshi.fanli.entity.bus.activity.ActivityRuleUser; import com.yeshi.fanli.entity.bus.activity.ActivityUser; import com.yeshi.fanli.entity.bus.clazz.GoodsClass; import com.yeshi.fanli.entity.dynamic.CommentInfo; @@ -49,6 +52,7 @@ import com.yeshi.fanli.exception.dynamic.ActivityUserException; import com.yeshi.fanli.exception.dynamic.GoodsEvaluateException; import com.yeshi.fanli.exception.goods.ConvertLinkExceptionException; +import com.yeshi.fanli.exception.share.ShareGoodsException; import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.activity.ActivityUserService; @@ -300,7 +304,7 @@ } @Override - public String saveSingleGoods(String pid, Long goodsId, Integer goodsType, String videoUrl, Integer picNum, + public String saveSingleGoods(String pid, String goodsId, Integer goodsType, String videoUrl, Integer picNum, String picUrls, MultipartHttpServletRequest fileRequest) throws GoodsEvaluateException, Exception { if (StringUtil.isNullOrEmpty(pid)) { throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅"); @@ -421,16 +425,16 @@ params.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); if (goodsType == Constant.SOURCE_TYPE_TAOBAO) { try { - TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(goodsId); + TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(Long.parseLong(goodsId)); goodsDetailVO = GoodsDetailVOFactory.convertTaoBao(goodsBrief, params); } catch (TaobaoGoodsDownException e) { throw new GoodsEvaluateException(1, "鍟嗗搧宸蹭笅鏋�"); } } else if (goodsType == Constant.SOURCE_TYPE_JD) { - jdGoods = jdGoodsCacheUtil.getGoodsInfo(goodsId); + jdGoods = jdGoodsCacheUtil.getGoodsInfo(Long.parseLong(goodsId)); goodsDetailVO = GoodsDetailVOFactory.convertJDGoods(jdGoods, params); } else if (goodsType == Constant.SOURCE_TYPE_PDD) { - pddGoods = pinDuoDuoCacheUtil.getGoodsInfo(goodsId); + pddGoods = pinDuoDuoCacheUtil.getGoodsInfo(Long.parseLong(goodsId)); goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(pddGoods, params); } @@ -518,7 +522,7 @@ if (comments != null && comments.size() > 0) { for (CommentInfo commentInfo : comments) { if (commentInfo.getTypeEnum() == CommentInfoEnum.goodsCoupon) { - if (oldGoodsVO != null && oldGoodsVO.getGoodsId().longValue() == goodsId.longValue() + if (oldGoodsVO != null && oldGoodsVO.getGoodsId().equalsIgnoreCase(goodsId) && oldGoodsVO.getGoodsType() == goodsType) { addComment = false; } @@ -537,7 +541,7 @@ String commentText = ""; if (addComment) { if (goodsType == Constant.SOURCE_TYPE_TAOBAO) { - TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, goodsId, "0"); + TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, Long.parseLong(goodsId), "0"); String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()); commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken())); } else if (goodsType == Constant.SOURCE_TYPE_JD) { @@ -555,7 +559,7 @@ } commentText = template.replace("[閾炬帴]", jumpLink); } else if (goodsType == Constant.SOURCE_TYPE_PDD) { - String jumpLink = PinDuoDuoApiUtil.getPromotionUrl(goodsId, PinDuoDuoApiUtil.PID_SHARE + "", "1"); + String jumpLink = PinDuoDuoApiUtil.getPromotionUrl(Long.parseLong(goodsId), PinDuoDuoApiUtil.PID_SHARE + "", "1"); if (jumpLink == null) { throw new GoodsEvaluateException(1, "璇ュ晢鍝佽浆閾惧け璐�"); } @@ -603,13 +607,13 @@ private String createTokenAndLink(GoodsDetailVO goodsDetailVO) throws Exception { String commentText = ""; if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) { - TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, goodsDetailVO.getGoodsId(), "0"); + TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L,Long.parseLong(goodsDetailVO.getGoodsId()), "0"); String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()); commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken())); } else if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_JD) { String couponUrl = null; - JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(goodsDetailVO.getGoodsId()); + JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(Long.parseLong(goodsDetailVO.getGoodsId())); JDCouponInfo couponInfo = JDUtil.getShowCouponInfo(jdGoods); if (couponInfo != null) { couponUrl = couponInfo.getLink(); @@ -620,7 +624,7 @@ String template = configService.get(ConfigKeyEnum.quickShareJDCommentText.getKey()); commentText = template.replace("[閾炬帴]", jumpLink); } else if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_PDD) { - String jumpLink = PinDuoDuoApiUtil.getPromotionUrl(goodsDetailVO.getGoodsId(), + String jumpLink = PinDuoDuoApiUtil.getPromotionUrl(Long.parseLong(goodsDetailVO.getGoodsId()), PinDuoDuoApiUtil.PID_SHARE + "", "1"); String template = configService.get(ConfigKeyEnum.quickSharePDDCommentText.getKey()); commentText = template.replace("[閾炬帴]", jumpLink); @@ -800,7 +804,7 @@ } boolean del = false; - long oldGoodsId = old.getGoods().getGoodsId().longValue(); + String oldGoodsId = old.getGoods().getGoodsId(); int oldGoodsType = old.getGoods().getGoodsType().intValue(); for (ImgInfo newInfo : listImg) { ImgEnum type2 = old.getType(); @@ -808,7 +812,7 @@ continue; } - if (oldGoodsId == newInfo.getGoods().getGoodsId().longValue() + if (oldGoodsId .equalsIgnoreCase(newInfo.getGoods().getGoodsId()) && oldGoodsType == newInfo.getGoods().getGoodsType().intValue()) { String url = newInfo.getUrl(); if (url.equals(old.getUrl())) { @@ -1418,7 +1422,26 @@ public GoodsEvaluate getById(String id) { return goodsEvaluateDao.getById(id); } + + + @Override + public List<GoodsEvaluate> listByStartTime(Date date) { + return goodsEvaluateDao.listByStartTime(date); + } + @Override + public List<GoodsEvaluate> queryValidSortASC(int start, int count, EvaluateEnum tyepEnum, boolean sortDesc) { + return goodsEvaluateDao.queryValidSortASC(start, count, tyepEnum, sortDesc); + } + + + @Override + public List<GoodsEvaluate> queryValidZeroPoint(int start, int count) { + return goodsEvaluateDao.queryValidZeroPoint(start, count); + } + + + @Override public void saveComment(String pid, CommentInfo commentInfo) throws GoodsEvaluateException { GoodsEvaluate goodsEvaluate = goodsEvaluateDao.getById(pid); @@ -1887,12 +1910,12 @@ } } - private GoodsDetailVO getGoodsNewInfo(Long goodsId, int goodsType, ConfigParamsDTO paramsDTO) { + private GoodsDetailVO getGoodsNewInfo(String goodsId, int goodsType, ConfigParamsDTO paramsDTO) { GoodsDetailVO vo = null; if (goodsType == Constant.SOURCE_TYPE_TAOBAO) { TaoBaoGoodsBrief goods; try { - goods = redisManager.getTaoBaoGoodsBrief(goodsId); + goods = redisManager.getTaoBaoGoodsBrief(Long.parseLong(goodsId)); if (goods != null) { vo = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO); } @@ -1901,12 +1924,12 @@ } } else if (goodsType == Constant.SOURCE_TYPE_JD) { - JDGoods goodsInfo = jdGoodsCacheUtil.getGoodsInfo(goodsId); + JDGoods goodsInfo = jdGoodsCacheUtil.getGoodsInfo(Long.parseLong(goodsId)); if (goodsInfo != null) { vo = GoodsDetailVOFactory.convertJDGoods(goodsInfo, paramsDTO); } } else if (goodsType == Constant.SOURCE_TYPE_PDD) { - PDDGoodsDetail goodsInfo = pinDuoDuoCacheUtil.getGoodsInfo(goodsId); + PDDGoodsDetail goodsInfo = pinDuoDuoCacheUtil.getGoodsInfo(Long.parseLong(goodsId)); if (goodsInfo != null) vo = GoodsDetailVOFactory.convertPDDGoods(goodsInfo, paramsDTO); } @@ -1914,19 +1937,21 @@ } @Override - public void addGoodsEvaluate(Long goodsId, List<ImgInfo> imgList, ActivityUser user, String title, String comment, + public void addGoodsEvaluate(String goodsId, List<ImgInfo> imgList, ActivityUser user, String title, String comment, Date startTime) throws GoodsEvaluateException { if (goodsId == null || user == null || StringUtil.isNullOrEmpty(title)) { throw new GoodsEvaluateException(1, "鐩稿叧鍙傛暟涓嶈兘涓虹┖"); } - List<GoodsEvaluate> evaluateList = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_TAOBAO, goodsId); + Date limitDate = DateUtil.reduceDay(new Date(), 7); + + List<GoodsEvaluate> evaluateList = goodsEvaluateDao.queryExistLimitTime(Constant.SOURCE_TYPE_TAOBAO, goodsId, limitDate); if (evaluateList != null && evaluateList.size() > 0) - return; + throw new GoodsEvaluateException(1, "璇ュ晢鍝佸凡瀛樺湪"); TaoBaoGoodsBrief goodsBrief = null; try { - goodsBrief = redisManager.getTaoBaoGoodsBrief(goodsId); + goodsBrief = redisManager.getTaoBaoGoodsBrief(Long.parseLong(goodsId)); } catch (TaobaoGoodsDownException e) { throw new GoodsEvaluateException(1, "鍟嗗搧宸蹭笅鏋�"); } @@ -1942,9 +1967,7 @@ // 鐧藉簳鍥� List<String> imgs = new ArrayList<>(); - if (!StringUtil.isNullOrEmpty(goodsBrief.getPictUrlWhite())) { - imgs.add(goodsBrief.getPictUrlWhite()); - } + imgs.addAll(goodsBrief.getImgList()); // 鍟嗗搧VO @@ -1954,7 +1977,10 @@ // 鍟嗗搧鍥剧墖淇℃伅 int i = 0; - if (imgList == null || imgList.size() == 0) + if (imgList == null) + imgList = new ArrayList<ImgInfo>(); + + if (imgList.size() == 0) for (String img : imgs) { ImgInfo imgInfo = new ImgInfo(); imgInfo.setH(1); @@ -1993,6 +2019,7 @@ commentInfo.setContent(comment); commentInfo.setType(""); } else { + goodsBrief.setCouponLink(null); String token = shareGoodsService.createTaoBaoToken(Constant.LINK_TOKEN_VERIFY_UID, goodsBrief); String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()); String commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(token)); @@ -2047,6 +2074,165 @@ goodsEvaluateDao.save(goodsEvaluate); } + + + @Override + public int addGoodsEvaluate(TaoBaoGoodsBrief goodsBrief, List<String> imgs, ActivityUser user, String title) throws GoodsEvaluateException { + if (goodsBrief == null || user == null || StringUtil.isNullOrEmpty(title)) { + throw new GoodsEvaluateException(1, "鐩稿叧鍙傛暟涓嶈兘涓虹┖"); + } + Date limitDate = DateUtil.reduceDay(new Date(), 7); + + Long goodsId = goodsBrief.getAuctionId(); + List<GoodsEvaluate> evaluateList = goodsEvaluateDao.queryExistLimitTime(Constant.SOURCE_TYPE_TAOBAO, goodsId + "", limitDate); + if (evaluateList != null && evaluateList.size() > 0) + throw new GoodsEvaluateException(1, "璇ュ晢鍝佸凡瀛樺湪"); + + if (imgs == null) { + imgs = new ArrayList<>(); + } + if (imgs.size() == 0) { + imgs.addAll(goodsBrief.getImgList()); + } + + // 鍟嗗搧VO + ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); + paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); + GoodsDetailVO goodsVO = GoodsDetailVOFactory.convertTaoBao(goodsBrief, paramsDTO); + + // 鍟嗗搧鍥剧墖淇℃伅 + int i = 0; + List<ImgInfo> imgList = new ArrayList<ImgInfo>(); + + for (String img : imgs) { + ImgInfo imgInfo = new ImgInfo(); + imgInfo.setH(1); + imgInfo.setW(1); + imgInfo.setLarge(false); + imgInfo.setUrl(img); + imgInfo.setUrlHD(img); + if (i != 0) { + imgInfo.setType(ImgEnum.img); + } else { + imgInfo.setType(ImgEnum.goods); + SimpleGoods simpleGoods = new SimpleGoods(); + simpleGoods.setGoodsId(goodsVO.getGoodsId()); + simpleGoods.setGoodsType(goodsVO.getGoodsType()); + simpleGoods.setState(goodsVO.getState()); + CouponInfoVO couponInfo = goodsVO.getCouponInfo(); + if (couponInfo == null) { + simpleGoods.setPrice(goodsVO.getZkPrice()); + } else { + simpleGoods.setPrice(goodsVO.getCouponPrice()); + simpleGoods.setAmount(couponInfo.getAmount()); + } + imgInfo.setGoods(simpleGoods); + imgInfo.setGoodsVO(goodsVO); + } + imgList.add(imgInfo); + i++; + } + + + // 鐢熸垚鍙d护 + String token = null; + try { + TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(Constant.LINK_TOKEN_VERIFY_UID, goodsBrief.getAuctionId(), "1"); + token = taoBaoLink.getTaoToken(); + } catch (ShareGoodsException e) { + e.printStackTrace(); + throw new GoodsEvaluateException(1, "杞摼澶辫触"); + } + + + String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()); + String commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(token)); + if (!goodsVO.isHasCoupon()) { + commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘"); + commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", ""); + commentText = commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", + "\r\n"); + } + // 璇勮鍐呭 + CommentInfo commentInfo = new CommentInfo(); + commentInfo.setNeedSpin(true); + commentInfo.setId(UUID.randomUUID().toString().replace("-", "")); + commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon); + commentInfo.setContent(commentText); + commentInfo.setType(CommentInfoEnum.goodsCoupon.getDesc()); + + List<CommentInfo> commentsNew = new ArrayList<>(); + commentsNew.add(commentInfo); + + // 涓�琛屾樉绀哄灏戜釜鍥剧墖 + int lineNum = 0; + if (imgList.size() > 0) { + if (imgList.size() == 1) { + lineNum = 1; + } else if (imgList.size() == 3) { + lineNum = 3; + } else if (imgList.size() == 2 || imgList.size() == 4) { + lineNum = 2; + } else { + lineNum = 3; + } + } + + int result = 0; + int zeroPoint = 0; + // 鈽呮繁澶滃ぇ绂忓埄锛氬厛鎶㈠埜锛�0鐐瑰噯鏃朵笅鍗曗槄 + // 鍚繖绉嶆枃鏈殑瀹氫簬姣忔櫄10鐐瑰湪鍔ㄦ��-鍙戝湀 闆嗕腑鍙戯紝姣忔櫄10鐐瑰湪缇ゅ彂鍗曚腑鍙彂涓�鏉°�� + Date startTime = new Date(); + if (!StringUtil.isNullOrEmpty(title)) { + String value = configService.get(ConfigKeyEnum.evaluateZeroKey.getKey()); + if (!StringUtil.isNullOrEmpty(value)) { + List<String> asList = Arrays.asList(value.split(",")); + if (asList != null && asList.size() > 0) { + boolean zero = false; + for (String zerokey: asList) { + if(title.contains(zerokey)) { + zero = true; + break; + } + } + + if (zero) { + result = 1; + zeroPoint = 1; + startTime = TimeUtil.parseYYYYMMDD_HHMM(TimeUtil.getGernalTime(startTime) + " 22:00"); + } + } + } + } + + + GoodsEvaluate goodsEvaluate = new GoodsEvaluate(); + goodsEvaluate.setId(UUID.randomUUID().toString().replace("-", "")); + goodsEvaluate.setUser(user); + goodsEvaluate.setTitle(getDescNew(title)); + goodsEvaluate.setState(1); + goodsEvaluate.setZeroPoint(zeroPoint); + goodsEvaluate.setDynamicType(1); + goodsEvaluate.setType(EvaluateEnum.single); + goodsEvaluate.setShareNum((int) (Math.random() * 5000) + 1000); + goodsEvaluate.setShareNumReal(0); + goodsEvaluate.setWeight(0.0); + goodsEvaluate.setStartTime(startTime); + goodsEvaluate.setEndTime(DateUtil.plusDayDate(3, startTime)); + goodsEvaluate.setPublishTime(new Date()); + goodsEvaluate.setCreateTime(new Date()); + goodsEvaluate.setUpdateTime(new Date()); + goodsEvaluate.setGoods(goodsVO); + goodsEvaluate.setLineNum(lineNum); + goodsEvaluate.setImgList(imgList); + goodsEvaluate.setComments(commentsNew); + goodsEvaluateDao.save(goodsEvaluate); + + return result; + + + } + @Override public void addGoodsEvaluateByDaTaoKe() { List<Long> listId = null; @@ -2056,7 +2242,7 @@ for (GoodsEvaluate goodsEvaluate : listExist) { GoodsDetailVO goods = goodsEvaluate.getGoods(); if (goods != null && goods.getGoodsType() == 1) { - listId.add(goods.getGoodsId()); + listId.add(Long.parseLong(goods.getGoodsId())); } } } @@ -2071,15 +2257,24 @@ } for (int i = 0; i < list.size(); i++) { - boolean cerateGoods = cerateGoods(list.get(i)); + boolean cerateGoods = addByDaTaoKeGoods(list.get(i)); if (cerateGoods) { break; } } } - private boolean cerateGoods(DaTaoKeDetailV2 daTaoKe) { + + @Override + public boolean addByDaTaoKeGoods(DaTaoKeDetailV2 daTaoKe) { try { + Date limitDate = DateUtil.reduceDay(new Date(), 7); + + List<GoodsEvaluate> evaluateList = goodsEvaluateDao.queryExistLimitTime(Constant.SOURCE_TYPE_TAOBAO, + daTaoKe.getGoodsId()+"", limitDate); + if (evaluateList != null && evaluateList.size() > 0) + return false; + TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(daTaoKe.getGoodsId()); if (goodsBrief == null) { return false; @@ -2093,8 +2288,15 @@ ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); GoodsDetailVO goodsVO = GoodsDetailVOFactory.convertTaoBao(goodsBrief, paramsDTO); - // 鍙戝竷鐢ㄦ埛 - ActivityUser user = activityUserService.getRandomByDaTaoKeCid(daTaoKe.getCid()); + + ActivityUser user = null; + if(daTaoKe.getCid() != null) { + user = activityUserService.getRandomByDaTaoKeCid(daTaoKe.getCid()); + } else { + List<ActivityRuleUser> ruleList = activityUserService.listByRuleCode(ActivityRuleUser.RULE_HAOHUO, 1, 20); + user = ruleList.get((int) (ruleList.size() * Math.random())).getActivityUser(); + } + String desc = daTaoKe.getDesc().replace(",", "锛�"); String[] split = desc.split("锛�"); @@ -2136,7 +2338,6 @@ goodsEvaluate.setState(1); goodsEvaluate.setDynamicType(1); goodsEvaluate.setType(EvaluateEnum.single); - goodsEvaluate.setShareNum((int) (Math.random() * 5000) + 1000); goodsEvaluate.setShareNumReal(0); goodsEvaluate.setWeight(0.0); @@ -2149,9 +2350,6 @@ List<String> goodsimgs = goodsBrief.getImgList(); List<String> imgs = new ArrayList<>(); - if (!StringUtil.isNullOrEmpty(goodsBrief.getPictUrlWhite())) { - imgs.add(goodsBrief.getPictUrlWhite()); - } imgs.addAll(goodsimgs); int i = 0; @@ -2310,7 +2508,7 @@ return; } List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_TAOBAO, - goods.getAuctionId()); + goods.getAuctionId()+""); if (queryExist == null || queryExist.size() == 0) { return; } @@ -2330,7 +2528,7 @@ if (jdGoods == null) { return; } - List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_JD, jdGoods.getSkuId()); + List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_JD, jdGoods.getSkuId()+""); if (queryExist == null || queryExist.size() == 0) { return; } @@ -2347,7 +2545,7 @@ if (pddGoods == null) { return; } - List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_PDD, pddGoods.getGoodsId()); + List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_PDD, pddGoods.getGoodsId()+""); if (queryExist == null || queryExist.size() == 0) { return; } @@ -2364,7 +2562,7 @@ return; } List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_VIP, - Long.parseLong(goods.getGoodsId())); + goods.getGoodsId()); if (queryExist == null || queryExist.size() == 0) { return; } @@ -2375,12 +2573,29 @@ updateGoods(queryExist, goodsNew); } + @Override + public void updateSuningGoods(SuningGoodsInfo goods) { + if (goods == null) { + return; + } + List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_SUNING, + goods.getCommodityInfo().getCommodityCode()); + if (queryExist == null || queryExist.size() == 0) { + return; + } + + ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); + paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); + GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertSuningGoods(goods, paramsDTO); + updateGoods(queryExist, goodsNew); + } + private void updateGoods(List<GoodsEvaluate> listExist, GoodsDetailVO goodsNew) { - long goodsId = goodsNew.getGoodsId(); + String goodsId = goodsNew.getGoodsId(); int goodsType = goodsNew.getGoodsType(); for (GoodsEvaluate goodsEvaluate : listExist) { GoodsDetailVO goodsDetailVO = goodsEvaluate.getGoods(); - if (goodsDetailVO != null && goodsDetailVO.getGoodsId() != null && goodsDetailVO.getGoodsId() == goodsId + if (goodsDetailVO != null && goodsDetailVO.getGoodsId() != null && goodsDetailVO.getGoodsId().equalsIgnoreCase(goodsId) && goodsDetailVO.getGoodsType() == goodsType) { goodsEvaluate.setGoods(goodsNew); } @@ -2393,7 +2608,7 @@ for (ImgInfo imgInfo : imgList) { SimpleGoods simpleGoods = imgInfo.getGoods(); - if (simpleGoods == null || simpleGoods.getGoodsId() != goodsId + if (simpleGoods == null || !simpleGoods.getGoodsId().equalsIgnoreCase(goodsId) || goodsType != simpleGoods.getGoodsType()) { continue; } @@ -2419,12 +2634,12 @@ } @Override - public void offlineTaoBaoGoods(Long goodsId) { + public void offlineTaoBaoGoods(String goodsId) { try { if (goodsId == null) { return; } - List<GoodsEvaluate> list = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_TAOBAO, goodsId); + List<GoodsEvaluate> list = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_TAOBAO,goodsId); if (list == null || list.size() == 0) { return; } @@ -2437,7 +2652,7 @@ } @CacheEvict(value = "dynamicCache", allEntries = true) - private void offlineGoods(List<GoodsEvaluate> list, int goodsType, Long goodsId) { + private void offlineGoods(List<GoodsEvaluate> list, int goodsType, String goodsId) { for (GoodsEvaluate goodsEvaluate : list) { // 鍟嗗搧涓嬫灦 @@ -2518,4 +2733,14 @@ } } + + @Override + public GoodsEvaluate queryExistSingle(String goodsId, int goodsType) { + List<GoodsEvaluate> list = goodsEvaluateDao.queryExistSingle(goodsType, goodsId); + if (list != null && list.size() > 0) + return list.get(0); + return null; + } + + } -- Gitblit v1.8.0