| | |
| | | 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; |
| | |
| | | |
| | | @Resource |
| | | private HongBaoManageService hongBaoManageService; |
| | | |
| | | @Resource |
| | | private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService; |
| | | |
| | | @Resource(name = "taskExecutor") |
| | | private TaskExecutor executor; |
| | |
| | | @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(); |
| | |
| | | if (record.getStartTime() != null && record.getEndTime().getTime() <= record.getStartTime().getTime()) |
| | | throw new GoodsEvaluateException(1, "截止时间必须大于开始时间"); |
| | | } else { |
| | | record.setEndTime(DateUtil.plusDayDate(3, new Date())); |
| | | if (record.getStartTime() == null) { |
| | | record.setEndTime(DateUtil.plusDayDate(3, new Date())); |
| | | } else { |
| | | record.setEndTime(DateUtil.plusDayDate(3, record.getStartTime())); |
| | | } |
| | | } |
| | | |
| | | Integer dynamicType = record.getDynamicType(); |
| | |
| | | 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 { |
| | |
| | | lineNum = 1; |
| | | } else if (totalImg == 3) { |
| | | lineNum = 3; |
| | | } else if (totalImg <= 4) { |
| | | } else if (totalImg == 2 || totalImg == 4) { |
| | | lineNum = 2; |
| | | } else { |
| | | lineNum = 3; |
| | |
| | | |
| | | 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 { |
| | |
| | | lineNum = 1; |
| | | } else if (totalImg == 3) { |
| | | lineNum = 3; |
| | | } else if (totalImg <= 4) { |
| | | } else if (totalImg == 2 || totalImg == 4) { |
| | | lineNum = 2; |
| | | } else { |
| | | lineNum = 3; |
| | |
| | | } |
| | | |
| | | @Override |
| | | public void saveActivityPic(String pid, ImgInfo imgInfo, MultipartHttpServletRequest fileRequest) |
| | | public void saveActivityPic(String pid, ImgInfo imgInfo, 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, "第一部分信息缺失"); |
| | | |
| | | if (imgInfo == null || StringUtil.isNullOrEmpty(imgInfo.getActivityUrl())) { |
| | | throw new GoodsEvaluateException(1, "活动链接不能为空"); |
| | | } |
| | | |
| | | String videoPic = null; |
| | | String activityPic = null; |
| | | ImgInfo imgVideo = null; |
| | | ImgInfo imgactivity = null; |
| | | List<String> listDel = new ArrayList<String>(); |
| | | List<ImgInfo> listOld = new ArrayList<ImgInfo>(); |
| | | List<ImgInfo> resultList = resultObj.getImgList(); |
| | | if (resultList != null && resultList.size() > 0) { |
| | | for (ImgInfo info : resultList) { |
| | | if (info.getType() == ImgEnum.activity) { |
| | | activityPic = info.getActivityPic(); |
| | | imgactivity = info; |
| | | } else { |
| | | if (info.getType() == ImgEnum.video) { |
| | | imgVideo = info; |
| | | videoPic = info.getUrl(); |
| | | } else { |
| | | listOld.add(info); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 视频部分 |
| | | if (fileRequest != null) { |
| | | MultipartFile filevideo = fileRequest.getFile("filevideo"); |
| | | if (filevideo != null) { |
| | | if (StringUtil.isNullOrEmpty(imgInfo.getVideoUrl())) { |
| | | throw new GoodsEvaluateException(1, "视频链接不能为空"); |
| | | } |
| | | ImgInfo info = uploadVideoPicture(filevideo); |
| | | if (info == null) |
| | | throw new GoodsEvaluateException(2, "视频图片上传失败"); |
| | | if (imgVideo != null) { |
| | | String url = imgVideo.getUrl(); |
| | | if (!StringUtil.isNullOrEmpty(url)) { |
| | | listDel.add(url); |
| | | } |
| | | imgVideo.setUrl(info.getUrl()); |
| | | imgVideo.setUrlHD(info.getUrl()); |
| | | } else { |
| | | imgVideo = new ImgInfo(); |
| | | imgVideo.setId(UUID.randomUUID().toString().replace("-", "")); |
| | | imgVideo.setLarge(true); |
| | | imgVideo.setPid(pid); |
| | | imgVideo.setUrl(info.getUrl()); |
| | | imgVideo.setUrlHD(info.getUrl()); |
| | | imgVideo.setVideoUrl(imgInfo.getVideoUrl()); |
| | | imgVideo.setType(ImgEnum.video); |
| | | } |
| | | imgVideo.setW(info.getW()); |
| | | imgVideo.setH(info.getH()); |
| | | } |
| | | } |
| | | |
| | | |
| | | List<ImgInfo> listImg = new ArrayList<ImgInfo>(); |
| | | if (imgVideo != null) { |
| | | if (!StringUtil.isNullOrEmpty(imgInfo.getVideoUrl())) { |
| | | if (imgVideo != null && StringUtil.isNullOrEmpty(imgVideo.getUrl())) { |
| | | throw new GoodsEvaluateException(1, "视频封面图不能为空"); |
| | | } |
| | | imgVideo.setVideoUrl(imgInfo.getVideoUrl()); |
| | | listImg.add(imgVideo); |
| | | } else { |
| | | String url = imgVideo.getUrl(); |
| | | if (!StringUtil.isNullOrEmpty(url)) { |
| | | listDel.add(url); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 编辑图片 |
| | | List<ImgInfo> tempList = new ArrayList<ImgInfo>(); |
| | | if (!StringUtil.isNullOrEmpty(picUrls)) { |
| | | String[] pics = picUrls.split(","); |
| | | if (pics != null) { |
| | | for (int i = 0; i < pics.length; i++) { |
| | | String picLink = pics[i]; |
| | | if (picLink.startsWith("http")) { |
| | | if (listOld != null) { |
| | | for (ImgInfo info: listOld) { |
| | | if (info.getUrl().equals(picLink)) { |
| | | tempList.add(info); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | int width = 0; |
| | | int height = 0; |
| | | int width2 = 0; |
| | | int height2 = 0; |
| | | List<ImgInfo> listImg = new ArrayList<ImgInfo>(); |
| | | // 上传文件替换 |
| | | if (fileRequest != null) { |
| | | MultipartFile filevideo = fileRequest.getFile("filevideo"); |
| | | if (filevideo != null) { |
| | | removePicture(videoPic); |
| | | |
| | | ImgInfo info = uploadVideoPicture(filevideo); |
| | | if (info == null) |
| | | throw new GoodsEvaluateException(2, "视频图片上传失败"); |
| | | videoPic = info.getUrl(); |
| | | width = info.getW(); |
| | | height = info.getH(); |
| | | } |
| | | |
| | | MultipartFile activityfile = fileRequest.getFile("activityfile"); |
| | | if (activityfile != null) { |
| | | removePicture(activityPic); |
| | | InputStream inputStream = activityfile.getInputStream(); |
| | | BufferedImage sourceImg = ImageIO.read(inputStream); |
| | | width2 = sourceImg.getWidth(); |
| | | height2 = sourceImg.getHeight(); |
| | | String picLink = uploadPicture(activityfile); |
| | | activityPic = picLink; |
| | | for (int i = 0; i < 9; i++) { |
| | | MultipartFile file = fileRequest.getFile("file" + i); |
| | | if (file != null) { |
| | | ImgInfo info = uploadVideoPicture(file); |
| | | ImgInfo imgInfo0 = new ImgInfo(); |
| | | imgInfo0.setId(UUID.randomUUID().toString().replace("-", "")); |
| | | imgInfo0.setLarge(false); |
| | | imgInfo0.setPid(pid); |
| | | imgInfo0.setUrl(info.getUrl()); |
| | | imgInfo0.setUrlHD(info.getUrl()); |
| | | imgInfo0.setType(ImgEnum.img); |
| | | imgInfo0.setW(info.getW()); |
| | | imgInfo0.setH(info.getH()); |
| | | |
| | | if (i < tempList.size()) { |
| | | tempList.set(i, imgInfo0); |
| | | } else { |
| | | tempList.add(imgInfo0); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (!StringUtil.isNullOrEmpty(videoPic) || !StringUtil.isNullOrEmpty(imgInfo.getVideoUrl())) { |
| | | if (imgVideo != null) { |
| | | imgVideo.setUrl(videoPic); |
| | | imgVideo.setUrlHD(videoPic); |
| | | imgVideo.setVideoUrl(imgInfo.getVideoUrl()); |
| | | } else { |
| | | imgVideo = new ImgInfo(); |
| | | imgVideo.setId(UUID.randomUUID().toString().replace("-", "")); |
| | | imgVideo.setLarge(true); |
| | | imgVideo.setPid(pid); |
| | | imgVideo.setUrl(videoPic); |
| | | imgVideo.setUrlHD(videoPic); |
| | | imgVideo.setVideoUrl(imgInfo.getVideoUrl()); |
| | | imgVideo.setType(ImgEnum.video); |
| | | } |
| | | if (width > 0) { |
| | | imgVideo.setW(width); |
| | | imgVideo.setH(height); |
| | | } else { |
| | | imgVideo.setW(imgVideo.getW()); |
| | | imgVideo.setH(imgVideo.getH()); |
| | | } |
| | | listImg.add(imgVideo); |
| | | } |
| | | |
| | | int totalImg = 0; |
| | | if (!StringUtil.isNullOrEmpty(activityPic) || !StringUtil.isNullOrEmpty(imgInfo.getActivityUrl())) { |
| | | if (imgactivity != null) { |
| | | imgactivity.setUrl(activityPic); |
| | | imgactivity.setUrlHD(activityPic); |
| | | imgactivity.setActivityUrl(imgInfo.getActivityUrl()); |
| | | } else { |
| | | imgactivity = new ImgInfo(); |
| | | imgactivity.setId(UUID.randomUUID().toString().replace("-", "")); |
| | | imgactivity.setLarge(true); |
| | | imgactivity.setPid(pid); |
| | | imgactivity.setUrl(activityPic); |
| | | imgactivity.setUrlHD(activityPic); |
| | | imgactivity.setActivityUrl(imgInfo.getActivityUrl()); |
| | | imgactivity.setType(ImgEnum.activity); |
| | | } |
| | | if (width2 > 0) { |
| | | imgactivity.setW(width2); |
| | | imgactivity.setH(height2); |
| | | } else { |
| | | imgactivity.setW(imgactivity.getW()); |
| | | imgactivity.setH(imgactivity.getH()); |
| | | } |
| | | listImg.add(imgactivity); |
| | | totalImg++; |
| | | } |
| | | |
| | | |
| | | int lineNum = 0; |
| | | int totalImg = tempList.size(); |
| | | if (totalImg > 0) { |
| | | if (totalImg == 1) { |
| | | lineNum = 1; |
| | | } else if (totalImg == 3) { |
| | | lineNum = 3; |
| | | } else if (totalImg <= 4) { |
| | | } else if (totalImg == 2 || totalImg == 4) { |
| | | lineNum = 2; |
| | | } else { |
| | | lineNum = 3; |
| | | } |
| | | } |
| | | |
| | | |
| | | if (tempList.size() > 0) { |
| | | listImg.addAll(tempList); |
| | | } |
| | | |
| | | // 清理老图片 |
| | | if (listOld != null && listOld.size() > 0) { |
| | | for (ImgInfo infoOld: listOld) { |
| | | boolean del = true; |
| | | String oldPic = infoOld.getUrl(); |
| | | for (ImgInfo info : listImg) { |
| | | if (info.getUrl().equals(oldPic)) { |
| | | del = false; |
| | | } |
| | | } |
| | | if (del) |
| | | listDel.add(infoOld.getUrl()); |
| | | } |
| | | } |
| | | |
| | | resultObj.setJumpLink(imgInfo.getActivityUrl()); |
| | | resultObj.setLineNum(lineNum); |
| | | resultObj.setImgList(listImg); |
| | | goodsEvaluateDao.save(resultObj); |
| | | |
| | | // 删除图片 |
| | | if (listDel.size() > 0) { |
| | | for (String url : listDel) { |
| | | if (url.contains(FilePathEnum.goodsEvaluate.getPath())) { |
| | | removePicture(url); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | |
| | | lineNum = 1; |
| | | } else if (totalImg == 3) { |
| | | lineNum = 3; |
| | | } else if (totalImg <= 4) { |
| | | } else if (totalImg == 2 || totalImg == 4) { |
| | | lineNum = 2; |
| | | } else { |
| | | lineNum = 3; |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<GoodsEvaluate> query(int start, int count, String key, Integer state, int dynamicType) { |
| | | return goodsEvaluateDao.query(start, count, key, state, dynamicType); |
| | | 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); |
| | | } |
| | | |
| | | @Override |
| | | public long count(String key, Integer state, int dynamicType) { |
| | | return goodsEvaluateDao.count(key, state, dynamicType); |
| | | public long count(String key, Integer state, int dynamicType, String typeEnum) { |
| | | return goodsEvaluateDao.count(key, state, dynamicType, typeEnum); |
| | | } |
| | | |
| | | @Override |
| | |
| | | |
| | | // 删除已过期 |
| | | removeOverdue(); |
| | | |
| | | removeDownGoods(); |
| | | } |
| | | }); |
| | | |
| | |
| | | |
| | | // 删除已过期 |
| | | removeOverdue(); |
| | | |
| | | removeDownGoods(); |
| | | } |
| | | }); |
| | | |
| | |
| | | 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个小时之内已更新 |
| | |
| | | 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); |
| | | |
| | |
| | | lineNum = 1; |
| | | } else if (imgList.size() == 3) { |
| | | lineNum = 3; |
| | | } else if (imgList.size() <= 4) { |
| | | } else if (imgList.size() == 2 || imgList.size() == 4) { |
| | | lineNum = 2; |
| | | } else { |
| | | lineNum = 3; |
| | |
| | | return false; |
| | | } |
| | | |
| | | ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate("android", "55"); |
| | | ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); |
| | | paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); |
| | | GoodsDetailVO goodsVO = GoodsDetailVOFactory.convertTaoBao(goodsBrief, paramsDTO); |
| | | // 发布用户 |
| | |
| | | lineNum = 1; |
| | | } else if (imgList.size() == 3) { |
| | | lineNum = 3; |
| | | } else if (imgList.size() <= 4) { |
| | | } else if (imgList.size() == 2 || imgList.size() == 4) { |
| | | lineNum = 2; |
| | | } else { |
| | | lineNum = 3; |
| | |
| | | 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); |
| | |
| | | return; |
| | | } |
| | | |
| | | ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate("android", "55"); |
| | | ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); |
| | | paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); |
| | | GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertJDGoods(jdGoods, paramsDTO); |
| | | |
| | |
| | | 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); |
| | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 删除已过期时间 |
| | | */ |
| | | private void removeOverdue() { |
| | | List<GoodsEvaluate> list = goodsEvaluateDao.queryOverdue(); |
| | | if (list == null || list.size() == 0) { |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 删除商品已下架-单品 |
| | | */ |
| | | 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(); |
| | | } |
| | | } |
| | | } |