yj
2020-03-05 b795e890ab9d1c4636b58eac238721aa738baf58
发圈bug
2个文件已修改
82 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/admin/GoodsEvaluateAdminController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java 67 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/admin/GoodsEvaluateAdminController.java
@@ -442,6 +442,7 @@
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("保存失败"));
            e.printStackTrace();
            LogHelper.errorDetailInfo(e);
            LogHelper.test(e);
        }
    }
@@ -691,6 +692,20 @@
            if (commonGoods.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) {
                try {
                    TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(commonGoods.getGoodsId());
                    String pictUrlWhite = goodsBrief.getPictUrlWhite();
                    if (!StringUtil.isNullOrEmpty(pictUrlWhite)) {
                        goodsBrief.setPictUrl(pictUrlWhite);
                        List<String> picList = new ArrayList<>();
                        picList.add(pictUrlWhite);
                        List<String> imgList = goodsBrief.getImgList();
                        if (imgList != null) {
                            picList.addAll(imgList);
                        }
                        goodsBrief.setImgList(picList);
                    }
                    goodsDetail = GoodsDetailVOFactory.convertTaoBao(goodsBrief, params);
                } catch (TaobaoGoodsDownException e) {
                    JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("该商品已下架"));
fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java
@@ -57,6 +57,7 @@
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.cache.JDGoodsCacheUtil;
import com.yeshi.fanli.util.cache.PinDuoDuoCacheUtil;
import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil;
import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
import com.yeshi.fanli.util.jd.JDApiUtil;
import com.yeshi.fanli.util.jd.JDUtil;
@@ -83,6 +84,7 @@
    @Resource(name = "taskExecutor")
    private TaskExecutor executor;
    @Resource
    private JDGoodsCacheUtil jdGoodsCacheUtil;
@@ -123,11 +125,10 @@
        }
        if (record.getEndTime() != null) {
            if (record.getEndTime().getTime() <= java.lang.System.currentTimeMillis())
                throw new GoodsEvaluateException(1, "截止时间必须大于当前时间");
            if (record.getStartTime() != null && record.getEndTime().getTime() <= record.getStartTime().getTime())
                throw new GoodsEvaluateException(1, "截止时间必须大于开始时间");
        } else {
            record.setEndTime(DateUtil.plusDayDate(3,new Date()));
        }
        Integer dynamicType = record.getDynamicType();
@@ -135,8 +136,9 @@
            record.setDynamicType(1);
        }
        if (record.getShareNum() == null)
            record.setShareNum(0);
        if (record.getShareNum() == null || record.getShareNum() <=0 ) {
            record.setShareNum((int)(Math.random()*5000)+1000);
        }
        if (record.getWeight() == null)
            record.setWeight(0.0);
