Search in sources :

Example 1 with Traces

use of cn.lili.modules.system.entity.vo.Traces in project lilishop by lilishop.

the class LogisticsServiceImpl method getOrderTracesByJson.

/**
 * 获取物流信息
 *
 * @param logisticsId 物流公司ID
 * @param expNo       物流单号
 * @param customerName 手机号后四位
 * @return 物流信息
 * @throws Exception
 */
private Traces getOrderTracesByJson(String logisticsId, String expNo, String customerName) throws Exception {
    Setting setting = settingService.get(SettingEnum.KUAIDI_SETTING.name());
    if (CharSequenceUtil.isBlank(setting.getSettingValue())) {
        throw new ServiceException(ResultCode.LOGISTICS_NOT_SETTING);
    }
    KuaidiSetting kuaidiSetting = new Gson().fromJson(setting.getSettingValue(), KuaidiSetting.class);
    // ID
    String EBusinessID = kuaidiSetting.getEbusinessID();
    // KEY
    String AppKey = kuaidiSetting.getAppKey();
    // 请求url
    String ReqURL = kuaidiSetting.getReqURL();
    Logistics logistics = this.getById(logisticsId);
    if (logistics != null) {
        String requestData = "{'OrderCode':'','ShipperCode':'" + logistics.getCode() + "','LogisticCode':'" + expNo + "'" + ",'CustomerName':'" + customerName + "'" + "}";
        Map<String, String> params = new HashMap<>(8);
        params.put("RequestData", urlEncoder(requestData, "UTF-8"));
        params.put("EBusinessID", EBusinessID);
        params.put("RequestType", "1002");
        String dataSign = encrypt(requestData, AppKey, "UTF-8");
        params.put("DataSign", urlEncoder(dataSign, "UTF-8"));
        params.put("DataType", "2");
        String result = sendPost(ReqURL, params);
        Map map = (Map) JSON.parse(result);
        return new Traces(logistics.getName(), expNo, (List<Map>) map.get("Traces"));
    }
    return null;
}
Also used : KuaidiSetting(cn.lili.modules.system.entity.dto.KuaidiSetting) ServiceException(cn.lili.common.exception.ServiceException) HashMap(java.util.HashMap) Traces(cn.lili.modules.system.entity.vo.Traces) KuaidiSetting(cn.lili.modules.system.entity.dto.KuaidiSetting) Setting(cn.lili.modules.system.entity.dos.Setting) Gson(com.google.gson.Gson) HashMap(java.util.HashMap) Map(java.util.Map) Logistics(cn.lili.modules.system.entity.dos.Logistics)

Aggregations

ServiceException (cn.lili.common.exception.ServiceException)1 Logistics (cn.lili.modules.system.entity.dos.Logistics)1 Setting (cn.lili.modules.system.entity.dos.Setting)1 KuaidiSetting (cn.lili.modules.system.entity.dto.KuaidiSetting)1 Traces (cn.lili.modules.system.entity.vo.Traces)1 Gson (com.google.gson.Gson)1 HashMap (java.util.HashMap)1 Map (java.util.Map)1