admin
2019-08-02 b8b373ab3ba3e8cadc241cce78ecca9594bdc68f
消息订单搜索框订单号显示规则更改
4个文件已修改
59 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMsgController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/jd/JDUtil.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMsgController.java
@@ -39,6 +39,7 @@
import com.yeshi.fanli.entity.bus.msg.MsgInviteDetail;
import com.yeshi.fanli.entity.bus.msg.MsgMoneyDetail;
import com.yeshi.fanli.entity.bus.msg.MsgOrderDetail;
import com.yeshi.fanli.entity.bus.msg.MsgOrderDetail.MsgTypeOrderTypeEnum;
import com.yeshi.fanli.entity.bus.msg.MsgOtherDetail;
import com.yeshi.fanli.entity.bus.msg.UserMsgUnReadNum;
import com.yeshi.fanli.entity.bus.msg.UserSystemMsg;
@@ -77,6 +78,7 @@
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.VersionUtil;
import com.yeshi.fanli.util.account.UserUtil;
import com.yeshi.fanli.util.factory.CommonGoodsFactory;
import com.yeshi.fanli.util.factory.msg.UserMsgVOFactory;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
@@ -193,6 +195,9 @@
                for (MsgOrderDetail detail : detailList) {
                    JSONObject params = new JSONObject();
                    params.put("orderNo", detail.getOrderId());
                    if (detail.getType() == MsgTypeOrderTypeEnum.share
                            || detail.getType() == MsgTypeOrderTypeEnum.invite)
                        params.put("orderHideNo", UserUtil.filterOrderId(detail.getOrderId()));
                    list.add(UserMsgVOFactory.create(detail, jumpDetailV2Service.getByTypeCache("order_search"),
                            params));
                }
@@ -739,6 +744,9 @@
                for (MsgOrderDetail detail : detailList) {
                    JSONObject params = new JSONObject();
                    params.put("orderNo", detail.getOrderId());
                    if (detail.getType() == MsgTypeOrderTypeEnum.share
                            || detail.getType() == MsgTypeOrderTypeEnum.invite)
                        params.put("orderHideNo", UserUtil.filterOrderId(detail.getOrderId()));
                    UserMsgVO userMsgVO = UserMsgVOFactory.create(detail,
                            jumpDetailV2Service.getByTypeCache("order_search"), params);
                    userMsgVO.setType(MSG_TYPE_ORDER);
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java
@@ -16,7 +16,6 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.yeshi.utils.JsonUtil;
import org.yeshi.utils.NumberUtil;
import org.yeshi.utils.taobao.TbImgUtil;
import com.google.gson.Gson;
@@ -119,6 +118,8 @@
            out.print(JsonUtil.loadFalseResult("值为空"));
            return;
        }
        //去除前后空格
        text=text.trim();
        if (text.length() > 256) {
            out.print(JsonUtil.loadFalseResult("值过长"));
fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java
@@ -55,6 +55,7 @@
import com.yeshi.fanli.util.factory.CommonOrderGoodsFactory;
import com.yeshi.fanli.util.factory.goods.CommonOrderFactory;
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.TaoBaoOrderUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
@@ -821,7 +822,10 @@
            } else {
                if (!Constant.IS_OUTNET) {
                    JDGoods goods = JDApiUtil.getGoodsDetail(itemOrder.getSkuId());
                    if(goods==null)
                        goods=JDUtil.getGoodsFromWeb(itemOrder.getSkuId());
                    commonGoodsList.get(0).setTitle(goods.getSkuName());
                    commonGoodsList.get(0).setPicture(goods.getPicUrl());
                    commonOrderGoodsMapper.updateByPrimaryKeySelective(commonGoodsList.get(0));
                }
            }
fanli/src/main/java/com/yeshi/fanli/util/jd/JDUtil.java
@@ -9,6 +9,10 @@
import java.util.List;
import java.util.Map;
import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.PostMethod;
import org.jsoup.Jsoup;
@@ -464,6 +468,7 @@
    /**
     * 根据链接提取商品ID
     *
     * @param url
     * @return
     */
@@ -481,4 +486,43 @@
        return null;
    }
    public static JDGoods getGoodsFromWeb(Long skuId) {
        String url = String.format("https://item.m.jd.com/product/%s.html", skuId + "");
        try {
            Document doc = Jsoup.connect(url).get();
            Elements scripts = doc.getElementsByTag("script");
            for (int i = 0; i < scripts.size(); i++) {
                String content = scripts.get(i).html();
                if (content.contains("window._itemOnly =")) {
                    try {
                        String jsContent = "var windowData={};function getData(){return  JSON.stringify(windowData._itemOnly);}"
                                + "var _itemOnly={}; " + content.replace("window.", "windowData.");
                        System.out.println(jsContent);
                        ScriptEngineManager m = new ScriptEngineManager();
                        ScriptEngine engine = m.getEngineByName("JavaScript");
                        engine.eval(jsContent);
                        if (engine instanceof Invocable) {
                            Invocable in = (Invocable) engine;
                            String data = in.invokeFunction("getData").toString();
                            JSONObject root = JSONObject.fromObject(data);
                            root = root.optJSONObject("item");
                            JDGoods goods = new JDGoods();
                            goods.setSkuId(root.optLong("skuId"));
                            goods.setPicUrl("http://img14.360buyimg.com/n1/" + root.optJSONArray("image").optString(0));
                            goods.setSkuName(root.optString("skuName"));
                            return goods;
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
}