diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/controller/DocTranslationEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/controller/DocTranslationEOController.java index 506e32cc6..d661c3bf6 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/controller/DocTranslationEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/controller/DocTranslationEOController.java @@ -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 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(); + } + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/entity/DocTranslationEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/entity/DocTranslationEO.java index 442d9d205..dd63d984e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/entity/DocTranslationEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/entity/DocTranslationEO.java @@ -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) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/service/IDocTranslationEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/service/IDocTranslationEOService.java index 1ff232e8c..725bb01b9 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/service/IDocTranslationEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/service/IDocTranslationEOService.java @@ -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 { * @return */ IPage queryPageList(DocTranslationEO docTranslationEO, Integer pageNo, Integer pageSize, String cut, HttpServletRequest req); + + /** + * 批量更新状态 + * @param json + * @return + */ + Result updateStatusBatch(JSONObject json); + + /** + * 查询文本状态下拉选项(文档库中,文件类型字段) + * @return + */ + Result queryTextStatusVal(); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/service/impl/DocTranslationEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/service/impl/DocTranslationEOServiceImpl.java index fa9549e06..17da35e6c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/service/impl/DocTranslationEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/service/impl/DocTranslationEOServiceImpl.java @@ -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 implements IDocTranslationEOService { + @Autowired + private OnlCgformFieldServiceImpl onlCgformFieldService; /** * 保存 * @@ -130,6 +143,62 @@ public class DocTranslationEOServiceImpl extends ServiceImpl result = this.page(page, queryWrapper); + disposeData(result.getRecords(),cut); return result; } + + /** + * 处理数据 + * @param datas + * @param cut + */ + public void disposeData(List 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 docTranslationEOList = new ArrayList<>(); + + List 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 fieldList = this.onlCgformFieldService.getFieldList(ModuleEnum.DOCUMENT_LIBRARY.getValue()); + List 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); + } }