diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/english/RemoteTranslationFeign.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/english/RemoteTranslationFeign.java new file mode 100644 index 00000000..8710dd33 --- /dev/null +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/english/RemoteTranslationFeign.java @@ -0,0 +1,25 @@ +package com.xjs.business.english; + +import com.ruoyi.common.core.constant.ServiceNameConstants; +import com.ruoyi.common.core.domain.R; +import com.xjs.business.english.domain.TranslationVo; +import com.xjs.business.english.factory.RemoteTranslationFactory; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +/** + * @author xiejs + * @desc rpc远程调用其他服务翻译接口 + * @create 2021-12-29 + */ +@FeignClient(contextId = "remoteTranslationFeign", + value = ServiceNameConstants.BUSINESS_OPENAPI_SERVICE, + fallbackFactory = RemoteTranslationFactory.class) +public interface RemoteTranslationFeign { + + @GetMapping(value = "/translation/forRPC") + //get请求传递单个参数需要此注解 + R translation(@RequestParam("content") String content); + +} diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/english/domain/TranslationVo.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/english/domain/TranslationVo.java new file mode 100644 index 00000000..9a1f6531 --- /dev/null +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/english/domain/TranslationVo.java @@ -0,0 +1,96 @@ +package com.xjs.business.english.domain; + + +import java.io.Serializable; +import java.util.List; +import java.util.Map; + +/** + * @author xiejs + * @desc 翻译实体类VO + * @create 2021-12-25 + */ +public class TranslationVo implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 源语言 + */ + private String from; + + /** + * 目标语言 + */ + private String to; + + /** + * 翻译结果 + */ + private List> transResult; + + /** + * 是否错误 + */ + private Long errorCode; + + + /** + * 运行时间,单位毫秒 + */ + private Long elapsedTime; + + + /** + * 语言类型 + */ + private String type; + + public String getFrom() { + return from; + } + + public void setFrom(String from) { + this.from = from; + } + + public String getTo() { + return to; + } + + public void setTo(String to) { + this.to = to; + } + + public List> getTransResult() { + return transResult; + } + + public void setTransResult(List> transResult) { + this.transResult = transResult; + } + + public Long getErrorCode() { + return errorCode; + } + + public void setErrorCode(Long errorCode) { + this.errorCode = errorCode; + } + + public Long getElapsedTime() { + return elapsedTime; + } + + public void setElapsedTime(Long elapsedTime) { + this.elapsedTime = elapsedTime; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } +} diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/english/factory/RemoteTranslationFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/english/factory/RemoteTranslationFactory.java new file mode 100644 index 00000000..cb28ef4d --- /dev/null +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/english/factory/RemoteTranslationFactory.java @@ -0,0 +1,26 @@ +package com.xjs.business.english.factory; + +import com.ruoyi.common.core.domain.R; +import com.ruoyi.system.api.factory.RemoteFileFallbackFactory; +import com.xjs.business.english.RemoteTranslationFeign; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.cloud.openfeign.FallbackFactory; +import org.springframework.stereotype.Component; + +/** + * @author xiejs + * @desc 调用翻译接口降级处理 + * @create 2021-12-29 + */ +@Component +public class RemoteTranslationFactory implements FallbackFactory { + + private static final Logger log = LoggerFactory.getLogger(RemoteFileFallbackFactory.class); + + @Override + public RemoteTranslationFeign create(Throwable cause) { + log.error("api模块翻译服务调用失败:{}", cause.getMessage()); + return content -> R.fail("翻译服务调用失败" + cause.getMessage()); + } +} diff --git a/ruoyi-ui/src/views/business/english/word/index.vue b/ruoyi-ui/src/views/business/english/word/index.vue index c73be4f9..ee4391b7 100644 --- a/ruoyi-ui/src/views/business/english/word/index.vue +++ b/ruoyi-ui/src/views/business/english/word/index.vue @@ -46,7 +46,8 @@ size="mini" @click="handleAdd" v-hasPermi="['english:word:add']" - >新增 + >新增 + 修改 + >修改 + 删除 + >删除 + 导出 + >导出 + - + - +