| | |
| | | import com.yeshi.fanli.dto.pdd.PDDGoodsDetail; |
| | | import com.yeshi.fanli.entity.bus.activity.ActivityUser; |
| | | import com.yeshi.fanli.entity.dynamic.CommentInfo; |
| | | import com.yeshi.fanli.entity.dynamic.CommentInfo.CommentInfoEnum; |
| | | import com.yeshi.fanli.entity.dynamic.GoodsEvaluate; |
| | | import com.yeshi.fanli.entity.dynamic.GoodsEvaluate.EvaluateEnum; |
| | | import com.yeshi.fanli.entity.dynamic.ImgInfo; |
| | | import com.yeshi.fanli.entity.dynamic.ImgInfo.ImgEnum; |
| | | import com.yeshi.fanli.entity.dynamic.SimpleGoods; |
| | |
| | | private PinDuoDuoCacheUtil pinDuoDuoCacheUtil; |
| | | |
| | | @Override |
| | | public void saveHead(MultipartFile file, GoodsEvaluate record) throws GoodsEvaluateException { |
| | | public String saveHead(MultipartFile file, GoodsEvaluate record) throws GoodsEvaluateException { |
| | | Integer state = record.getState(); |
| | | if (state == null) { |
| | | state = 0; |
| | |
| | | throw new GoodsEvaluateException(1, "截止时间必须大于开始时间"); |
| | | } |
| | | |
| | | Integer dynamicType = record.getDynamicType(); |
| | | if (dynamicType == null) { |
| | | record.setDynamicType(1); |
| | | } |
| | | |
| | | if (record.getShareNum() == null) |
| | | record.setShareNum(0); |
| | | |
| | |
| | | record.setStartTime(new Date()); |
| | | record.setPublishTime(record.getStartTime()); |
| | | |
| | | if (StringUtil.isNullOrEmpty(record.getId())) { |
| | | record.setId(UUID.randomUUID().toString().replace("-", "")); |
| | | String id = record.getId(); |
| | | if (StringUtil.isNullOrEmpty(id)) { |
| | | id = UUID.randomUUID().toString().replace("-", ""); |
| | | record.setId(id); |
| | | record.setShareNumReal(0); |
| | | record.setCreateTime(new Date()); |
| | | goodsEvaluateDao.save(record); |
| | | } else { |
| | | GoodsEvaluate resultObj = goodsEvaluateDao.getById(record.getId()); |
| | | GoodsEvaluate resultObj = goodsEvaluateDao.getById(id); |
| | | if (resultObj == null) |
| | | throw new GoodsEvaluateException(1, "修改内容已不存在"); |
| | | |
| | |
| | | resultObj.setTitle(tilte); |
| | | goodsEvaluateDao.save(resultObj); |
| | | } |
| | | return id; |
| | | } |
| | | |
| | | /** |
| | |
| | | String[] pics = picUrls.split(","); |
| | | if (pics != null) { |
| | | listpic = new ArrayList<>(); |
| | | for (int i = 0; i < pics.length; i++ ) { |
| | | if(pics[i].startsWith("http")){ |
| | | listpic.add(pics[i]); |
| | | for (int i = 0; i < pics.length; i++) { |
| | | String picLink = pics[i]; |
| | | if (fileRequest != null) { |
| | | MultipartFile file = fileRequest.getFile("file" + i); |
| | | if (file != null) { |
| | | picLink = uploadPicture(file); |
| | | } |
| | | |
| | | } |
| | | if (picLink.startsWith("http")) { |
| | | listpic.add(picLink); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (fileRequest != null) { |
| | | for (int i = 0; i < 9; i++) { |
| | | MultipartFile file = fileRequest.getFile("file" + i); |
| | | if (file == null) { |
| | | continue; |
| | | } |
| | | // 上传文件 |
| | | String picLink = uploadPicture(file); |
| | | if (listpic != null && listpic.size() > i) { |
| | | // 需要删除的list |
| | | String delUrl = listpic.get(i); |
| | | listDel.add(delUrl); |
| | | listpic.set(i, picLink); |
| | | continue; |
| | | } |
| | | listpic.add(picLink); |
| | | } |
| | | // 指定主图 |
| | | if (picNum == null || picNum > 9 || picNum < 1) { |
| | | picNum = 1; |
| | | } |
| | | |
| | | // 指定主图 |
| | | if (picNum == null || picNum > 9 || picNum < 1) { |
| | | picNum = 1; |
| | | } |
| | | if (listpic != null && listpic.size() > 0) { |
| | | for (int i = 0; i < listpic.size(); i++) { |
| | | ImgInfo imgInfo0 = new ImgInfo(); |
| | | imgInfo0.setId(UUID.randomUUID().toString().replace("-", "")); |
| | | imgInfo0.setW(1); |
| | | imgInfo0.setH(1); |
| | | imgInfo0.setLarge(false); |
| | | imgInfo0.setPid(pid); |
| | | imgInfo0.setUrl(listpic.get(i)); |
| | | imgInfo0.setUrlHD(listpic.get(i)); |
| | | |
| | | if (listpic != null && listpic.size() > 0) { |
| | | // 对比图片 |
| | | for (int j = 0; j < listOld.size(); j++) { |
| | | boolean del = true; |
| | | for (int i = 0; i < listpic.size(); i++) { |
| | | if (listpic.get(i).equals(listOld.get(j))) { |
| | | del = false; |
| | | break; |
| | | } |
| | | if (picNum - 1 == i) { |
| | | imgInfo0.setType(ImgEnum.goods); |
| | | // 商品信息 |
| | | GoodsDetailVO goodsDetailVO = getGoodsDetailVO(goodsId, goodsType); |
| | | if (goodsDetailVO == null) { |
| | | throw new GoodsEvaluateException(1, "该商品信息不存在"); |
| | | } |
| | | if (del) |
| | | listDel.add(listOld.get(j)); |
| | | } |
| | | |
| | | for (int i = 0; i < listpic.size(); i++) { |
| | | ImgInfo imgInfo0 = new ImgInfo(); |
| | | imgInfo0.setId(UUID.randomUUID().toString().replace("-", "")); |
| | | imgInfo0.setW(1); |
| | | imgInfo0.setH(1); |
| | | imgInfo0.setLarge(false); |
| | | imgInfo0.setPid(pid); |
| | | imgInfo0.setUrl(listpic.get(i)); |
| | | imgInfo0.setUrlHD(listpic.get(i)); |
| | | |
| | | if (picNum - 1 == i) { |
| | | imgInfo0.setType(ImgEnum.goods); |
| | | // 商品信息 |
| | | GoodsDetailVO goodsDetailVO = null; // TODO |
| | | // getGoodsDetailVO(goodsId, goodsType); |
| | | // if (goodsDetailVO == null) { |
| | | // throw new GoodsEvaluateException(1, "该商品信息不存在"); |
| | | // } |
| | | |
| | | SimpleGoods simpleGoods = new SimpleGoods(); |
| | | simpleGoods.setGoodsId(goodsId); |
| | | simpleGoods.setGoodsType(goodsType); |
| | | // simpleGoods.setPrice(goodsDetailVO.getCouponPrice()); |
| | | // CouponInfoVO couponInfo = goodsDetailVO.getCouponInfo(); |
| | | // if (couponInfo == null) { |
| | | // simpleGoods.setState(1); |
| | | // } else { |
| | | // simpleGoods.setAmount(couponInfo.getAmount()); |
| | | // simpleGoods.setState(0); |
| | | // } |
| | | imgInfo0.setGoods(simpleGoods); |
| | | SimpleGoods simpleGoods = new SimpleGoods(); |
| | | simpleGoods.setGoodsId(goodsId); |
| | | simpleGoods.setGoodsType(goodsType); |
| | | simpleGoods.setPrice(goodsDetailVO.getCouponPrice()); |
| | | CouponInfoVO couponInfo = goodsDetailVO.getCouponInfo(); |
| | | if (couponInfo == null) { |
| | | simpleGoods.setState(1); |
| | | } else { |
| | | imgInfo0.setType(ImgEnum.img); |
| | | simpleGoods.setAmount(couponInfo.getAmount()); |
| | | simpleGoods.setState(0); |
| | | } |
| | | listImg.add(imgInfo0); |
| | | imgInfo0.setGoods(simpleGoods); |
| | | } else { |
| | | imgInfo0.setType(ImgEnum.img); |
| | | } |
| | | listImg.add(imgInfo0); |
| | | } |
| | | } |
| | | |
| | | if (listOld != null && listOld.size() > 0) { |
| | | for (int j = 0; j < listOld.size(); j++) { |
| | | boolean del = true; |
| | | String oldPic = listOld.get(j); |
| | | for (ImgInfo imgInfo: listImg) { |
| | | String url = imgInfo.getUrl(); |
| | | if (url.equals(oldPic)) { |
| | | del = false; |
| | | } |
| | | } |
| | | if (del) |
| | | listDel.add(listOld.get(j)); |
| | | } |
| | | } |
| | | |
| | |
| | | resultObj.setMainPicNum(picNum); |
| | | resultObj.setImgList(listImg); |
| | | goodsEvaluateDao.save(resultObj); |
| | | |
| | | |
| | | // 删除图片 |
| | | if (listDel.size() > 0) { |
| | | for (String url : listDel) { |
| | |
| | | } |
| | | return goodsDetail; |
| | | } |
| | | |
| | | @Override |
| | | public void saveMultipleGoods(String pid, String videoUrl, String goodsList, |
| | | MultipartHttpServletRequest fileRequest) throws GoodsEvaluateException, Exception { |
| | | if (StringUtil.isNullOrEmpty(pid)) { |
| | | throw new GoodsEvaluateException(1, "请保存第一部分信息"); |
| | | } |
| | | |
| | | GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid); |
| | | if (resultObj == null) |
| | | throw new GoodsEvaluateException(1, "第一部分信息缺失"); |
| | | |
| | | // 原封视频面图 |
| | | ImgInfo imgVideo = null; |
| | | List<String> listDel = new ArrayList<String>(); |
| | | List<ImgInfo> oldGoodsList = new ArrayList<ImgInfo>(); |
| | | |
| | | // 处理图片 |
| | | List<ImgInfo> resultList = resultObj.getImgList(); |
| | | if (resultList != null && resultList.size() > 0) { |
| | | for (ImgInfo info : resultList) { |
| | | ImgEnum type = info.getType(); |
| | | if (type == ImgEnum.video) { |
| | | imgVideo = info; |
| | | } else if (type == ImgEnum.goods) { |
| | | oldGoodsList.add(info); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 视频部分 |
| | | if (fileRequest != null) { |
| | | MultipartFile filevideo = fileRequest.getFile("filevideo"); |
| | | if (filevideo != null) { |
| | | if (StringUtil.isNullOrEmpty(videoUrl)) { |
| | | throw new GoodsEvaluateException(1, "视频链接不能为空"); |
| | | } |
| | | |
| | | String picLink = uploadPicture(filevideo); |
| | | if (imgVideo != null) { |
| | | String url = imgVideo.getUrl(); |
| | | if (!StringUtil.isNullOrEmpty(url)) { |
| | | listDel.add(url); |
| | | } |
| | | imgVideo.setUrl(picLink); |
| | | imgVideo.setUrlHD(picLink); |
| | | } else { |
| | | imgVideo = new ImgInfo(); |
| | | imgVideo.setId(UUID.randomUUID().toString().replace("-", "")); |
| | | imgVideo.setW(1); |
| | | imgVideo.setH(1); |
| | | imgVideo.setLarge(true); |
| | | imgVideo.setPid(pid); |
| | | imgVideo.setUrl(picLink); |
| | | imgVideo.setUrlHD(picLink); |
| | | imgVideo.setVideoUrl(videoUrl); |
| | | imgVideo.setType(ImgEnum.video); |
| | | } |
| | | } |
| | | } |
| | | |
| | | List<ImgInfo> listImg = new ArrayList<ImgInfo>(); |
| | | if (imgVideo != null) { |
| | | if (!StringUtil.isNullOrEmpty(videoUrl)) { |
| | | if (imgVideo != null && StringUtil.isNullOrEmpty(imgVideo.getUrl())) { |
| | | throw new GoodsEvaluateException(1, "视频封面图不能为空"); |
| | | } |
| | | imgVideo.setVideoUrl(videoUrl); |
| | | listImg.add(imgVideo); |
| | | } else { |
| | | String url = imgVideo.getUrl(); |
| | | if (!StringUtil.isNullOrEmpty(url)) { |
| | | listDel.add(url); |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (!StringUtil.isNullOrEmpty(goodsList)) { |
| | | String[] goodsArray = goodsList.split(","); |
| | | if (goodsArray != null && goodsArray.length > 0) { |
| | | for (int i = 0; i < goodsArray.length || i < 9; i++) { |
| | | String goodsids = goodsArray[i]; |
| | | String[] g = goodsids.split("-"); |
| | | GoodsDetailVO goodsDetailVO = getGoodsDetailVO(Long.parseLong(g[0]), Integer.parseInt(g[1])); |
| | | if (goodsDetailVO == null) { |
| | | continue; |
| | | } |
| | | |
| | | String picUrl = goodsDetailVO.getPicUrl(); |
| | | if (fileRequest != null) { |
| | | MultipartFile file = fileRequest.getFile("file" + i); |
| | | if (file != null) { |
| | | picUrl = uploadPicture(file); |
| | | } |
| | | } |
| | | |
| | | ImgInfo imgInfo0 = new ImgInfo(); |
| | | imgInfo0.setId(UUID.randomUUID().toString().replace("-", "")); |
| | | imgInfo0.setW(1); |
| | | imgInfo0.setH(1); |
| | | imgInfo0.setLarge(false); |
| | | imgInfo0.setPid(pid); |
| | | imgInfo0.setUrl(picUrl); |
| | | imgInfo0.setUrlHD(picUrl); |
| | | imgInfo0.setType(ImgEnum.goods); |
| | | |
| | | SimpleGoods simpleGoods = new SimpleGoods(); |
| | | simpleGoods.setGoodsId(goodsDetailVO.getGoodsId()); |
| | | simpleGoods.setGoodsType(goodsDetailVO.getGoodsType()); |
| | | simpleGoods.setPrice(goodsDetailVO.getCouponPrice()); |
| | | CouponInfoVO couponInfo = goodsDetailVO.getCouponInfo(); |
| | | if (couponInfo == null) { |
| | | simpleGoods.setState(1); |
| | | } else { |
| | | simpleGoods.setAmount(couponInfo.getAmount()); |
| | | simpleGoods.setState(0); |
| | | } |
| | | imgInfo0.setGoods(simpleGoods); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 数据对比 删除图片 |
| | | if (oldGoodsList != null && oldGoodsList.size() > 0) { |
| | | for (ImgInfo old : oldGoodsList) { |
| | | ImgEnum type = old.getType(); |
| | | if (type != ImgEnum.goods) { |
| | | continue; |
| | | } |
| | | |
| | | boolean del = false; |
| | | long oldGoodsId = old.getGoods().getGoodsId().longValue(); |
| | | int oldGoodsType = old.getGoods().getGoodsType().intValue(); |
| | | for (ImgInfo newInfo : listImg) { |
| | | ImgEnum type2 = old.getType(); |
| | | if (type2 != ImgEnum.goods) { |
| | | continue; |
| | | } |
| | | |
| | | if (oldGoodsId == newInfo.getGoods().getGoodsId().longValue() |
| | | && oldGoodsType == newInfo.getGoods().getGoodsType().intValue()) { |
| | | String url = newInfo.getUrl(); |
| | | if (url.equals(old.getUrl())) { |
| | | |
| | | } else if (url.contains(FilePathEnum.goodsEvaluate.getPath())) { |
| | | del = true; |
| | | } else { |
| | | newInfo.setUrl(old.getUrl()); |
| | | newInfo.setUrlHD(old.getUrlHD()); |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if (del) { |
| | | listDel.add(old.getUrl()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 保存图片信息 |
| | | resultObj.setImgList(listImg); |
| | | goodsEvaluateDao.save(resultObj); |
| | | |
| | | // 删除图片 |
| | | if (listDel.size() > 0) { |
| | | for (String url : listDel) { |
| | | if (url.contains(FilePathEnum.goodsEvaluate.getPath())) { |
| | | removePicture(url); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void saveGoodsCoupon(String pid, String tags, String content) throws GoodsEvaluateException, Exception { |
| | | if (StringUtil.isNullOrEmpty(pid)) { |
| | | throw new GoodsEvaluateException(1, "请保存第一部分信息"); |
| | | } |
| | | |
| | | GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid); |
| | | if (resultObj == null) |
| | | throw new GoodsEvaluateException(1, "第一部分信息缺失"); |
| | | |
| | | CommentInfo goodsCoupon = null; |
| | | CommentInfo currencyCoupon = null; |
| | | List<CommentInfo> oldComments = resultObj.getComments(); |
| | | if (oldComments != null) { |
| | | for (CommentInfo info: oldComments) { |
| | | if(CommentInfoEnum.goodsCoupon == info.getType()) { |
| | | goodsCoupon = info; |
| | | } else if (CommentInfoEnum.currencyCoupon == info.getType()) { |
| | | currencyCoupon = info; |
| | | } |
| | | } |
| | | } |
| | | |
| | | List<CommentInfo> comments = new ArrayList<>(); |
| | | if (!StringUtil.isNullOrEmpty(content)) { |
| | | CommentInfo commentInfo = new CommentInfo(); |
| | | if (goodsCoupon != null) { |
| | | commentInfo.setId(goodsCoupon.getId()); |
| | | } else { |
| | | commentInfo.setId(UUID.randomUUID().toString().replace("-", "")); |
| | | } |
| | | commentInfo.setContent(content); |
| | | commentInfo.setType(CommentInfoEnum.goodsCoupon); |
| | | comments.add(currencyCoupon); |
| | | } |
| | | |
| | | if (currencyCoupon != null) { |
| | | comments.add(currencyCoupon); |
| | | } |
| | | |
| | | resultObj.setComments(comments); |
| | | goodsEvaluateDao.save(resultObj); |
| | | } |
| | | |
| | | @Override |
| | | public void saveSingleGoodsCoupon(String pid, CommentInfo commentInfo) throws GoodsEvaluateException, Exception { |
| | |
| | | if (resultObj == null) |
| | | throw new GoodsEvaluateException(1, "第一部分信息缺失"); |
| | | |
| | | CommentInfo goodsCoupon = null; |
| | | CommentInfo currencyCoupon = null; |
| | | List<CommentInfo> oldComments = resultObj.getComments(); |
| | | if (oldComments != null) { |
| | | for (CommentInfo info: oldComments) { |
| | | if(CommentInfoEnum.goodsCoupon == info.getType()) { |
| | | goodsCoupon = info; |
| | | } else if (CommentInfoEnum.currencyCoupon == info.getType()) { |
| | | currencyCoupon = info; |
| | | } |
| | | } |
| | | } |
| | | |
| | | List<CommentInfo> comments = new ArrayList<>(); |
| | | if (goodsCoupon != null) { |
| | | comments.add(goodsCoupon); |
| | | } |
| | | |
| | | if (commentInfo != null) { |
| | | if (currencyCoupon != null) { |
| | | commentInfo.setId(currencyCoupon.getId()); |
| | | } else { |
| | | commentInfo.setId(UUID.randomUUID().toString().replace("-", "")); |
| | | } |
| | | commentInfo.setType(CommentInfoEnum.currencyCoupon); |
| | | |
| | | // 标签信息 |
| | | List<ClientTextStyleVO> tagList = new ArrayList<>(); |
| | | String couponSource = commentInfo.getCouponSource(); |
| | | if (!StringUtil.isNullOrEmpty(couponSource)) { |
| | | ClientTextStyleVO styleVO = new ClientTextStyleVO(); |
| | | styleVO.setColor("#16C253"); |
| | | styleVO.setContent(couponSource); |
| | | tagList.add(styleVO); |
| | | } |
| | | String coupon = commentInfo.getCoupon(); |
| | | if (!StringUtil.isNullOrEmpty(coupon)) { |
| | | ClientTextStyleVO styleVO = new ClientTextStyleVO(); |
| | | styleVO.setColor("#E5005C"); |
| | | styleVO.setContent(coupon); |
| | | tagList.add(styleVO); |
| | | } |
| | | commentInfo.setTagList(tagList); |
| | | |
| | | comments.add(commentInfo); |
| | | } |
| | | resultObj.setComments(comments); |
| | | |
| | | resultObj.setComments(comments); |
| | | |
| | | goodsEvaluateDao.save(resultObj); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void saveActivityPic(String pid, ImgInfo imgInfo, MultipartHttpServletRequest fileRequest) throws GoodsEvaluateException, Exception { |
| | | public void saveActivityPic(String pid, ImgInfo imgInfo, MultipartHttpServletRequest fileRequest) |
| | | throws GoodsEvaluateException, Exception { |
| | | if (StringUtil.isNullOrEmpty(pid)) { |
| | | throw new GoodsEvaluateException(1, "请保存第一部分信息"); |
| | | } |
| | |
| | | ImgInfo imgactivity = null; |
| | | List<ImgInfo> resultList = resultObj.getImgList(); |
| | | if (resultList != null && resultList.size() > 0) { |
| | | for(ImgInfo info: resultList) { |
| | | for (ImgInfo info : resultList) { |
| | | if (info.getType() == ImgEnum.activity) { |
| | | activityPic = info.getActivityPic(); |
| | | imgVideo = info; |
| | | imgactivity = info; |
| | | } else { |
| | | imgVideo = info; |
| | | videoPic = info.getUrl(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | List<ImgInfo> listImg = new ArrayList<ImgInfo>(); |
| | | if (fileRequest != null) { |
| | | MultipartFile filevideo = fileRequest.getFile("filevideo"); |
| | |
| | | String picLink = uploadPicture(filevideo); |
| | | videoPic = picLink; |
| | | } |
| | | |
| | | |
| | | MultipartFile activityfile = fileRequest.getFile("activityfile"); |
| | | if (activityfile != null) { |
| | | removePicture(activityPic); |
| | |
| | | activityPic = picLink; |
| | | } |
| | | } |
| | | |
| | | |
| | | if (!StringUtil.isNullOrEmpty(videoPic) || !StringUtil.isNullOrEmpty(imgInfo.getVideoUrl())) { |
| | | if (imgVideo != null){ |
| | | if (imgVideo != null) { |
| | | imgVideo.setUrl(videoPic); |
| | | imgVideo.setUrlHD(videoPic); |
| | | imgVideo.setVideoUrl(imgInfo.getVideoUrl()); |
| | |
| | | } |
| | | listImg.add(imgVideo); |
| | | } |
| | | |
| | | |
| | | if (!StringUtil.isNullOrEmpty(activityPic) || !StringUtil.isNullOrEmpty(imgInfo.getActivityUrl())) { |
| | | if (imgVideo != null){ |
| | | imgVideo.setUrl(activityPic); |
| | | imgVideo.setUrlHD(activityPic); |
| | | imgVideo.setVideoUrl(imgInfo.getVideoUrl()); |
| | | if (imgactivity != null) { |
| | | imgactivity.setUrl(activityPic); |
| | | imgactivity.setUrlHD(activityPic); |
| | | imgactivity.setActivityUrl(imgInfo.getActivityUrl()); |
| | | } else { |
| | | imgVideo = new ImgInfo(); |
| | | imgVideo.setId(UUID.randomUUID().toString().replace("-", "")); |
| | | imgVideo.setW(1); |
| | | imgVideo.setH(1); |
| | | imgVideo.setLarge(true); |
| | | imgVideo.setPid(pid); |
| | | imgVideo.setUrl(activityPic); |
| | | imgVideo.setUrlHD(activityPic); |
| | | imgVideo.setActivityUrl(imgInfo.getActivityUrl()); |
| | | imgVideo.setType(ImgEnum.activity); |
| | | imgactivity = new ImgInfo(); |
| | | imgactivity.setId(UUID.randomUUID().toString().replace("-", "")); |
| | | imgactivity.setW(1); |
| | | imgactivity.setH(1); |
| | | imgactivity.setLarge(true); |
| | | imgactivity.setPid(pid); |
| | | imgactivity.setUrl(activityPic); |
| | | imgactivity.setUrlHD(activityPic); |
| | | imgactivity.setActivityUrl(imgInfo.getActivityUrl()); |
| | | imgactivity.setType(ImgEnum.activity); |
| | | } |
| | | listImg.add(imgVideo); |
| | | listImg.add(imgactivity); |
| | | } |
| | | resultObj.setImgList(listImg); |
| | | goodsEvaluateDao.save(resultObj); |
| | | } |
| | | |
| | | @Override |
| | | public void saveSuCai(String pid, String videoUrl, String picUrls, |
| | | MultipartHttpServletRequest fileRequest) throws GoodsEvaluateException, Exception { |
| | | if (StringUtil.isNullOrEmpty(pid)) { |
| | | throw new GoodsEvaluateException(1, "请保存第一部分信息"); |
| | | } |
| | | |
| | | GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid); |
| | | if (resultObj == null) |
| | | throw new GoodsEvaluateException(1, "第一部分信息缺失"); |
| | | |
| | | // 原封视频面图 |
| | | ImgInfo imgVideo = null; |
| | | List<String> listDel = new ArrayList<String>(); |
| | | List<String> listOld = new ArrayList<String>(); |
| | | |
| | | // 处理图片 |
| | | List<ImgInfo> resultList = resultObj.getImgList(); |
| | | if (resultList != null && resultList.size() > 0) { |
| | | for (ImgInfo info : resultList) { |
| | | ImgEnum type = info.getType(); |
| | | if (type == ImgEnum.video) { |
| | | imgVideo = info; |
| | | } else if (type == ImgEnum.img) { |
| | | String url = info.getUrl(); |
| | | if (!StringUtil.isNullOrEmpty(url)) { |
| | | listOld.add(url); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 视频部分 |
| | | if (fileRequest != null) { |
| | | MultipartFile filevideo = fileRequest.getFile("filevideo"); |
| | | if (filevideo != null) { |
| | | if (StringUtil.isNullOrEmpty(videoUrl)) { |
| | | throw new GoodsEvaluateException(1, "视频链接不能为空"); |
| | | } |
| | | |
| | | String picLink = uploadPicture(filevideo); |
| | | if (imgVideo != null) { |
| | | String url = imgVideo.getUrl(); |
| | | if (!StringUtil.isNullOrEmpty(url)) { |
| | | listDel.add(url); |
| | | } |
| | | imgVideo.setUrl(picLink); |
| | | imgVideo.setUrlHD(picLink); |
| | | } else { |
| | | imgVideo = new ImgInfo(); |
| | | imgVideo.setId(UUID.randomUUID().toString().replace("-", "")); |
| | | imgVideo.setW(1); |
| | | imgVideo.setH(1); |
| | | imgVideo.setLarge(true); |
| | | imgVideo.setPid(pid); |
| | | imgVideo.setUrl(picLink); |
| | | imgVideo.setUrlHD(picLink); |
| | | imgVideo.setVideoUrl(videoUrl); |
| | | imgVideo.setType(ImgEnum.video); |
| | | } |
| | | } |
| | | } |
| | | |
| | | List<ImgInfo> listImg = new ArrayList<ImgInfo>(); |
| | | if (imgVideo != null) { |
| | | if (!StringUtil.isNullOrEmpty(videoUrl)) { |
| | | if (imgVideo != null && StringUtil.isNullOrEmpty(imgVideo.getUrl())) { |
| | | throw new GoodsEvaluateException(1, "视频封面图不能为空"); |
| | | } |
| | | imgVideo.setVideoUrl(videoUrl); |
| | | listImg.add(imgVideo); |
| | | } else { |
| | | String url = imgVideo.getUrl(); |
| | | if (!StringUtil.isNullOrEmpty(url)) { |
| | | listDel.add(url); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 编辑图片 |
| | | List<String> listpic = null; |
| | | if (!StringUtil.isNullOrEmpty(picUrls)) { |
| | | String[] pics = picUrls.split(","); |
| | | if (pics != null) { |
| | | listpic = new ArrayList<>(); |
| | | for (int i = 0; i < pics.length; i++) { |
| | | String picLink = pics[i]; |
| | | if (fileRequest != null) { |
| | | MultipartFile file = fileRequest.getFile("file" + i); |
| | | if (file != null) { |
| | | picLink = uploadPicture(file); |
| | | } |
| | | } |
| | | |
| | | if (picLink.startsWith("http")) { |
| | | listpic.add(picLink); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (listpic != null && listpic.size() > 0) { |
| | | for (int i = 0; i < listpic.size(); i++) { |
| | | ImgInfo imgInfo0 = new ImgInfo(); |
| | | imgInfo0.setId(UUID.randomUUID().toString().replace("-", "")); |
| | | imgInfo0.setW(1); |
| | | imgInfo0.setH(1); |
| | | imgInfo0.setLarge(false); |
| | | imgInfo0.setPid(pid); |
| | | imgInfo0.setUrl(listpic.get(i)); |
| | | imgInfo0.setUrlHD(listpic.get(i)); |
| | | imgInfo0.setType(ImgEnum.img); |
| | | listImg.add(imgInfo0); |
| | | } |
| | | } |
| | | |
| | | if (listOld != null && listOld.size() > 0) { |
| | | for (int j = 0; j < listOld.size(); j++) { |
| | | boolean del = true; |
| | | String oldPic = listOld.get(j); |
| | | for (ImgInfo imgInfo: listImg) { |
| | | String url = imgInfo.getUrl(); |
| | | if (url.equals(oldPic)) { |
| | | del = false; |
| | | } |
| | | } |
| | | if (del) |
| | | listDel.add(listOld.get(j)); |
| | | } |
| | | } |
| | | |
| | | resultObj.setImgList(listImg); |
| | | goodsEvaluateDao.save(resultObj); |
| | | |
| | | // 删除图片 |
| | | if (listDel.size() > 0) { |
| | | for (String url : listDel) { |
| | | if (url.contains(FilePathEnum.goodsEvaluate.getPath())) { |
| | | removePicture(url); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void deleteBatchByPrimaryKey(List<String> list) { |
| | |
| | | goodsEvaluate.setComments(comments); |
| | | goodsEvaluateDao.save(goodsEvaluate); |
| | | } |
| | | |
| | | @Override |
| | | public void release(String id) throws GoodsEvaluateException { |
| | | GoodsEvaluate goodsEvaluate = goodsEvaluateDao.getById(id); |
| | | if (goodsEvaluate == null) { |
| | | throw new GoodsEvaluateException(1, "动态已不存在"); |
| | | } |
| | | goodsEvaluate.setState(1); |
| | | goodsEvaluateDao.save(goodsEvaluate); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void deleteComment(String pid, List<String> list) throws GoodsEvaluateException { |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<GoodsEvaluate> query(int start, int count, String key, Integer state) { |
| | | return goodsEvaluateDao.query(start, count, key, state); |
| | | public List<GoodsEvaluate> query(int start, int count, String key, Integer state, int dynamicType) { |
| | | return goodsEvaluateDao.query(start, count, key, state, dynamicType); |
| | | } |
| | | |
| | | @Override |
| | | public long count(String key, Integer state) { |
| | | return goodsEvaluateDao.count(key, state); |
| | | public long count(String key, Integer state, int dynamicType) { |
| | | return goodsEvaluateDao.count(key, state, dynamicType); |
| | | } |
| | | |
| | | @Override |
| | | @Cacheable(value = "dynamicCache", key = "'queryValidEvaluateCache-'+#start") |
| | | public List<GoodsEvaluate> queryValidEvaluateCache(int start, int count) { |
| | | List<GoodsEvaluate> list = goodsEvaluateDao.queryValid(start, count); |
| | | List<GoodsEvaluate> list = goodsEvaluateDao.queryValid(start, count, 1); |
| | | |
| | | // 更新商品信息 |
| | | executor.execute(new Runnable() { |
| | |
| | | |
| | | @Override |
| | | public long countValid() { |
| | | return goodsEvaluateDao.countValid(); |
| | | return goodsEvaluateDao.countValid(1); |
| | | } |
| | | |
| | | @Override |
| | | @Cacheable(value = "dynamicCache", key = "'queryMaterialsCache-'+#start+'-'+#type") |
| | | public List<GoodsEvaluate> queryMaterialsCache(int start, int count, int type) { |
| | | List<GoodsEvaluate> list = goodsEvaluateDao.queryValid(start, count, type); |
| | | // 更新商品信息 |
| | | executor.execute(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | updateGoodInfo(list); |
| | | } |
| | | }); |
| | | return list; |
| | | } |
| | | |
| | | @Override |
| | | public long countValidMaterials(int type) { |
| | | return goodsEvaluateDao.countValid(type); |
| | | } |
| | | |
| | | /** |