work/application/common/Model/ProjectFeatures.php
2024-01-03 09:54:57 +08:00

73 lines
2.0 KiB
PHP
Executable File

<?php
namespace app\common\Model;
use think\db\exception\DataNotFoundException;
use think\db\exception\ModelNotFoundException;
use think\Exception;
use think\exception\DbException;
use think\exception\PDOException;
/**
* 版本库
* Class ProjectFeatures
* @package app\common\Model
*/
class ProjectFeatures extends CommonModel
{
protected $append = [];
/**
* 创建版本库
* @param $name
* @param $description
* @param $projectCode
* @param $organizationCode
* @return array
* @throws DataNotFoundException
* @throws DbException
* @throws ModelNotFoundException
*/
public function createData($name, $description, $projectCode, $organizationCode)
{
if (!$name) {
return error(1, '请填写版本库名称');
}
$project = Project::where(['code' => $projectCode, 'deleted' => 0])->field('id')->find();
if (!$project) {
return error(3, '该项目已失效');
}
$features = self::where(['name' => $name, 'project_code' => $projectCode])->find();
if ($features) {
return error(2, '该版本库已名称存在');
}
$data = [
'create_time' => nowTime(),
'code' => createUniqueCode('ProjectFeatures'),
'project_code' => $projectCode,
'description' => $description,
'organization_code' => $organizationCode,
'name' => trim($name),
];
$result = self::create($data)->toArray();
return $result;
}
/**
* 删除版本库
* @param $featuresCode
* @return array|bool
* @throws Exception
* @throws PDOException
*/
public function deleteProjectFeatures($featuresCode)
{
if (!$featuresCode) {
return error(1, '请选择一个版本库');
}
self::where(['code' => $featuresCode])->delete();
Task::update(['features_code' => '', 'version_code' => ''], ['features_code' => $featuresCode]);
return true;
}
}