feat 新特性! 支持列表翻译~

This commit is contained in:
秋辞未寒
2026-03-19 01:42:26 +08:00
parent b67cd76e04
commit d9aa8484ed
13 changed files with 346 additions and 13 deletions

View File

@@ -1,15 +1,16 @@
package org.dromara.demo.domain.vo;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.apache.fesod.sheet.annotation.ExcelIgnoreUnannotated;
import org.apache.fesod.sheet.annotation.ExcelProperty;
import org.apache.fesod.sheet.annotation.format.DateTimeFormat;
import org.dromara.common.excel.annotation.ExcelNotation;
import org.dromara.common.excel.annotation.ExcelRequired;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.collection.TranslationCollection;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.demo.domain.TestDemo;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
@@ -22,6 +23,7 @@ import java.util.Date;
* @author Lion Li
* @date 2021-07-26
*/
@TranslationCollection(type = "test")
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = TestDemo.class)

View File

@@ -9,6 +9,7 @@ import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.translation.collection.TranslationCollectionWrapper;
import org.dromara.demo.domain.TestDemo;
import org.dromara.demo.domain.bo.TestDemoBo;
import org.dromara.demo.domain.vo.TestDemoVo;
@@ -53,7 +54,7 @@ public class TestDemoServiceImpl implements ITestDemoService {
public PageResult<TestDemoVo> queryPageList(TestDemoBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<TestDemo> lqw = buildQueryWrapper(bo);
Page<TestDemoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return PageResult.build(result.getRecords(), result.getTotal());
return PageResult.build(TranslationCollectionWrapper.form(result.getRecords()), result.getTotal());
}
/**

View File

@@ -0,0 +1,27 @@
package org.dromara.demo.translation;
import cn.hutool.core.util.IdUtil;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.json.utils.JsonUtils;
import org.dromara.common.translation.collection.TranslationCollectionType;
import org.dromara.common.translation.collection.TranslationCollectionProcessor;
import org.dromara.demo.domain.vo.TestDemoVo;
import java.util.ArrayList;
import java.util.Collection;
@Slf4j
@TranslationCollectionType(type = "test")
public class TestDemoVoTranslationCollectionCollectionHandler implements TranslationCollectionProcessor<TestDemoVo,TestDemoVo> {
@Override
public Collection<TestDemoVo> process(Collection<TestDemoVo> value, String other) throws Exception {
log.info("翻译前的数据:{}", JsonUtils.toJsonString(value));
ArrayList<TestDemoVo> vos = new ArrayList<>(value);
for (TestDemoVo vo : vos) {
vo.setValue("啊啦啦啦啦啦啦啦啦啦:"+ IdUtil.fastSimpleUUID());
}
log.info("翻译后的数据:{}", JsonUtils.toJsonString(vos));
return vos;
}
}

View File

@@ -0,0 +1 @@
org.dromara.demo.translation.TestDemoVoTranslationCollectionCollectionHandler