文档翻译对接。

This commit is contained in:
wangzhijiang
2022-07-26 10:55:40 +08:00
parent 47eb23796c
commit 7938be413e
4 changed files with 113 additions and 1 deletions
@@ -4,6 +4,8 @@ import java.util.Arrays;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSONObject;
import com.jero.common.api.vo.Result;
import com.jero.modules.docTranslation.entity.DocTranslationEO;
import com.jero.modules.docTranslation.service.IDocTranslationEOService;
@@ -162,4 +164,27 @@ public class DocTranslationEOController extends JeroController<DocTranslationEO,
return super.importExcel(request, response, DocTranslationEO.class);
}
/**
* 批量更新文档翻译表状态
* @param json
* @return
*/
@AutoLog(value = "文档翻译表-批量更新状态")
@ApiOperation(value="文档翻译表-批量更新状态", notes="文档翻译表-批量更新状态")
@PostMapping(value = "/updateStatusBatch")
public Result<?> updateStatusBatch(@RequestBody JSONObject json) {
return this.docTranslationEOService.updateStatusBatch(json);
}
/**
* 批量更新文档翻译表状态
* @return
*/
@AutoLog(value = "文档翻译表-查询文本状态下拉选项")
@ApiOperation(value="文档翻译表-查询文本状态下拉选项", notes="文档翻译表-查询文本状态下拉选项")
@GetMapping(value = "/queryTextStatusVal")
public Result<?> queryTextStatusVal() {
return this.docTranslationEOService.queryTextStatusVal();
}
}
@@ -2,6 +2,7 @@ package com.jero.modules.docTranslation.entity;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -73,10 +74,12 @@ public class DocTranslationEO implements Serializable {
private String title;
/**文本状态*/
@Dict(dicCode = "state")
//@Dict(dicCode = "state")
@Excel(name = "文本状态", width = 15)
@ApiModelProperty(value = "文本状态")
private java.lang.String textStatus;
@TableField(exist = false)
private String textStatus_dictText;
/**文件名称*/
@Excel(name = "文件名称", width = 15)
@@ -1,6 +1,8 @@
package com.jero.modules.docTranslation.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jero.common.api.vo.Result;
import com.jero.modules.docTranslation.entity.DocTranslationEO;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -72,4 +74,17 @@ public interface IDocTranslationEOService extends IService<DocTranslationEO> {
* @return
*/
IPage<DocTranslationEO> queryPageList(DocTranslationEO docTranslationEO, Integer pageNo, Integer pageSize, String cut, HttpServletRequest req);
/**
* 批量更新状态
* @param json
* @return
*/
Result<?> updateStatusBatch(JSONObject json);
/**
* 查询文本状态下拉选项(文档库中,文件类型字段)
* @return
*/
Result<?> queryTextStatusVal();
}
@@ -1,22 +1,33 @@
package com.jero.modules.docTranslation.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result;
import com.jero.common.constant.enums.CutEnum;
import com.jero.common.constant.enums.ModuleEnum;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser;
import com.jero.generater.modules.online.cgform.entity.OnlCgformField;
import com.jero.generater.modules.online.cgform.service.impl.OnlCgformFieldServiceImpl;
import com.jero.modules.docTranslation.entity.DocTranslationEO;
import com.jero.modules.docTranslation.enums.ReleaseConditionEnum;
import com.jero.modules.docTranslation.enums.TranslationResultEnum;
import com.jero.modules.docTranslation.mapper.DocTranslationEOMapper;
import com.jero.modules.docTranslation.service.IDocTranslationEOService;
import com.jero.modules.docTranslation.utils.TranslationDocumentUtils;
import com.jero.modules.document.enums.FieldTypeEnum;
import com.jero.modules.oss.entity.OSSFile;
import me.zhyd.oauth.utils.StringUtils;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Propagation;
@@ -34,6 +45,8 @@ import javax.servlet.http.HttpServletRequest;
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
public class DocTranslationEOServiceImpl extends ServiceImpl<DocTranslationEOMapper, DocTranslationEO> implements IDocTranslationEOService {
@Autowired
private OnlCgformFieldServiceImpl onlCgformFieldService;
/**
* 保存
*
@@ -130,6 +143,62 @@ public class DocTranslationEOServiceImpl extends ServiceImpl<DocTranslationEOMap
});
});
IPage<DocTranslationEO> result = this.page(page, queryWrapper);
disposeData(result.getRecords(),cut);
return result;
}
/**
* 处理数据
* @param datas
* @param cut
*/
public void disposeData(List<DocTranslationEO> datas,String cut){
if(CollectionUtils.isNotEmpty(datas)){
for (DocTranslationEO data : datas) {
String textStatus_dictText = "";
OnlCgformField fileTypeField = this.onlCgformFieldService.queryById(data.getTextStatus());
if (ObjectUtil.isNotEmpty(fileTypeField)) {
if (CutEnum.CN.getValue().equals(cut)) {
textStatus_dictText = fileTypeField.getDbFieldTxt();
} else {
textStatus_dictText = fileTypeField.getDbFieldEnName();
}
}
data.setTextStatus_dictText(textStatus_dictText);
}
}
}
@Override
public Result<?> updateStatusBatch(JSONObject json) {
String ids = json.getString("ids");
// 值对应枚举类 ReleaseConditionEnum 发布published 或撤回draft
String releaseCondition = json.getString("releaseCondition");
if (StringUtils.isNotEmpty(ids)) {
List<DocTranslationEO> docTranslationEOList = new ArrayList<>();
List<String> idList = Arrays.asList(ids.split(","));
idList.forEach(id -> {
DocTranslationEO docTranslationEO = new DocTranslationEO();
docTranslationEO.setId(id);
docTranslationEO.setReleaseCondition(releaseCondition);
docTranslationEOList.add(docTranslationEO);
});
this.updateBatchById(docTranslationEOList);
}
return new Result<>().success("操作成功!");
}
@Override
public Result<?> queryTextStatusVal() {
List<OnlCgformField> fieldList = this.onlCgformFieldService.getFieldList(ModuleEnum.DOCUMENT_LIBRARY.getValue());
List<OnlCgformField> result = fieldList.stream().filter(field -> {
boolean flag = false;
if(org.apache.commons.lang3.StringUtils.equals(field.getFieldShowType(), FieldTypeEnum.FILE.getValue())){
flag = true;
}
return flag;
}).collect(Collectors.toList());
return Result.OK(result);
}
}