From 8b25dae4f4481a72a1adbb09a6628f2e001f45b1 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期三, 29 四月 2020 16:25:46 +0800 Subject: [PATCH] 动态自动删除过期 --- fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java | 142 +++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 118 insertions(+), 24 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 a955431..7b8d9ce 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 @@ -17,6 +17,7 @@ import javax.imageio.ImageIO; import org.apache.commons.beanutils.PropertyUtils; +import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; import org.springframework.core.task.TaskExecutor; import org.springframework.stereotype.Service; @@ -53,6 +54,7 @@ import com.yeshi.fanli.service.inter.config.ConfigService; import com.yeshi.fanli.service.inter.dynamic.GoodsEvaluateService; import com.yeshi.fanli.service.inter.goods.ShareGoodsService; +import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService; import com.yeshi.fanli.service.inter.order.config.HongBaoManageService; import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service; import com.yeshi.fanli.service.manger.goods.ConvertLinkManager; @@ -88,6 +90,9 @@ @Resource private HongBaoManageService hongBaoManageService; + + @Resource + private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService; @Resource(name = "taskExecutor") private TaskExecutor executor; @@ -110,6 +115,28 @@ @Resource private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service; + + @Override + public void switchState(String id) throws GoodsEvaluateException { + if (id == null) { + throw new GoodsEvaluateException(1, "璇蜂紶閫掓纭弬鏁�"); + } + + GoodsEvaluate resultObj = goodsEvaluateDao.getById(id); + if (resultObj == null) { + throw new GoodsEvaluateException(1, "姝ゅ唴瀹瑰凡涓嶅瓨鍦�"); + } + + Integer state = resultObj.getState(); + if (state == null || state == 0) { + state = 1; + } else { + state = 0; + } + goodsEvaluateDao.updateSatate(id, state); + } + + @Override public String saveHead(MultipartFile file, GoodsEvaluate record) throws GoodsEvaluateException { Integer state = record.getState(); @@ -361,7 +388,7 @@ GoodsDetailVO goodsDetailVO = null; JDGoods jdGoods = null; PDDGoodsDetail pddGoods = null; - ConfigParamsDTO params = hongBaoManageService.getShowComputeRate("android", "55"); + ConfigParamsDTO params = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); params.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); if (goodsType == Constant.SOURCE_TYPE_TAOBAO) { try { @@ -583,7 +610,7 @@ public GoodsDetailVO getGoodsDetailVO(Long goodsId, Integer goodsType) throws GoodsEvaluateException { GoodsDetailVO goodsDetail = null; - ConfigParamsDTO params = hongBaoManageService.getShowComputeRate("android", "55"); + ConfigParamsDTO params = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); params.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); if (goodsType == Constant.SOURCE_TYPE_TAOBAO) { try { @@ -1487,6 +1514,8 @@ // 鍒犻櫎宸茶繃鏈� removeOverdue(); + + removeDownGoods(); } }); @@ -1654,6 +1683,8 @@ // 鍒犻櫎宸茶繃鏈� removeOverdue(); + + removeDownGoods(); } }); @@ -1680,7 +1711,7 @@ try { Date now = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - ConfigParamsDTO params = hongBaoManageService.getShowComputeRate("android", "55"); + ConfigParamsDTO params = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); params.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); for (GoodsEvaluate goodsEvaluate : list) { // 鏄惁2涓皬鏃朵箣鍐呭凡鏇存柊 @@ -1835,7 +1866,7 @@ imgs.addAll(goodsBrief.getImgList()); // 鍟嗗搧VO - ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate("android", "55"); + ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); GoodsDetailVO goodsVO = GoodsDetailVOFactory.convertTaoBao(goodsBrief, paramsDTO); @@ -1883,16 +1914,11 @@ String token = shareGoodsService.createTaoBaoToken(Constant.LINK_TOKEN_VERIFY_UID, goodsBrief); String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()); String commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(token)); - commentText = commentText.replace("[鍘熶环]", MoneyBigDecimalUtil.getWithNoZera(goodsVO.getZkPrice()) + ""); if (!goodsVO.isHasCoupon()) { commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘"); commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", ""); - } else { - commentText = commentText.replace("[鍒稿悗浠穄", - MoneyBigDecimalUtil.getWithNoZera(goodsVO.getCouponPrice()) + ""); - } - commentText = commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", - "\r\n"); + commentText = commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n","\r\n"); + } commentInfo.setContent(commentText); commentInfo.setType(CommentInfoEnum.goodsCoupon.getDesc()); } @@ -1981,7 +2007,7 @@ return false; } - ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate("android", "55"); + ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); GoodsDetailVO goodsVO = GoodsDetailVOFactory.convertTaoBao(goodsBrief, paramsDTO); // 鍙戝竷鐢ㄦ埛 @@ -2081,18 +2107,11 @@ String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()); String commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(token)); - - commentText = commentText.replace("[鍘熶环]", - MoneyBigDecimalUtil.getWithNoZera(goodsVO.getZkPrice()) + ""); if (!goodsVO.isHasCoupon()) { commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘"); commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", ""); - } else { - commentText = commentText.replace("[鍒稿悗浠穄", - MoneyBigDecimalUtil.getWithNoZera(goodsVO.getCouponPrice()) + ""); - } - commentText = commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n") - .replace("\r\n\r\n", "\r\n"); + 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); @@ -2213,7 +2232,7 @@ return; } - ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate("android", "55"); + ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO); updateGoods(queryExist, goodsNew); @@ -2233,7 +2252,7 @@ return; } - ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate("android", "55"); + ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertJDGoods(jdGoods, paramsDTO); @@ -2250,7 +2269,7 @@ return; } - ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate("android", "55"); + ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertPDDGoods(pddGoods, paramsDTO); updateGoods(queryExist, goodsNew); @@ -2298,7 +2317,65 @@ goodsEvaluateDao.save(goodsEvaluate); } } + + + @Override + public void offlineTaoBaoGoods(Long goodsId) { + try { + if (goodsId == null) { + return; + } + List<GoodsEvaluate> list = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_TAOBAO, goodsId); + if (list == null || list.size() == 0) { + return; + } + + // 涓嬫灦鍟嗗搧 + offlineGoods(list, Constant.SOURCE_TYPE_TAOBAO, goodsId); + } catch (Exception e) { + e.printStackTrace(); + } + } + @CacheEvict(value = "dynamicCache", allEntries = true) + private void offlineGoods(List<GoodsEvaluate> list, int goodsType, Long goodsId) { + + for (GoodsEvaluate goodsEvaluate : list) { + // 鍟嗗搧涓嬫灦 + GoodsDetailVO goodsDetailVO = goodsEvaluate.getGoods(); + goodsDetailVO.setState(1); + + List<ImgInfo> imgList = goodsEvaluate.getImgList(); + if (imgList == null || imgList.size() == 0) { + goodsEvaluate.setUpdateTime(new Date()); + goodsEvaluateDao.save(goodsEvaluate); + continue; + } + + for (ImgInfo imgInfo : imgList) { + SimpleGoods simpleGoods = imgInfo.getGoods(); + if (simpleGoods == null || simpleGoods.getGoodsId() != goodsId + || goodsType != simpleGoods.getGoodsType()) { + continue; + } + simpleGoods.setState(1); + GoodsDetailVO goodsVO = imgInfo.getGoodsVO(); + goodsVO.setState(1); + + imgInfo.setGoods(simpleGoods); + imgInfo.setGoodsVO(goodsVO); + } + + goodsEvaluate.setImgList(imgList); + goodsEvaluate.setUpdateTime(new Date()); + goodsEvaluateDao.save(goodsEvaluate); + } + } + + + /** + * 鍒犻櫎宸茶繃鏈熸椂闂� + */ private void removeOverdue() { List<GoodsEvaluate> list = goodsEvaluateDao.queryOverdue(); if (list == null || list.size() == 0) { @@ -2320,4 +2397,21 @@ } } + /** + * 鍒犻櫎鍟嗗搧宸蹭笅鏋�-鍗曞搧 + */ + private void removeDownGoods() { + try { + List<GoodsEvaluate> list = goodsEvaluateDao.removeDownGoods(); + if (list == null || list.size() == 0) { + return; + } + + for (GoodsEvaluate goodsEvaluate : list) { + goodsEvaluateDao.remove(goodsEvaluate); + } + } catch (Exception e) { + e.printStackTrace(); + } + } } -- Gitblit v1.8.0