模版编制的相关实现

This commit is contained in:
潘荣晟
2025-09-25 10:26:57 +08:00
parent a9bbcf1090
commit 0f197f0aa5
3 changed files with 40 additions and 5 deletions

View File

@@ -5,6 +5,7 @@ import com.zt.plat.module.base.controller.admin.templtp.vo.*;
import com.zt.plat.module.base.dal.dataobject.tmpltp.TemplateInstanceDO;
import com.zt.plat.module.base.service.tmpltp.TemplateInstanceService;
import com.zt.plat.module.infra.api.file.FileApi;
import jakarta.validation.constraints.NotEmpty;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@@ -155,4 +156,18 @@ public class TemplateInstanceController extends AbstractFileUploadController {
templateInstanceService.setDisableOrEnable(reqVO);
return success(true);
}
//根据id获取实例版本号
@GetMapping("/get-version")
@Operation(summary = "根据id获取实例版本号")
public CommonResult<Map<String,Object>> getVersion(@RequestParam("id") String id) {
return success(templateInstanceService.getVersion(id));
}
//创建版本
@PostMapping("/create-version")
@Operation(summary = "创建版本")
@PreAuthorize("@ss.hasPermission('bse:template-instance:create-version')")
public CommonResult<TemplateInstanceRespVO> createVersion(@Valid @NotEmpty(message = "模版实例") String id) {
return success(templateInstanceService.createVersion(id));
}
}

View File

@@ -8,6 +8,7 @@ import jakarta.validation.*;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.PageParam;
import jakarta.validation.constraints.NotEmpty;
/**
* 模板实例 Service 接口
@@ -75,4 +76,8 @@ public interface TemplateInstanceService {
PageResult<TemplateInstanceDO> listExcludingDisabled(@Valid TemplateInstancePageReqVO pageReqVO);
void setDisableOrEnable(@Valid DisableEnableReqVO reqVO);
TemplateInstanceRespVO createVersion(@Valid @NotEmpty(message = "模版实例") String id);
Map<String, Object> getVersion(String id);
}

View File

@@ -23,10 +23,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.UUID;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
@@ -90,7 +87,7 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService {
// 更新
TemplateInstanceDO templateInstanceDO = templateInstanceMapper.selectById(updateReqVO.getId());
TemplateInstanceDO updateObj = BeanUtils.toBean(updateReqVO, TemplateInstanceDO.class);
updateObj.setVer(incrementVersion(templateInstanceDO.getVer()));
// updateObj.setVer(incrementVersion(templateInstanceDO.getVer()));
templateInstanceMapper.updateById(updateObj);
}
@@ -262,6 +259,24 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService {
.in(TemplateInstanceDO::getId, reqVO.getIds()));
}
@Override
@Transactional
public TemplateInstanceRespVO createVersion(String id) {
validateTemplateInstanceExists(Long.valueOf(id));
TemplateInstanceDO templateInstanceDO = templateInstanceMapper.selectById(id);
TemplateInstanceDO newTpInstanceDO = BeanUtils.toBean(templateInstanceDO, TemplateInstanceDO.class);
newTpInstanceDO.setId(null);
newTpInstanceDO.setVer(incrementVersion(templateInstanceDO.getVer()));
templateInstanceMapper.update(new LambdaUpdateWrapper<TemplateInstanceDO>().set(TemplateInstanceDO::getSts,TmplStsEnum.STOPPED.getCode()));
return BeanUtils.toBean(newTpInstanceDO, TemplateInstanceRespVO.class);
}
@Override
public Map<String, Object> getVersion(String id) {
validateTemplateInstanceExists(Long.valueOf(id));
return Map.of("version", templateInstanceMapper.selectById(id).getVer());
}
@Override
public void getDetailedInfo(TemplateInstanceRespVO templateInstanceRespVO) {