Browse Source

feat:修改调用接口使用凭证

private_deployment
xmzhao71 1 year ago
parent
commit
729ffd7870
4 changed files with 67 additions and 7 deletions
  1. +8
    -2
      suimangService/src/main/java/com/iformall/smsdk/SmSdkConstant.java
  2. +7
    -1
      suimangService/src/main/java/com/iformall/smsdk/SmSdkProperties.java
  3. +4
    -4
      suimangService/src/main/java/com/iformall/smsdk/SmSdkUtils.java
  4. +48
    -0
      suimangService/src/main/java/com/iformall/smsdk/SmUtils.java

+ 8
- 2
suimangService/src/main/java/com/iformall/smsdk/SmSdkConstant.java View File

@@ -8,13 +8,19 @@ package com.iformall.smsdk;
*/ */
public interface SmSdkConstant { public interface SmSdkConstant {


/**
* 请求头参数
*/
String APP_KEY = "appKey";
String SIGN = "sign";

/** /**
* 预览视频 * 预览视频
*/ */
String PREVIEW_VIDEO = "/ai/video/previewVideo";
String PREVIEW_VIDEO = "/api/video/previewVideo";


/** /**
* 生成视频 * 生成视频
*/ */
String GENERATE_VIDEO = "/ai/video/generateVideo";
String GENERATE_VIDEO = "/api/video/generateVideo";
} }

+ 7
- 1
suimangService/src/main/java/com/iformall/smsdk/SmSdkProperties.java View File

@@ -4,12 +4,18 @@ import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;


/**
* 遂芒sdk调用凭证
*
* @author xmzhao71
* @date 2023-10-20
*/
@Data @Data
@Component @Component
@ConfigurationProperties(prefix = "sdk.sm") @ConfigurationProperties(prefix = "sdk.sm")
public class SmSdkProperties { public class SmSdkProperties {
/** /**
* 域名
* 域名
*/ */
private String baseUrl; private String baseUrl;
} }

+ 4
- 4
suimangService/src/main/java/com/iformall/smsdk/SmSdkUtils.java View File

@@ -36,9 +36,9 @@ public class SmSdkUtils {


public static AiPreviewResult preview(SmPreviewVideoDTO dto) { public static AiPreviewResult preview(SmPreviewVideoDTO dto) {
String url = smSdkUtils.smSdkProperties.getBaseUrl() + SmSdkConstant.PREVIEW_VIDEO; String url = smSdkUtils.smSdkProperties.getBaseUrl() + SmSdkConstant.PREVIEW_VIDEO;
HttpEntity<SmPreviewVideoDTO> httpEntity = new HttpEntity<>(dto);
// HttpEntity<SmPreviewVideoDTO> httpEntity = new HttpEntity<>(dto);
log.info("(遂芒api)【预览视频】接口的请求参数:{}", JSON.toJSONString(dto)); log.info("(遂芒api)【预览视频】接口的请求参数:{}", JSON.toJSONString(dto));
ResponseEntity<String> response = smSdkUtils.restTemplate.exchange(url, HttpMethod.POST, httpEntity, String.class);
ResponseEntity<String> response = smSdkUtils.restTemplate.exchange(url, HttpMethod.POST, SmUtils.getHttpEntity(JSON.toJSONString(dto)), String.class);
log.info("(遂芒api)【预览视频】接口的响应数据:{}", JSON.toJSONString(response.getBody())); log.info("(遂芒api)【预览视频】接口的响应数据:{}", JSON.toJSONString(response.getBody()));
JSONObject resultObject = JSON.parseObject(response.getBody()); JSONObject resultObject = JSON.parseObject(response.getBody());
String data = resultObject.getString("data"); String data = resultObject.getString("data");
@@ -47,9 +47,9 @@ public class SmSdkUtils {


public static AiVideoResult generateVideo(SmGenerateVideoDTO dto) { public static AiVideoResult generateVideo(SmGenerateVideoDTO dto) {
String url = smSdkUtils.smSdkProperties.getBaseUrl() + SmSdkConstant.GENERATE_VIDEO; String url = smSdkUtils.smSdkProperties.getBaseUrl() + SmSdkConstant.GENERATE_VIDEO;
HttpEntity<SmGenerateVideoDTO> httpEntity = new HttpEntity<>(dto);
// HttpEntity<SmGenerateVideoDTO> httpEntity = new HttpEntity<>(dto);
log.info("(遂芒api)【生成视频】接口的请求参数:{}", JSON.toJSONString(dto)); log.info("(遂芒api)【生成视频】接口的请求参数:{}", JSON.toJSONString(dto));
ResponseEntity<String> response = smSdkUtils.restTemplate.exchange(url, HttpMethod.POST, httpEntity, String.class);
ResponseEntity<String> response = smSdkUtils.restTemplate.exchange(url, HttpMethod.POST, SmUtils.getHttpEntity(JSON.toJSONString(dto)), String.class);
log.info("(遂芒api)【生成视频】接口的响应数据:{}", JSON.toJSONString(response.getBody())); log.info("(遂芒api)【生成视频】接口的响应数据:{}", JSON.toJSONString(response.getBody()));
JSONObject resultObject = JSON.parseObject(response.getBody()); JSONObject resultObject = JSON.parseObject(response.getBody());
String data = resultObject.getString("data"); String data = resultObject.getString("data");


+ 48
- 0
suimangService/src/main/java/com/iformall/smsdk/SmUtils.java View File

@@ -0,0 +1,48 @@
package com.iformall.smsdk;

import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.iformall.common.CommonConstants;
import com.iformall.domain.po.WxThirdPartyApi;
import com.iformall.mapper.WxThirdPartyApiMapper;
import com.iformall.utils.sign.SignUtils;
import org.apache.http.protocol.HTTP;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;
import java.util.List;
import java.util.Map;

@Component
public class SmUtils {
public static SmUtils smUtils;
@Autowired
private SmSdkProperties smSdkProperties;
@Autowired
private WxThirdPartyApiMapper wxThirdPartyApiMapper;

@PostConstruct
public void init() {
smUtils = this;
}

public static HttpEntity<String> getHttpEntity(String param) {
WxThirdPartyApi apiConfig = getApiConfig();
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.set(SmSdkConstant.APP_KEY, apiConfig.getAppId() + "&" + apiConfig.getAppKey());
String sign = SignUtils.getSign(apiConfig.getSignKey(), JSON.parseObject(param, Map.class), "MD5");
httpHeaders.set(SmSdkConstant.SIGN, sign);
return new HttpEntity<>(param, httpHeaders);
}


public static WxThirdPartyApi getApiConfig() {
List<WxThirdPartyApi> wxThirdPartyApis = smUtils.wxThirdPartyApiMapper.selectList(new LambdaQueryWrapper<WxThirdPartyApi>()
.eq(WxThirdPartyApi::getStatus, CommonConstants.STATUS_NORMAL));
return wxThirdPartyApis.get(0);
}
}

Loading…
Cancel
Save