模版编制相关实现
This commit is contained in:
@@ -9,6 +9,7 @@ public interface ErrorCodeConstants {
|
||||
ErrorCode TMPL_FLD_NOT_EXISTS = new ErrorCode(1_027_000_501, "模板字段不存在");
|
||||
ErrorCode TMPL_FLD_CODE_EXISTS = new ErrorCode(1_027_000_502, "字段编码已存在");
|
||||
ErrorCode TMPL_ITM_NOT_EXISTS = new ErrorCode(1_027_000_503, "模板条款不存在");
|
||||
ErrorCode TMPL_ITM_NAME_EXISTS = new ErrorCode(1_027_000_503, "模板条款名字已存在");
|
||||
ErrorCode TEMPLATE_INSTANCE_NOT_EXISTS = new ErrorCode(1_027_000_504, "模板实例不存在");
|
||||
ErrorCode TMPL_TP_SATUS_ERROR = new ErrorCode(1_027_000_506, "状态变更失败");
|
||||
ErrorCode TMPL_TP_DEl_ERROR = new ErrorCode(1_027_000_507, "模版分类删除失败");
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.zt.plat.module.base.service.tmpltp.TemplateInstanceService;
|
||||
import com.zt.plat.module.infra.api.file.FileApi;
|
||||
import com.zt.plat.module.infra.api.file.dto.FileCreateReqDTO;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@@ -42,6 +43,7 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
|
||||
@Slf4j
|
||||
@Tag(name = "管理后台 - 模板实例")
|
||||
@RestController
|
||||
@RequestMapping("/base/template-instance")
|
||||
@@ -103,14 +105,16 @@ public class TemplateInstanceController extends AbstractFileUploadController {
|
||||
@Operation(summary = "获得模板实例")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('bse:template-instance:query')")
|
||||
public CommonResult<TemplateInstanceRespVO> getTemplateInstance(@RequestParam("id") Long id) {
|
||||
TemplateInstanceDO templateInstance = templateInstanceService.getTemplateInstance(id);
|
||||
public CommonResult<TemplateInstanceRespVO> getTemplateInstance(@Valid @NotEmpty(message = "编号不能为空") @RequestParam("id") String id) {
|
||||
TemplateInstanceDO templateInstance = templateInstanceService.getTemplateInstance(Long.valueOf(id));
|
||||
TemplateInstanceRespVO templateInstanceRespVO = BeanUtils.toBean(templateInstance, TemplateInstanceRespVO.class);
|
||||
if (templateInstance == null) {
|
||||
if (templateInstanceRespVO != null) {
|
||||
templateInstanceService.getDetailedInfo(templateInstanceRespVO);
|
||||
log.info("==================模板实例详情查询成功=================");
|
||||
return success(templateInstanceRespVO);
|
||||
}
|
||||
templateInstanceService.getDetailedInfo(templateInstanceRespVO);
|
||||
return success(templateInstanceRespVO);
|
||||
|
||||
return success(null);
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
|
||||
@@ -4,6 +4,7 @@ package com.zt.plat.module.base.controller.admin.templtp;
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.*;
|
||||
import com.zt.plat.module.base.dal.dataobject.tmpltp.TmplTpDO;
|
||||
import com.zt.plat.module.base.service.tmpltp.TmplTpService;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@@ -85,8 +86,8 @@ public class TmplTpController extends AbstractFileUploadController implements Bu
|
||||
@Operation(summary = "获得模板分类")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('bse:tmpl-tp:query')")
|
||||
public CommonResult<TmplTpRespVO> getTmplTp(@RequestParam("id") Long id) {
|
||||
TmplTpDO tmplTp = tmplTpService.getTmplTp(id);
|
||||
public CommonResult<TmplTpRespVO> getTmplTp(@Valid @NotEmpty(message = "编号不能为空") @RequestParam("id") String id) {
|
||||
TmplTpDO tmplTp = tmplTpService.getTmplTp(Long.valueOf(id));
|
||||
return success(BeanUtils.toBean(tmplTp, TmplTpRespVO.class));
|
||||
}
|
||||
|
||||
@@ -114,10 +115,10 @@ public class TmplTpController extends AbstractFileUploadController implements Bu
|
||||
@GetMapping("/field-and-clause")
|
||||
@Operation(summary = "获得字段和条款",description = "字段和条款回显,传入模版分类的id")
|
||||
@PreAuthorize("@ss.hasPermission('bse:tmpl-tp:query')")
|
||||
public CommonResult<Map<String, Object>> getFieldAndClause(@RequestParam("id") Long id) {
|
||||
public CommonResult<Map<String, Object>> getFieldAndClause(@Valid @NotEmpty(message = "编号不能为空")@RequestParam("id") String id) {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("field", tmplTpService.getField(id));
|
||||
map.put("clause", tmplTpService.getClause(id));
|
||||
map.put("field", tmplTpService.getField(Long.valueOf(id)));
|
||||
map.put("clause", tmplTpService.getClause(Long.valueOf(id)));
|
||||
return success(map);
|
||||
}
|
||||
//获取分类树
|
||||
|
||||
@@ -71,8 +71,8 @@ public class OnlyOfficeCallbackServiceImpl implements OnlyOfficeCallbackService
|
||||
if (callback.getActions() != null) {
|
||||
for (Action action : callback.getActions()) {
|
||||
String actionType = switch (action.getType()) {
|
||||
case 0 -> "断开了与";
|
||||
case 1 -> "连接到";
|
||||
case 0 -> "断开了连接";
|
||||
case 1 -> "连接成功";
|
||||
case 2 -> "在中点击了强制保存";
|
||||
default -> "在中执行了未知操作";
|
||||
};
|
||||
@@ -146,15 +146,16 @@ public class OnlyOfficeCallbackServiceImpl implements OnlyOfficeCallbackService
|
||||
MultipartFile file = downloadFileAsMultipart(callback.getUrl());
|
||||
// 1. 验证文件是否为空
|
||||
|
||||
|
||||
|
||||
String directory = "模版实例";
|
||||
FileCreateReqDTO fileCreateReqDTO = new FileCreateReqDTO();
|
||||
fileCreateReqDTO.setName(fileName);
|
||||
fileCreateReqDTO.setContent(file.getBytes());
|
||||
fileCreateReqDTO.setType(file.getContentType()); // 使用真实的MIME类型
|
||||
fileCreateReqDTO.setDirectory(directory); // 设置文件存储目录
|
||||
|
||||
if (file.getSize() <=0){
|
||||
log.error("文件大小为0");
|
||||
return;
|
||||
}
|
||||
// 7. 调用文件服务创建文件
|
||||
CommonResult<FileRespDTO> result = fileApi.createFileWithReturn(fileCreateReqDTO);
|
||||
if (result.isSuccess()) {
|
||||
|
||||
@@ -50,7 +50,9 @@ public class UrlFileDownloader {
|
||||
String contentType = connection.getContentType() == null ? "application/octet-stream" : connection.getContentType();
|
||||
// 3. 读取文件字节内容
|
||||
byte[] fileBytes = readFileBytes(connection.getInputStream());
|
||||
|
||||
if (fileBytes.length == 0){
|
||||
throw new IOException("文件内容为空");
|
||||
}
|
||||
// 4. 使用自定义MultipartFile实现类封装(不依赖Spring Test)
|
||||
return new CustomMultipartFile(
|
||||
"file", // 表单字段名(与上传接口的@RequestParam("file")对应)
|
||||
|
||||
@@ -8,6 +8,8 @@ import com.zt.plat.module.base.dal.dataobject.tmpltp.TemplateInstanceDataDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* 实例字段值 Mapper
|
||||
@@ -25,7 +27,7 @@ public interface TemplateInstanceDataMapper extends BaseMapperX<TemplateInstance
|
||||
.betweenIfPresent(TemplateInstanceDataDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(TemplateInstanceDataDO::getId));
|
||||
}
|
||||
int deleteByTemplateInstanceId(@Param("templateInstanceId") Long templateInstanceId);
|
||||
int deleteByTemplateInstanceIds(@Param("templateInstanceIds") List<Long> templateInstanceIds);
|
||||
|
||||
int updateFldValById(@Param("inscId") String inscId, @Param("fldVal") String fldVal, @Param("fldKy") String fldKy);
|
||||
|
||||
|
||||
@@ -8,6 +8,8 @@ import com.zt.plat.module.base.dal.dataobject.tmpltp.TemplateInstanceItemDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* 实例条款值 Mapper
|
||||
@@ -26,5 +28,5 @@ public interface TemplateInstanceItemMapper extends BaseMapperX<TemplateInstance
|
||||
.orderByDesc(TemplateInstanceItemDO::getId));
|
||||
}
|
||||
|
||||
int deleteByTemplateInstanceId(@Param("templateInstanceId") Long templateInstanceId);
|
||||
int deleteByTemplateInstanceIds(@Param("templateInstanceIds") List<Long> templateInstanceIds);
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import com.zt.plat.module.base.controller.admin.templtp.vo.DepartmentInstanceRel
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.DepartmentInstanceRelativitySaveReqVO;
|
||||
import com.zt.plat.module.base.dal.dataobject.tmpltp.DepartmentInstanceRelativityDO;
|
||||
import com.zt.plat.module.base.dal.mysql.tmpltp.DepartmentInstanceRelativityMapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@@ -32,6 +33,7 @@ import static com.zt.plat.module.tmpltp.enums.ErrorCodeConstants.DEPARTMENT_INST
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
@Slf4j
|
||||
public class DepartmentInstanceRelativityServiceImpl implements DepartmentInstanceRelativityService {
|
||||
|
||||
@Resource
|
||||
@@ -43,6 +45,7 @@ public class DepartmentInstanceRelativityServiceImpl implements DepartmentInstan
|
||||
DepartmentInstanceRelativityDO departmentInstanceRelativity = BeanUtils.toBean(createReqVO, DepartmentInstanceRelativityDO.class);
|
||||
departmentInstanceRelativityMapper.insert(departmentInstanceRelativity);
|
||||
// 返回
|
||||
log.info("创建部门与实例关联成功,结果:{}", departmentInstanceRelativity);
|
||||
return BeanUtils.toBean(departmentInstanceRelativity, DepartmentInstanceRelativityRespVO.class);
|
||||
}
|
||||
|
||||
@@ -53,6 +56,7 @@ public class DepartmentInstanceRelativityServiceImpl implements DepartmentInstan
|
||||
// 更新
|
||||
DepartmentInstanceRelativityDO updateObj = BeanUtils.toBean(updateReqVO, DepartmentInstanceRelativityDO.class);
|
||||
departmentInstanceRelativityMapper.updateById(updateObj);
|
||||
log.info("更新部门与实例关联成功,结果:{}", updateObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -61,6 +65,7 @@ public class DepartmentInstanceRelativityServiceImpl implements DepartmentInstan
|
||||
validateDepartmentInstanceRelativityExists(id);
|
||||
// 删除
|
||||
departmentInstanceRelativityMapper.deleteById(id);
|
||||
log.info("删除部门与实例关联成功,结果:{}", id);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -69,6 +74,7 @@ public class DepartmentInstanceRelativityServiceImpl implements DepartmentInstan
|
||||
validateDepartmentInstanceRelativityExists(ids);
|
||||
// 删除
|
||||
departmentInstanceRelativityMapper.deleteByIds(ids);
|
||||
log.info("删除部门与实例关联成功,结果:{}", ids);
|
||||
}
|
||||
|
||||
private void validateDepartmentInstanceRelativityExists(List<Long> ids) {
|
||||
|
||||
@@ -10,6 +10,7 @@ import com.zt.plat.module.base.dal.mysql.tmpltp.TemplateInstanceDataMapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -36,6 +37,7 @@ import static com.zt.plat.module.tmpltp.enums.ErrorCodeConstants.TEMPLATE_INSTAN
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
@Slf4j
|
||||
public class TemplateInstanceDataServiceImpl implements TemplateInstanceDataService {
|
||||
|
||||
@Resource
|
||||
@@ -54,6 +56,7 @@ public class TemplateInstanceDataServiceImpl implements TemplateInstanceDataServ
|
||||
// 插入
|
||||
TemplateInstanceDataDO templateInstanceData = BeanUtils.toBean(createReqVO, TemplateInstanceDataDO.class);
|
||||
templateInstanceDataMapper.insert(templateInstanceData);
|
||||
log.info("创建实例与字段值关系成功,结果:{}", templateInstanceData);
|
||||
// 返回
|
||||
return BeanUtils.toBean(templateInstanceData, TemplateInstanceDataRespVO.class);
|
||||
}
|
||||
@@ -65,6 +68,7 @@ public class TemplateInstanceDataServiceImpl implements TemplateInstanceDataServ
|
||||
// 更新
|
||||
TemplateInstanceDataDO updateObj = BeanUtils.toBean(updateReqVO, TemplateInstanceDataDO.class);
|
||||
templateInstanceDataMapper.updateById(updateObj);
|
||||
log.info("更新实例与字段值关系成功,结果:{}", updateObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -73,6 +77,7 @@ public class TemplateInstanceDataServiceImpl implements TemplateInstanceDataServ
|
||||
validateTemplateInstanceDataExists(id);
|
||||
// 删除
|
||||
templateInstanceDataMapper.deleteById(id);
|
||||
log.info("删除实例与字段值关系成功,结果:{}", id);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -81,6 +86,7 @@ public class TemplateInstanceDataServiceImpl implements TemplateInstanceDataServ
|
||||
validateTemplateInstanceDataExists(ids);
|
||||
// 删除
|
||||
templateInstanceDataMapper.deleteByIds(ids);
|
||||
log.info("删除实例与字段值关系成功,结果:{}", ids);
|
||||
}
|
||||
|
||||
private void validateTemplateInstanceDataExists(List<Long> ids) {
|
||||
@@ -103,6 +109,7 @@ public class TemplateInstanceDataServiceImpl implements TemplateInstanceDataServ
|
||||
|
||||
@Override
|
||||
public PageResult<TemplateInstanceDataDO> getTemplateInstanceDataPage(TemplateInstanceDataPageReqVO pageReqVO) {
|
||||
log.info("查询实例与字段值关系列表,参数:{}", pageReqVO);
|
||||
return templateInstanceDataMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
@@ -112,7 +119,10 @@ public class TemplateInstanceDataServiceImpl implements TemplateInstanceDataServ
|
||||
if (CollUtil.isEmpty(pageReqVOS)) {
|
||||
throw exception(PARAMS_IS_NULL_OR_ERR);
|
||||
}
|
||||
pageReqVOS.forEach(i->templateInstanceDataMapper.updateFldValById(i.getInscId(),i.getFldVal(),i.getFldKy()));
|
||||
pageReqVOS.forEach(
|
||||
i->{templateInstanceDataMapper.updateFldValById(i.getInscId(),i.getFldVal(),i.getFldKy());
|
||||
log.info("更新实例与字段值关系成功,结果:实例id:【{}】,key:【{}】,值【{}】", i.getInscId(),i.getFldKy(),i.getFldVal());
|
||||
});
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import com.zt.plat.module.base.controller.admin.templtp.vo.TemplateInstanceItemR
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.TemplateInstanceItemSaveReqVO;
|
||||
import com.zt.plat.module.base.dal.dataobject.tmpltp.TemplateInstanceItemDO;
|
||||
import com.zt.plat.module.base.dal.mysql.tmpltp.TemplateInstanceItemMapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@@ -23,6 +24,7 @@ import static com.zt.plat.module.tmpltp.enums.ErrorCodeConstants.TEMPLATE_INSTAN
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
@Slf4j
|
||||
public class TemplateInstanceItemServiceImpl implements TemplateInstanceItemService {
|
||||
|
||||
@Resource
|
||||
@@ -33,6 +35,7 @@ public class TemplateInstanceItemServiceImpl implements TemplateInstanceItemServ
|
||||
// 插入
|
||||
TemplateInstanceItemDO templateInstanceItem = BeanUtils.toBean(createReqVO, TemplateInstanceItemDO.class);
|
||||
templateInstanceItemMapper.insert(templateInstanceItem);
|
||||
log.info("创建成功实例与条款关系成功,记录为【{}】", templateInstanceItem);
|
||||
// 返回
|
||||
return BeanUtils.toBean(templateInstanceItem, TemplateInstanceItemRespVO.class);
|
||||
}
|
||||
@@ -44,6 +47,7 @@ public class TemplateInstanceItemServiceImpl implements TemplateInstanceItemServ
|
||||
// 更新
|
||||
TemplateInstanceItemDO updateObj = BeanUtils.toBean(updateReqVO, TemplateInstanceItemDO.class);
|
||||
templateInstanceItemMapper.updateById(updateObj);
|
||||
log.info("更新成功实例与条款关系成功,记录为【{}】", updateObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -52,6 +56,7 @@ public class TemplateInstanceItemServiceImpl implements TemplateInstanceItemServ
|
||||
validateTemplateInstanceItemExists(id);
|
||||
// 删除
|
||||
templateInstanceItemMapper.deleteById(id);
|
||||
log.info("删除成功实例与条款关系成功,记录为【{}】", id);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -60,6 +65,7 @@ public class TemplateInstanceItemServiceImpl implements TemplateInstanceItemServ
|
||||
validateTemplateInstanceItemExists(ids);
|
||||
// 删除
|
||||
templateInstanceItemMapper.deleteByIds(ids);
|
||||
log.info("删除成功实例与条款关系成功,记录为【{}】", ids);
|
||||
}
|
||||
|
||||
private void validateTemplateInstanceItemExists(List<String> ids) {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user