From fdd50bd7ca375743475f5f799564dffdd92fa491 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 07 六月 2021 18:13:42 +0800
Subject: [PATCH] 大淘客线报单

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java |  226 ++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 185 insertions(+), 41 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java
index 4a33520..757da1c 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java
@@ -1,47 +1,15 @@
 package com.yeshi.fanli.service.impl.dynamic;
 
-import java.awt.image.BufferedImage;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStream;
-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 java.util.List;
-import java.util.UUID;
-
-import javax.annotation.Resource;
-import javax.imageio.ImageIO;
-
-import com.yeshi.fanli.entity.SystemEnum;
-import com.yeshi.fanli.entity.SystemFunction;
-import com.yeshi.fanli.entity.SystemPIDInfo;
-import com.yeshi.fanli.exception.taobao.TaoBaoConvertLinkException;
-import com.yeshi.fanli.service.manger.PIDManager;
-import com.yeshi.fanli.service.manger.goods.TaoBaoLinkManager;
-import com.yeshi.fanli.util.*;
-import com.yeshi.fanli.util.FileUtil;
-import com.yeshi.fanli.util.StringUtil;
-import org.apache.commons.beanutils.PropertyUtils;
-import org.springframework.cache.annotation.CacheEvict;
-import org.springframework.cache.annotation.Cacheable;
-import org.springframework.core.task.TaskExecutor;
-import org.springframework.stereotype.Service;
-import org.springframework.web.multipart.MultipartFile;
-import org.springframework.web.multipart.MultipartHttpServletRequest;
-import org.yeshi.utils.*;
-import org.yeshi.utils.tencentcloud.COSManager;
-
+import com.yeshi.common.vo.ClientTextStyleVO;
 import com.yeshi.fanli.dao.dynamic.GoodsEvaluateDao;
 import com.yeshi.fanli.dto.GoodsMoneyConfigParamsDTO;
 import com.yeshi.fanli.dto.jd.JDCouponInfo;
 import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
 import com.yeshi.fanli.dto.suning.SuningGoodsInfo;
 import com.yeshi.fanli.dto.vip.goods.VIPGoodsInfo;
+import com.yeshi.fanli.entity.SystemEnum;
+import com.yeshi.fanli.entity.SystemFunction;
+import com.yeshi.fanli.entity.SystemPIDInfo;
 import com.yeshi.fanli.entity.bus.activity.ActivityRuleUser;
 import com.yeshi.fanli.entity.bus.activity.ActivityUser;
 import com.yeshi.fanli.entity.bus.clazz.GoodsClass;
@@ -54,13 +22,13 @@
 import com.yeshi.fanli.entity.dynamic.SimpleGoods;
 import com.yeshi.fanli.entity.jd.JDGoods;
 import com.yeshi.fanli.entity.system.ConfigKeyEnum;
-import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief;
 import com.yeshi.fanli.entity.taobao.TaoBaoLink;
-import com.yeshi.goods.facade.entity.taobao.dataoke.DaTaoKeDetailV2;
 import com.yeshi.fanli.exception.dynamic.ActivityUserException;
 import com.yeshi.fanli.exception.dynamic.GoodsEvaluateException;
 import com.yeshi.fanli.exception.goods.ConvertLinkExceptionException;
+import com.yeshi.fanli.exception.taobao.TaoBaoConvertLinkException;
 import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
+import com.yeshi.fanli.lijin.manager.GoodsLijinMnager;
 import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.inter.activity.ActivityUserService;
 import com.yeshi.fanli.service.inter.config.ConfigService;
@@ -68,20 +36,50 @@
 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.goods.facade.service.DaTaoKeGoodsDetailV2Service;
+import com.yeshi.fanli.service.manger.PIDManager;
 import com.yeshi.fanli.service.manger.goods.ConvertLinkManager;
+import com.yeshi.fanli.service.manger.goods.TaoBaoLinkManager;
+import com.yeshi.fanli.service.manger.goods.tb.DaTaoKeTipOffManager;
+import com.yeshi.fanli.util.*;
 import com.yeshi.fanli.util.cache.JDGoodsCacheUtil;
 import com.yeshi.fanli.util.cache.PinDuoDuoCacheUtil;
+import com.yeshi.fanli.util.factory.CommonGoodsFactory;
 import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
 import com.yeshi.fanli.util.jd.JDApiUtil;
 import com.yeshi.fanli.util.jd.JDUtil;
 import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil;
