说明:1、前端点击单词详情加入遮罩层

2、api模块常量包移到common模块
     3获取英语单词详情加入redis缓存
pull/254/head
xjs 4 years ago
parent 88a60fddb8
commit 74d3a39221

@ -228,8 +228,8 @@
:before-close="handleClose"> :before-close="handleClose">
<div> <div v-loading="loadingC">
<div class="div1"> <div class="div1" >
{{ form.englishWord }} {{ form.englishWord }}
</div> </div>
<div class="div2"> <div class="div2">
@ -250,6 +250,8 @@ export default {
dicts: ['english_collect', 'english_top'], dicts: ['english_collect', 'english_top'],
data() { data() {
return { return {
//
loadingC: true,
// //
drawer: false, drawer: false,
// //
@ -325,8 +327,10 @@ export default {
methods: { methods: {
//id //id
findById(id) { findById(id) {
this.loadingC = true;
getWord(id).then(res =>{ getWord(id).then(res =>{
this.form = res.data this.form = res.data
this.loadingC=false
}) })
}, },

@ -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;
}

@ -2,6 +2,7 @@ package com.xjs.word.service.impl;
import com.ruoyi.common.core.constant.Constants; import com.ruoyi.common.core.constant.Constants;
import com.ruoyi.common.core.domain.R; 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.RemoteTranDIctFeign;
import com.xjs.business.api.RemoteTranslationFeign; import com.xjs.business.api.RemoteTranslationFeign;
import com.xjs.business.api.domain.TranslationVo; import com.xjs.business.api.domain.TranslationVo;
@ -14,9 +15,11 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List; import java.util.*;
import java.util.Objects; import java.util.concurrent.TimeUnit;
import java.util.Optional;
import static com.xjs.consts.RedisConst.TRAN_DICT;
import static com.xjs.consts.RedisConst.TRAN_DICT_EXPIRE;
/** /**
* Service * Service
@ -32,6 +35,8 @@ public class EnglishWordServiceImpl implements IEnglishWordService {
private RemoteTranslationFeign remoteTranslationFeign; private RemoteTranslationFeign remoteTranslationFeign;
@Autowired @Autowired
private RemoteTranDIctFeign remoteTranDIctFeign; private RemoteTranDIctFeign remoteTranDIctFeign;
@Autowired
private RedisService redisService;
/** /**
@ -42,18 +47,28 @@ public class EnglishWordServiceImpl implements IEnglishWordService {
*/ */
@Override @Override
public EnglishWord selectEnglishWordById(Long id) { public EnglishWord selectEnglishWordById(Long id) {
//todo 查看单个单词详细信息
EnglishWord englishWord = englishWordMapper.selectById(id); 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<TranslationVo> r = remoteTranDIctFeign.tranDict(englishWord.getEnglishWord()); R<TranslationVo> r = remoteTranDIctFeign.tranDict(englishWord.getEnglishWord());
if (r.getCode() != R.FAIL) { if (r.getCode() != R.FAIL) {
if (Objects.isNull(r.getData().getErrorCode())) { if (Objects.isNull(r.getData().getErrorCode())) {
//指定to为翻译字典转换的内容 //指定to为翻译字典转换的内容
englishWord.setContent(r.getData().getTo()); englishWord.setContent(r.getData().getTo());
//添加缓存到redis并设置7天有效时间
Map<String, Object> 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; return englishWord;
} }
@ -75,7 +90,7 @@ public class EnglishWordServiceImpl implements IEnglishWordService {
if (chinese) { if (chinese) {
englishWord.setChineseWord(englishWord.getContent()); englishWord.setChineseWord(englishWord.getContent());
R<TranslationVo> translationResult = remoteTranslationFeign.translation(englishWord.getContent()); R<TranslationVo> translationResult = remoteTranslationFeign.translation(englishWord.getContent());
if(translationResult.getCode()!= Constants.FAIL){ if (translationResult.getCode() != Constants.FAIL) {
String dst = translationResult.getData().getTransResult().get(0).get("dst"); String dst = translationResult.getData().getTransResult().get(0).get("dst");
englishWord.setEnglishWord(dst); englishWord.setEnglishWord(dst);
} }
@ -83,7 +98,7 @@ public class EnglishWordServiceImpl implements IEnglishWordService {
if (alpha) { if (alpha) {
englishWord.setEnglishWord(englishWord.getContent()); englishWord.setEnglishWord(englishWord.getContent());
R<TranslationVo> translationResult = remoteTranslationFeign.translation(englishWord.getContent()); R<TranslationVo> translationResult = remoteTranslationFeign.translation(englishWord.getContent());
if(translationResult.getCode()!= Constants.FAIL){ if (translationResult.getCode() != Constants.FAIL) {
String dst = translationResult.getData().getTransResult().get(0).get("dst"); String dst = translationResult.getData().getTransResult().get(0).get("dst");
englishWord.setChineseWord(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 * @param englishWord
* @return * @return
*/ */
@Override @Override
public int updateEnglishWord(EnglishWord englishWord) { public int updateEnglishWord(EnglishWord englishWord) {
return englishWordMapper.updateById(englishWord); return englishWordMapper.updateById(englishWord);
} }

@ -7,7 +7,7 @@ import com.xjs.translation.domain.qo.translation.BaiDuTranslationQo;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import static com.xjs.common.consts.ApiConst.*; import static com.xjs.consts.ApiConst.*;
/** /**
* @author xiejs * @author xiejs

@ -8,8 +8,8 @@ import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap; import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import static com.xjs.common.consts.ApiConst.TIANXING_JDTC; import static com.xjs.consts.ApiConst.TIANXING_JDTC;
import static com.xjs.common.consts.ApiConst.TIANXING_JDTC_URL; import static com.xjs.consts.ApiConst.TIANXING_JDTC_URL;
/** /**
* @author xiejs * @author xiejs

@ -8,8 +8,8 @@ import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap; import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import static com.xjs.common.consts.ApiConst.TIANXING_MMMY; import static com.xjs.consts.ApiConst.TIANXING_MMMY;
import static com.xjs.common.consts.ApiConst.TIANXING_MMMY_URL; import static com.xjs.consts.ApiConst.TIANXING_MMMY_URL;
/** /**
* @author xiejs * @author xiejs

@ -8,8 +8,8 @@ import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap; import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import static com.xjs.common.consts.ApiConst.TIANXING_PYQ; import static com.xjs.consts.ApiConst.TIANXING_PYQ;
import static com.xjs.common.consts.ApiConst.TIANXING_PYQ_URL; import static com.xjs.consts.ApiConst.TIANXING_PYQ_URL;
/** /**
* @author xiejs * @author xiejs

@ -8,8 +8,8 @@ import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap; import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import static com.xjs.common.consts.ApiConst.TIANXING_TRAN_DICT; import static com.xjs.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_URL;
/** /**
* @author xiejs * @author xiejs

@ -8,8 +8,8 @@ import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap; import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import static com.xjs.common.consts.ApiConst.TIANXING_WYY; import static com.xjs.consts.ApiConst.TIANXING_WYY;
import static com.xjs.common.consts.ApiConst.TIANXING_WYY_URL; import static com.xjs.consts.ApiConst.TIANXING_WYY_URL;
/** /**
* @author xiejs * @author xiejs

@ -8,8 +8,8 @@ import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap; import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import static com.xjs.common.consts.ApiConst.YOUDAO_FY; import static com.xjs.consts.ApiConst.YOUDAO_FY;
import static com.xjs.common.consts.ApiConst.YOUDAO_FY_URL; import static com.xjs.consts.ApiConst.YOUDAO_FY_URL;
/** /**
* @author xiejs * @author xiejs

@ -5,7 +5,7 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.xjs.common.client.TianXingJDTCFeignClient; import com.xjs.common.client.TianXingJDTCFeignClient;
import com.xjs.config.TianXingProperties; import com.xjs.config.TianXingProperties;
import com.xjs.common.consts.TianXingConst; import com.xjs.consts.TianXingConst;
import com.xjs.exception.ApiException; import com.xjs.exception.ApiException;
import com.xjs.copywriting.domain.CopyWriting; import com.xjs.copywriting.domain.CopyWriting;
import com.xjs.copywriting.domain.RequestBody; import com.xjs.copywriting.domain.RequestBody;

@ -5,7 +5,7 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.xjs.common.client.TianXingMMMYFeignClient; import com.xjs.common.client.TianXingMMMYFeignClient;
import com.xjs.config.TianXingProperties; import com.xjs.config.TianXingProperties;
import com.xjs.common.consts.TianXingConst; import com.xjs.consts.TianXingConst;
import com.xjs.exception.ApiException; import com.xjs.exception.ApiException;
import com.xjs.copywriting.domain.CopyWriting; import com.xjs.copywriting.domain.CopyWriting;
import com.xjs.copywriting.domain.RequestBody; import com.xjs.copywriting.domain.RequestBody;

@ -5,7 +5,7 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.xjs.common.client.TianXingPYQFeignClient; import com.xjs.common.client.TianXingPYQFeignClient;
import com.xjs.config.TianXingProperties; import com.xjs.config.TianXingProperties;
import com.xjs.common.consts.TianXingConst; import com.xjs.consts.TianXingConst;
import com.xjs.exception.ApiException; import com.xjs.exception.ApiException;
import com.xjs.copywriting.domain.CopyWriting; import com.xjs.copywriting.domain.CopyWriting;
import com.xjs.copywriting.domain.RequestBody; import com.xjs.copywriting.domain.RequestBody;

@ -5,7 +5,7 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.xjs.common.client.TianXingWYYFeignClient; import com.xjs.common.client.TianXingWYYFeignClient;
import com.xjs.config.TianXingProperties; import com.xjs.config.TianXingProperties;
import com.xjs.common.consts.TianXingConst; import com.xjs.consts.TianXingConst;
import com.xjs.exception.ApiException; import com.xjs.exception.ApiException;
import com.xjs.copywriting.domain.CopyWriting; import com.xjs.copywriting.domain.CopyWriting;
import com.xjs.copywriting.domain.RequestBody; import com.xjs.copywriting.domain.RequestBody;

@ -18,8 +18,8 @@ import org.springframework.web.bind.annotation.*;
import java.util.ArrayList; import java.util.ArrayList;
import static com.xjs.common.consts.TranslationTypeConst.BAIDU; import static com.xjs.consts.TranslationTypeConst.BAIDU;
import static com.xjs.common.consts.TranslationTypeConst.YOUDAO; import static com.xjs.consts.TranslationTypeConst.YOUDAO;
/** /**
* @author xiejs * @author xiejs

Loading…
Cancel
Save