HEX
Server: nginx/1.28.1
System: Linux 10-41-63-61 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User: www (1001)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot//douyin.dsfnj.com/application/work/model/WorkClass.php
<?php
// +----------------------------------------------------------------------
// | Description: 项目下任务分类模型
// +----------------------------------------------------------------------
// | Author:  yykun
// +----------------------------------------------------------------------

namespace app\work\model;

use think\Db;
use think\Model;
use think\Request;

class WorkClass extends Model
{

    /**
     * 为了数据库的整洁,同时又不影响Model和Controller的名称
     * 我们约定每个模块的数据表都加上相同的前缀,比如微信模块用weixin作为数据表前缀
     */
	protected $name = 'work_task_class';
    protected $createTime = 'create_time';
    protected $updateTime = false;
	protected $autoWriteTimestamp = true;
	protected $insert = [
		'status' => 1,
	];

	/**
     * [getDataList 列表]
     * @AuthorHTL
     * @param     [string]                   $map [查询条件]
     * @param     [number]                   $page     [当前页数]
     * @param     [number]                   $limit    [每页数量]
     * @return    [array]                    [description]
     */	    
	public function getDataList($work_id='')
	{
		$map['status'] = 1;
		if ($work_id) {
			$map['work_id'] = $work_id;
		}
		$dataCount = $this->where($map)->count();
		$list = $this->where($map)->order('order_id asc')->field('class_id,name')->select();
		$data = [];
		$data['list'] = $list ? : [];
		$data['dataCount'] = $dataCount ? : 0;
		return $data;
	}
	
	/**
     * 创建
     * @author yykun
     * @param
     * @return
     */	
	public function createData($param)
	{
		//获取最大order_id
		$max_order_id = $this->where(['work_id' => $param['work_id'],'status' => 1])->max('order_id');
		$this->startTrans();
		try {
			$data['create_time'] = time();
			$data['create_user_id'] = $param['create_user_id'];
			$data['name'] = $param['name'];
			$data['work_id'] = $param['work_id'];
			$data['status'] = 1; 
			$data['order_id'] = $max_order_id ? $max_order_id+1 : 0;
			$this->insert($data);
			$this->commit();
			return true;
		} catch(\Exception $e) {
			$this->rollback();
			$this->error = '添加失败';
			return false;
		}
	}

	/**
     * 重命名
     * @author yykun
     * @param
     * @return
     */	
	public function rename($param)
	{
		$map['class_id'] = $param['class_id'];
		$flag = $this->where($map)->update(['name' => $param['name']]);
		if (!$flag) {
			$this->error = '重命名失败';
			return false;
		}
		return true;
	}

	/**
     * 删除分类 该分类下所有任务删除
     * @author yykun
     * @param
     * @return
     */
	public function deleteById($param)
	{
		$map['class_id'] = $param['class_id'];
		$this->startTrans();
		try {
			$taskData = [];
			$taskData['ishidden'] = 1;
			$taskData['hidden_time'] = time();
			$flag = Db::name('Task')->where($map)->update($taskData);
			$ret = $this->where($map)->update(['status' => 0]);
			if ($ret) {
				$this->commit();
				return true;
			} else {
				$this->rollback();
				$this->error = '删除失败';
				return false;
			}
		} catch (\Exception $e) {
			$this->rollback();
			$this->error = '删除失败';
			return false;
		}
	}
}