|
@@ -0,0 +1,63 @@
|
|
|
+package cn.cslg.report.service;
|
|
|
+
|
|
|
+import cn.cslg.report.common.model.vo.LoginVO;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import lombok.RequiredArgsConstructor;
|
|
|
+import okhttp3.MediaType;
|
|
|
+import okhttp3.OkHttpClient;
|
|
|
+import okhttp3.Request;
|
|
|
+import okhttp3.RequestBody;
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
+import org.springframework.context.annotation.Lazy;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.io.IOException;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Objects;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @author 沈永艺
|
|
|
+ * @description 调用外部接口的Service类
|
|
|
+ * @date 2022-10-31
|
|
|
+ */
|
|
|
+@Service
|
|
|
+@RequiredArgsConstructor(onConstructor_ = {@Lazy})
|
|
|
+public class OutInterfaceService {
|
|
|
+ @Value("${authorUrl}")
|
|
|
+ private String url;
|
|
|
+ public static final MediaType JSON = MediaType.parse("application/json; charset=utf-8");
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @title 获取验证码
|
|
|
+ * @description 接口来源:PCS
|
|
|
+ */
|
|
|
+ public String getVerifyCodeFromPCS() throws IOException {
|
|
|
+ OkHttpClient okHttpClient = new OkHttpClient();
|
|
|
+ Request request = new Request.Builder()
|
|
|
+ .url(url + "/permission/api/admin/verifyCode")
|
|
|
+ .get()
|
|
|
+ .build();
|
|
|
+ return Objects.requireNonNull(okHttpClient.newCall(request).execute().body()).string();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @title 登录接口
|
|
|
+ * @description 接口来源:PCS
|
|
|
+ */
|
|
|
+ public String LoginFromPCS(LoginVO loginVO) throws IOException {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("code", loginVO.getCode());
|
|
|
+ map.put("uuid", loginVO.getUuid());
|
|
|
+ map.put("username", loginVO.getUsername());
|
|
|
+ map.put("password", loginVO.getPassword());
|
|
|
+ JSONObject json = new JSONObject(map);
|
|
|
+ RequestBody a = RequestBody.create(JSON, String.valueOf(json));
|
|
|
+ OkHttpClient okHttpClient = new OkHttpClient();
|
|
|
+ Request request = new Request.Builder()
|
|
|
+ .url(url + "/permission/api/admin/login")
|
|
|
+ .post(a)
|
|
|
+ .build();
|
|
|
+ return Objects.requireNonNull(okHttpClient.newCall(request).execute().body()).string();
|
|
|
+ }
|
|
|
+}
|