Skip to content

Commit 405f93f

Browse files
committed
完成项目模块与版本的属性操作
1 parent d95b3fc commit 405f93f

File tree

9 files changed

+592
-24
lines changed

9 files changed

+592
-24
lines changed

application/index/controller/Project.php

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@
1515
use app\index\model\ProjectModule as ProjectModuleModel;
1616
use app\index\model\ProjectVersion as ProjectVersionModel;
1717

18+
use app\index\service\ProjectModule as ProjectModuleService;
19+
use app\index\service\ProjectVersion as ProjectVersionService;
20+
21+
1822
class Project extends Auth
1923
{
2024

@@ -79,4 +83,56 @@ public function main()
7983
$this->assign('menu_nav','project/index');
8084
return view('project/main');
8185
}
86+
87+
/**
88+
* 修改项目模块名称
89+
*/
90+
public function edit_module()
91+
{
92+
return ProjectModuleService::edit($this->request->param('id','0'),$this->user_id,$this->request->param('module_name'));
93+
}
94+
95+
/**
96+
* 修改项目版本名称
97+
*/
98+
public function edit_version()
99+
{
100+
return ProjectVersionService::edit($this->request->param('id','0'),$this->user_id,$this->request->param('version_name'));
101+
}
102+
103+
104+
/**
105+
* 删除项目模块
106+
*/
107+
public function del_module()
108+
{
109+
return ProjectModuleService::delete($this->request->param('id','0'),$this->user_id);
110+
}
111+
112+
113+
/**
114+
* 删除项目版本
115+
*/
116+
public function del_version()
117+
{
118+
return ProjectVersionService::delete($this->request->param('id','0'),$this->user_id);
119+
}
120+
121+
/**
122+
* 添加项目模块
123+
*/
124+
public function add_module()
125+
{
126+
return ProjectModuleService::add($this->request->param('module_name'),$this->request->param('project_id','0'),$this->user_id);
127+
}
128+
129+
130+
/**
131+
* 添加项目版本
132+
*/
133+
public function add_version()
134+
{
135+
return ProjectVersionService::add($this->request->param('version_name'),$this->request->param('project_id','0'),$this->user_id);
136+
}
137+
82138
}

application/index/service/Project.php

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public static function create($project_name,$user_id)
3232
return ServiceResult::Error($validate->getError());
3333
}
3434

