模版编制相关实现
This commit is contained in:
@@ -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) {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user