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

49 lines
1.4 KiB
PHP
Executable File

<?php
namespace app\common\Model;
/**
* 项目收藏
* Class ProjectMember
* @package app\common\Model
*/
class ProjectCollection extends CommonModel
{
protected $append = [];
/**
* @param $memberId
* @param $projectId
* @param string $type
* @return ProjectCollection|bool
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
public function collect($memberCode, $projectCode, $type = 'collect')
{
$project = Project::where(['code' => $projectCode, 'deleted' => 0])->find();
if (!$project) {
throw new \Exception('该项目已失效', 1);
}
$hasCollected = self::where(['member_code' => $memberCode, 'project_code' => $projectCode])->find();
if ($type == 'collect') {
if ($hasCollected) {
throw new \Exception('该项目已收藏', 1);
}
$data = [
'member_code' => $memberCode,
'project_code' => $projectCode,
'create_time' => nowTime()
];
return self::create($data);
} else {
if (!$hasCollected) {
throw new \Exception('尚未收藏该项目', 1);
}
return self::where(['member_code' => $memberCode, 'project_code' => $projectCode])->delete();
}
}
}