35-
$model->allowField(['project_name','user_id','create_ip']);
35+
3636
$add = $model->save([
3737
'project_name'=>$project_name,
3838
'user_id'=>$user_id,
@@ -43,8 +43,10 @@ public static function create($project_name,$user_id)
4343
$v = new ProjectVersion();
4444
$m->project_id = $model->id;
4545
$v->project_id = $model->id;
46-
$m->module_name = '默认';
47-
$v->version_name = '默认';
46+
$m->user_id = $user_id;
47+
$v->user_id = $user_id;
48+
$m->module_name = lang('Default');
49+
$v->version_name = lang('Default');
4850
$m->save();
4951
$v->save();
5052

application/index/service/ProjectModule.php

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,131 @@
99
namespace app\index\service;
1010

1111
use app\index\model\ProjectModule as ProjectModuleModel;
12+
use app\index\validate\ProjectModule as ProjectModuleValidate;
13+
1214

1315
class ProjectModule
1416
{
17+
/**
18+
* 添加新的项目模块名称
19+
* @param $name
20+
* @param $project_id
21+
* @param $user_id
22+
* @return ServiceResult
23+
*/
24+
public static function add($name,$project_id,$user_id)
25+
{
26+
$model = new ProjectModuleModel();
27+
28+
//开启事务
29+
$model->startTrans();
30+
try{
31+
32+
$validate = new ProjectModuleValidate();
33+
34+
if(!$validate->scene('add')->check([
35+
'module_name'=>$name,
36+
37+
]))
38+
{
39+
return ServiceResult::Error($validate->getError());
40+
}
41+
42+
$add = $model->save([
43+
'module_name'=>$name,
44+
'project_id'=>$project_id,
45+
'user_id'=>$user_id,
46+
]);
47+
48+
//创建其他
49+
50+
$model->commit();
51+
}
52+
catch(\Exception $e)
53+
{
54+
$model->rollback();
55+
56+
return ServiceResult::Error($e->getMessage());
57+
}
58+
59+
60+
if($add)
61+
{
62+
return ServiceResult::Success(['id'=>$model->id],'添加成功');
63+
64+
}else{
65+
66+
return ServiceResult::Error($model->getError());
67+
68+
}
69+
70+
}
71+
72+
73+
/**
74+
* 修改项目模块名称
75+
* @param $id
76+
* @param $user_id
77+
* @param $new_name
78+
*
79+
* @return ServiceResult
80+
*/
81+
public static function edit($id,$user_id,$new_name)
82+
{
83+
$data = ProjectModuleModel::get($id);
84+
85+
if(!$data){
86+
return ServiceResult::Error('项目版本数据不存在');
87+
}
88+
89+
if($data->user_id != $user_id)
90+
{
91+
return ServiceResult::Error('没有权限修改');
92+
}
93+
94+
$validate = new ProjectModuleValidate();
95+
96+
if(!$validate->scene('edit')->check([
97+
'module_name'=>$new_name,
98+
99+
]))
100+
{
101+
return ServiceResult::Error($validate->getError());
102+
}
103+
104+
105+
$data->module_name = $new_name;
106+
107+
$save = $data->save();
108+
109+
if($save !== false)
110+
{
111+
return ServiceResult::Success([],'修改成功');
112+
}else{
113+
return ServiceResult::Error('修改失败');
114+
}
115+
116+
}
117+
118+
public static function delete($id,$user_id)
119+
{
120+
$data = ProjectModuleModel::get($id);
121+
122+
if(!$data){
123+
return ServiceResult::Error('项目版本数据不存在');
124+
}
125+
126+
if($data->user_id != $user_id)
127+
{
128+
return ServiceResult::Error('没有权限修改');
129+
}
130+
131+
if($data->delete())
132+
{
133+
return ServiceResult::Success([],'删除成功');
134+
}else{
135+
return ServiceResult::Error('删除失败');
136+
}
137+
}
15138

16139
}

application/index/service/ProjectVersion.php

Lines changed: 120 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,130 @@
99
namespace app\index\service;
1010

1111
use app\index\model\ProjectVersion as ProjectVersionModel;
12+
use app\index\validate\ProjectVersion as ProjectVersionValidate;
1213

1314
class ProjectVersion
1415
{
15-
public static function add($name)
16+
/**
17+
* 添加新的项目版本名称
18+
* @param $name
19+
* @param $project_id
20+
* @param $user_id
21+
* @return ServiceResult
22+
*/
23+
public static function add($name,$project_id,$user_id)
1624
{
25+
$model = new ProjectVersionModel();
1726

27+
//开启事务
28+
$model->startTrans();
29+
try{
30+
31+
$validate = new ProjectVersionValidate();
32+
33+
if(!$validate->scene('add')->check([
34+
'version_name'=>$name,
35+
36+
]))
37+
{
38+
return ServiceResult::Error($validate->getError());
39+
}
40+
41+
$add = $model->save([
42+
'version_name'=>$name,
43+
'project_id'=>$project_id,
44+
'user_id'=>$user_id,
45+
]);
46+
47+
//创建其他
48+
49+
$model->commit();
50+
}
51+
catch(\Exception $e)
52+
{
53+
$model->rollback();
54+
55+
return ServiceResult::Error($e->getMessage());
56+
}
57+
58+
59+
if($add)
60+
{
61+
return ServiceResult::Success(['id'=>$model->id],'添加成功');
62+
63+
}else{
64+
65+
return ServiceResult::Error($model->getError());
66+
67+
}
68+
69+
}
70+
71+
72+
/**
73+
* 修改项目版本名称
74+
* @param $id
75+
* @param $user_id
76+
* @param $new_name
77+
*
78+
* @return ServiceResult
79+
*/
80+
public static function edit($id,$user_id,$new_name)
81+
{
82+
$data = ProjectVersionModel::get($id);
83+
84+
if(!$data){
85+
return ServiceResult::Error('项目版本数据不存在');
86+
}
87+
88+
if($data->user_id != $user_id)
89+
{
90+
return ServiceResult::Error('没有权限修改');
91+
}
92+
93+
$validate = new ProjectVersionValidate();
94+
95+
if(!$validate->scene('edit')->check([
96+
'version_name'=>$new_name,
97+
98+
]))
99+
{
100+
return ServiceResult::Error($validate->getError());
101+
}
102+
103+
104+
$data->version_name = $new_name;
105+
106+
$save = $data->save();
107+
108+
109+
if($save !== false)
110+
{
111+
return ServiceResult::Success([],'修改成功');
112+
}else{
113+
return ServiceResult::Error('修改失败');
114+
}
115+
116+
}
117+
118+
public static function delete($id,$user_id)
119+
{
120+
$data = ProjectVersionModel::get($id);
121+
122+
if(!$data){
123+
return ServiceResult::Error('项目版本数据不存在');
124+
}
125+
126+
if($data->user_id != $user_id)
127+
{
128+
return ServiceResult::Error('没有权限修改');
129+
}
130+
131+
if($data->delete())
132+
{
133+
return ServiceResult::Success([],'删除成功');
134+
}else{
135+
return ServiceResult::Error('删除失败');
136+
}
18137
}
19138
}

application/index/validate/ProjectModule.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@
1212
class ProjectModule extends BaseValidate
1313
{
1414
protected $rule = [
15-
'module_name' => 'unique:project_module|require|max:64|min:1',
15+
'module_name' => 'require|max:64|min:1',
1616

1717
];
1818

1919
protected $message = [
20-
'module_name.unique' => '模块名称已存在',
20+
2121
'module_name.require'=>'模块名称不为空',
2222
'module_name.max' => '模块名称不能超过64位',
2323
'module_name.min' => '模块名称不为空',

application/index/validate/ProjectVersion.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@
1212
class ProjectVersion extends BaseValidate
1313
{
1414
protected $rule = [
15-
'version_name' => 'unique:project_version|require|max:64|min:1',
15+
'version_name' => 'require|max:64|min:1',
1616

1717
];
1818

1919
protected $message = [
20-
'version_name.unique' => '版本名称已存在',
20+
2121
'version_name.require'=>'版本名称不为空',
2222
'version_name.max' => '版本名称不能超过64位',
2323
'version_name.min' => '版本名称不为空',

application/index/view/index/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ <h3 class="card-title">免费下载</h3>
2929
<p class="card-description">
3030

3131
</p>
32-
<a href="pricing.html#pablo" class="btn btn-rose btn-round">下载</a>
32+
<a href="https://github.com/phpzc/WebBug" class="btn btn-rose btn-round" target="_blank">下载</a>
3333
</div>
3434
</div>
3535
</div>

0 commit comments

Comments
 (0)