Browse Source

feature-1.0-img:翻译api集成

feature-1.0-img
‘‘ 3 years ago
parent
commit
64b5032641
  1. 15
      bnyer-common/bnyer-common-core/pom.xml
  2. 50
      bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/client/TmtClient.java
  3. 31
      bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/TextTranslateDto.java
  4. 23
      bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/TextTranslateVo.java
  5. 10
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/StableDiffusionServiceImpl.java

15
bnyer-common/bnyer-common-core/pom.xml

@ -136,17 +136,16 @@
</dependency> </dependency>
<!--腾讯翻译--> <!--腾讯翻译-->
<!-- <dependency>-->
<!-- <groupId>com.tencentcloudapi</groupId>-->
<!-- <artifactId>tencentcloud-sdk-java-tmt</artifactId>-->
<!-- <version>3.1.744</version>-->
<!-- </dependency>-->
<dependency> <dependency>
<groupId>com.tencentcloudapi</groupId> <groupId>com.tencentcloudapi</groupId>
<artifactId>tencentcloud-sdk-java</artifactId> <artifactId>tencentcloud-sdk-java-common</artifactId>
<version>3.1.717</version> <version>LATEST</version>
</dependency>
<dependency>
<groupId>com.tencentcloudapi</groupId>
<artifactId>tencentcloud-sdk-java-tmt</artifactId>
<version>LATEST</version>
</dependency> </dependency>
</dependencies> </dependencies>
</project> </project>

50
bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/client/TmtClient.java

@ -1,50 +0,0 @@
package com.bnyer.common.core.client;
import com.bnyer.common.core.dto.TextTranslateDto;
import com.bnyer.common.core.vo.TextTranslateVo;
import com.google.gson.JsonSyntaxException;
import com.google.gson.reflect.TypeToken;
import com.tencentcloudapi.common.AbstractClient;
import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.JsonResponseModel;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.common.profile.ClientProfile;
import java.lang.reflect.Type;
/**
* 翻译方法类
*/
public class TmtClient extends AbstractClient {
private static String endpoint = "tmt.tencentcloudapi.com";
private static String service = "tmt";
private static String version = "2018-03-21";
public TmtClient(Credential credential, String region) {
this(credential, region, new ClientProfile());
}
public TmtClient(Credential credential, String region, ClientProfile profile) {
super(TmtClient.endpoint, TmtClient.version, credential, region, profile);
}
/**
* 汉译英
* @param req TextTranslateRequest
* @return TextTranslateResponse
* @throws TencentCloudSDKException
*/
public TextTranslateVo TextTranslate(TextTranslateDto req) throws TencentCloudSDKException {
JsonResponseModel<TextTranslateVo> rsp = null;
String rspStr = "";
try {
Type type = new TypeToken<JsonResponseModel<TextTranslateVo>>() {
}.getType();
rspStr = this.internalRequest(req, "TextTranslate");
rsp = gson.fromJson(rspStr, type);
} catch (JsonSyntaxException e) {
throw new TencentCloudSDKException("response message: " + rspStr + ".\n Error message: " + e.getMessage());
}
return rsp.response;
}
}

31
bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/TextTranslateDto.java

@ -1,31 +0,0 @@
package com.bnyer.common.core.dto;
import com.tencentcloudapi.common.AbstractModel;
import lombok.Data;
import java.util.HashMap;
/**
* 翻译接收参数类
*/
@Data
public class TextTranslateDto extends AbstractModel {
//翻译文本
private String SourceText;
//源翻译语言
private String Source;
//目标翻译语言
private String Target;
//项目id
private Long ProjectId;
@Override
protected void toMap(HashMap<String, String> hashMap, String s) {
}
}

23
bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/TextTranslateVo.java

@ -1,23 +0,0 @@
package com.bnyer.common.core.vo;
import lombok.Data;
/**
* 翻译接收响应类
*/
@Data
public class TextTranslateVo {
//翻译后的文本
private String TargetText;
//源翻译语言
private String Source;
//目标翻译语言
private String Target;
//请求id
private String RequestId;
}

10
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/StableDiffusionServiceImpl.java

@ -3,15 +3,12 @@ package com.bnyer.img.service.impl;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.bnyer.common.core.client.TmtClient;
import com.bnyer.common.core.constant.RedisKeyConstant; import com.bnyer.common.core.constant.RedisKeyConstant;
import com.bnyer.common.core.domain.AiPaint; import com.bnyer.common.core.domain.AiPaint;
import com.bnyer.common.core.dto.TextToImgDto; import com.bnyer.common.core.dto.TextToImgDto;
import com.bnyer.common.core.dto.TextTranslateDto;
import com.bnyer.common.core.utils.TranslateUtils; import com.bnyer.common.core.utils.TranslateUtils;
import com.bnyer.common.core.utils.file.Base64ToMultipartFileUtils; import com.bnyer.common.core.utils.file.Base64ToMultipartFileUtils;
import com.bnyer.common.core.vo.TextToImgVo; import com.bnyer.common.core.vo.TextToImgVo;
import com.bnyer.common.core.vo.TextTranslateVo;
import com.bnyer.common.redis.service.RedisService; import com.bnyer.common.redis.service.RedisService;
import com.bnyer.file.api.RemoteFileService; import com.bnyer.file.api.RemoteFileService;
import com.bnyer.img.config.TencentTranslateConfig; import com.bnyer.img.config.TencentTranslateConfig;
@ -21,6 +18,9 @@ import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.exception.TencentCloudSDKException; import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.common.profile.ClientProfile; import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile; import com.tencentcloudapi.common.profile.HttpProfile;
import com.tencentcloudapi.tmt.v20180321.TmtClient;
import com.tencentcloudapi.tmt.v20180321.models.TextTranslateRequest;
import com.tencentcloudapi.tmt.v20180321.models.TextTranslateResponse;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -64,13 +64,13 @@ public class StableDiffusionServiceImpl implements StableDiffusionService {
// 实例化要请求产品的client对象,clientProfile是可选的 // 实例化要请求产品的client对象,clientProfile是可选的
TmtClient client = new TmtClient(cred, tencentTranslateConfig.getRegion(), clientProfile); TmtClient client = new TmtClient(cred, tencentTranslateConfig.getRegion(), clientProfile);
// 实例化一个请求对象,每个接口都会对应一个request对象 // 实例化一个请求对象,每个接口都会对应一个request对象
TextTranslateDto req = new TextTranslateDto(); TextTranslateRequest req = new TextTranslateRequest();
req.setSourceText(text); req.setSourceText(text);
req.setSource("zh"); req.setSource("zh");
req.setTarget("en"); req.setTarget("en");
req.setProjectId(Long.parseLong(tencentTranslateConfig.getProjectId())); req.setProjectId(Long.parseLong(tencentTranslateConfig.getProjectId()));
// 返回的resp是一个TextTranslateResponse的实例,与请求对象对应 // 返回的resp是一个TextTranslateResponse的实例,与请求对象对应
TextTranslateVo resp = client.TextTranslate(req); TextTranslateResponse resp = client.TextTranslate(req);
return resp.getTargetText(); return resp.getTargetText();
} catch (TencentCloudSDKException e) { } catch (TencentCloudSDKException e) {
log.error("调用腾讯api失败"+e.toString()); log.error("调用腾讯api失败"+e.toString());

Loading…
Cancel
Save