diff --git a/ruoyi-ui/src/views/business/english/word/index.vue b/ruoyi-ui/src/views/business/english/word/index.vue index 5958196a..2cad261a 100644 --- a/ruoyi-ui/src/views/business/english/word/index.vue +++ b/ruoyi-ui/src/views/business/english/word/index.vue @@ -228,8 +228,8 @@ :before-close="handleClose"> -
-
+
+
{{ form.englishWord }}
@@ -250,6 +250,8 @@ export default { dicts: ['english_collect', 'english_top'], data() { return { + // 抽屉遮罩层 + loadingC: true, //抽屉开关 drawer: false, // 遮罩层 @@ -325,8 +327,10 @@ export default { methods: { //根据id查询放入抽屉 findById(id) { + this.loadingC = true; getWord(id).then(res =>{ this.form = res.data + this.loadingC=false }) }, diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/consts/ApiConst.java b/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/ApiConst.java similarity index 97% rename from xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/consts/ApiConst.java rename to xjs-business/xjs-business-common/src/main/java/com/xjs/consts/ApiConst.java index 69c16eb4..bb5c6e8f 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/consts/ApiConst.java +++ b/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/ApiConst.java @@ -1,4 +1,4 @@ -package com.xjs.common.consts; +package com.xjs.consts; /** * @author xiejs diff --git a/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/RedisConst.java b/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/RedisConst.java new file mode 100644 index 00000000..e7785817 --- /dev/null +++ b/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/RedisConst.java @@ -0,0 +1,21 @@ +package com.xjs.consts; + +/** + * @author xiejs + * @desc redis key常量 + * @create 2021-12-30 + */ +public class RedisConst { + + //----------------------key------------------------ + + /** + * 翻译字典常量 + */ + public static final String TRAN_DICT= "tranDict"; + + + //-------------------有效时间----------------------- + public static final Integer TRAN_DICT_EXPIRE = 7; + +} diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/consts/ReqConst.java b/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/ReqConst.java similarity index 86% rename from xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/consts/ReqConst.java rename to xjs-business/xjs-business-common/src/main/java/com/xjs/consts/ReqConst.java index fa97a312..85183716 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/consts/ReqConst.java +++ b/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/ReqConst.java @@ -1,4 +1,4 @@ -package com.xjs.common.consts; +package com.xjs.consts; /** * @author xiejs diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/consts/TianXingConst.java b/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/TianXingConst.java similarity index 92% rename from xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/consts/TianXingConst.java rename to xjs-business/xjs-business-common/src/main/java/com/xjs/consts/TianXingConst.java index 9e96129c..5200760f 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/consts/TianXingConst.java +++ b/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/TianXingConst.java @@ -1,4 +1,4 @@ -package com.xjs.common.consts; +package com.xjs.consts; /** * @author xiejs diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/consts/TranslationTypeConst.java b/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/TranslationTypeConst.java similarity index 85% rename from xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/consts/TranslationTypeConst.java rename to xjs-business/xjs-business-common/src/main/java/com/xjs/consts/TranslationTypeConst.java index 5f4401df..aa8c5235 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/consts/TranslationTypeConst.java +++ b/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/TranslationTypeConst.java @@ -1,4 +1,4 @@ -package com.xjs.common.consts; +package com.xjs.consts; /** * @author xiejs diff --git a/xjs-business/xjs-business-english/src/main/java/com/xjs/word/service/impl/EnglishWordServiceImpl.java b/xjs-business/xjs-business-english/src/main/java/com/xjs/word/service/impl/EnglishWordServiceImpl.java index 82e9d8bd..2a082d5d 100644 --- a/xjs-business/xjs-business-english/src/main/java/com/xjs/word/service/impl/EnglishWordServiceImpl.java +++ b/xjs-business/xjs-business-english/src/main/java/com/xjs/word/service/impl/EnglishWordServiceImpl.java @@ -2,6 +2,7 @@ package com.xjs.word.service.impl; import com.ruoyi.common.core.constant.Constants; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.redis.service.RedisService; import com.xjs.business.api.RemoteTranDIctFeign; import com.xjs.business.api.RemoteTranslationFeign; import com.xjs.business.api.domain.TranslationVo; @@ -14,9 +15,11 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.List; -import java.util.Objects; -import java.util.Optional; +import java.util.*; +import java.util.concurrent.TimeUnit; + +import static com.xjs.consts.RedisConst.TRAN_DICT; +import static com.xjs.consts.RedisConst.TRAN_DICT_EXPIRE; /** * 英语单词Service业务层处理 @@ -32,6 +35,8 @@ public class EnglishWordServiceImpl implements IEnglishWordService { private RemoteTranslationFeign remoteTranslationFeign; @Autowired private RemoteTranDIctFeign remoteTranDIctFeign; + @Autowired + private RedisService redisService; /** @@ -42,18 +47,28 @@ public class EnglishWordServiceImpl implements IEnglishWordService { */ @Override public EnglishWord selectEnglishWordById(Long id) { - //todo 查看单个单词详细信息 EnglishWord englishWord = englishWordMapper.selectById(id); + //每次调用查看次数+1 + Long count = englishWord.getLookCount() + 1; + englishWord.setLookCount(count); + //redis中的hsah键 + String hkey = englishWord.getEnglishWord() + ":" + id; + Object value = redisService.getCacheMapValue(TRAN_DICT, hkey); + if (Objects.nonNull(value)) { + return (EnglishWord)value; + } R r = remoteTranDIctFeign.tranDict(englishWord.getEnglishWord()); if (r.getCode() != R.FAIL) { if (Objects.isNull(r.getData().getErrorCode())) { //指定to为翻译字典转换的内容 englishWord.setContent(r.getData().getTo()); + //添加缓存到redis并设置7天有效时间 + Map build = new HashMap<>(); + build.put(hkey, englishWord); + redisService.setCacheMap(TRAN_DICT, build); + redisService.expire(TRAN_DICT, TRAN_DICT_EXPIRE, TimeUnit.DAYS); } } - //每次调用查看次数+1 - Long count = englishWord.getLookCount() + 1; - englishWord.setLookCount(count); return englishWord; } @@ -75,7 +90,7 @@ public class EnglishWordServiceImpl implements IEnglishWordService { if (chinese) { englishWord.setChineseWord(englishWord.getContent()); R translationResult = remoteTranslationFeign.translation(englishWord.getContent()); - if(translationResult.getCode()!= Constants.FAIL){ + if (translationResult.getCode() != Constants.FAIL) { String dst = translationResult.getData().getTransResult().get(0).get("dst"); englishWord.setEnglishWord(dst); } @@ -83,7 +98,7 @@ public class EnglishWordServiceImpl implements IEnglishWordService { if (alpha) { englishWord.setEnglishWord(englishWord.getContent()); R translationResult = remoteTranslationFeign.translation(englishWord.getContent()); - if(translationResult.getCode()!= Constants.FAIL){ + if (translationResult.getCode() != Constants.FAIL) { String dst = translationResult.getData().getTransResult().get(0).get("dst"); englishWord.setChineseWord(dst); } @@ -96,9 +111,6 @@ public class EnglishWordServiceImpl implements IEnglishWordService { } - - - //------------------------代码自动生成----------------------------------- /** @@ -113,13 +125,15 @@ public class EnglishWordServiceImpl implements IEnglishWordService { } /** - * 修改英语单词 + * 修改英语单词 (修改需要清除redis) * * @param englishWord 英语单词 * @return 结果 */ @Override public int updateEnglishWord(EnglishWord englishWord) { + + return englishWordMapper.updateById(englishWord); } diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/BaiduFeignClient.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/BaiduFeignClient.java index 1d154f20..d65c2e4b 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/BaiduFeignClient.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/BaiduFeignClient.java @@ -7,7 +7,7 @@ import com.xjs.translation.domain.qo.translation.BaiDuTranslationQo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; -import static com.xjs.common.consts.ApiConst.*; +import static com.xjs.consts.ApiConst.*; /** * @author xiejs diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingJDTCFeignClient.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingJDTCFeignClient.java index 2bd4972d..b6918bad 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingJDTCFeignClient.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingJDTCFeignClient.java @@ -8,8 +8,8 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.SpringQueryMap; import org.springframework.web.bind.annotation.GetMapping; -import static com.xjs.common.consts.ApiConst.TIANXING_JDTC; -import static com.xjs.common.consts.ApiConst.TIANXING_JDTC_URL; +import static com.xjs.consts.ApiConst.TIANXING_JDTC; +import static com.xjs.consts.ApiConst.TIANXING_JDTC_URL; /** * @author xiejs diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingMMMYFeignClient.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingMMMYFeignClient.java index 55610d63..f23ac574 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingMMMYFeignClient.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingMMMYFeignClient.java @@ -8,8 +8,8 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.SpringQueryMap; import org.springframework.web.bind.annotation.GetMapping; -import static com.xjs.common.consts.ApiConst.TIANXING_MMMY; -import static com.xjs.common.consts.ApiConst.TIANXING_MMMY_URL; +import static com.xjs.consts.ApiConst.TIANXING_MMMY; +import static com.xjs.consts.ApiConst.TIANXING_MMMY_URL; /** * @author xiejs diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingPYQFeignClient.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingPYQFeignClient.java index 5cc39cf4..3d985a5b 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingPYQFeignClient.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingPYQFeignClient.java @@ -8,8 +8,8 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.SpringQueryMap; import org.springframework.web.bind.annotation.GetMapping; -import static com.xjs.common.consts.ApiConst.TIANXING_PYQ; -import static com.xjs.common.consts.ApiConst.TIANXING_PYQ_URL; +import static com.xjs.consts.ApiConst.TIANXING_PYQ; +import static com.xjs.consts.ApiConst.TIANXING_PYQ_URL; /** * @author xiejs diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingTranDictClient.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingTranDictClient.java index bd504400..25028d6f 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingTranDictClient.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingTranDictClient.java @@ -8,8 +8,8 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.SpringQueryMap; import org.springframework.web.bind.annotation.GetMapping; -import static com.xjs.common.consts.ApiConst.TIANXING_TRAN_DICT; -import static com.xjs.common.consts.ApiConst.TIANXING_TRAN_DICT_URL; +import static com.xjs.consts.ApiConst.TIANXING_TRAN_DICT; +import static com.xjs.consts.ApiConst.TIANXING_TRAN_DICT_URL; /** * @author xiejs diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingWYYFeignClient.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingWYYFeignClient.java index e0f1b5b4..70253da1 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingWYYFeignClient.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingWYYFeignClient.java @@ -8,8 +8,8 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.SpringQueryMap; import org.springframework.web.bind.annotation.GetMapping; -import static com.xjs.common.consts.ApiConst.TIANXING_WYY; -import static com.xjs.common.consts.ApiConst.TIANXING_WYY_URL; +import static com.xjs.consts.ApiConst.TIANXING_WYY; +import static com.xjs.consts.ApiConst.TIANXING_WYY_URL; /** * @author xiejs diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/YouDaoFeignClient.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/YouDaoFeignClient.java index 86591243..d6aaf6fe 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/YouDaoFeignClient.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/YouDaoFeignClient.java @@ -8,8 +8,8 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.SpringQueryMap; import org.springframework.web.bind.annotation.GetMapping; -import static com.xjs.common.consts.ApiConst.YOUDAO_FY; -import static com.xjs.common.consts.ApiConst.YOUDAO_FY_URL; +import static com.xjs.consts.ApiConst.YOUDAO_FY; +import static com.xjs.consts.ApiConst.YOUDAO_FY_URL; /** * @author xiejs diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingJDTCCopyWritingFactory.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingJDTCCopyWritingFactory.java index 41486590..f1047433 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingJDTCCopyWritingFactory.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingJDTCCopyWritingFactory.java @@ -5,7 +5,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.xjs.common.client.TianXingJDTCFeignClient; import com.xjs.config.TianXingProperties; -import com.xjs.common.consts.TianXingConst; +import com.xjs.consts.TianXingConst; import com.xjs.exception.ApiException; import com.xjs.copywriting.domain.CopyWriting; import com.xjs.copywriting.domain.RequestBody; diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingMMMYCopyWritingFactory.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingMMMYCopyWritingFactory.java index 004697a0..00a21a03 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingMMMYCopyWritingFactory.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingMMMYCopyWritingFactory.java @@ -5,7 +5,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.xjs.common.client.TianXingMMMYFeignClient; import com.xjs.config.TianXingProperties; -import com.xjs.common.consts.TianXingConst; +import com.xjs.consts.TianXingConst; import com.xjs.exception.ApiException; import com.xjs.copywriting.domain.CopyWriting; import com.xjs.copywriting.domain.RequestBody; diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingPYQCopyWritingFactory.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingPYQCopyWritingFactory.java index 83f8c84f..5f03d31f 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingPYQCopyWritingFactory.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingPYQCopyWritingFactory.java @@ -5,7 +5,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.xjs.common.client.TianXingPYQFeignClient; import com.xjs.config.TianXingProperties; -import com.xjs.common.consts.TianXingConst; +import com.xjs.consts.TianXingConst; import com.xjs.exception.ApiException; import com.xjs.copywriting.domain.CopyWriting; import com.xjs.copywriting.domain.RequestBody; diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingWYYCopyWritingFactory.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingWYYCopyWritingFactory.java index 8a522792..2c026530 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingWYYCopyWritingFactory.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingWYYCopyWritingFactory.java @@ -5,7 +5,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.xjs.common.client.TianXingWYYFeignClient; import com.xjs.config.TianXingProperties; -import com.xjs.common.consts.TianXingConst; +import com.xjs.consts.TianXingConst; import com.xjs.exception.ApiException; import com.xjs.copywriting.domain.CopyWriting; import com.xjs.copywriting.domain.RequestBody; diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/translation/controller/TranslationController.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/translation/controller/TranslationController.java index f984f78f..7e478007 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/translation/controller/TranslationController.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/translation/controller/TranslationController.java @@ -18,8 +18,8 @@ import org.springframework.web.bind.annotation.*; import java.util.ArrayList; -import static com.xjs.common.consts.TranslationTypeConst.BAIDU; -import static com.xjs.common.consts.TranslationTypeConst.YOUDAO; +import static com.xjs.consts.TranslationTypeConst.BAIDU; +import static com.xjs.consts.TranslationTypeConst.YOUDAO; /** * @author xiejs