tanbin 7 luni în urmă
părinte
comite
435c0aa778

+ 25 - 4
sys-api-service/src/main/java/com/xy/service/SysDictServiceImpl.java

@@ -25,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestHeader;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -81,6 +82,15 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> impl
         }
     }
 
+    /**
+     * 全量刷新redis字典数据
+     */
+    @Async
+    public void refreshAll() {
+        List<SysDict> SysDicts = this.list();
+        SysDicts.forEach(sysDict -> refuRedis(sysDict));
+    }
+
     @ApiOperation("添加")
     @PostMapping("save")
     public R save(@RequestBody @Validated SysDictDto.Save save) {
@@ -165,7 +175,7 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> impl
 
     @ApiOperation("集合查询")
     @PostMapping("list")
-    public R<List<SysDictDto.Vo>> list(@RequestBody SysDictDto.SelectList selectList) {
+    public R<List<SysDictDto.Vo>> list(@RequestHeader(value = "lang", required = false) String lang, @RequestBody SysDictDto.SelectList selectList) {
         LambdaQueryWrapper<SysDict> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(selectList, SysDict.class)
                 .in(SysDict::getId, selectList.getIds())
                 .in(SysDict::getCode, selectList.getCodes())
@@ -175,13 +185,24 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> impl
                 .build()
                 .orderByAsc(SysDict::getOrders);
         List<SysDict> list = list(lambdaQueryWrapper);
-        return R.ok(copy(SysDictDto.Vo.class, list));
+        List<SysDictDto.Vo> voList = copy(SysDictDto.Vo.class, list);
+        if ("en".equals(lang)) {
+            //英文菜单
+            voList.forEach(v -> {
+                String enName = v.getEnMsg();
+                if (StrUtil.isNotEmpty(enName)) {
+                    v.setMsg(enName);
+                }
+            });
+
+        }
+        return R.ok(voList);
     }
 
     @ApiOperation("集合查询(无需授权)")
     @PostMapping("list2")
-    public R<List<SysDictDto.Vo>> list2(@RequestBody SysDictDto.SelectList selectList) {
-        return list(selectList);
+    public R<List<SysDictDto.Vo>> list2(@RequestHeader(value = "lang", required = false) String lang, @RequestBody SysDictDto.SelectList selectList) {
+        return list(lang, selectList);
     }
 
     /**

+ 10 - 2
sys-api-service/src/main/java/com/xy/service/SysDictTranslateService.java

@@ -27,7 +27,7 @@ public class SysDictTranslateService {
 
     @PostMapping("/one")
     @ApiOperation("单个翻译-同步返回结果")
-    public R<String> translateMenuOne(@RequestBody @Validated TranslateDto.One one) {
+    public R<String> translateOne(@RequestBody @Validated TranslateDto.One one) {
         String content = one.getContent();
         String targetType = one.getTargetType();
         String translatedValue = TransApi.translate(content, "zh", targetType);
@@ -42,7 +42,15 @@ public class SysDictTranslateService {
      */
     @PostMapping("/all")
     @ApiOperation("全量翻译-已翻译的忽略")
-    public R<?> translateMenuAll() {
+    public R<?> translateAll() {
+        sysDictService.translateAllDict();
+        return R.ok();
+    }
+
+
+    @PostMapping("/refreshAll")
+    @ApiOperation("全量刷新redis缓存")
+    public R<?> refreshAll() {
         sysDictService.translateAllDict();
         return R.ok();
     }