@@ -334,9 +336,10 @@
            throw new GoodsEvaluateException(1, "该商品信息不存在");
        }
        List<ImgInfo> tempList = new ArrayList<ImgInfo>();
        int totalImg = 0;
        if (listpic != null && listpic.size() > 0) {
            for (int i = 0; i < listpic.size(); i++) {
            for (int i = 0; i < listpic.size() && i < 9; i++) {
                ImgInfo imgInfo0 = new ImgInfo();
                imgInfo0.setId(UUID.randomUUID().toString().replace("-", ""));
                imgInfo0.setW(1);
@@ -361,12 +364,17 @@
                    }
                    imgInfo0.setGoods(simpleGoods);
                    imgInfo0.setGoodsVO(goodsDetailVO);
                    listImg.add(imgInfo0);
                } else {
                    imgInfo0.setType(ImgEnum.img);
                    tempList.add(imgInfo0);
                }
                listImg.add(imgInfo0);
                totalImg++;
            }
        }
        if (tempList.size() > 0) {
            listImg.addAll(tempList);
        }
        if (listOld != null && listOld.size() > 0) {
@@ -403,7 +411,7 @@
        boolean addComment = true;
        List<CommentInfo> commentsNew = new ArrayList<>();
        List<CommentInfo> comments = resultObj.getComments();
        if (comments != null) {
        if (comments != null && comments.size() > 0) {
            for (CommentInfo commentInfo: comments) {
                if (commentInfo.getTypeEnum() == CommentInfoEnum.goodsCoupon) {
                    if (oldGoodsVO != null && oldGoodsVO.getGoodsId().longValue() == goodsId.longValue() 
@@ -416,7 +424,7 @@
            }
        } 
        
        // 无券不能自动 生成评论
        CouponInfoVO couponInfo1 = goodsDetailVO.getCouponInfo();
        if (couponInfo1 == null) {
            addComment = false;
@@ -484,6 +492,10 @@
        if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
            try {
                TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(goodsId);
                String pictUrlWhite = goodsBrief.getPictUrlWhite();
                if (!StringUtil.isNullOrEmpty(pictUrlWhite)) {
                    goodsBrief.setPictUrl(pictUrlWhite);
                }
                goodsDetail = GoodsDetailVOFactory.convertTaoBao(goodsBrief, params);
            } catch (TaobaoGoodsDownException e) {
                throw new GoodsEvaluateException(1, "商品已下架");
@@ -592,6 +604,7 @@
                    }
                    String picUrl = goodsDetailVO.getPicUrl();
                    if (fileRequest != null) {
                        MultipartFile file = fileRequest.getFile("file" + i);
                        if (file != null) {
@@ -719,6 +732,15 @@
        List<CommentInfo> comments = new ArrayList<>();
        if (!StringUtil.isNullOrEmpty(content)) {
            if(!StringUtil.isNullOrEmpty(content)) {
                try {
                    convertLinkManager.convertLinkFromText(content, 1L, true);
                } catch (Exception e) {
                    throw new GoodsEvaluateException(1, "不包含可转链的口令与链接");
                }
            }
            CommentInfo commentInfo = new CommentInfo();
            if (goodsCoupon != null) {
                commentInfo.setId(goodsCoupon.getId());
@@ -776,7 +798,7 @@
            try {
                convertLinkManager.convertLinkFromText(content, 1L, true);
            } catch (Exception e) {
                throw new GoodsEvaluateException(1, "转链失败");
                throw new GoodsEvaluateException(1, "不包含可转链的口令与链接");
            }
        }
        
@@ -1320,12 +1342,15 @@
        Date now = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        for (GoodsEvaluate goodsEvaluate: list) {
            int comment = 0;
            List<CommentInfo> comments = goodsEvaluate.getComments();
            if (comments != null) {
            if (comments != null && comments.size() > 0) {
                EvaluateEnum typeEnum = goodsEvaluate.getType();
                List<CommentInfo> commentNew = new ArrayList<>();
                
                for (CommentInfo commentInfo: comments) {
                    comment ++;
                    String typeCoupon = commentInfo.getType();
                    if (StringUtil.isNullOrEmpty(typeCoupon)) {
                        if (commentInfo.getTypeEnum() == null) {
@@ -1348,6 +1373,7 @@
                        }
                    }
                    
                    String coupon = commentInfo.getCoupon();
                    String endTime = commentInfo.getEndTime();
                    if (!StringUtil.isNullOrEmpty(coupon) && !StringUtil.isNullOrEmpty(endTime)) {
@@ -1362,13 +1388,9 @@
                                
                                List<ClientTextStyleVO> tagList = commentInfo.getTagList();
                                tagList.add(styleVO);
                                commentInfo.setTagList(tagList);
                                
                                if (typeEnum != null && typeEnum == EvaluateEnum.single) {
                                    //新增
                                    commentNew.add(commentInfo);
                                }
                            }
                        }
                    }
@@ -1376,10 +1398,11 @@
                goodsEvaluate.setComments(commentNew);
                
                if (typeEnum != null && typeEnum == EvaluateEnum.single) {
                     if (commentNew.size() == 0) {
                    if (comment > 0 && commentNew.size() == 0) { // 所有券评论下架
                         GoodsDetailVO goods = goodsEvaluate.getGoods();
                         if (goods != null) {
                             goods.setState(1); // 评论不存在 下架
                             LogHelper.test("获取列表商品下架1");
                         }
                         
                         List<ImgInfo> imgList = goodsEvaluate.getImgList();
@@ -1388,6 +1411,7 @@
                                SimpleGoods simpleGoods = imgInfo.getGoods();
                                if (simpleGoods != null) {
                                    simpleGoods.setState(1);
                                     LogHelper.test("获取列表商品下架2");
                                }
                            }
                            
@@ -1450,7 +1474,7 @@
                                if (!StringUtil.isNullOrEmpty(endTime)) {
                                    Date endDay = sdf.parse(endTime);
                                    if (endDay.getTime() < now.getTime()) {
                                        goodsEvaluate.setState(1); // 活动过期
                                        goodsEvaluate.setState(0); // 活动过期
                                    }
                                }
                            }
@@ -1518,6 +1542,15 @@
    private GoodsDetailVO getGoodsNewInfo(Long goodsId, int goodsType, ConfigParamsDTO paramsDTO) {
        GoodsDetailVO vo = null;
        if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
            TaoBaoGoodsBrief goods;
            try {
                goods = redisManager.getTaoBaoGoodsBrief(goodsId);
                if (goods != null) {
                    vo = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO);
                }
            } catch (TaobaoGoodsDownException e) {
                e.printStackTrace();
            }
        } else if (goodsType == Constant.SOURCE_TYPE_JD) {
            JDGoods goodsInfo = jdGoodsCacheUtil.getGoodsInfo(goodsId);