package com.web.supplier.service.internal;
|
|
import java.io.IOException;
|
import java.sql.ResultSet;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.LinkedHashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.data.domain.PageRequest;
|
import org.springframework.jdbc.core.JdbcTemplate;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Propagation;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.app.base.data.ApiResponseResult;
|
import com.utils.UserUtil;
|
import com.web.supplier.service.OperateService;
|
import com.web.supplier.service.PrintService;
|
|
import okhttp3.MediaType;
|
import okhttp3.OkHttpClient;
|
import okhttp3.Request;
|
import okhttp3.RequestBody;
|
import okhttp3.Response;
|
|
@Service(value = "OperateService")
|
@Transactional(propagation = Propagation.REQUIRED)
|
public class Operatelmpl implements OperateService {
|
|
// 调用乐亿通ERP成品出货接口
|
public ApiResponseResult doApiData(String url, JSONObject jsonObject) throws Exception {
|
String apiResult = okhttpPost(url, jsonObject);
|
List<Object> list = analyJson(apiResult);
|
// System.out.println(apiResult);
|
if (!list.get(0).toString().equals("200")) {// 存储过程调用失败
|
return ApiResponseResult.failure(list.get(1).toString());
|
}
|
return ApiResponseResult.success().data(list.get(2));
|
}
|
|
// 调用乐亿通ERP成品出货接口
|
public ApiResponseResult setApiData(String url, JSONArray jsonArray) throws Exception {
|
String apiResult = okhttpPost(url, jsonArray);
|
List<Object> list = analyJson(apiResult);
|
// System.out.println(apiResult);
|
if (!list.get(0).toString().equals("200")) {// 存储过程调用失败
|
return ApiResponseResult.failure(list.get(1).toString());
|
}
|
return ApiResponseResult.success().data(list.get(2));
|
}
|
|
/*** 连接API ***/
|
public static String okhttpPost(String url, JSONObject json) throws IOException {
|
OkHttpClient client = new OkHttpClient();
|
RequestBody body = RequestBody.create(MediaType.parse("application/json;charset=utf-8"), String.valueOf(json));
|
Request request = new Request.Builder().url(url).post(body).build();
|
Response response = client.newCall(request).execute();
|
if (response.isSuccessful()) {
|
return response.body().string();
|
} else {
|
throw new IOException("失败" + response);
|
}
|
}
|
|
/*** 连接API json数组格式 ***/
|
public static String okhttpPost(String url, JSONArray json) throws IOException {
|
OkHttpClient client = new OkHttpClient();
|
RequestBody body = RequestBody.create(MediaType.parse("application/json;charset=utf-8"), String.valueOf(json));
|
Request request = new Request.Builder().url(url).post(body).build();
|
Response response = client.newCall(request).execute();
|
if (response.isSuccessful()) {
|
return response.body().string();
|
} else {
|
throw new IOException("失败" + response);
|
}
|
}
|
|
// 解析返回数据
|
|
private List<Object> analyJson(String json) {
|
//System.out.println(json);
|
List<Object> result = new ArrayList<>();
|
JSONObject jsonObject = JSONObject.parseObject(json);
|
try {
|
result.add(jsonObject.getString("code"));
|
result.add(jsonObject.getString("info"));
|
if (jsonObject.getString("code").equals("200")) {
|
JSONArray infoList = jsonObject.getJSONArray("data");
|
// System.out.println(infoList);
|
result.add(infoList);// 内容
|
result.add(infoList.size());// 记录数
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
result.add("ERR");
|
result.add("解析失败");
|
}
|
return result;
|
}
|
}
|