2019-01-17 11:05:47 +08:00
< ? php
namespace app\project\controller ;
2019-06-15 09:17:19 +08:00
use app\common\Model\CommonModel ;
2019-01-17 11:05:47 +08:00
use app\common\Model\Member ;
use app\common\Model\MemberAccount ;
use app\common\Model\Notify ;
use app\common\Model\ProjectCollection ;
2019-07-16 18:00:22 +08:00
use app\common\Model\ProjectLog ;
2019-01-17 11:05:47 +08:00
use app\common\Model\ProjectMember ;
2019-07-18 14:41:04 +08:00
use app\common\Model\ProjectReport ;
2019-01-17 11:05:47 +08:00
use app\common\Model\SystemConfig ;
use controller\BasicApi ;
use OSS\Core\OssException ;
2019-12-23 21:16:14 +08:00
use service\DateService ;
2019-01-17 11:05:47 +08:00
use service\FileService ;
use service\NodeService ;
use service\RandomService ;
use think\Db ;
2019-06-15 09:17:19 +08:00
use think\db\exception\DataNotFoundException ;
use think\db\exception\ModelNotFoundException ;
2019-01-17 11:05:47 +08:00
use think\Exception ;
2019-06-15 09:17:19 +08:00
use think\Exception\DbException ;
2019-01-17 11:05:47 +08:00
use think\exception\PDOException ;
use think\facade\Request ;
use think\File ;
/**
*/
class Project extends BasicApi
{
public function __construct ()
{
parent :: __construct ();
if ( ! $this -> model ) {
$this -> model = new \app\common\Model\Project ();
}
}
/**
* 显示资源列表
*
* @ return void
2019-06-15 09:17:19 +08:00
* @ throws DbException
2019-01-17 11:05:47 +08:00
*/
2020-05-10 08:13:20 +08:00
public function index11 ()
2019-01-17 11:05:47 +08:00
{
2019-06-15 09:17:19 +08:00
$prefix = config ( 'database.prefix' );
2019-01-17 11:05:47 +08:00
$type = Request :: post ( 'type' );
2019-06-15 09:17:19 +08:00
$page = Request :: param ( 'page' , 1 );
$pageSize = Request :: param ( 'pageSize' , cookie ( 'pageSize' ));
2019-01-17 11:05:47 +08:00
$data = Request :: only ( 'recycle,archive,all' );
2019-06-15 09:17:19 +08:00
$currentMember = getCurrentMember ();
$memberCode = $currentMember [ 'code' ];
2019-01-17 11:05:47 +08:00
2019-06-15 09:17:19 +08:00
$orgCode = getCurrentOrganizationCode ();
2019-01-17 11:05:47 +08:00
if ( $type == 'my' || $type == 'other' ) {
2020-02-24 22:13:58 +08:00
$sql = " select * from { $prefix } project as pp left join { $prefix } project_member as pm on pm.project_code = pp.code where pp.organization_code = ' { $orgCode } ' and (pm.member_code = ' { $memberCode } ' or pp.private = 0) " ;
2019-01-17 11:05:47 +08:00
} else {
2020-02-24 22:13:58 +08:00
$sql = " select * from { $prefix } project as pp left join { $prefix } project_collection as pc on pc.project_code = pp.code where pp.organization_code = ' { $orgCode } ' and pc.member_code = ' { $memberCode } ' " ;
2019-01-17 11:05:47 +08:00
}
2020-02-24 22:13:58 +08:00
if ( $type != 'other' ) {
$sql .= " and pp.deleted = 0 " ;
}
if ( isset ( $data [ 'archive' ])) {
$sql .= " and pp.archive = 1 " ;
}
if ( isset ( $data [ 'recycle' ])) {
$sql .= " and pp.deleted = 1 " ;
}
$sql .= " group by pp.`code` order by pp.id desc " ;
$list = CommonModel :: limitByQuery ( $sql , $page , $pageSize );
2019-01-17 11:05:47 +08:00
$newList = [];
if ( $list [ 'list' ]) {
foreach ( $list [ 'list' ] as $key => & $item ) {
2019-09-02 16:07:35 +08:00
$item [ 'collected' ] = 0 ;
2019-01-17 11:05:47 +08:00
$item [ 'owner_name' ] = '-' ;
$collected = ProjectCollection :: where ([ 'project_code' => $item [ 'code' ], 'member_code' => $currentMember [ 'code' ]]) -> field ( 'id' ) -> find ();
if ( $collected ) {
2019-09-02 16:07:35 +08:00
$item [ 'collected' ] = 1 ;
2019-01-17 11:05:47 +08:00
}
$owner = ProjectMember :: where ([ 'project_code' => $item [ 'code' ], 'is_owner' => 1 ]) -> field ( 'member_code' ) -> find ();
if ( ! $owner ) {
continue ;
}
$member = Member :: where ([ 'code' => $owner [ 'member_code' ]]) -> field ( 'name' ) -> find ();
if ( ! $member ) {
continue ;
}
$item [ 'owner_name' ] = $member [ 'name' ];
$newList [] = $item ;
}
}
2020-05-09 17:57:05 +08:00
$this -> success ( '' , [ 'list' => $newList , 'total' => $list [ 'total' ]]);
2019-01-17 11:05:47 +08:00
}
2020-05-10 08:13:20 +08:00
public function index ()
{
$selectBy = Request :: post ( 'selectBy' , 'all' );
switch ( $selectBy ) {
case 'my' :
$deleted = 0 ;
$archive = - 1 ;
$collection = - 1 ;
break ;
case 'collect' :
$deleted = 0 ;
$archive = - 1 ;
$collection = 1 ;
break ;
case 'archive' :
$deleted = 0 ;
$archive = 1 ;
$collection = - 1 ;
break ;
case 'deleted' :
$deleted = 1 ;
$archive = - 1 ;
$collection = - 1 ;
break ;
default :
$deleted = 0 ;
$archive = - 1 ;
$collection = - 1 ;
}
$list = $this -> model -> getMemberProjects ( getCurrentMember ()[ 'code' ], getCurrentOrganizationCode (), $deleted , $archive , $collection , Request :: post ( 'page' ), Request :: post ( 'pageSize' ));
if ( $list [ 'list' ]) {
foreach ( $list [ 'list' ] as $key => & $item ) {
$item [ 'owner_name' ] = '-' ;
if ( isset ( $item [ 'project_code' ])) {
$item [ 'code' ] = $item [ 'project_code' ];
$item = $this -> model -> where ([ 'code' => $item [ 'code' ]]) -> find ();
}
$collected = ProjectCollection :: where ([ 'project_code' => $item [ 'code' ], 'member_code' => getCurrentMember ()[ 'code' ]]) -> field ( 'id' ) -> find ();
$item [ 'collected' ] = $collected ? 1 : 0 ;
$owner = ProjectMember :: alias ( 'pm' ) -> leftJoin ( 'member m' , 'pm.member_code = m.code' ) -> where ([ 'pm.project_code' => $item [ 'code' ], 'is_owner' => 1 ]) -> field ( 'member_code,name' ) -> find ();
$item [ 'owner_name' ] = $owner [ 'name' ];
}
unset ( $item );
}
$this -> success ( '' , $list );
}
2019-11-29 14:44:59 +08:00
public function analysis ( Request $request )
{
2019-12-23 21:16:14 +08:00
$organizationCode = getCurrentOrganizationCode ();
2019-11-29 14:44:59 +08:00
$projectList = [];
2019-12-23 21:16:14 +08:00
$monthNum = date ( 'm' , time ());
$monthList = DateService :: lastCurrentMonth ( $monthNum );
$monthList = array_reverse ( $monthList );
foreach ( $monthList as $key => $mounth ) {
if ( $key < $monthNum - 1 ) {
$num = \app\common\Model\Project :: where ( 'create_time' , 'between' , [ date ( 'Y-m-d H:i:s' , $mounth [ 'current_date' ]), date ( 'Y-m-d H:i:s' , $monthList [ $key + 1 ][ 'current_date' ])]) -> where ([ 'deleted' => 0 ]) -> where ([ 'organization_code' => $organizationCode ]) -> count ( 'id' );
} else {
$num = \app\common\Model\Project :: where ( 'create_time' , '>=' , date ( 'Y-m-d H:i:s' , $mounth [ 'current_date' ])) -> where ([ 'deleted' => 0 ]) -> where ([ 'organization_code' => $organizationCode ]) -> count ( 'id' );
}
$projectList [] = [
'日期' => date ( 'm' , $mounth [ 'current_date' ]) . '月' ,
'数量' => $num ,
];
}
$projectAll = \app\common\Model\Project :: where ([ 'deleted' => 0 ]) -> where ([ 'organization_code' => $organizationCode ]) -> select ();
$projectCount = count ( $projectAll );
$projectSchedule = 0 ;
$scheduleAll = 0 ;
if ( $projectAll ) {
foreach ( $projectAll as $item ) {
$scheduleAll += $item [ 'schedule' ];
}
}
if ( $projectCount ) {
$projectSchedule = round ( $scheduleAll / ( $projectCount * 100 ), 2 );
}
$taskList = [];
$currentMonth = DateService :: lastCurrentMonth ();
$currentMonthBegin = $currentMonth [ 0 ][ 'current_date' ];
$today = date ( 'd' , time ());
$month = date ( 'm' , time ());
for ( $i = 0 ; $i < $today ; $i ++ ) {
$dayBegin = date ( 'Y-m-d H:i:s' , $currentMonthBegin + $i * DateService :: DAY );
$dayEnd = date ( 'Y-m-d H:i:s' , $currentMonthBegin + ( $i + 1 ) * DateService :: DAY );
$taskList [] = [
'日期' => $month . '月' . ( $i + 1 ) . '日' ,
'任务' => \app\common\Model\Task :: alias ( 't' ) -> leftJoin ( 'project p' , 't.project_code = p.code' ) -> where ( 't.create_time' , 'between' , [ $dayBegin , $dayEnd ]) -> where ([ 't.deleted' => 0 ]) -> where ([ 'p.organization_code' => $organizationCode ]) -> count ( 't.id' ),
];
}
$taskAll = \app\common\Model\Task :: alias ( 't' ) -> leftJoin ( 'project p' , 't.project_code = p.code' ) -> where ([ 'p.organization_code' => $organizationCode ]) -> where ([ 't.deleted' => 0 ]) -> field ( 't.done,t.end_time,t.code' ) -> select ();
$taskCount = count ( $taskAll );
$taskOverdueCount = 0 ;
$now = nowTime ();
foreach ( $taskAll as $item ) {
if ( $item [ 'end_time' ]) {
if ( ! $item [ 'done' ]) {
$item [ 'end_time' ] < $now && $taskOverdueCount ++ ;
} else {
$log = ProjectLog :: where ([ 'action_type' => 'task' , 'source_code' => $item [ 'code' ], 'type' => 'done' ]) -> order ( 'id desc' ) -> find ();
if ( $log && $log [ 'create_time' ] > $item [ 'end_time' ]) {
$taskOverdueCount ++ ;
}
}
}
}
$taskOverduePercent = 0 ;
if ( $taskCount ) {
$taskOverduePercent = round ( $taskOverdueCount / $taskCount , 2 ) * 100 ;
}
$this -> success ( '' , compact ( 'projectList' , 'projectCount' , 'projectSchedule' , 'taskList' , 'taskCount' , 'taskOverdueCount' , 'taskOverduePercent' ));
2019-11-29 14:44:59 +08:00
}
2019-01-17 11:05:47 +08:00
/**
2019-01-24 10:44:49 +08:00
* 获取自己的项目
2019-06-15 09:17:19 +08:00
* @ throws DataNotFoundException
* @ throws ModelNotFoundException
* @ throws DbException
2019-01-17 11:05:47 +08:00
*/
public function selfList ()
{
2020-02-23 16:06:09 +08:00
$type = Request :: post ( 'type' , 0 );
2019-02-18 13:02:41 +08:00
$archive = Request :: param ( 'archive' , 0 );
2020-02-23 16:06:09 +08:00
$delete = Request :: param ( 'delete' );
$organizationCode = Request :: param ( 'organizationCode' , '' );
2019-01-24 10:44:49 +08:00
$memberCode = Request :: post ( 'memberCode' , '' );
if ( ! $memberCode ) {
$member = getCurrentMember ();
} else {
$member = Member :: where ([ 'code' => $memberCode ]) -> find ();
}
2019-06-14 18:05:42 +08:00
if ( ! $member ) {
$this -> error ( " 参数有误 " );
}
2020-02-23 16:06:09 +08:00
$deleted = $delete === null ? 1 : $delete ;
2019-01-17 11:05:47 +08:00
if ( ! $type ) {
$deleted = 0 ;
}
2020-05-10 08:13:20 +08:00
$list = $this -> model -> getMemberProjects ( $member [ 'code' ], $organizationCode ? ? getCurrentOrganizationCode (), $deleted , $archive , - 1 , Request :: post ( 'page' ), Request :: post ( 'pageSize' ));
2019-01-17 11:05:47 +08:00
if ( $list [ 'list' ]) {
foreach ( $list [ 'list' ] as $key => & $item ) {
$item [ 'owner_name' ] = '-' ;
if ( isset ( $item [ 'project_code' ])) {
$item [ 'code' ] = $item [ 'project_code' ];
$item = $this -> model -> where ([ 'code' => $item [ 'code' ]]) -> find ();
}
$collected = ProjectCollection :: where ([ 'project_code' => $item [ 'code' ], 'member_code' => getCurrentMember ()[ 'code' ]]) -> field ( 'id' ) -> find ();
2019-09-02 16:07:35 +08:00
$item [ 'collected' ] = $collected ? 1 : 0 ;
2020-02-23 16:06:09 +08:00
$owner = ProjectMember :: alias ( 'pm' ) -> leftJoin ( 'member m' , 'pm.member_code = m.code' ) -> where ([ 'pm.project_code' => $item [ 'code' ], 'is_owner' => 1 ]) -> field ( 'member_code,name' ) -> find ();
$item [ 'owner_name' ] = $owner [ 'name' ];
2019-01-17 11:05:47 +08:00
}
2019-09-02 16:07:35 +08:00
unset ( $item );
2019-01-17 11:05:47 +08:00
}
$this -> success ( '' , $list );
}
/**
* 新增
*
* @ param Request $request
* @ return void
* @ throws \Exception
*/
public function save ( Request $request )
{
$data = $request :: only ( 'name,description,templateCode' );
if ( ! $request :: post ( 'name' )) {
$this -> error ( " 请填写项目名称 " );
}
$data [ 'organization_code' ] = getCurrentOrganizationCode ();
$member = getCurrentMember ();
try {
$result = $this -> model -> createProject ( $member [ 'code' ], $data [ 'organization_code' ], $data [ 'name' ], $data [ 'description' ], $data [ 'templateCode' ]);
} catch ( \Exception $e ) {
$this -> error ( $e -> getMessage (), $e -> getCode ());;
}
if ( $result ) {
$this -> success ( '' , $result );
}
$this -> error ( " 操作失败,请稍候再试! " );
}
/**
* 获取信息
*
* @ param Request $request
* @ return void
2019-06-15 09:17:19 +08:00
* @ throws DbException
2019-01-17 11:05:47 +08:00
*/
public function read ( Request $request )
{
$project = $this -> model -> where ([ 'code' => $request :: post ( 'projectCode' )]) -> field ( 'id' , true ) -> find ();
if ( ! $project ) {
$this -> notFound ();
}
2019-09-02 16:07:35 +08:00
$project [ 'collected' ] = 0 ;
2019-01-17 11:05:47 +08:00
$collected = ProjectCollection :: where ([ 'project_code' => $project [ 'code' ], 'member_code' => getCurrentMember ()[ 'code' ]]) -> field ( 'id' ) -> find ();
if ( $collected ) {
2019-09-02 16:07:35 +08:00
$project [ 'collected' ] = 1 ;
2019-01-17 11:05:47 +08:00
}
$item [ 'owner_name' ] = '' ;
$item [ 'owner_avatar' ] = '' ;
$owner = ProjectMember :: where ([ 'project_code' => $project [ 'code' ], 'is_owner' => 1 ]) -> field ( 'member_code' ) -> find ();
if ( $owner ) {
$member = Member :: where ([ 'code' => $owner [ 'member_code' ]]) -> field ( 'name,avatar' ) -> find ();
if ( $member ) {
$project [ 'owner_name' ] = $member [ 'name' ];
$project [ 'owner_avatar' ] = $member [ 'avatar' ];
}
}
$this -> success ( '' , $project );
}
/**
* 保存
*
* @ param Request $request
* @ return void
* @ throws \Exception
*/
public function edit ( Request $request )
{
2019-09-02 16:07:35 +08:00
$data = $request :: only ( 'name,description,cover,private,prefix,open_prefix,schedule,open_begin_time,open_task_private,task_board_theme,begin_time,end_time,auto_update_schedule' );
2019-01-17 11:05:47 +08:00
$code = $request :: param ( 'projectCode' );
try {
$result = $this -> model -> edit ( $code , $data );
} catch ( \Exception $e ) {
$this -> error ( $e -> getMessage (), $e -> getCode ());;
}
if ( $result ) {
$this -> success ();
}
$this -> error ( " 操作失败,请稍候再试! " );
}
/**
* 相关的项目动态
*/
public function getLogBySelfProject ()
{
$projectCode = Request :: param ( 'projectCode' , '' );
2019-06-15 09:17:19 +08:00
$orgCode = getCurrentOrganizationCode ();
2019-01-17 11:05:47 +08:00
$member = getCurrentMember ();
2019-06-15 09:17:19 +08:00
$memberCode = $member [ 'code' ];
2019-01-17 11:05:47 +08:00
if ( ! $member ) {
$this -> success ( '' , []);
}
$prefix = config ( 'database.prefix' );
if ( ! $projectCode ) {
$where = [];
$where [] = [ 'member_code' , '=' , $member [ 'code' ]];
$projectCodes = ProjectMember :: where ( $where ) -> column ( 'project_code' );
2019-08-19 10:06:02 +08:00
$sql = " select pp.code from { $prefix } project as pp join { $prefix } project_member as pm on pm.project_code = pp.code where pp.organization_code = ' { $orgCode } ' and (pm.member_code = ' { $memberCode } ') and pp.deleted = 0 group by pp.`code` " ;
2019-06-15 09:17:19 +08:00
$projectCodes = Db :: query ( $sql );
2019-01-17 11:05:47 +08:00
if ( ! $projectCodes ) {
$this -> success ( '' , []);
}
foreach ( $projectCodes as & $projectCode ) {
2019-06-15 09:17:19 +08:00
$projectCode = $projectCode [ 'code' ];
2019-01-17 11:05:47 +08:00
$projectCode = " ' { $projectCode } ' " ;
}
$projectCodes = implode ( ',' , $projectCodes );
$sql = " select tl.remark as remark,tl.content as content,tl.is_comment as is_comment,tl.create_time as create_time,p.name as project_name,t.name as task_name,t.code as source_code,p.code as project_code,m.avatar as member_avatar,m.name as member_name from { $prefix } project_log as tl join { $prefix } task as t on tl.source_code = t.code join { $prefix } project as p on t.project_code = p.code join { $prefix } member as m on tl.member_code = m.code where tl.action_type = 'task' and p.code in ( { $projectCodes } ) and p.deleted = 0 order by tl.id desc limit 0,20 " ;
// $sql = "select tl.remark as remark,tl.content as content,tl.is_comment as is_comment,tl.create_time as create_time,p.name as project_name,p.code as project_code,m.avatar as member_avatar,m.name as member_name from {$prefix}project_log as tl join {$prefix}project as p on tl.project_code = p.code join {$prefix}member as m on tl.member_code = m.code where p.code in ({$projectCodes}) and p.deleted = 0 order by tl.id desc limit 0,20";
$list = Db :: query ( $sql );
} else {
$page = Request :: param ( 'page' );
$pageSize = Request :: param ( 'pageSize' );
if ( $page < 1 ) {
$page = 1 ;
}
$offset = $pageSize * ( $page - 1 );
$sql = " select tl.type as type,tl.action_type as action_type,tl.source_code as source_code,tl.remark as remark,tl.content as content,tl.is_comment as is_comment,tl.create_time as create_time,p.name as project_name,p.code as project_code,m.avatar as member_avatar,m.name as member_name from { $prefix } project_log as tl join { $prefix } project as p on tl.project_code = p.code join { $prefix } member as m on tl.member_code = m.code where p.code = ' { $projectCode } ' and p.deleted = 0 order by tl.id desc " ;
$list = Db :: query ( $sql );
$total = count ( $list );
$sql .= " limit { $offset } , { $pageSize } " ;
$list = Db :: query ( $sql );
if ( $list ) {
foreach ( $list as & $item ) {
$item [ 'sourceInfo' ] = [];
switch ( $item [ 'action_type' ]) {
case 'task' :
$item [ 'sourceInfo' ] = \app\common\Model\Task :: where ([ 'code' => $item [ 'source_code' ]]) -> find ();
break ;
case 'project' :
$item [ 'sourceInfo' ] = \app\common\Model\Project :: where ([ 'code' => $item [ 'source_code' ]]) -> find ();
break ;
}
}
}
$list = [ 'total' => $total , 'list' => $list ];
}
$this -> success ( '' , $list );
}
2019-07-18 14:41:04 +08:00
/**
* 项目情况统计
*/
public function _setDayilyProejctReport ()
{
logRecord ( nowTime (), 'setDayilyProejctReportBegin' );
debug ( 'begin' );
$result = ProjectReport :: setDayilyProejctReport ();
debug ( 'end' );
2019-09-02 16:07:35 +08:00
logRecord ( debug ( 'begin' , 'end' ) * 1000 . 'ms' , 'setDayilyProejctReportSuccess' );
2019-07-18 14:41:04 +08:00
echo 'success_at ' . nowTime ();
}
2020-02-21 08:25:03 +08:00
public function _getProjectReport ()
{
$projectCode = Request :: param ( 'projectCode' );
if ( ! $projectCode ) {
$this -> error ( '项目已失效' );
}
$data = ProjectReport :: getReportByDay ( $projectCode , 10 );
$this -> success ( '' , $data );
}
2019-07-16 18:00:22 +08:00
/**
* 概览报表
* @ throws DataNotFoundException
* @ throws DbException
* @ throws ModelNotFoundException
*/
2020-02-21 08:25:03 +08:00
public
function _projectStats ()
2019-07-16 18:00:22 +08:00
{
$projectCode = Request :: param ( 'projectCode' );
if ( ! $projectCode ) {
$this -> error ( '项目已失效' );
}
$project = \app\common\Model\Project :: where ([ 'code' => $projectCode ]) -> find ();
if ( ! $project ) {
$this -> error ( '项目已失效' );
}
$taskStats = [
'total' => 0 ,
'unDone' => 0 ,
'done' => 0 ,
'overdue' => 0 ,
'toBeAssign' => 0 ,
'expireToday' => 0 ,
'doneOverdue' => 0 ,
];
2019-08-26 06:11:53 +08:00
// $taskList = \app\common\Model\Task::where(['project_code' => $projectCode, 'deleted' => 0])->field('id,assign_to,done,end_time,create_time,code')->hidden(['childCount,hasUnDone,parentDone,hasComment,hasSource,canRead'])->select()->toArray();
$taskList = Db :: name ( 'task' ) -> where ([ 'project_code' => $projectCode , 'deleted' => 0 ]) -> field ( 'id,assign_to,done,end_time,create_time,code' ) -> select ();
2019-07-16 18:00:22 +08:00
$taskStats [ 'total' ] = count ( $taskList );
if ( $taskList ) {
2019-12-23 21:16:14 +08:00
$today = date ( 'Y-m-d 00:00:00' , time ());
$tomorrow = date ( 'Y-m-d 00:00:00' , strtotime ( $today ) + 3600 * 24 );
2019-07-16 18:00:22 +08:00
foreach ( $taskList as $item ) {
! $item [ 'assign_to' ] && $taskStats [ 'toBeAssign' ] ++ ;
$item [ 'done' ] && $taskStats [ 'done' ] ++ ;
! $item [ 'done' ] && $taskStats [ 'unDone' ] ++ ;
if ( $item [ 'end_time' ]) {
if ( ! $item [ 'done' ]) {
$item [ 'end_time' ] < nowTime () && $taskStats [ 'overdue' ] ++ ;
if ( $item [ 'end_time' ] >= $today && $item [ 'end_time' ] < $tomorrow ) {
$taskStats [ 'doneOverdue' ] ++ ;
}
} else {
$log = ProjectLog :: where ([ 'action_type' => 'task' , 'source_code' => $item [ 'code' ], 'type' => 'done' ]) -> order ( 'id desc' ) -> find ();
if ( $log && $log [ 'create_time' ] > $item [ 'end_time' ]) {
$taskStats [ 'doneOverdue' ] ++ ;
}
}
}
}
}
$this -> success ( '' , $taskStats );
}
2019-01-17 11:05:47 +08:00
/**
* 上传封面
*/
2020-02-21 08:25:03 +08:00
public
function uploadCover ()
2019-01-17 11:05:47 +08:00
{
try {
$file = $this -> model -> uploadCover ( Request :: file ( 'cover' ));
} catch ( \Exception $e ) {
$this -> error ( $e -> getMessage (), $e -> getCode ());;
}
$this -> success ( '' , $file );
}
/**
* 放入回收站
*/
2020-02-21 08:25:03 +08:00
public
function recycle ()
2019-01-17 11:05:47 +08:00
{
try {
$this -> model -> recycle ( Request :: post ( 'projectCode' ));
} catch ( \Exception $e ) {
$this -> error ( $e -> getMessage (), $e -> getCode ());;
}
$this -> success ( '' );
}
/**
* 恢复
*/
2020-02-21 08:25:03 +08:00
public
function recovery ()
2019-01-17 11:05:47 +08:00
{
try {
$this -> model -> recovery ( Request :: post ( 'projectCode' ));
} catch ( \Exception $e ) {
$this -> error ( $e -> getMessage (), $e -> getCode ());;
}
$this -> success ( '' );
}
/**
* 归档
*/
2020-02-21 08:25:03 +08:00
public
function archive ()
2019-01-17 11:05:47 +08:00
{
try {
$this -> model -> archive ( Request :: post ( 'projectCode' ));
} catch ( \Exception $e ) {
$this -> error ( $e -> getMessage (), $e -> getCode ());;
}
$this -> success ( '' );
}
/**
* 恢复归档
*/
2020-02-21 08:25:03 +08:00
public
function recoveryArchive ()
2019-01-17 11:05:47 +08:00
{
try {
$this -> model -> recoveryArchive ( Request :: post ( 'projectCode' ));
} catch ( \Exception $e ) {
$this -> error ( $e -> getMessage (), $e -> getCode ());;
}
$this -> success ( '' );
}
/**
* 退出项目
*/
2020-02-21 08:25:03 +08:00
public
function quit ()
2019-01-17 11:05:47 +08:00
{
try {
$this -> model -> quit ( Request :: post ( 'projectCode' ));
} catch ( \Exception $e ) {
$this -> error ( $e -> getMessage (), $e -> getCode ());;
}
$this -> success ( '' );
}
}