123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192 |
- package cn.cslg.wdc.service.common;
- import cn.cslg.wdc.common.exception.XiaoShiException;
- import cn.cslg.wdc.dto.common.GetBaseInfoByWDDTO;
- import cn.cslg.wdc.dto.common.GetCaseInfoByWDDTO;
- import cn.cslg.wdc.dto.common.GetPatentActionByWDDTO;
- import cn.cslg.wdc.dto.common.WDLoginDTO;
- import cn.cslg.wdc.vo.common.WDLoginVO;
- import com.alibaba.fastjson2.JSONObject;
- import com.google.gson.Gson;
- import okhttp3.*;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.stereotype.Service;
- import java.io.IOException;
- import java.util.Objects;
- import java.util.concurrent.TimeUnit;
- @Service
- public class GetReportInfoFromWDService {
- @Value("${WDUrl}")
- private String WDUrl;
- @Value("${WeiDeUrl}")
- private String WeiDeUrl;
- @Value("${WDSYS.account}")
- private String account;
- @Value("${WDSYS.password}")
- private String password;
- /**
- * 从维德系统获取案件基本信息
- * @param caseNo
- * @return
- * @throws IOException
- */
- public String getReportInfoFromWD(String caseNo) throws IOException {
- String token = "";
- String res = this.getTokenByWDLogin();
- if (StringUtils.isNotEmpty(res)) {
- WDLoginVO wdLoginVO = JSONObject.parseObject(res, WDLoginVO.class);
- if (StringUtils.isEmpty(wdLoginVO.getToken())) {
- throw new XiaoShiException("账号未登录");
- }
- token = wdLoginVO.getToken();
- }
- OkHttpClient okHttpClient = new OkHttpClient.Builder()
- .connectTimeout(60, TimeUnit.SECONDS)
- .writeTimeout(60, TimeUnit.SECONDS)
- .readTimeout(60, TimeUnit.SECONDS)
- .build();
- Request request = new Request.Builder()
- .url(WDUrl + "/api/IPEasy/GetCaseInfo?CaseNo=" + caseNo)
- .addHeader("Authorization", "Bearer " + token)
- .get()
- .build();
- return Objects.requireNonNull(okHttpClient.newCall(request).execute().body()).string();
- }
- //登录维德系统
- public String getTokenByWDLogin() throws IOException {
- WDLoginDTO vo = new WDLoginDTO();
- vo.setName(account);
- vo.setPassword(password);
- String param = new Gson().toJson(vo);
- RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), param);
- OkHttpClient okHttpClient = new OkHttpClient.Builder()
- .connectTimeout(60, TimeUnit.SECONDS)
- .writeTimeout(60, TimeUnit.SECONDS)
- .readTimeout(60, TimeUnit.SECONDS)
- .build();
- Request request = new Request.Builder()
- .url(WDUrl + "/api/account/Login")
- .post(requestBody)
- .build();
- return Objects.requireNonNull(okHttpClient.newCall(request).execute().body()).string();
- }
- /**
- * 导出案件列表信息
- * @param cookie
- * @param uuid
- * @param number
- * @return
- * @throws IOException
- */
- public byte[] exportFileFromWD(String cookie, String uuid, String number) throws IOException {
- OkHttpClient okHttpClient = new OkHttpClient.Builder()
- .connectTimeout(60, TimeUnit.SECONDS)
- .writeTimeout(60, TimeUnit.SECONDS)
- .readTimeout(60, TimeUnit.SECONDS)
- .build();
- Request request = new Request.Builder()
- .url(WeiDeUrl + "/FileHandlerNew.ashx?guid=" + uuid + "&file_size=" + number)
- .addHeader("Cookie", cookie)
- .get()
- .build();
- return Objects.requireNonNull(okHttpClient.newCall(request).execute().body()).bytes();
- }
- /**
- * 获取下载页面
- * @param vo
- * @return
- * @throws IOException
- */
- public String getPatentActionByWD(GetPatentActionByWDDTO vo,String cookie) throws IOException {
- FormBody formBody = new FormBody.Builder()
- .add("Call", vo.getCall())
- .add("id", vo.getId())
- .add("pageSize", vo.getPageSize())
- .add("pageIndex", vo.getPageIndex())
- .add("_PK", vo.get_PK())
- .add("searchKey", vo.getSearchKey())
- .add("colsel", vo.getColsel())
- .add("log_pagename", vo.getLog_pagename())
- .build();
- OkHttpClient okHttpClient = new OkHttpClient.Builder()
- .connectTimeout(60, TimeUnit.SECONDS)
- .writeTimeout(60, TimeUnit.SECONDS)
- .readTimeout(60, TimeUnit.SECONDS)
- .build();
- Request request = new Request.Builder()
- .url(WeiDeUrl + "/PatentAction.ashx")
- .addHeader("Cookie", cookie)
- .post(formBody)
- .build();
- return Objects.requireNonNull(okHttpClient.newCall(request).execute().body()).string();
- }
- /**
- * 获取下载页面
- * @param vo
- * @return
- * @throws IOException
- */
- public String getBaseInfoByWD(GetBaseInfoByWDDTO vo, String cookie) throws IOException {
- FormBody formBody = new FormBody.Builder()
- .add("Call", vo.getCall())
- .add("file_no", vo.getFile_no())
- .add("file_name", vo.getFile_name())
- .add("model", vo.getModel())
- .add("log_pagename", vo.getLog_pagename())
- .build();
- OkHttpClient okHttpClient = new OkHttpClient.Builder()
- .connectTimeout(60, TimeUnit.SECONDS)
- .writeTimeout(60, TimeUnit.SECONDS)
- .readTimeout(60, TimeUnit.SECONDS)
- .build();
- Request request = new Request.Builder()
- .url(WeiDeUrl + "/BaseInfo.ashx")
- .addHeader("Cookie", cookie)
- .post(formBody)
- .build();
- return Objects.requireNonNull(okHttpClient.newCall(request).execute().body()).string();
- }
- /**
- * 获取案件处理事项
- * @param vo
- * @return
- * @throws IOException
- */
- public String getCaseInfoByWD(GetCaseInfoByWDDTO vo, String cookie) throws IOException {
- FormBody formBody = new FormBody.Builder()
- .add("Call", vo.getCall())
- .add("case_id", vo.getCase_id())
- .add("Recent", vo.getRecent())
- .add("tag", vo.getTag())
- .add("nofinish", vo.getNofinish())
- .add("proc_stage_pat", vo.getProc_stage_pat())
- .add("ctrlproc_class", vo.getCtrlproc_class())
- .add("pageSize", vo.getPageSize())
- .add("pageIndex", vo.getPageIndex())
- .add("_PK", vo.get_PK())
- .add("searchKey", vo.getSearchKey())
- .add("colsel", vo.getColsel())
- .add("log_pagename", vo.getLog_pagename())
- .build();
- OkHttpClient okHttpClient = new OkHttpClient.Builder()
- .connectTimeout(60, TimeUnit.SECONDS)
- .writeTimeout(60, TimeUnit.SECONDS)
- .readTimeout(60, TimeUnit.SECONDS)
- .build();
- Request request = new Request.Builder()
- .url(WeiDeUrl + "/CaseInfo.ashx")
- .addHeader("Cookie", cookie)
- .post(formBody)
- .build();
- return Objects.requireNonNull(okHttpClient.newCall(request).execute().body()).string();
- }
- }
|