提交 969e2186 authored 作者: ww1xhqc's avatar ww1xhqc

[数据模型] 版本类相关

上级 26415330
......@@ -36,7 +36,6 @@ public class VersionController {
@RequestMapping("/goBack")
public ResponseEntity goBack(Integer integer){
return ResultUtil.success("");
}
}
package com.tykj.model_layer.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.tykj.base.result.ApiException;
import com.tykj.model_layer.dao.ColumnInfoDao;
import com.tykj.model_layer.dao.TableInfoDao;
import com.tykj.model_layer.dao.VersionDao;
import com.tykj.model_layer.entity.ColumnInfo;
import com.tykj.model_layer.entity.TableInfo;
import com.tykj.model_layer.entity.Version;
import com.tykj.model_layer.entity.vo.QueryCondition;
import com.tykj.model_layer.entity.vo.VersionVO;
import com.tykj.model_layer.service.VersionService;
import com.tykj.model_layer.utils.SessionUtil;
import org.apache.commons.lang3.StringUtils;
import org.checkerframework.checker.units.qual.A;
import org.hibernate.Session;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.stream.Collectors;
/**
* @Description TODO
* @Author WWW
* @Date 2021/5/19 13:57
*/
@Service
public class VersionServiceImpl implements VersionService {
@Autowired
VersionDao versionDao;
@Autowired
ColumnInfoDao columnInfoDao;
@Autowired
SessionUtil sessionUtil;
@Autowired
TableInfoDao tableInfoDao;
@Override
public Version addVersion(VersionVO versionVO) {
Version version = new Version();
version.setVersionId(versionVO.getVersionId());
version.setDbId(versionVO.getDbId());
version.setVersionDesc(versionVO.getVersionDesc());
List<Integer> collect = columnInfoDao
.findAllByDbId(versionVO.getDbId()).stream()
.map(ColumnInfo::getId)
.collect(Collectors.toList());
version.setIds(JSONArray.toJSONString(collect));
return versionDao.save(version);
}
@Override
public void delVersion(Integer id) {
versionDao.deleteById(id);
}
@Override
public void goback(Integer id) {
Optional<Version> byId = versionDao.findById(id);
if (byId.isPresent()){
Version version = byId.get();
//生成回退前版本
VersionVO versionVo = new VersionVO();
versionVo.setVersionId("回退前版本");
versionVo.setVersionDesc("回退前版本");
versionVo.setDbId(version.getDbId());
addVersion(versionVo);
//回退
TableInfo tableInfo = tableInfoDao.getOne(version.getDbId());
Session session = sessionUtil.getSession();
session.getTransaction().begin();
StringBuilder result = new StringBuilder("delete ");
result.append("entity ");
result.append(" from ").append(tableInfo.getModelName()).append(" entity ");
result.append("where entity.id in "+version.getIds());
session.createQuery(result.toString());
session.getTransaction().commit();
session.close();
}else {
throw new ApiException("版本不存在");
}
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论