+import com.yeshi.fanli.util.taobao.DaTaoKeTipOffUtil;
 import com.yeshi.fanli.util.taobao.DaTaoKeUtil;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
+import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
 import com.yeshi.fanli.vo.goods.CouponInfoVO;
 import com.yeshi.fanli.vo.goods.GoodsDetailVO;
-import com.yeshi.common.vo.ClientTextStyleVO;
-import sun.plugin2.util.SystemUtil;
+import com.yeshi.goods.facade.dto.taobao.dataoke.DaTaoKeListTopOffDTO;
+import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief;
+import com.yeshi.goods.facade.entity.taobao.dataoke.DaTaoKeDetailV2;
+import com.yeshi.goods.facade.service.DaTaoKeGoodsDetailV2Service;
+import org.apache.commons.beanutils.PropertyUtils;
+import org.springframework.cache.annotation.CacheEvict;
+import org.springframework.cache.annotation.Cacheable;
+import org.springframework.core.task.TaskExecutor;
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.yeshi.utils.DateUtil;
+import org.yeshi.utils.ImageCropUtil;
+import org.yeshi.utils.MoneyBigDecimalUtil;
+import org.yeshi.utils.TimeUtil;
+import org.yeshi.utils.tencentcloud.COSManager;
+
+import javax.annotation.Resource;
+import javax.imageio.ImageIO;
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
+import java.util.*;
 
 @Service
 public class GoodsEvaluateServiceImpl implements GoodsEvaluateService {
@@ -128,6 +126,9 @@
 
     @Resource
     private PIDManager pidManager;
+
+    @Resource
+    private GoodsLijinMnager goodsLijinMnager;
 
     @Override
     public void switchState(String id) throws GoodsEvaluateException {
@@ -2280,6 +2281,149 @@
         return result;
     }
 
+    @Resource
+    private DaTaoKeTipOffManager daTaoKeTipOffManager;
+
+    @Override
+    public int addGoodsEvaluate(DaTaoKeListTopOffDTO dto, ActivityUser user, SystemEnum system) throws GoodsEvaluateException {
+        if (dto == null || user == null || system == null) {
+            throw new GoodsEvaluateException(1, "鐩稿叧鍙傛暟涓嶈兘涓虹┖");
+        }
+
+        String title = null;
+
+        try {
+            title = daTaoKeTipOffManager.convertLinkForEvaluateWithEncode(dto, system);
+        } catch (Exception e) {
+            throw new GoodsEvaluateException(1, "杞摼鍑洪敊");
+        }
+
+
+        Date limitDate = DateUtil.reduceDay(new Date(), 7);
+
+        String identifyCode = "dataoke-" + StringUtil.Md5(DaTaoKeTipOffUtil.getRecoomendDesc(dto)) + "-" + dto.getUpdateTime().getTime();
+
+        GoodsEvaluate evaluate = goodsEvaluateDao.selectExistLimitTime(identifyCode, limitDate);
+        if (evaluate != null)
+            throw new GoodsEvaluateException(1, "绾挎姤宸插瓨鍦�");
+
+        List<String> imgs = new ArrayList<>();
+        if (dto.getImageList() != null && dto.getImageList().size() > 0) {
+            imgs.addAll(dto.getImageList());
+        }
+
+        GoodsDetailVO goods = null;
+
+        //鑾峰彇鍥剧墖
+        if (dto.getIdList() != null && dto.getIdList().size() > 0) {
+            Set<String> imgSet = new HashSet<>();
+            imgSet.addAll(imgs);
+            String id = dto.getIdList().get(0);
+            String source = dto.getSource();
+            switch (source) {
+                case "tmall":
+                case "taobao":
+                    try {
+                        TaoBaoGoodsBrief goodsBrief = TaoKeApiUtil.getSimpleGoodsInfo(Long.parseLong(id));
+                        if (goodsBrief != null && goodsBrief.getImgList() != null) {
+                            GoodsMoneyConfigParamsDTO params = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55", system);
+                            goods = GoodsDetailVOFactory.convertTaoBao(goodsBrief, params);
+                            goods = goodsLijinMnager.loadTBMoneyInfo(system, null, goodsBrief, goods);
+                            for (String img : goodsBrief.getImgList()) {
+                                if (!imgSet.contains(img) && imgs.size() < 9) {
+                                    imgSet.add(img);
+                                    imgs.add(img);
+                                }
+                            }
+                        }
+
+                    } catch (TaobaoGoodsDownException e) {
+                        e.printStackTrace();
+                    }
+                    break;
+                case "jd": {
+                    JDGoods jdGoods = JDApiUtil.queryGoodsDetail(Long.parseLong(id));
+                    if (jdGoods != null && jdGoods.getImageList() != null) {
+                        GoodsMoneyConfigParamsDTO params = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55", system);
+                        goods = GoodsDetailVOFactory.convertJDGoods(jdGoods, params);
+                        goods = goodsLijinMnager.loadOtherMoneyInfo(system, null, CommonGoodsFactory.create(jdGoods), goods);
+                        for (String img : jdGoods.getImageList()) {
+                            if (!imgSet.contains(img) && imgs.size() < 9) {
+                                imgSet.add(img);
+                                imgs.add(img);
+                            }
+                        }
+                    }
+                }
+                break;
+                case "pdd": {
+                    PDDGoodsDetail goodsDetail = PinDuoDuoApiUtil.getGoodsDetail(Long.parseLong(id));
+                    if (goodsDetail != null && goodsDetail.getGoodsGalleryUrls() != null) {
+                        GoodsMoneyConfigParamsDTO params = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55", system);
+                        goods = GoodsDetailVOFactory.convertPDDGoods(goodsDetail, params);
+                        goods = goodsLijinMnager.loadOtherMoneyInfo(system, null, CommonGoodsFactory.create(goodsDetail), goods);
+
+                        for (String img : goodsDetail.getGoodsGalleryUrls()) {
+                            if (!imgSet.contains(img) && imgs.size() < 9) {
+                                imgSet.add(img);
+                                imgs.add(img);
+                            }
+                        }
+                    }
+                }
+                break;
+                default:
+                    throw new GoodsEvaluateException(1, "涓嶆敮鎸佺殑source锛�" + source);
+            }
+        }
+
+
+        // 鍟嗗搧鍥剧墖淇℃伅
+        List<ImgInfo> imgList = new ArrayList<>();
+        for (String img : imgs) {
+            ImgInfo imgInfo = new ImgInfo();
+            imgInfo.setH(1);
+            imgInfo.setW(1);
+            imgInfo.setLarge(false);
+            imgInfo.setUrl(img);
+            imgInfo.setUrlHD(img);
+            imgInfo.setType(ImgEnum.img);
+            imgList.add(imgInfo);
+        }
+
+        // 涓�琛屾樉绀哄灏戜釜鍥剧墖
+        int lineNum = 3;
+        int result = 0;
+        int zeroPoint = 0;
+        Date startTime = new Date();
+
+
+        GoodsEvaluate goodsEvaluate = new GoodsEvaluate();
+        goodsEvaluate.setId(UUID.randomUUID().toString().replace("-", ""));
+        goodsEvaluate.setUser(user);
+        goodsEvaluate.setTitle(title);
+        goodsEvaluate.setState(1);
+        goodsEvaluate.setZeroPoint(zeroPoint);
+        goodsEvaluate.setDynamicType(1);
+        goodsEvaluate.setType(EvaluateEnum.single);
+        goodsEvaluate.setShareNum((int) (Math.random() * 5000) + 1000);
+        goodsEvaluate.setShareNumReal(0);
+        goodsEvaluate.setWeight(0.0);
+        goodsEvaluate.setStartTime(startTime);
+        goodsEvaluate.setEndTime(DateUtil.plusDayDate(3, startTime));
+        goodsEvaluate.setPublishTime(new Date());
+        goodsEvaluate.setCreateTime(new Date());
+        goodsEvaluate.setUpdateTime(new Date());
+        goodsEvaluate.setGoods(goods);
+        goodsEvaluate.setLineNum(lineNum);
+        goodsEvaluate.setImgList(imgList);
+        goodsEvaluate.setComments(null);
+        goodsEvaluate.setSystem(system);
+        goodsEvaluate.setIdentifyCode(identifyCode);
+        goodsEvaluateDao.save(goodsEvaluate);
+        return result;
+    }
+
     @Override
     public void addGoodsEvaluateByDaTaoKe(SystemEnum system) {
         List<Long> listId = null;

--
Gitblit v1.8.0