| | |
| | | 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.vip.goods.VIPGoodsInfo; |
| | | import com.yeshi.fanli.entity.bus.activity.ActivityUser; |
| | | import com.yeshi.fanli.entity.bus.clazz.GoodsClass; |
| | | import com.yeshi.fanli.entity.dynamic.CommentInfo; |
| | |
| | | |
| | | @Resource |
| | | private HongBaoManageService hongBaoManageService; |
| | | |
| | | |
| | | @Resource |
| | | private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService; |
| | | |
| | |
| | | @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; |
| | |
| | | } |
| | | goodsEvaluateDao.updateSatate(id, state); |
| | | } |
| | | |
| | | |
| | | |
| | | @Override |
| | | public String saveHead(MultipartFile file, GoodsEvaluate record) throws GoodsEvaluateException { |
| | | Integer state = record.getState(); |
| | |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | |
| | | private ImgInfo uploadOriginalPicture(MultipartFile file) { |
| | | try { |
| | | InputStream inputStream = file.getInputStream(); |
| | | String contentType = file.getContentType(); |
| | | String type = contentType.substring(contentType.indexOf("/") + 1); |
| | | String filePath = FilePathEnum.goodsEvaluate.getPath() + UUID.randomUUID().toString().replace("-", "") + "."+ type; |
| | | |
| | | String filePath = FilePathEnum.goodsEvaluate.getPath() + UUID.randomUUID().toString().replace("-", "") + "." |
| | | + type; |
| | | |
| | | BufferedImage sourceImg = ImageIO.read(inputStream); |
| | | ImgInfo info = new ImgInfo(); |
| | | int width = sourceImg.getWidth(); |
| | | int height = sourceImg.getHeight(); |
| | | |
| | | |
| | | String picLink = COSManager.getInstance().uploadFile(file.getInputStream(), filePath).getUrl(); |
| | | |
| | | |
| | | info.setH(height); |
| | | info.setW(width); |
| | | info.setUrl(picLink); |
| | |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | |
| | | private String uploadPicture(File file, String contentType) throws Exception { |
| | | InputStream inputStream = new FileInputStream(file); |
| | |
| | | if (StringUtil.isNullOrEmpty(commentInfo.getId())) { |
| | | commentInfo.setId(UUID.randomUUID().toString().replace("-", "")); |
| | | } |
| | | |
| | | |
| | | commentInfo.setNeedSpin(true); |
| | | commentInfo.setType(commentInfo.getTags()); |
| | | commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon); |
| | |
| | | goodsEvaluateDao.save(resultObj); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void saveCurrencyCoupon(String pid, int kind, CommentInfo commentInfo) |
| | | throws GoodsEvaluateException, Exception { |
| | |
| | | GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid); |
| | | if (resultObj == null) |
| | | throw new GoodsEvaluateException(1, "第一部分信息缺失"); |
| | | |
| | | |
| | | if (EvaluateEnum.activity != resultObj.getType()) { |
| | | if (StringUtil.isNullOrEmpty(commentInfo.getCoupon())) { |
| | | throw new GoodsEvaluateException(1, "券面额不能为空"); |
| | |
| | | if (commentInfo.getNeedSpin() == null) { |
| | | commentInfo.setNeedSpin(false); |
| | | } |
| | | |
| | | |
| | | String content = commentInfo.getContent(); |
| | | if (!StringUtil.isNullOrEmpty(content) && commentInfo.getNeedSpin()) { |
| | | try { |
| | |
| | | throw new GoodsEvaluateException(1, "包含不可转链的口令与链接"); |
| | | } |
| | | } |
| | | |
| | | |
| | | List<CommentInfo> comments = new ArrayList<>(); |
| | | CommentInfo currencyCoupon = null; |
| | |
| | | GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid); |
| | | if (resultObj == null) |
| | | throw new GoodsEvaluateException(1, "第一部分信息缺失"); |
| | | |
| | | |
| | | if (imgInfo == null || StringUtil.isNullOrEmpty(imgInfo.getActivityUrl())) { |
| | | throw new GoodsEvaluateException(1, "活动链接不能为空"); |
| | | } |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | // 视频部分 |
| | | if (fileRequest != null) { |
| | | MultipartFile filevideo = fileRequest.getFile("filevideo"); |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | List<ImgInfo> listImg = new ArrayList<ImgInfo>(); |
| | | if (imgVideo != null) { |
| | | if (!StringUtil.isNullOrEmpty(imgInfo.getVideoUrl())) { |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | String activityUrl = imgInfo.getActivityUrl(); |
| | | // 编辑图片 |
| | | List<ImgInfo> tempList = new ArrayList<ImgInfo>(); |
| | |
| | | String picLink = pics[i]; |
| | | if (picLink.startsWith("http")) { |
| | | if (listOld != null) { |
| | | for (ImgInfo info: listOld) { |
| | | for (ImgInfo info : listOld) { |
| | | if (info.getUrl().equals(picLink)) { |
| | | info.setActivityUrl(activityUrl); |
| | | tempList.add(info); |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | // 上传文件替换 |
| | | if (fileRequest != null) { |
| | | for (int i = 0; i < 9; i++) { |
| | |
| | | } else { |
| | | tempList.add(imgInfo0); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | int lineNum = 0; |
| | | int totalImg = tempList.size(); |
| | | if (totalImg > 0) { |
| | |
| | | lineNum = 3; |
| | | } |
| | | } |
| | | |
| | | |
| | | // 一张图显示为大图 |
| | | if (tempList.size() == 1) { |
| | | tempList.get(0).setLarge(true); |
| | | } |
| | | |
| | | |
| | | if (tempList.size() > 0) { |
| | | listImg.addAll(tempList); |
| | | } |
| | | |
| | | |
| | | // 清理老图片 |
| | | if (listOld != null && listOld.size() > 0) { |
| | | for (ImgInfo infoOld: listOld) { |
| | | for (ImgInfo infoOld : listOld) { |
| | | boolean del = true; |
| | | String oldPic = infoOld.getUrl(); |
| | | for (ImgInfo info : listImg) { |
| | |
| | | listDel.add(infoOld.getUrl()); |
| | | } |
| | | } |
| | | |
| | | |
| | | resultObj.setJumpLink(activityUrl); |
| | | resultObj.setLineNum(lineNum); |
| | | resultObj.setImgList(listImg); |
| | | goodsEvaluateDao.save(resultObj); |
| | | |
| | | |
| | | // 删除图片 |
| | | if (listDel.size() > 0) { |
| | | for (String url : listDel) { |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<GoodsEvaluate> query(int start, int count, String key, Integer state, int dynamicType, String typeEnum) { |
| | | public List<GoodsEvaluate> query(int start, int count, String key, Integer state, int dynamicType, |
| | | String typeEnum) { |
| | | return goodsEvaluateDao.query(start, count, key, state, dynamicType, typeEnum); |
| | | } |
| | | |
| | |
| | | |
| | | // 删除已过期 |
| | | removeOverdue(); |
| | | |
| | | |
| | | removeDownGoods(); |
| | | } |
| | | }); |
| | |
| | | |
| | | // 删除已过期 |
| | | removeOverdue(); |
| | | |
| | | |
| | | removeDownGoods(); |
| | | } |
| | | }); |
| | |
| | | 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"); |
| | | } |
| | | 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()); |
| | | } |
| | |
| | | } |
| | | imgs.addAll(goodsimgs); |
| | | |
| | | |
| | | int i = 0; |
| | | List<ImgInfo> imgList = new ArrayList<>(); |
| | | for (String img : imgs) { |
| | |
| | | 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"); |
| | | } |
| | | 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); |
| | |
| | | imgList.add(imgInfo); |
| | | i++; |
| | | } |
| | | |
| | | |
| | | int lineNum = 0; |
| | | if (imgList.size() > 0) { |
| | | if (imgList.size() == 1) { |
| | |
| | | updateGoods(queryExist, goodsNew); |
| | | } |
| | | |
| | | @Override |
| | | public void updateVIPGoods(VIPGoodsInfo goods) { |
| | | if (goods == null) { |
| | | return; |
| | | } |
| | | List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_VIP, |
| | | Long.parseLong(goods.getGoodsId())); |
| | | if (queryExist == null || queryExist.size() == 0) { |
| | | return; |
| | | } |
| | | |
| | | ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); |
| | | paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); |
| | | GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertVIPGoods(goods, paramsDTO); |
| | | updateGoods(queryExist, goodsNew); |
| | | } |
| | | |
| | | private void updateGoods(List<GoodsEvaluate> listExist, GoodsDetailVO goodsNew) { |
| | | long goodsId = goodsNew.getGoodsId(); |
| | | int goodsType = goodsNew.getGoodsType(); |
| | |
| | | goodsEvaluateDao.save(goodsEvaluate); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | @Override |
| | | public void offlineTaoBaoGoods(Long goodsId) { |
| | | try { |
| | |
| | | if (list == null || list.size() == 0) { |
| | | return; |
| | | } |
| | | |
| | | |
| | | // 下架商品 |
| | | offlineGoods(list, Constant.SOURCE_TYPE_TAOBAO, goodsId); |
| | | } catch (Exception e) { |
| | |
| | | |
| | | @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()); |
| | |
| | | simpleGoods.setState(1); |
| | | GoodsDetailVO goodsVO = imgInfo.getGoodsVO(); |
| | | goodsVO.setState(1); |
| | | |
| | | |
| | | imgInfo.setGoods(simpleGoods); |
| | | imgInfo.setGoodsVO(goodsVO); |
| | | } |
| | |
| | | goodsEvaluateDao.save(goodsEvaluate); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 删除已过期时间 |
| | | */ |
| | | private void removeOverdue() { |
| | | if(1>0) |
| | | if (1 > 0) |
| | | return; |
| | | |
| | | |
| | | List<GoodsEvaluate> list = goodsEvaluateDao.queryOverdue(); |
| | | if (list == null || list.size() == 0) { |
| | | return; |
| | |
| | | * 删除商品已下架-单品 |
| | | */ |
| | | private void removeDownGoods() { |
| | | if(1>0) |
| | | if (1 > 0) |
| | | return; |
| | | try { |
| | | List<GoodsEvaluate> list = goodsEvaluateDao.removeDownGoods(); |
| | |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | } |