| | |
| | | import java.math.BigDecimal; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.Collections; |
| | | import java.util.Comparator; |
| | | import java.util.Date; |
| | |
| | | import javax.annotation.Resource; |
| | | import javax.imageio.ImageIO; |
| | | |
| | | import com.yeshi.fanli.entity.SystemEnum; |
| | | import com.yeshi.fanli.exception.taobao.TaoBaoConvertLinkException; |
| | | import com.yeshi.fanli.service.manger.goods.TaoBaoLinkManager; |
| | | import org.apache.commons.beanutils.PropertyUtils; |
| | | import org.springframework.cache.annotation.CacheEvict; |
| | | import org.springframework.cache.annotation.Cacheable; |
| | |
| | | |
| | | @Resource |
| | | private ShareGoodsService shareGoodsService; |
| | | |
| | | @Resource |
| | | private TaoBaoLinkManager taoBaoLinkManager; |
| | | |
| | | @Resource |
| | | private ConvertLinkManager convertLinkManager; |
| | |
| | | /** |
| | | * 删除图片 |
| | | * |
| | | * @param record |
| | | * @param picture |
| | | * @throws Exception |
| | | */ |
| | | private void removePicture(String picture) throws Exception { |
| | |
| | | |
| | | @Override |
| | | public String saveSingleGoods(String pid, String goodsId, Integer goodsType, String videoUrl, Integer picNum, |
| | | String picUrls, MultipartHttpServletRequest fileRequest) throws GoodsEvaluateException, Exception { |
| | | String picUrls, SystemEnum system, MultipartHttpServletRequest fileRequest) throws GoodsEvaluateException, Exception { |
| | | if (StringUtil.isNullOrEmpty(pid)) { |
| | | throw new GoodsEvaluateException(1, "请保存第一部分信息"); |
| | | } |
| | |
| | | String commentText = ""; |
| | | if (addComment) { |
| | | if (goodsType == Constant.SOURCE_TYPE_TAOBAO) { |
| | | TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, Long.parseLong(goodsId), "0"); |
| | | String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()); |
| | | TaoBaoLink taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForShare(1L, Long.parseLong(goodsId), "0",null); |
| | | String template = configService.getValue(ConfigKeyEnum.quickShareTBCommentText.getKey(),system); |
| | | commentText = template.replace("[淘口令]", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken())); |
| | | } else if (goodsType == Constant.SOURCE_TYPE_JD) { |
| | | String couponUrl = null; |
| | |
| | | String materialId = "https://item.jd.com/" + goodsId + ".html"; |
| | | String jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, |
| | | JDApiUtil.POSITION_SHARE + "", "1"); |
| | | String template = configService.get(ConfigKeyEnum.quickShareJDCommentText.getKey()); |
| | | String template = configService.getValue(ConfigKeyEnum.quickShareJDCommentText.getKey(),system); |
| | | if (jumpLink == null) { |
| | | throw new GoodsEvaluateException(1, "该商品转链失败"); |
| | | } |
| | |
| | | if (jumpLink == null) { |
| | | throw new GoodsEvaluateException(1, "该商品转链失败"); |
| | | } |
| | | String template = configService.get(ConfigKeyEnum.quickSharePDDCommentText.getKey()); |
| | | String template = configService.getValue(ConfigKeyEnum.quickSharePDDCommentText.getKey(),system); |
| | | commentText = template.replace("[链接]", jumpLink); |
| | | } |
| | | |
| | |
| | | return commentText; |
| | | } |
| | | |
| | | private String createTokenAndLink(GoodsDetailVO goodsDetailVO) throws Exception { |
| | | private String createTokenAndLink(GoodsDetailVO goodsDetailVO,SystemEnum system) throws Exception { |
| | | String commentText = ""; |
| | | if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) { |
| | | TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L,Long.parseLong(goodsDetailVO.getGoodsId()), "0"); |
| | | String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()); |
| | | TaoBaoLink taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForShare(1L,Long.parseLong(goodsDetailVO.getGoodsId()), "0",null); |
| | | String template = configService.getValue(ConfigKeyEnum.quickShareTBCommentText.getKey(),system); |
| | | commentText = template.replace("[淘口令]", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken())); |
| | | } else if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_JD) { |
| | | String couponUrl = null; |
| | |
| | | String materialId = "https://item.jd.com/" + goodsDetailVO.getGoodsId() + ".html"; |
| | | String jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "", |
| | | "1"); |
| | | String template = configService.get(ConfigKeyEnum.quickShareJDCommentText.getKey()); |
| | | String template = configService.getValue(ConfigKeyEnum.quickShareJDCommentText.getKey(),system); |
| | | commentText = template.replace("[链接]", jumpLink); |
| | | } else if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_PDD) { |
| | | String jumpLink = PinDuoDuoApiUtil.getPromotionUrl(Long.parseLong(goodsDetailVO.getGoodsId()), |
| | | PinDuoDuoApiUtil.PID_SHARE + "", "1"); |
| | | String template = configService.get(ConfigKeyEnum.quickSharePDDCommentText.getKey()); |
| | | String template = configService.getValue(ConfigKeyEnum.quickSharePDDCommentText.getKey(),system); |
| | | commentText = template.replace("[链接]", jumpLink); |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public void saveGoodsComment(String id, int kind, List<CommentInfo> comments) |
| | | public void saveGoodsComment(String id, int kind, List<CommentInfo> comments,SystemEnum system) |
| | | throws GoodsEvaluateException, Exception { |
| | | if (comments == null || comments.size() == 0) { |
| | | throw new GoodsEvaluateException(1, "内容不能为空"); |
| | |
| | | String content = commentInfo.getContent(); |
| | | if (StringUtil.isNullOrEmpty(content)) { |
| | | if (i == 0 && kind == 1) { |
| | | content = createTokenAndLink(goods); |
| | | content = createTokenAndLink(goods,system); |
| | | } else { |
| | | continue; |
| | | } |
| | |
| | | |
| | | @Override |
| | | public void addGoodsEvaluate(String goodsId, List<ImgInfo> imgList, ActivityUser user, String title, String comment, |
| | | Date startTime) throws GoodsEvaluateException { |
| | | Date startTime,SystemEnum system) throws GoodsEvaluateException { |
| | | if (goodsId == null || user == null || StringUtil.isNullOrEmpty(title)) { |
| | | throw new GoodsEvaluateException(1, "相关参数不能为空"); |
| | | } |
| | |
| | | } else { |
| | | goodsBrief.setCouponLink(null); |
| | | String token = shareGoodsService.createTaoBaoToken(Constant.LINK_TOKEN_VERIFY_UID, goodsBrief); |
| | | String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()); |
| | | String template = configService.getValue(ConfigKeyEnum.quickShareTBCommentText.getKey(),system); |
| | | String commentText = template.replace("[淘口令]", TaoBaoUtil.filterTaoToken(token)); |
| | | if (!goodsVO.isHasCoupon()) { |
| | | commentText = commentText.replace("领券抢购", "抢购"); |
| | |
| | | |
| | | |
| | | @Override |
| | | public int addGoodsEvaluate(TaoBaoGoodsBrief goodsBrief, List<String> imgs, ActivityUser user, String title) throws GoodsEvaluateException { |
| | | public int addGoodsEvaluate(TaoBaoGoodsBrief goodsBrief, List<String> imgs, ActivityUser user, String title,SystemEnum system) throws GoodsEvaluateException { |
| | | if (goodsBrief == null || user == null || StringUtil.isNullOrEmpty(title)) { |
| | | throw new GoodsEvaluateException(1, "相关参数不能为空"); |
| | | } |
| | |
| | | // 生成口令 |
| | | String token = null; |
| | | try { |
| | | TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(Constant.LINK_TOKEN_VERIFY_UID, goodsBrief.getAuctionId(), "1"); |
| | | TaoBaoLink taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForShare(Constant.LINK_TOKEN_VERIFY_UID, goodsBrief.getAuctionId(), "1",null); |
| | | token = taoBaoLink.getTaoToken(); |
| | | } catch (ShareGoodsException e) { |
| | | } catch (TaoBaoConvertLinkException e) { |
| | | e.printStackTrace(); |
| | | throw new GoodsEvaluateException(1, "转链失败"); |
| | | } |
| | | |
| | | |
| | | String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()); |
| | | String template = configService.getValue(ConfigKeyEnum.quickShareTBCommentText.getKey(),system); |
| | | String commentText = template.replace("[淘口令]", TaoBaoUtil.filterTaoToken(token)); |
| | | if (!goodsVO.isHasCoupon()) { |
| | | commentText = commentText.replace("领券抢购", "抢购"); |
| | |
| | | // ★深夜大福利:先抢券,0点准时下单★ |
| | | // 含这种文本的定于每晚10点在动态-发圈 集中发,每晚10点在群发单中只发一条。 |
| | | Date startTime = new Date(); |
| | | if (!StringUtil.isNullOrEmpty(title) && title.contains("0点准时下单")) { |
| | | result = 1; |
| | | zeroPoint = 1; |
| | | startTime = TimeUtil.parseYYYYMMDD_HHMM(TimeUtil.getGernalTime(startTime) + " 22:00"); |
| | | if (!StringUtil.isNullOrEmpty(title)) { |
| | | String value = configService.getValue(ConfigKeyEnum.evaluateZeroKey.getKey(),system); |
| | | if (!StringUtil.isNullOrEmpty(value)) { |
| | | List<String> asList = Arrays.asList(value.split(",")); |
| | | if (asList != null && asList.size() > 0) { |
| | | boolean zero = false; |
| | | for (String zerokey: asList) { |
| | | if(title.contains(zerokey)) { |
| | | zero = true; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if (zero) { |
| | | result = 1; |
| | | zeroPoint = 1; |
| | | startTime = TimeUtil.parseYYYYMMDD_HHMM(TimeUtil.getGernalTime(startTime) + " 22:00"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | goodsEvaluate.setImgList(imgList); |
| | | goodsEvaluate.setComments(commentsNew); |
| | | goodsEvaluateDao.save(goodsEvaluate); |
| | | |
| | | return result; |
| | | |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void addGoodsEvaluateByDaTaoKe() { |
| | | public void addGoodsEvaluateByDaTaoKe(SystemEnum system) { |
| | | List<Long> listId = null; |
| | | List<GoodsEvaluate> listExist = goodsEvaluateDao.querySingleExist(); |
| | | if (listExist != null && listExist.size() > 0) { |
| | |
| | | } |
| | | |
| | | for (int i = 0; i < list.size(); i++) { |
| | | boolean cerateGoods = addByDaTaoKeGoods(list.get(i)); |
| | | boolean cerateGoods = addByDaTaoKeGoods(list.get(i),system); |
| | | if (cerateGoods) { |
| | | break; |
| | | } |
| | |
| | | |
| | | |
| | | @Override |
| | | public boolean addByDaTaoKeGoods(DaTaoKeDetailV2 daTaoKe) { |
| | | public boolean addByDaTaoKeGoods(DaTaoKeDetailV2 daTaoKe,SystemEnum system) { |
| | | try { |
| | | Date limitDate = DateUtil.reduceDay(new Date(), 7); |
| | | |
| | |
| | | |
| | | String token = shareGoodsService.createTaoBaoToken(Constant.LINK_TOKEN_VERIFY_UID, goodsBrief); |
| | | |
| | | String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()); |
| | | String template = configService.getValue(ConfigKeyEnum.quickShareTBCommentText.getKey(),system); |
| | | String commentText = template.replace("[淘口令]", TaoBaoUtil.filterTaoToken(token)); |
| | | if (!goodsVO.isHasCoupon()) { |
| | | commentText = commentText.replace("领券抢购", "抢购"); |
| | |
| | | commentInfo.setType(CommentInfoEnum.goodsCoupon.getDesc()); |
| | | |
| | | String text2 = ""; |
| | | String evaluateEmojis = configService.get(ConfigKeyEnum.evaluateEmojis.getKey()); |
| | | String evaluateEmojis = configService.getValue(ConfigKeyEnum.evaluateEmojis.getKey(),system); |
| | | if (!StringUtil.isNullOrEmpty(evaluateEmojis)) { |
| | | text2 = evaluateEmojis + "\n"; |
| | | } |
| | | |
| | | String evaluateText = configService.get(ConfigKeyEnum.evaluateText.getKey()); |
| | | String evaluateText = configService.getValue(ConfigKeyEnum.evaluateText.getKey(),system); |
| | | if (!StringUtil.isNullOrEmpty(evaluateText)) { |
| | | text2 += evaluateText; |
| | | } |
| | |
| | | } |
| | | |
| | | @CacheEvict(value = "dynamicCache", allEntries = true) |
| | | private void offlineGoods(List<GoodsEvaluate> list, int goodsType, String goodsId) { |
| | | public void offlineGoods(List<GoodsEvaluate> list, int goodsType, String goodsId) { |
| | | |
| | | for (GoodsEvaluate goodsEvaluate : list) { |
| | | // 商品下架 |